【開発裏話】WikiRunner の開発について

Written by Kihamda

エンジニア部より

プレイヤーの皆様!

KyiT Gamesでエンジニアをしている、Kihamdaです。

まず、このゲームをリリースすることができて、本当に嬉しいです。

この事について、ゲームをプレイしていただいた方々、ゲーム制作にアドバイスをくれた方、僕とゲームについて考えて、ゲームのために動いてくれたチームメンバーに本当に感謝したいです。

この記事では少し長いですが自分のこのゲームに対する思いを述べさせてもらいます。最後までお付き合いいただけると幸いです。

このゲームについて

まず、このWiki Runnerというゲームについて少し紹介させてください。

このゲームの生い立ちについてはtamaが詳しく解説してくれているので詳しくは語りませんが、このプロジェクトはほぼすべてtamaが進行しました。razunamu.と共に詳細な部分を設計し、その後に僕が技術的な面で支援をする、Ichiが最後にデザインを作るという形で開発しました。

tamaは本当にすごいと思います。彼は普段から忙しそうにしているのに、その間の僅かな時間を縫って僕たちに割り振る仕事を管理して、僕が飛ばした少々無理のある指示にも対応してくれて、本当にチームの支えになってくれました。このゲームをプレイする時は、tamaの働きをどうか忘れないで欲しいです。


突然ですが、Ichiは本当に素晴らしいデザイナーです。下はこのゲームのスクリーンショットです。

WikiRunnerのホーム画面

この、モノクロベースで統一感のあるデザイン、本当にお洒落だと思いませんか?少なくとも私はそう思います。

さて、ここで開発最初期に作られたプロトタイプの、僕が勝手に想像して作ったホーム画面を見てみましょう。

当初のホーム画面

見るに耐えないですね。唯一(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をよろしくお願いします!

  • X

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です