スクリーンショット_2019-02-23_23

PICO-8 に Panic shooter を移植してみる ローグライク(仮)

今日はほんとうは UI/UX を軸にローグライク(仮)のゲームデザインにテコ入れするために時間を使おうと思っていたが、訳あって Panic shooter という昔作ったゲームで、このブログでも紹介したことのあるゲームの移植版の着手について説明したい。

現時点では↓のバージョンが最新版である。itch.io というサイトで無料公開していて、Windows, macOS で動作するバージョンだ。

これを PICO-8 という、MSX や N88 を思い出すようなプラットフォームに移植してみようと考え、着手してみた。Panic shooter で最も肝心な「世代ルールのセルオートマトン」を実装し Starwars ルールの動作確認ができるところまで作った。

元のコードは大学生の頃に作った C++ で作られたものなのだが、PICO-8 では C++ でコンパイルしたバイナリを実行することは基本的にできない。PICO-8 は Lua を使ってプログラミングするように設計されていて、今回の移植も Lua で書き直しをすることとなった。このように、一応動いてはいる。

しかし大きな問題がある。非常に遅いのだ。PICO-8 についてはまだほとんど触れているとは言えず、パフォーマンスの問題がどこにあるのかをどうやって調べればいいか、わかっていない。明日はこのパフォーマンス問題に着手しようと思う。

なぜ急に PICO-8 を?

結論から言うと、ゲーム制作系のコミュニティへ参加したかったからだ。そのことを Twitter で呟いたら海外の方に PICO-8 で Panic shooter を公開したら話題になるよ、と助言を頂いた。これがきっかけである。
詳細は箇条書きにする。

・会話や発話が下手になっていると実感した
・社会復帰のためには非常にまずいことだと思った
・おそらく原因は病気になり退職してから他者と会話する機会が急に減ったから
・どこか人と会ったりコミュニケーションできる場がないか考えた
・自分が最も関わっているゲーム制作系のコミュニティへの参加を希望した
・Panic shooter を PICO-8 に移植するといいのではないか、と助言を受けた

これを目的と手段の話にすると、他人を自分の都合で利用するような捉え方ができてしまうかもしれないので説明を加えておきたいが、これは会話の練習のためにコミュニティに参加したいということではなく、インディーゲーム開発をしている仲間や友達ができれば楽しいだろうし、それで人間らしい生活を取り戻すことができるんじゃないかなと思ったからだ。

ローグライク(仮)の開発はもちろん継続していくが、並行して PICO-8 で遊んだり移植の作業も進めていこうと思っている。

応援してくださると嬉しいです。よろしくお願いいたします!