【開発裏話】WikiRunner の開発について
Written by Kihamda
エンジニア部より
プレイヤーの皆様!
KyiT Gamesでエンジニアをしている、Kihamdaです。
まず、このゲームをリリースすることができて、本当に嬉しいです。
この事について、ゲームをプレイしていただいた方々、ゲーム制作にアドバイスをくれた方、僕とゲームについて考えて、ゲームのために動いてくれたチームメンバーに本当に感謝したいです。
この記事では少し長いですが自分のこのゲームに対する思いを述べさせてもらいます。最後までお付き合いいただけると幸いです。
このゲームについて
まず、このWiki Runnerというゲームについて少し紹介させてください。
このゲームの生い立ちについてはtamaが詳しく解説してくれているので詳しくは語りませんが、このプロジェクトはほぼすべてtamaが進行しました。razunamu.と共に詳細な部分を設計し、その後に僕が技術的な面で支援をする、Ichiが最後にデザインを作るという形で開発しました。
tamaは本当にすごいと思います。彼は普段から忙しそうにしているのに、その間の僅かな時間を縫って僕たちに割り振る仕事を管理して、僕が飛ばした少々無理のある指示にも対応してくれて、本当にチームの支えになってくれました。このゲームをプレイする時は、tamaの働きをどうか忘れないで欲しいです。
突然ですが、Ichiは本当に素晴らしいデザイナーです。下はこのゲームのスクリーンショットです。
この、モノクロベースで統一感のあるデザイン、本当にお洒落だと思いませんか?少なくとも私はそう思います。
さて、ここで開発最初期に作られたプロトタイプの、僕が勝手に想像して作ったホーム画面を見てみましょう。
見るに耐えないですね。唯一(Ichiが作った)WikiRunnerのロゴがお洒落です。
もはや説明不要、このグループにIchiというデザイナーは必要不可欠です。彼が頑張ってくれたおかげでこのゲームのデザインはより洗練され、もっと遊びやすく、もっと楽しいものになりました。
彼に対しては本当に尊敬します。
技術的側面(技術者向け)
このゲームで使われている技術は基本的に一昔前の技術です。
Reactはもちろん使っていませんし、主に使ったJSライブラリはjQueryです。ソースコードを見れば分かる通り、ネイティブJSのDOM操作とjQueryを使った操作が混在していることがわかると思います。
あまり上品な実装ではありませんが、許して欲しいです。
また、このアプリケーションはSingle Page Application(SPA)です。index.htmlに全部書いてあります。Router.jsは(もちろん)存在しないので、再読込をしたら全部消えます。このような設計になってしまわないように、以後気をつけようと思います。
個人的思い入れ
さて、最後に僕個人にとってのこのゲーム、というよりプロジェクトの存在について説明します。
僕は、このプロジェクトを通じて初めて「誰かのために」プログラミングをしました。
小学校のときにSmall Basicから入門してPython, JS, C++, C#とプログラミングを勉強してきましたが、それらは全て僕の自己満足でした。将来的にこのスキルが役に立てばいいなくらいの気持ちでコードを書いていました。
当然自分が作ったものを評価する人なんて存在しませんし、僕に依頼をする人なんかいませんでした。
ですが、今回は違います。
tamaは僕の人生で初めて僕のプログラミングの能力に期待して、仕事を任してくれました。
本当に嬉しかったです。
だから、僕は自分ができる全ての事をして、彼の期待に応えようとしました。コードレビューをしてもらうためにGitHubを使いましたが、お恥ずかしながらこれが初めてのGitHubでした。開発当初はfetchAPIの仕組みもCORSの仕組みもわからず、試行錯誤しながらプログラムを書きました。
白状すると、どう考えても僕はエンジニアとして力不足です。
だからこそ、今後も自分に求められることを把握して、適切なスキルを身に着けていきたいと思っています。その時にはチームメンバーにも迷惑をかけると思いますが、その時はどうか僕を受け入れてください。
最後に
長文で読みにくい記事になってしまい申し訳ありません。最後までお付き合いいただきありがとうございました。
私達はすでに新作ゲームの内容について考えています。絶対に楽しいモノにするので是非ご期待ください!
今後も私達KyiT Gamesをよろしくお願いします!