パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

一日でファミコンウォーズのアルゴリズムをPython3で作ろうとした話

2021-12-14 | その他

ファミコンウォーズはオーパーツのような作品でどうやって作っているのか未だによくわからない。

その日の早朝、なぜか一日でこのアルゴリズムを作ってみようと思い立つ。プランは12:00までに

プログラムを完成させて、18:00までマップ調整、時刻は6:00

 

キャラクターは文字で当然サウンドなんかはなし。入力とかはしない。単純にアルゴリズム同士の

バトルを眺めるもの。(たぶん速すぎでウェイトを入れないと何もわからないものができあがる)

作成場所はgoogleさんのコラボラトリー

 

極力簡易な設計にしておかないとできるわけがない。テキストにできることを書きとめていく。

搭乗をどうするかでパタと止まる。どういう内部データにしたらいいのだろう。マップもテキスト

だと表現しきれないだろうし...

 

データ設計で完全に止まってしまい。早朝の謎のスイッチも昼頃までにきれる。コラボラトリー

の結果をクリアして再描画する方法をネットで探してみるけどどうもなさそう。Tkinterで作って

みるかとUbuntuでいろいろ試してみるが、ローカルのPython3まわりの環境がどうにもいま

ひとつでPillowとかPiLの問題が解決しない。

 

一行のプログラムも書いていない。そしてその日からニンテンドースイッチオンラインのファミコン

ウォーズをはじめてしまい。連日早朝あたりまで淡々とゲームを続ける。

 

体調も壊れる。やっている最中になぜかAIに同情してしまい。ハゴロモトウ19日目から育てて

みることにする。こちらは戦艦4隻、揚陸艦2隻、自走砲3台、対空ミサイル2台等で最期の島の

攻略を開始寸前の所。ここから放置してもAI逆転できないのではとかも思ったりするが、43日

で全滅させられてしまいました。敗北の物悲しい音楽たぶん初めて聞きました。

 

ニンテンドースイッチオンラインだと時間を巻き戻す術が使えます。そこから逆転将棋みたいに

最期の日から再度戦ってみることにします。とにかく工兵で粘り93日で攻略できました。

 

その過程で少しわかったAIのアルゴリズム。飛行機系は早めに給油にもどる。形成が有利に

なると戦闘機を量産して歩兵を攻撃してくる。歩兵などの展開は遅め。搭載は開発時にかなり

苦労していそうなイメージを持ちました。あとうまく粘らないように調整している気がします。

 

現在デビラートウを攻略中


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。