赤宿 = Red Inn

素人の試行錯誤と2Dゲームプログラミング

What Decoupling is About

Stuck

 Tiledのマップのロードで長く行き詰っていた(Nezフレームワークを使用中)。

Content.Load<TiledMap>の行で、実行時にMonoGameのContentLoadExceptionが出た。Content/binとContent/objを削除し、再びcontent.mgcbをビルドするとエラーは出なかった。理由は分かっていない。

Woditor

 ハマっていたため、ウディタローグライクを作っていた。やれば進むというのはいい。

f:id:samba_4e:20170408010606p:plain (カーソル位置にも白枠を表示)

 だが常に進むことを要求されるとうんざりすることもある。うんざりするとゲームをやりたくなるが、やりたい3Dのゲームは今プレイできない。遊びたいゲームを自分で作るしかないのだ…。

 インフラ整備的な下準備は完了した。ダンジョン生成は過去に作ったものをそのまま使っている。また簡単なプレイヤのコントローラを作った。いい開発作業場を作れたと思う。(“土台を作った"とは思わない。土台は変えられないものだから、そもそも作業場だけがある方がいい気がする)。

 オブジェクト指向を多少身に着けてからの再挑戦、まさに強くてニューゲームとなる。ウディタのコードが、前よりもはるかに分かりやすくなった。仕様の決定で数回悩んだが、分離によって解決できた。分離により、仕様のコードとつながる場所が仕様と疎結合になる(どのような仕様にも差し替えられるようになる)。これで仕様を決めるという問題が無くなり、各機能も役割がはっきりして把握しやすい。考えていたのとは別の、新たな可能性まで生まれてきた。この経験を経て、僕はプログラミングで確かなものを得たと思った。発想によって見事に問題が消えることがあるが、その1パタンとして、適切な分割を考えられるようになったのだろう。今後はさらに、レベルの高い発想を自分で生み出してプログラミングしていくようになりたい。僕にとってプログラミングで重要なのはここで、手続きではなくてプログラムの構造の方に関心がある。

(やるなら)今後の実装:Action(攻撃など), AI, Item, Trap, Inventory, HUD, Option, and the Game Contents

 余裕があれば初心に戻ってクソゲーを作り、ウディコン(2017年7月)に提出したい。ただ、もしもウディタユーザとしての自分の役割があるとしたら、ウディタを止めてプログラミングの海へ出ていくことの方だろうと思う。