SRPG開発戦記
雲居 残月
第1話 SRPG開発、はじめるってよ!
人生はたいてい思うようにいかない。リスク分散のつもりで取引先を三ヶ所に分けていたら、それぞれが同時に撤退したり事業縮小したりして収入が途絶えることがある。広告収入やダウンロード販売などで、毎月ある程度金額が入るようにしたと思ったら、じわじわと金額が減って崖っぷちに立たされることもある。
そう、よくあるのだ。人生は、山の急斜面をくだっているブレーキの壊れたオンボロ車のようなものだ。放っておけば谷底に落ちる。そして谷底についたと思ったら、そこからさらに底が抜けて奈落に落ちたりする。
人生はピンチの連続だ。
そして、そんなときに役に立つのがSRPGなのだ。
SRPGは、シミュレーション・ロール・プレイング・ゲームの略だ。シミュレーションRPGと略されることも多い。海外ではまた違う呼び方があるのだが、私は日本のゲーム黎明期に育ったのでシミュレーションRPGと呼んでいる。
私は幼少の頃に、シミュレーション系のゲームが大好きだった。また、その流れでSRPGを遊ぶことも多かった。告白しよう。私がシミュレーション系のゲームが好きだった理由は、もともとはネガティブなものだった。
私はアクションゲームが苦手だった。ファミコンでアクションゲームを遊ぶと、たいてい最初の数ステージしかクリアできず絶望する。そして私は「動かないゲーム」に逃げた。だからコマンド選択式のRPGも楽しんだ。世の多くの人とは逆に、私はテレビゲームに「非リアルタイム性」を要求していた。
人間には、瞬間的な判断に長けた者と、時間をかけた思考が得意な者とがいる。
私は前者が苦手だった。小学校で野球をすると、フライを捕れずに落としてしまう。まあ、逆上がりもできなかったので、単に運動神経が鈍いだけなのだろう。そんな私だったが、後者の「じっくり考える」ことは好きだった。
「ファミコンウォーズ」や「大戦略」といったウォーシミュレーションゲームが好きだった。直撃世代だったので「ドラゴンクエスト」も楽しんだ。SRPGは、そうしたゲームの中間にある奇妙なゲームだった。そして、反射神経を求めないゲーム性と、戦場の指揮官になれる貴重な体験、群像劇のような物語が私の心を魅了した。
大きく話がそれたが、まあよいだろう。人生には寄り道が必要だ。大学生時代に「どうも自分の人生は、寄り道ばかりでできている」と思ったが、それは脇に置いておく。人生のピンチのときに「SRPGが役に立つ」という話をしよう。
私は大学を卒業してゲーム会社に入った。そこで数年働いたあと、会社が「ゲーム事業を縮小する」というので辞めて、自分で会社を作った。社員は自分だけだ。最初はボードゲームを作って暮らそうと思っていた。大学時代にTRPG研究会に所属していたので、アナログゲームをよく遊んでいたからだ。
そして一年が経った。私の財布は見事にすっからかんになっていた。まあ、あの当時、個人でボードゲームを年に何本か出して、一年分の給料を稼ぐのはハードルが高かった。いや、それでも、突き抜けた能力があれば、どうにかなっていたのかもしれない。
結果的にプータローのような状態になった私は、ある飲み会に参加した。その少し前に、「めもりーくりーなー」というソフトで、オンラインソフト大賞というものに入賞していて、そのときのプログラマー繋がりで呼ばれたのだ。
そこで飲み会の幹事が、iモードの携帯電話でRPGを作れる人を募集した。その時期私は金がなく、時間だけは無限にあったので「SRPGなら作りますよ」と手を挙げた。
当時の私は、携帯電話も持っていなかった。そこでとりあえず買って、開発ドキュメントを読んで、書類申請からリリースまで九ヶ月ほど、実働百二日でiモード上で動くSRPGを開発した。
この開発がなければ、私は路頭に迷っていただろう。人生でSRPGを作ったのは、このときが初めてだった。
それからiモードでSRPGを何本か出し、海外にも売りに行った。知り合いから、韓国の国際展示会のブースが余っているという話が回ってきたので一人で行って、契約を取って帰ってきた。英語が話せないので、身振りと手振りだけで商談をまとめた。SRPGはこのように、人生を大きく変える魔法のゲームなのだ。
その後も、SRPGを何本か作ってきた。HTMLとJavaScriptで開発して何本か同人ソフトとして出した。他にも
SRPGは、人生の節目節目に作る、式年遷宮のようなものなのだ。
さて、開発の話に入ろう。ゲームを開発するときに大きく悩むのが技術選定だ。最後に作ったSRPGは、Unityを使ったが、どうにも相性が悪かった。
世の中の主流がUnityなのは知っている。そうした技術を選ばないのは単なるひねくれ者だ。それも分かっている。でも、開発ツールが重いんだ。ファイルサイズもでかい。そしてプログラムが王様ではない。
そもそもUnityはアクションゲームが得意な開発環境なので、SRPGに向いた作りはしていない。私が作るのは、SRPGやRTSやタワーディフェンスやパズルゲームなので、微妙に噛み合っていない。
端的に言うとUnityは気持ちが高揚しなかった。次も是非Unityで作りたいとは感じなかった。それで二年ほど作る手を止めていた。
しかしゲーム開発は「ゲーム開発自体」が娯楽だったりする。
目標を定め、どのように攻略するか計画を立て、ネットの海から情報や技術を探し出し、職人のような気持ちで作り上げていく。SRPGの開発は、SRPG自体に似ている。ユニットを動かして戦争に勝つように、技術と知識を駆使して新しいゲームを誕生させる。
そして、何より楽しいのはデバッグ作業だったりする。自分が作ったSRPGを、延々と遊ぶことができる。そして狙った快感になるように、ステージを調整したりプログラムを更新したりする。
さて、技術選定に戻ろう。去年の時点で、候補を二つに絞り込んだ。一つは
どちらがよいのかは、触ってみないと分からない。ということで最初は、PythonとPygameで小さなレトロ風RPGを作ることにした。Pythonの勉強もしたかったからだ。
この小さなゲームを元に、同人誌を書き、CodeZineという商業サイトで連載をおこない、Udemyで動画講座を作った。それからしばらくして、この環境でゲームの基礎的な処理を書きはじめた。
二日ほどコードを書いて「あ、これは厳しい」と感じた。ゲーム自体は作れるけど、かなりいびつなプログラムになってしまう。SRPGは、マップが王様で、その上にユニットが乗り、ユニットの上にステータスなどのアイコンが表示される。つまり表示物の全体がマップを頂点とした階層構造になっている。
Pygameは、こうした構造を作りやすいようにはできていなかった。内部のコードを読んで確かめたので間違いない。仕方がなく、パッチを当てるように構造化するコードを書いたのだけど、書き上げたあとに「これ、茨の道だよなあ」と気が付いた。
プログラムに一番大事なことは、実は思想だったりする。何がしたいか、どのように実現したいかの方針と言い換えてもよい。そこから大きく外れたことをすると、必ずさまざまな不都合が生じる。現実世界でたとえるならば、カッターナイフを包丁代わりにして、お刺身を作るようなものだ。いちおう食べられるものはできるけど、見栄えがよいものにはならない。
そこで急遽Godotをダウンロードしてプログラムを書いてみた。そして得た感想は「思ったよりもよい」だった。百点ではないけど七十五点以上は取れている。
Unityと比べて、開発ソフトが圧倒的に軽い。また、プロジェクトのファイルも基本的にテキストでとても小さい。プログラムが疎結合なところはUnityに似ていて私好みではないのだが、Unityほどストレスはない。
PythonとPygameでは問題だった階層構造もきちんと作れる。というか、Godotは階層構造が王様になっている。これならGodotの方がよいなと思い、少しずつ学習を進めた。
Godotの学習は今日で累計三日目ぐらいになる。とりあえずマップを表示して、マウスでドラッグして、各マスをクリックすることができるようになった。SRPGで絶対必要な部分の処理が作れるのが分かったので少し安心している。これなら開発に入ることができるだろう。
そうした目処が立ったので記録を書こうと思い、この原稿を書きはじめた。SRPG開発を趣味にするおっさんは世の中でも希少種だろう。そうした人間の考えや開発ログを残しておくのも悪くない。毎日書けるのか、不定期になるのかは分からないが、気楽に書いていこうと思う。
おまけ:
いろいろな同人誌や、ゲームを作って公開しています。ぜひ見てください。
最近、ゲームブックも書きました。遊んでください。
https://crocro.com/shop/
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます