feature image

2017年12月25日 | ブログ記事

Project Obelisk [traP Advent Calendar 2017]

こんにちは。nariです。この記事はtraP Advent Calendar 2017の12月25日の記事です。

traP Advent Calendar 2017

traP Advent Calendar 2017をご存知ですか?僕はご存知です。
ご存知無い方はこちらを御覧ください : 今年もやります!! アドベントカレンダー2017 | 東京工業大学デジタル創作同好会traP

いわゆるAdvent Calendarなのですが、traPというサークルはすでに規模の大きなサークルとなっており、なんと10月23日からAdvent Calendarを始めるという奇行に及んでいます。で、今日がその最終日となっています。皆さんお疲れ様でした。

ところで、それはつまり10月23日時点でAdvent Calendarの日程が決まっているということで、実は2ヶ月前から今日この日の記事を担当することが決まっていました。

用意された期間は2ヶ月、しかも最後の記事。これはちゃんとしたものを書かなくては……

Polar Snow Fantasy

ところで、Polar Snow Fantasyをご存知ですか?僕はご存知です。
ご存知無い方はこちらを御覧ください : Polar Snow Fantasy | 東京工業大学デジタル創作同好会traP

traPのTeamPOが2015年度第2期プロジェクトとしてリリースした2Dアクションシューティングゲームとなります。ちょうど2年前のこの時期、全てを捨てて死に物狂いで開発していたのが懐かしいです。

ニコニコ自作ゲームフェス2016に投稿し、自作ゲームフェス2016 総評:RPGアツマール:RPGアツマールch(RPGアツマール) - ニコニコチャンネル:ゲーム にて以下のコメントを頂くなど、traPの中ではかなり大きな作品となりました。

●Polar Snow Fantasy
シューティングアクションです。こうした作品は動きの作り込みで快適さがかなり変わってくるので、もうひと練りしてほしかったようにも。東工大サークル作成ということで、大学でのゲーム制作が盛り上がることを期待します

参考画像 : Polar Snow Fantasyのプレイ画像
screenshot_00666

Typing War

ところで、Typing Warをご存知ですか?僕はご存知です。
ご存知無い方はこちらを御覧ください : Typing War | 東京工業大学デジタル創作同好会traP

こちらはもともとtraPの2015年度第1期プロジェクトとしてリリースされた二人プレイ専用戦略的対戦型タイピングゲームとなるのですが、2016年4月にアップデートし、プチブレイクしました。

もともとオンライン対戦が可能だったTyping Warですが、2016年4月のアップデートによって一人用モード、及びツイート機能が追加されました。
特にツイート機能によって一部界隈に瞬時に拡散し、一時期は対戦待ちロビーに数人は常駐、多いときで10人以上がプレイしているということもありました。

もともとすごかったゲームが、SNSの力を借りたことで多くの注目を集めることが出来たという一例となります。

現在でもコンスタントにプレイしている人がいることが #TypingWar - Twitter検索 を見るとわかります。

Polar Snow Fantasy EX

ところで、Polar Snow Fantasy EXをご存知ですか?僕はご存知です。
ご存知無い方はこちらなどを御覧ください : 新歓イベント ゲーム大会のご案内 & Googleカレンダーで講義日程を見よう!【新歓ブログリレー2017 2日目】 | 東京工業大学デジタル創作同好会traPtraPガイダンスのご案内 【新歓ブログリレー2017 5日目】 | 東京工業大学デジタル創作同好会traP

Polar Snow Fantasy EXはPolar Snow Fantasyを2~4人対戦ゲームにしたプロジェクトです。

上記ブログ記事等からも分かる通り、traPのイベントでPolar Snow Fantasy EXを開けばたちまち大盛況というかなりの人気作品となっています。Typing Warの例もありましたが、対戦ゲームにするとそれだけでかなり楽しく駆け引きの多い遊びになる魔力があると感じます。

さて、このPolar Snow Fantasy EXですが、実は未だに公開されていません。理由としては、後から対戦ゲーム化したことでプログラムが複雑化しメンテナンスしづらくなり、不具合やバグが増えてしまったこと、またオンライン対戦に対応していないためコントローラを1つのPCに4つ繋ぐ形式でしかプレイ出来ず、配布してもプレイする環境を整えるために一手間かかるという点などがあったためです。単に忘れていたとか面倒になったとかでは決して無いはず

CoffeeScript 2.0

ところで、CoffeeScript 2.0をご存知ですか?僕はご存知です。
ご存知無い方はこちらを御覧ください : 「CoffeeScript 2.0」リリース、最新ECMAScriptとの互換性を強化 | OSDN Magazine

CoffeeScriptはAltJSと呼ばれるようなコンパイルすることでJavaScriptに変換できる言語の一種で、Pythonライクなインデントブロック表記やRubyライクな括弧の省略などの他言語の糖衣構文が導入されたり、function->で記述出来たり!== null?で記述できたりclassが使えたりとJavaScriptで頻出のいくつかのパターンが簡潔に書けるように改変されたりした言語となっています。僕は大好きです。

さて、このCoffeeScriptですが、=>がES2015に輸入されたり、async/awaityieldといった便利機能が追加されたりし、ES2015自身がかなりの発展を遂げた結果、今となってはCoffeeScriptは本当に駄目なのか? - Qiitaなど微妙な評価を受けています。あんなに人気だった6年前のCoffeeScriptは一体どこに行ったんだ……

しかし2017年9月、ついにCoffeeScript 2.0がリリースされました(参考 : CoffeeScript 2という新たなる希望 - Qiita)。
内容としてはES2015の機能(async/awaitimport/export)に対応した、ということです。これによってES2015のAltJSとなったため、再びES2015の代替として使われる機会が出てきたということになります。

CoffeeScript好きだったけどasync/await使いたいと思っていた人たちにはまた人気が出てくるんじゃないでしょうか。少なくとも僕は大好きです。

Project Obelisk

さていよいよ本題ですが、Project Obeliskについてお話します。

まずこの名前についてですが、

かっこいいプロジェクト名が欲しい

— AdventCalendar✌︎(°ω°) (@_n_ari) 2017年12月22日

po

— phi16 (@phi16_) 2017年12月22日

採用

— AdventCalendar✌︎(°ω°) (@_n_ari) 2017年12月22日

プロジェクト名が決まりました。たくさんのご応募ありがとうございました。

— AdventCalendar✌︎(°ω°) (@_n_ari) 2017年12月22日

ということで、Project Obeliskというかっこいい名前に決まりました。かっこいいですね。ちなみに意味は特に無いです。略すとpoになるというだけです。

あとこのやり取りは特に裏で合わせてるとかも全く無かったのですが、完全に欲しかった返答が秒で来てしまった形になります。


Project Obeliskの中身ですが、やりたいことは簡単です。

ここまで読んだらもう分かりますよね。

Polar Snow Fantasyをブラウザゲームとして移植し、オンライン対戦に対応させたい

というのが、Project Obeliskです。

ブラウザゲームとして作り直すことで、より多くの人にPolar Snow Fantasyを手軽に楽しんでもらいたいということと、対戦版(EX)を公開したいということを目指しています。

また、2年前に書いたプログラムを現在の知識を使ってリファクタリング・移植することで、よりメンテナンスしやすいコードにすること、リファクタリング・移植の知見を増やすこと、なども目的の一つとしてあります。

メンバーは今のところ僕一人です。

進捗報告

さて、2ヶ月の期間をもってして挑んだこのProject Obelisk、果たして完成したのか!?























[ここに進捗ダメでしたの画像を入れる]























ダメでした。理由はいろいろあるのですが、

ということが重なった結果、全然進捗できませんでした。大学3年後半なら暇なものだと思っていたらそうでもなかった

ということで残念ながら完動版をお披露目することは叶いませんでしたが、今回の記事ではこのプロジェクトの始動のお知らせ(上で行った)と、現状完成しているところまでの紹介をします。

現状ですが、衝突判定、マップ読み込み、敵キャラ自キャラ、あたりがすでに移植済みです。

screenshot_00664

実装言語は上述の通りCoffeeScript 2.0で、画像描画にはpixi.jsを使っています。

2年前のソースコードを読み直している感想ですが、なかなかに何も読めなくなっていました。当時はこれを書き換えてゲームを作っていたんだと思うと驚きますね。
よく「1日後の自分という別人のためにコメントを残す」とかいうプログラマの格言みたいなものがありますが、もはや別次元の人間が書いたソースコードのようです。

現在は敵キャラの追加実装とサブウェポンの実装を行っているところです。

今後の目標

とりあえずまずは1人用モードPolar Snow Fantasyが完動するまでを目標に移植を進めていきます。

終わり次第オンライン通信の知見を集めて検証を繰り返して、最高のオンライン対戦を実現したいと思っています。

進捗状況については見せられるものができ次第ブログにて報告させていただきます。

終わりに

今後のProject Obeliskにご期待下さい。

良いお年を。

nari icon
この記事を書いた人
nari

競プロ(C++) / CTF(Crypto/PPC) / ゲーム作成(C++/Java/JavaScript) 参加プロジェクト: Traps of Typing(プログラマ) / Polar Snow Fantasy(プログラマ)

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年11月21日
School Breakin' Tag -新感覚おにごっこ-
s9 icon s9
2023年9月3日
タイピング&アクション『TypeTheCode』作りました
wal icon wal
2017年11月14日
IBIS2017参加報告
Keijan icon Keijan
2023年4月25日
【驚愕】作曲4年目だった男が大学3年間ゲームサウンドに関わった末路...【ゲームサウンドのお仕事について】
tenya icon tenya
2023年4月25日
15時間でゲームを作った #Oxygenator
Komichi icon Komichi
2022年9月16日
5日でゲームを作った #tararira
Komichi icon Komichi
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記