2019年1月10日木曜日

ファミコンでゲームを作ってRPGアツマールに投稿してみた

ニコニコ動画にRPGアツマールというRPGツクールMVで作られたゲームを投稿してプレイできるサービスがあります。
https://game.nicovideo.jp/atsumaru/?header

ただし、RPGツクールMVを使わなくてもHTML5で作ったブラウザゲームなら投稿可能なようです。実際、投稿画面にそれらしきことが書いてありました。
投稿画面の説明文
2点目に以下のように書かれています。
* ゲームの制作には「RPGツクールMV」などHTML5ゲーム制作ツールをご利用ください。
サービス名に「RPG」と銘打っているぐらいですし、RPGツクールMVを買って作って投稿するのが運営想定のユースケースなのだろうとは思います。とはいえ、ニコニコ動画の運営会社ではAkashic EngineというJavaScriptのゲームエンジンを公開していたりするので、それで作られたゲームなら一応許容範囲なのかな?

何処までが許容範囲なのか・・・気になります。

少し話は変わりますが、昨年末ファミコンのゲームプログラミングの方法を勉強して習作で1本ゲームを作ってみたのですが、世の中にはJavaScriptで作られたファミコンエミュレータが存在するので、それを使えばHTML5で動作するファミコンゲームを作ることができます。

【ファミコン習作ゲーム】
https://github.com/suzukiplan/stg-for-nes

【JavaScript製のファミコンエミュレータ】
https://github.com/bfirsh/jsnes

【習作ゲーム+jsnes】
https://github.com/suzukiplan/stg-for-nes-web

無事、ファミコン用ゲームがHTML5ゲームになりました。
※jsnesはスマホブラウザでは動かないので、スマホでは何も表示されていないかも

これを「HTML5ゲーム制作ツール」で制作したゲームと呼んで良いのか微妙な気がしないでもないですが、HTML5ゲームであることには違い無いので、これをRPGアツマールに投稿してみたところ、普通に投稿できました。
RPGアツマールの投稿管理画面
(ファイルサイズ0MBとなっていますが一応100KBぐらいあります)
以下からプレイできます。(PCブラウザ限定ですが)
https://game.nicovideo.jp/atsumaru/games/gm9628

違法な手段で入手したROMファイルを上記の方法で公開するのは当然NGですが、コレについては合法だと思っています。
このゲームのROMファイル内に含まれるプログラムやデータは、全て私自身が制作したもので、権利的にはGPLv3ライセンスで公開しているオープンソースのフリーソフトウェアです。なので、他の人が改造するなりして公開するのも(GPLライセンスを継承していれば)問題ありません。ファミコンのエミュレータ(jsnes)に関しても同じGPLv3ライセンスで、ハードウェアのエミュレーションに関しては、現時点で有効な特許や著作物(ファミコン実機内部に含まれているソフトウェアや画像等のデータ)が含まれている場合は話が変わりますが、ファミコンなら特許も切れている筈で、またIPL/OS/フォントといった著作権が発生するデータも含んでいない(そもそも無い)ので、合法だと判断しています。(ファミコンと銘打ってしまっている点が、商標権がまだ有効だと思うので少しマズイかもしれませんが、その点に関しては任天堂から商標権行使があった場合に対応するつもりです)
法律的な話を書くと少しギスギスしがちなので念の為補足すると、任天堂に喧嘩を売りたくてやっていることではないです。むしろ逆で、ファミコンは現代のゲームエンジンとしても魅力的なツールだと私は考えていて、登場から半世紀後、百年後でも新規のゲームが作り続けられる唯一のゲーム機になるだろうと割と本気で考えています。これは実際、ファミコンのゲームを作ってみて実感したことです。しかし、如何せんファミコンでゲームを作ることは大半のプログラマにとって敷居が高いと誤解されていると思っていて、「いやいや、ファミコンのゲームってこんなに簡単に作れるんですよ」と紹介したくてやってみました。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...