どうも、ねへほもんです。
最近は在宅勤務&不要不急の外出回避のせいで、完全に引き籠り状態、人に会わなさ過ぎて、生存を認識されているのかと不安になります・・・
今回は生存報告ついでに、最近始めた取り組みをご紹介します。
1.小学生以下とは言わせない
コロナ騒動の影響は弊社にも及び、在宅勤務の推奨に加え、僕の管轄では業務の遅延が見られます。
僕は「普通に働けるぜい!」という状態なのですが、他が詰まって業務が進まず、上司に「何やったらいいですか?」と聞いたところ、
上司「時間空いたらPythonの勉強しといて」
弊社は僕を含め、プログラミングとは無縁の会社でしたが、最近はシステム開発専門の方が転職され、関連する業務も増えてきました。
基本は専門の方に任せるものの、僕も触るかもということで、勉強しといてと言われました。
今やプログラミングは、小学生の必修科目になる位メジャーなスキルです。
出来ない、知らないは小学生以下に認定されかねないということで、良い機会だと思い、引き籠りつつチビチビ勉強しています。
社会人あるあるとして、「英語」「コミュニケーションスキル」「ロジカルシンキング」を磨けと良く言われますが、磨けと言うだけで、具体的に必要なスキルや勉強法を教えてはくれません。
英語は読めたら十分なの?話せないといけないの?どっち!??
Pythonやっといても同様で、具体的にどんな作業が出来るようになれば良いのか、どうやったら出来るようになるのかなんて教えてはくれません。自分で考えろと。
逆に言うと、僕の好きなように勉強して良いということです。
僕の好きなことといえば・・・?と思いながら書店を歩いていると、目当ての本に出会いました。
2.ゲームを作れてこそゲーマー
テレビゲーム、カードゲーム、将棋、果てには試験勉強すらゲームに位置付けてきた僕にとって、「ゲーム」という題材は非常に馴染み深いものです。
ゲーマーを自称してはいますが、1つ心残りがありました。
「完成品をプレイするのみで、自分で作れなくてゲーマーを名乗って良いのか?」
当然、製品として売り出すレベルの作品を作るのは、能力的にも労力的にも無理がある。だとしても、ゲームがどういう流れで開発され、どういうプログラムで動いているのか位は理解しておいた方が良いと思いました。
例えば、RTA動画で「この裏技は1フレームしか猶予が無いんですよ」というコメントを見た時に、「ゲームって、そもそもどうやってフレーム単位で処理してるんだろ?」という疑問に対し、仕組みを知っておいた方が、より深く理解できます。
いつも挫折しますが、小説を書くことを経験したことで、再び読む側に回った時に、ストーリーの構成や表現技法に注意が向き、作品をより深く理解できるようになりました。同様に、作る経験を通じ、ゲームに対する理解が深まったらいいなと思います。
前置きがすっごく長くなりましたが、以下、簡単に成果物をご紹介します。
まぁ、基本は本のプログラムを写したのみなのですが・・・
時々処理を追加したり、一部を書き換えたりと、徐々にオリジナル要素にも挑戦中です。
①クイズ
僅か10行。全てはここから始まったのじゃ・・・
②双六
Enterを連打してコマを進めるだけのゲーム。
オリジナルはプレイヤーの先攻固定で不公平だったので、「あなたの先攻です」と先後を判定する仕組みを入れたのが初のオリジナル要素でした。
③一筆書き
ここからは画像が入り(CUI→GUI)、よりゲームらしくなります。
迷路を一筆書きで塗るというゲーム。ネコのみ本のサポートページから拾った画像、マスはプログラムで範囲と色を指定して塗りました。
④落ち物パズル
ほぼ拾った画像の組み合わせですが、かなり本格的になりました。
Pythonの理解度が上がったら、落ちるネコを2匹にして、回転できるようにするとか、本家「ぷよぷよ」に近づくよう改良したいなと思います。
⑤ダンジョン作成
本の最終章は、僕が大好きなRPG。
まだ途中ですが、「ローグライク」というスタイルで、ランダムにダンジョンを作るプログラムを組みました。
画像は拾い物といっても、「床」と「壁」と「プレイヤー」の3枚だけで、ここまで作れるとは・・・と、キャラを動かしながら感動しました。
ここに戦闘シーンなどなどを付け足し、1時間サイズのRPGに仕上げる予定です。
僕のフォロワーさんは、仕事や大学でプログラミングを扱っている方がチラホラ居るという認識なので、ド素人の記事を書くのはいかがなものかと思いましたが、生存報告と、成長の記録として残すことにしました。
ゲーム開発に役立つ本とか、色々とアドバイスをいただけると有難いです。
続報、あるといいですね(飽きっぽい人)
では。