まさはる's Weblog

まさはる's Weblog
Macintoshとオーディオの話題
2018年11月

2018年11月24日

Human Resource Machine

Category : Game 6 / Posted at 2018年11月24日 17:21

 新作が出たからかSteamで値引きされていたので購入してやってみたTomorrow CorporationHuman Resource MachineのMac版の話題です。

タイトル画面
Human Resource Machine

 このゲームは、入社して定年まで、上司から与えられた仕事をこなしていくゲームです...大体合っているけど正しくは、プレイヤーが書いたプログラムに従って社員が動き、上司から与えられた課題をこなしていくというゲームです。

ゲーム画面
左のコンベヤの物を加工して、右のコンベヤに乗せるのが仕事です

 上の絵の右側のリストに、課題に応じて命令をドラック・ドロップしてプログラムを組んでいきます。プログラムで使用できる命令はアセンブラのような簡単なものばかりで、レジスタ代りのカーペットを利用して計算します。

仕事の目標
プログラム行数とステップ数の目標があります

 プログラム行数とステップ数は別々に評価されるので、プログラム行数を小さくしたプログラムと、ステップ数を小さくしたプログラムをそれぞれ作って評価してもらうことができます。なお、目標に達しなくても、答えを出せれば先に進めます。

命令の解説
jump if negative命令の解説

掛け算
掛け算中

 掛け算の a x b は a を b - 1 回足し算すれば答えが出ます。割り算の a / b は a から b が何回引き算できるかカウントすれば答えになり、引き算できなかった残りが余りです。掛け算と割り算をする命令はありません。

エレベーター
エレベーターのスイッチ

 上の階に行くほど課題が難しくなります。途中にコーヒーブレイクが何回かあるのですが...。

コーヒーブレイク中
コーヒーブレイク中

コーヒーブレイク中
会社の外では大変なことになっている様子...

 上の絵を見ただけでは平和そのものですが、会社の外は謎すぎる状況になっていきますw。ちなみに、上の2つの似たような絵は別々のコーヒーブレイクで、一方ではビルが壊れる音と悲鳴が...。

終盤の課題
何があったのか分かりませんが、ビルの一部が壊れています

プログラムミス
プログラムはどんな入力データにでも対応できることが必要です

 違う入力データを入れると違った動作になるプログラムを作ると、上の絵のようなメッセージが出ます。この場合、クリアした事にはならないので、プログラムを修正する必要があります。

素因数分解
素因数に分解中

 エリートコースの終盤に出てくる素因数分解ですが、解き方が分からないので、上の絵のように2から29までの素数のテーブルを作って、小さい素数から順番に割り算をして、割り切れるかどうか判定して答えを出すというプログラムを作りました。プログラム行数とステップ数の目標からかなり外れているので、もっといい解き方があるんでしょうね。
 ちなみに、素因数分解については上司が教えてくれますが、16だと 2 x 2 x 2 x 2、17だと17、18だと 2 x 3 x 3 というように、値を素数の掛け算に分解する事です。

 パズルゲームと言ってしまえばその通りなのですが、中身はアセンブラのようなプログラミングゲームで、かなり面白いと思います。プログラムを書いたことがなくても、ゲームの順に解いて行けば大丈夫だと思います。

(その後...)

上司と会話中
上司と会話中...

上司と会話中
完璧な仕事人間の上司

 たまたま上司と会話をしてみたら上のような会話に。どうりで、会社の外が大変な事になっているにも関わらず、定年まで普通に仕事ができるわけですねw。

 話変わって、プログラム行数とステップ数の目標クリアについてはついつい熱くなってしまいがちですが、ゲームの中でも書かれているように、ほどほどでやめておくのが無難です。プログラム行数を減らすと非効率に、ステップ数を減らすとプログラムの行数が増えて読みにくくなる場合があります。

掛け算のしかた
入社20年目にしてする初めての掛け算の仕事...プログラム行数を減らしたサンプル

掛け算のしかた
上と同じ掛け算で、ステップ数を減らしたサンプル

 上の2つの絵のプログラムは、それぞれの目標クリアはできますが欠点があります。足して2で割ったぐらいが適当だと思います。

(更にその後...)

 足して2で割ったぐらいが適当とか言っておいて、ついつい熱くなってしまっている今日この頃、入社28年目の「小から大へ」は、3つのデータを小さい順に右に移すというものですが、プログラム行数とステップ数の目標クリアが厳しくてかなり難しいです。

エレベーターのスイッチ
入社28年目の「小から大へ」は青色スイッチの最後です

 プログラム行数を減らすためには、3つのデータを比較して小さい順に並べ替え、最後に順に右に移していく方法がいいと思います。ステップ数を減らすためには、3つのデータを比較していき、順序が判明次第、6パターンある右に移すルーチンに飛んで処理する方法がいいと思います。
 プログラム行数の方はなんとかクリアしたのですが、ステップ数のクリアが難しい...。ステップ数の目標が78のところ、79ステップ。あと1ステップが縮まらない。

プログラム
最後にjumpさせないようにしたところ...

目標の評価
これでやっと78ステップに納まりました

 アセンブラで組む必要のあるプログラムだと、処理速度に直結するステップ数を減らしたプログラムを書ける事が重要なのでしょうね。最近は高級言語で分かりやすい悠長な書き方しかしていなかったので、目標クリアはかなり大変です。

このページのトップに戻る

2018年11月17日

American Truck Simulator(その10)

Category : Game 6 / Posted at 2018年11月17日 21:30
ヘリコプターを運搬中
ヘリコプターを運搬中

 ということで、幅が広くて長さの長いトレーラーの運搬がDLCで追加された、SCS SoftwareAmerican Truck SimulatorのMac版の話題です。

長いトレーラー
長〜い

長いトレーラー
先頭のトラクターはずいぶん前...

 Euro Truck Simulator 2のSpecial Transport DLCと同じで、前後に先導車が付き、交差点や踏切は封鎖され、たとえ信号が赤でも止まることなく運搬できます。

空調設備を運搬中
荷物によってはかなり幅の広い物があります

 上の絵は緩い左カーブなので問題ありませんが、きつい左カーブで対向車がくる場合は要注意です。トレーラーはセンターラインを超えて反対車線に入ってしまうので、一旦停止してトラクターを右にギリギリまで寄せないとすれ違えません。

左折中
左折は大回りすればOKです

右折中
右折は大変...

 右折は、反対車線から反対車線に入るぐらい大回りしないと曲がることができません。交差点はそれなりに封鎖されるので、荷物を柱や標識にぶつけないように曲がりましょう。
 最後は、最近アップデートで追加されたVolvo VNLです。屋根にライトを追加できるようになり、夜明るいのが良いところです。

Volvo VNL
Volvo VNL

(その後...)

重ダンプを運搬中
左カーブで右に寄せて走っています

 上の絵は、EurekaからReddingに運搬している所ですが、このコース、道路が右左にグネグネ曲がっており、かなり面白いコースです。難易度の高い重ダンプの運搬ができるのでチャレンジャーにオススメです。

踏切を通過中
路肩に余裕のない踏切は、センター寄りで通過してます

 上の絵の場所は片側2車線あるので難しくはありませんが、踏切は路肩のスペースがほとんど無いので、荷物を支柱にぶつけないよう注意が必要です。

このページのトップに戻る

2018年11月 3日

AER Memories of Old

Category : Game 6 / Posted at 2018年11月 3日 18:49

 鳥になって空を飛べるのが面白そうなので、Steamで購入してやってみたAER Memories of OldのMac版の話題です。

タイトル画面
AER Memories of Old

 このゲームは主人公がバラバラになった大地を鳥になって飛んで冒険する、アクションアドベンチャーゲームです。

飛行中
鳥に変身して大空を飛ぶことができます

飛行中
大地はかなりバラバラです

 このゲーム、最初に1度だけキー操作の説明が出るのですが、キーコンフィグ画面がなく後で確認できないため、次に示しておきます。

・地上及び空中での移動 [w][a][s][d]
・地上でのジャンプ・空中での羽ばたき [space]
・鳥に変身・人間に戻る [e]
・ランタンの使用・不使用 [f]
・マップの表示・非表示 [tab]

 ちなみに、他の飛行ゲーム同様、飛び立つのは簡単ですが、綺麗に目的地に降りるのは簡単ではありません。徐々に高度を落として、減速して降りるようにするとカッコいいと思います。

ランタン使用中
ランタンをかざすと過去の記憶を知ることができます

マップ画面
初期の頃のマップ

 女司祭カラが封印した3つの寺院を巡礼する旅に出た主人公ですが、次第に謎が解けていくにつれ、主人公に使命が課せられていくというストーリーになっています。

キツネと会話中
次の行き先を教えてくれます

 ゲームとしてのボリュームは大きくありません。鳥になって空を飛ぶことができるので、バラバラになった大地に寄り道しながらゲームを進めるのが良いと思います。

大きな扉の前
冒険は続きます...

(その後...)

クラブアイランド
クラブアイランドってこれ?

クラブアイランド
到着すると実績が解除されます
このページのトップに戻る