先回に引き続き、pygameライブラリを使い違った風味のものを書いてみた。

ゲームスクリーンショット

俺は個人的に箱庭アレンジ系ゲームって呼んでいるが、アレだ、その、こういうものだ。なにもないマス目の上に、床と椅子を向きを変え変えおいていける。

システムとしては以下のようなものを考えてみた。
1. まずマス目を張っておく
2. それぞれのマス目に変数をくっつけ、空白の文字列を格納しておく
3. キーを押すと空白だった文字列に'brown_floor'などが代入される
4. 描画ループごとにマス目の変数がチェックされ、空白のときは何も描画せず、文字列に何か入っているときはそれに対応したオブジェクトが描画される

マス目は50個あるので変数をひとつずつアサインしていくとクソ大変だと思うが、そこは先日編み出した変数もどきを使った。こうして自分で考えたセオリーが役に立つというのは嬉しいものだ。


「やったことないけど、たぶんできるんじゃね?」と思える範囲がどれくらい広いかだ。(Twitter)

プログラミングの心の師であるところの平山さん(最初に読んだプログラミング本の著者さん)がこんなことを言っているとおり基礎の応用力は大事だし、何より今回のように限られた基礎知識をやりくりして何かをするのは楽しいものだ。

話が逸れるがふと思いついたので書くと、世界樹の迷宮もそういう楽しさを利用したシステムだよな。レベルでゴリ押しするよりは限られたスキルポイントとスキル構成を使ってパズル的に攻略していくゲームだ。まあグリモアがすべて叩き壊してくれたがな。

ってまるでこのゲームについては完結したような書き方をしてしまったが全然そんなことはなく、オブジェクトのプレビュー機能もないし(オブジェクトの回転機能はあるものの置いてみるまでどの向きなのかわからん)、それぞれのオブジェクトは各キーに対応してるだけでゲーム内で選択とかはできないし、そもそも床と椅子しかない! そこらへんを詰めたくもあるのだが、どうもそろそろインプットに対するアウトプットの比重が大きくなりすぎたことを感じるのでまた基礎勉に戻るかな。イン・アウトの割合は7:3くらいがちょうど良いと思う。アウトプットはインプットのレベルを上げるが、アウトプットばかりしていても向上せん。一桁の足し算を延々と解いていても仕方がない。

しかしこの件でいっとう厄介だったのはプログラミングというより画像素材の準備だ。こういうものをこれからも作っていくならば、根っから左利きの俺が右手でマウスを握ってこつこつ描いている現状に疑問を呈さざるをえん。かといってペンタブは机の上にものが増えてイヤだしなあ。まあドット絵作りはなかなか楽しかったので、作業自体にマイナスイメージを持ってはいない。

おまけ。今回の制作メモ。

制作メモ