braindump #1125
未完了よくある工業・クラフトゲーが苦手かもしれない
0%
NO nop_thread さんが約2時間前に更新 · 編集済み
- ステータス を 新規 から 進行中 に変更
『Factorio』や『shapez 2』(最序盤しかやっていない) でも感じたところではあるが、工業系のゲームで「後から機構がアンロックされて新規目標のために既存の工場を破壊的に変更する必要がある」みたいなものがとても苦手というか、気が乗らないということがわかってきた。
たとえばこれが趣味プログラミングであれば対照的で、言語機能やライブラリ等の「機構」は全て最初から利用可能で、「新規機構を使えなかった時代の古い実装を捨てる」とか「既存の部分を一時的に動作しないような状態にして、復元の困難な状態で書き換える」とかの破壊的変更を迫られることが少ない。
後から目標が追加されようとも、最初から全て利用可能だった「機構」をフル活用した実装がうまく抽象化できていればその範疇で対応可能なことが多いし、駄目だった場合には「機構」がなかったゆえという外的要因ではなく見通しが甘かったゆえという内的要因によって苦労することになるため、「自分ではもう少しどうにかできると思っていたのに環境がそれを許さなかった」という状況になりづらい。
(ベアメタルやブートストラップのような状況だと事情は多少変わってくるかもしれないが、それでも「後戻りできない形での、過去の成果を無用にする形での更新」を強いられることはそう多くないのではと思う。)
この点では『Minecraft』は好ましい仕様だと思っていて、たとえばクラフトのレシピも「知らない」だけで実質的には最初から全開放されているし、クラフトの原料や高度な計算素子やセンサなども原理的には入手も利用も制限されておらず、単に早い段階で一足飛びにアクセスするのは苦労するという程度で済んでいる。
私としてはこのような、メカニクスに人為的な制限が課されていないモデルの方が好きなようだ。
この点ではプログラミング系のゲームには多少期待するところもあり、『農家は Replace() されました』(原題: The Farmer Was Replaced)などを遊んでみたが、これは言語処理系がショボすぎて駄目だった。
私としては最序盤からライブラリやフレームワークの作成 (典型的には各種の型 (座標クラスとか)や移動計画エンジンなどの実装) をしたかった (し、実際に制約の中で可能な限りそのようにしていた) のに、(本来の Python より圧倒的に) 貧弱な言語機能によってそれを妨げられていたことで、面倒になってやめてしまった。
https://mastodon.cardina1.red/@lo48576/116213723364697737
個人的にがっかり (?) したのは The Farmer Was Replaced で、あれ結局 Python 風なことを言いつつ class の定義とかできなくて、でも私はライブラリとしてひととおりのインターフェースや型を作ってからでないとロジック組みたくなくて、永遠に C 言語風のオブジェクト指向を Python の構文とショボすぎる言語機能でやらされていて、耐えきれなかった
https://mastodon.cardina1.red/@lo48576/116213724849862148
原始的言語いじくり体験になるなら最初からそう言ってほしかったわ (?)
https://mastodon.cardina1.red/@lo48576/116213725868541071
ポヨグヤミンと言っても実質的なカテゴリが違うだろ
https://mastodon.cardina1.red/@lo48576/116213730509198443
インターフェースとか型ってやつに無頓着なまま書き捨て続ける能力と素質があるなら農家楽しめるかもね、私はそういうの大嫌いなので無理でした
https://mastodon.cardina1.red/@lo48576/116213733858089351
プログラミングの本体をアルゴリズム構築だと思っている人とインターフェース構築だと思っている人がおり、私は後者
他に最初から全力を出せるゲームというと bot 同士の対戦ゲームがあるが、個人的にはヒューリスティクスの実装と最適化そのものには実はあまり関心がなく、ライブラリやフレームワークを作ってその上での実装の試行錯誤をしやすくするような部分を楽しく感じるので、たぶん基盤ができた時点でショボいヒューリスティクスを実装してそれきりになると思う。
その点で対戦ゲームにはあまり魅力を感じない。
とはいえ、ライブラリや API の設計などゲーム内における評価の対象として向いているとは私も思っていないし、ゆえにそもそもゲームにこの要素をあまり期待しておらず、結局自分で領域を見繕って趣味プログラミングを勝手にやるのがよかろうということになる。
結果、工業・クラフトゲー全般「でもプログラミングの方が楽しいし……」という評価になっているのが現状だ。
これを覆してくれるゲームへの出会いを夢見つつ、全く期待していないので今後もこういった要素がメインのゲームに手を出すのはかなり控え目になるだろうと思っている。
NO nop_thread さんが約2時間前に更新
『Minecraft』の Redstone 回路とか『Human Resource Machine』(未プレイ) とかのような「原始的アルゴリズム実装要素」については、サイズの最小化や高速化などの micro-optimization を楽しむには最適だと思うが、高レベルな目標を達成することを目的にそういった低レベル機構を使いたくはない。
アセンブリ言語にはアセンブリ言語の適した用途があり、高級言語には高級言語の適した用途がある。
レイヤーに関係なく全てをアセンブリ言語で書くのは、そうすべき特殊な理由がある場合を除いて基本的には単なる縛りプレイであり、註釈なしの「プログラミング」とは別ジャンルだと思っている。
少なくとも私は趣味や遊びでやるなら高レベルでは抽象を作ることを主な目標にしたいし、低レベルの原始的機構まで潜るのは基本的には局所的な最適化をターゲットにするときである。