コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2020年4月23日 >>> 2020年4月10日
link もっと後

2020年4月23日

Transport Fever 2大都市達成のヒント

目次: ゲーム

「大都市」達成を目指すとき、ゲーム進行で気を付けていたところの紹介です。前回も言った通り必勝法はないですが、ヒントになれば幸いです。

全都市を鉄道で繋ぐ
輸送量の関係で、道路+バス、空路は、キャパオーバーでうまくいかず、海路のみでは全都市にアプローチできないからです。私は使いませんでしたが、海路+鉄道ならば有効かもしれません。
鉄道でさえ大都市間の輸送はキャパオーバー気味で、駅に300〜400人溜まります。あと、私は都市間の道路は整備せず、初期状態で放置でしたが、マイカーの利用者数は時代が進むにつれ勝手に伸びました。
都市内はバスを走らせる
人口に影響が大きい、公共交通機関(=駅)の利用者を増やすためです。
バス停は住宅地、商業地、産業地をもれなくカバーするよう配置します。バス停に大量の人が溜まると人々は家に帰ってしまう(駅利用者が減る)ので、混んでいたら適宜バスを増発し、駅と各地域の人を行き来を増やします。
街の拡大に対応する
街は勝手に広くなるので、トラックの荷物輸送や、バス停のカバー範囲を広げてください。
物資は800個分確保する
物資を産業、商業それぞれ800個分(最終工場2つ分)確保します。少なくとも500以上は必要です。
簡単な「燃料」「資材」「道具」辺りを要求する街だと運用が楽ですが、多少引きが悪くても1935年に出てくるOPEL Blitzトラックを20台くらい使えば、どんなものでも力業で運べます。マップの端から端に運ぶとかでもない限り、気にしなくて良いです。
物資供給用の道路を新設する
物資が滞ると人口が減るためです。 トラック専用の道路を引き、街と街を繋ぐ道路を高架かトンネルで越えるようにすると、渋滞も起きないし、物資供給も安定します。
編集者:すずき(2023/09/24 13:17)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年4月22日

Transport Fever 2ひと段落

目次: ゲーム

Transport Fever 2の実績コンプリートしました。やはり最後になったのは「大都会」で、何度かやり直す羽目になって、とても時間が掛かりました。


Transport Fever 2の実績コンプリート

都市のターゲット人口が271 +470% で1500人達成できました。+460% = 1518だとダメでした。基本的には都市の人口はこのターゲット人口に近づこうとするんですが、時に越えたり時に越えなかったりします。良くわからない数字です。


1500人超え達成

フリーマップはランダム生成なので、必勝法は無いです。ただまあ、何回かやり直す中で最初にこだわっておいた方が良いなと思った条件は、

1800年スタート
1800年〜1900年後半くらいまでは、都市のベース人口が勝手に増える(1年に1増えるかどうかくらい)からです。2000年スタートだと全く増えませんし、クリアできるほどのベース人口になりません。
1960年〜1970年までが勝負
2000年に近づくほどマイカー渋滞が増え、都市内の物資配達が滞って人口が安定しなくなります。渋滞をうまく捌ける人は気にしなくて良いです。
マップは中サイズ以上
人口に一番影響するのは公共交通機関の利用者数で、小サイズだと街の数が少なくて、公共交通機関の利用者数が増えないからです。私の場合は、中サイズを使いました。
たぶん広い方が良いと思いますけど、PCスペック次第ですね。私のノートPCはスペックが低くて、大サイズだと時間の経過が遅すぎてダルかったです。
マップの街と産業は高密度以上
低密度だと街が少なく、公共交通機関の利用者数が増えず、人口が伸びないからです。
ターゲット人口の初期値が最大の街を育てる
ターゲット人口は時間経過で増えるとはいえ、限度があるからです。どこまでもは増えません。初期値は高い方が良いです(1800年だと最大200かな?)。
人口の初期値が高い街が真ん中付近に3つ出るまでガチャる
公共交通機関の利用者を増やすためです。大都市3つはあくまで目安ですが、公共交通機関は街と街の行き来に使うため、大きい街が1つだけだと利用者が伸びませんでした(これで1回やり直した)。
私は初期人口190くらいの街がほどほどの距離に3つ出るまでリスタートしまくりました。
編集者:すずき(2023/09/24 13:18)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年4月18日

Transport Fever 2楽しい

目次: ゲーム

最近Steamで購入したゲームTransport Fever 2(Good Shepherd Entertainment/Urban Games)にハマっています。在宅勤務を良いことに、仕事終わった瞬間から深夜までやりまくっていたら、プレイ時間が3週間で130時間に。やりすぎですね……。

Steamでは一定の条件を満たすと「実績」が解除されるシステムがあります。他のゲームでは、実績はほとんど気にしませんが、このゲームでは気になり59/61まで取りました。


Steamのタイトルバナー、実績表示

もう1つ取れますが、最後の1個「大都市」は難しそうです。

ゲームの紹介

Transport Fever 2を軽く紹介すると「輸送」シミュレーションゲームです。


ゲーム画面

シムシティから街を作る機能を除いて、交通網を作る機能のみを超強化したゲームとでもいいますか。A列車で行こう(アートディンク)をご存知でしたら、あのイメージが一番近いです。違いとしては、

  • 自力で建物を建てられない
  • 道路、鉄道以外に、船舶、航空機も運用できる
  • 荷物の種類が多く加工が必要、基本は、原料→中間加工→製品加工→都市の流れ

プレイヤーが出来るのは、人と荷物の「輸送」のみです。輸送すると運賃が貰えるので、輸送網の維持費を上回る運賃を得て、輸送網を拡大するのが基本です。

簡単なので気になったらどうぞ

ゲームの難易度は簡単です。人でも荷物でも同じですが、運びたいものを、運びたいところに真っ直ぐ運ぶ(運賃は道のりではなく、直線距離に応じる)だけで基本黒字です。めちゃくちゃしない限り、財政破綻はないはず。

むしろ序盤を過ぎると、資金が有り余って使い切れなくなるほどです。箱庭系ゲームでは、難易度が低いのは良いことで、資金を気にせず、レイアウトに凝ってみたり、道路縛りとか、鉄道縛りとか、比較的自由に遊べます。

その他の機能としては、動いている列車や車などのコックピットビューができます。自分が引いた鉄道や道路を走る様子をぼーっと見るのも楽しいです。


コックピットビュー(列車が駅に入るところ)

Steamでは素敵なModがたくさん公開されているので、お気に入りのマップや列車を探してみるのも楽しいかもしれません。

編集者:すずき(2024/10/24 23:35)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年4月17日

Facebookのリッチエディタ

Facebookのエディタはめちゃくちゃ重くて、添付の画像のように表示がおかしくなったり、突然カーソル位置が先頭に吹っ飛んだり、変な動きばかりします。


顔文字が真っ二つ

文章が長い場合は、他のテキストエディタで書いて張り付けた方が良いですね。

これはFacebookに長い文章を書くんじゃねえよ、と言いたいFacebookの意思なのかな……。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2024/10/24 23:36)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年4月11日

三角関数のfloat版

目次: C言語とlibc

標準Cライブラリにはdoubleを返す三角関数(sin(), cos(), tan())とfloatを返す三角関数(sinf(), cosf(), tanf())が定義されています。

標準Cライブラリの一つの実装であるmuslのコードを見ると、sinf, cosf, tanfの計算にdouble演算を内部で使っています。これは基になったFreeBSDのlibmと同じ実装です。PCはfloatでもdoubleでも関係なく速いんですが、doubleをハードで扱えない貧相なプロセッサには優しくない作りです。

もう一つの実装であるnewlibのコードを見ると、double版のsin, cosこそFreeBSDの実装と同じですが、float版のsinf, cosfはfloatを使ったコードが独自に追加されていて、貧相なプロセッサにも優しい作りになっています。組み込みにやたら使われる実績は伊達じゃないですね。

じゃあmuslにnewlibのfloat版のsinf, cosfを移植すれば、doubleが苦手なプロセッサでも速くなるのでは?と思いました。

テストを先に書こう

コードを触る前に、それぞれの実装の素性を調べておこうと思います。テスト方法は、

  • 期待値: glibcのsin, cos, tan(double版)をfloatに変換した結果
  • 判定方法: sinf, cosfは1の誤差を許す、tanfは3の誤差を許す
  • 比較範囲: floatを32bitとして、全値域(=約43億パターン)

どうしてtanfだけ判定が甘いかというと、正しい値がわからなかったからです。なぜかglibcの実装も誤差1に収まっていません。どういうことなの……。

テストのコードはGitHubに置き(リンク)ました。特に難しい点はありませんが、muslとnewlibから三角関数を拝借するところは、やや面倒かもしれません。

現在のプロセッサは超速いし、問題の性質上マルチスレッド化も簡単ですから、32並列くらいで頑張れば32bit全域を調査しても3分もかかりません。楽勝ですね〜。

最初にテストして良かった

テスト結果は、当然、全て一致かと思いきや、そんなことはなかった。最初にテストしておいて良かったですね。

良い方から言うとmuslは内部でdoubleで演算しているからか、結果もパーフェクトでした。

一方のnewlibはcosfだけ変な値を返します。32bit全域を試してわずか6パターンです。

誤差が許容範囲を超えるパターン
cos,cosf_newlib: NG : x:3fc90fe0 f:1.570797 d:1, exp:b52bbbd3 -0.000001, res:b52bbbd0 -0.000001
cos,cosf_newlib: NG : x:3fc90fe1 f:1.570797 d:1, exp:b54bbbd3 -0.000001, res:b54bbbd0 -0.000001
cos,cosf_newlib: NG : x:3fc90fe2 f:1.570797 d:1, exp:b56bbbd3 -0.000001, res:b56bbbd0 -0.000001

cos,cosf_newlib: NG : x:bfc90fe0 f:-1.570797 d:1, exp:b52bbbd3 -0.000001, res:b52bbbd0 -0.000001
cos,cosf_newlib: NG : x:bfc90fe1 f:-1.570797 d:1, exp:b54bbbd3 -0.000001, res:b54bbbd0 -0.000001
cos,cosf_newlib: NG : x:bfc90fe2 f:-1.570797 d:1, exp:b56bbbd3 -0.000001, res:b56bbbd0 -0.000001

正負を考慮(浮動小数点は最上位ビットが符号を示すビット)すると、実質3パターンで変な値が返ることがわかります。

  • 正: 0x3fc90fe0, 0x3fc90fe1, 0x3fc90fe2
  • 負: 0xbfc90fe0, 0xbfc90fe1, 0xbfc90fe2

誤差は3でした。ほぼ合ってます、おしい。誤差が出ることも不思議ですが、sinfは合っていてcosfだけ値がズレるのも不思議です。

編集者:すずき(2022/04/22 03:00)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2020年4月23日 >>> 2020年4月10日
link もっと後

管理用メニュー

link 記事を新規作成

<2020>
<<<04>>>
---1234
567891011
12131415161718
19202122232425
2627282930--

最近のコメント20件

  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」
  • link 14年6月13日
    2048playerさん (09/26 01:00)
    「今のところ最も簡略化した式です。\n--...」
  • link 14年6月13日
    2048playerさん (09/16 01:00)
    「返信ありがとうございます。\nコメントが...」
  • link 14年6月13日
    すずきさん (09/12 21:19)
    「コメントありがとうございます。同じ結果に...」
  • link 14年6月13日
    2048playerさん (09/08 17:30)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048さん (09/08 17:16)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048playerさん (09/08 16:10)
    「私も2048の最高スコアを求めたのですが...」
  • link 02年8月4日
    lxbfYeaaさん (07/12 10:11)
    「555」
  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」
  • link 24年5月17日
    hdkさん (05/19 07:45)
    「なるほど、そういうことなんですね。Exc...」
  • link 24年5月17日
    すずきさん (05/19 03:41)
    「Standardだと下記の設定になってい...」
  • link 24年5月17日
    hdkさん (05/18 22:16)
    「ドメインを変えたせいで別サイト扱いになっ...」

最近の記事3件

  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 22年7月8日
    すずき (11/02 20:34)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介一覧が欲しくなったので作りました。5作品乙女ゲームの破滅フラグしかない悪役...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/04 15:17