ドラゴンクエストコードゴルフ
っていうネタを思いつきました.
忘れないうちに書き留めておこう
ルール
コードゴルフ:出来るだけ少ないバイト数のプログラムで目的を実行する競技
ドラゴンクエスト:有名な日本RPGのゲームシリーズ
つまり,ドラゴンクエストをより少ないバイト数のプログラムで書く,という競技です.
では,どうして "ドラゴンクエスト" を選んだのか?
それは,ドラゴンクエストの初代作品は既にコードゴルフだからです.
ドラゴンクエストの1~3は,ファミコン(ファミリーコンピュータ)というハード用に作られました.
現在のNintendo SwitchやPS5 ,少し古いものですとWiiUなんかを思いだす人もいるかも
しれませんが,ファミコンはそんなのとは比べ物にならないほど古いです.
その性質上,なんとドラゴンクエストの初代はわずか40KBという異常なコンパクトさで
作られています.驚きです.40KB・・・どのくらいか実感が沸かない人もいるかもしれませんが,
皆さんが普段聞いている音楽が約「約1~5秒程度」しか入らない,それくらいの狭さです.
ちなみに,このブログのこのWebページ1つだけで既に40KB越えているようです・・・
たったそれだけのスペースの中で,ドラゴンクエストは何を実装したかというと・・・
1 VS 1の対戦システム / 文字の画像と文字の出力 / カタカナの実装 / ステータスの実装 / ステータスの変化 / どうぐ / じゅもんシステム / 歩行グラフィックとその演出 / 装備の実装(剣・縦・兜・鎧) / 話すコマンド / ストーリー(りゅうおう, 姫の救出など) / 「しらべる」コマンド / ふっかつの呪文 / 店での売り買い / マップの移動 / HPが低い場合など,ピンチの表現 / 「のろい」のシステム / 姫救出時のグラフィック変更 / 同じアイテムを複数持っている時の省略表示 / たからばこシステム / 視界の概念
他にもたくさんあります.これほどのものが,たった40KBの中に詰まっています.バケモンです.
ここに,コードゴルフに似たような競技性を感じました.
コードゴルフではWikipediaをわずか1KBで作る試みなどもあります.それに比べると,
ドラゴンクエストは信じられないほど難しいものであり,40KBというのは
想像以上に厳しいと思います,よって,以下のようにルールつけをします.
《ドラゴンクエストコードゴルフ》
ドラゴンクエストコードゴルフでは,以下の項目を全て満たすソフトウェア・アプリを【ドラゴンクエスト】と見なす.
・「マップを移動するシーン / 戦闘を行うシーン」の2つのシーンを持つ.
・マップを移動するシーンは,上下左右と決定 / 戻るキーの6つの入力に対応する.
・マップを移動するシーンは,二次元上のマップを2つ以上持ち,上下左右によりマップを移動できる.
・マップを移動するシーンでは,異なるマップに移動する方法を持ち,それによって全てのマップのいずれかのマスに移動できる.
・「店」がある.
・NPCがおり,話すことができる.
・「じゅもん」を1つ以上持ち,マップでそれを使用できる.(じゅもんの内容は問わない)
・プレイヤーを示す「Lv, HP, こうげき , ぼうぎょ, おかね」のステータスを持つ.
・プレイヤーは「HP」を持ち,0になった場合にゲームを終了する
・プレイヤーは「持ち物」を持ち,合計で2つ以上の持ち物を持つことができる.
・プレイヤーは「おかね」を持ち,おかねの値に応じて店を使って持ち物を買ったり売ったりできる.(売った時に必ずお金が増える必要はない.)
・戦闘システムを持ち,「たたかう」「じゅもん」「にげる」を選択できる.
・じゅもんを一つ以上持ち,戦闘するシーンでそれを使用できる.
・攻撃には「威力が変化する場合(かいしんのいちげき)」と「ミス(威力が0になる場合)」を確率的に含む
・戦闘するシーンには1体以上,敵が登場する.
・戦闘にはターンが存在し,自分の攻撃の後に,敵のうちHPが0でないものは必ず行動する.
・敵の行動は攻撃と1種類以上の呪文を確率的に含む(敵ごとに異なっている必要はない)
・敵の攻撃には「威力が変化する場合(つうこんのいちげき)」と「ミス(威力が0になる場合)」を確率的に含む
・敵は3種類以上あり,ある特定の1種類を倒すとゲームが終了する(ボスの概念)
こんなものでどうでしょうか.
そのうちしっかりとしたレギュレーションを考えたら面白いんじゃないかと思いました.
コードゴルフに興味がある方はぜひとも一回やってみてください.
可視化の必要もなく,ふっかつのじゅもんもなければ敵の固有ステータスは経験値はおろかHPすら設定しなくてもいい(ランダム生成・固定でもよいということ)ので,これくらいなら
40KBでも全然できる可能性はあると思います.
競技メンバーが4人くらいになったら実際に一回やってみたいです.
以上です,よろしくお願いします.
0コメント