九条の会 2020/03/01 12:00

(ブロマガでエミリアさん用コラム)アルゴリズムとデータ、めっちゃ凄い人! パブロピカソ見ろゴッホにジ

*このメルマガは、エミリア氏のci-en
https://ci-en.dlsite.com/creator/1091
へ投稿したコラムです(ログ)


ありすの乳頭エロトラップダンジョンに続く、第二弾のエロトラップダンジョンゲーの作業にちまちまと入っている
(本当はspineでのアニメ勉強をやらなきゃいけないのだが、確定申告とか入るとつい後回しに…)

エミリア氏もエロローグの第二弾を制作しているようで、そこで
「リサヴェリのシステムはどのくらい流用してる?」
と聞いたらばゼロ、つまりイチから何もかも再設計だという。
なるほど、ウディタはどうしても再利用が効きにくい反面、
イチから作った時の形になるまでの構築度もかなり早いしね……
一度ローグを作った事で、再設計したい部分もかなり浮かんだようだし。

俺は俺で、第二弾はまず既存のコードのリファクタリングから入っている。
とにもかくにも、おっつけ作業が多すぎた、
罠のデータからイベントデータまでをコードに直に書き、
ちょっと特別な表示をさせたい時などは、プログラム内で
if(trap.type == "monster")
みたいに分岐を書いて、処理を分けている。
そういうのがあちこちに点在している。

これを見直す、
例えばその特別な表示というのが「(typeがmonsterの時に)枠を赤色にする」とかであるなら、
まずそれぞれの罠データにtypeを設ける、monsterしかり、macineしかり、innmaしかり。
そして別所に、表示に関わる色データというべきものでも作って、
macine に対応した値ならば
#255,255,255(白)
ってな具合に紐付けよう。
そしてmonsterならば
#255,0,0(赤)
だ、しかるのちに、
「罠が持つ色データを見た目に反映する」というコードを書けば、
少なくとも
if (trap.type == "monster")
 // 特別に赤色で描写……
みたいな事は、直接書かなくても済むのかも知れないな。

だが勿論、そんな細かい事までデータ作成していたら、もう乱立しまくってしょうがないかも知れない、
例えばそう紐付けるデータが10くらいあったとして、
じゃあここで新しい罠type、nekobaを加えますよとしたら、
10個のデータファイルに、nekobaに応じたそれぞれの値を作らないといけないのではないか。
(まぁ普通は、色データが持つのは”当て嵌まる特殊な場合のみ”(この場合はmonsterとそれ以外)のみに絞ったりするのかな、
あるいは10個全てのファイルを読み込み、1つとして統合表示・編集できるツールを作る、とか……。
その自由はある……)

などなど、設計のことを考えている。

ただ偉そうに書いたがこれ、結局ウディタに言うデータベースという事ではないかと思うし、
「試行錯誤した結果(ありすの乳頭エロトラップダンジョンで言ったら3年くらい…か)結局、当たり前の所に戻る」
的な、情けなき現実だというのも薄々感づいている。
だが、まぁいいじゃないか……苦労した末に分かった事というのはそれなりに価値があるかも知れないし、
やっと十人並みの結論に辿り着けたのだ。
元々、靴紐も結べない人間なんだ、それが結べるようになっただけでもう祝ってくれ……

昔、何かの本で読んだが
「プログラムの本質とは、コード(アルゴリズム)とデータの二大要素」
という事だった。
当時は、何を言うか、プログラムなんだからコードが主体、コード9:データ1くらいだろう、とか反発したものだが、
そうだなあ、
取り扱いしやすく、変更に揺るがない造りを目指すと、
そこの部分を固定化し、外部化するのが正解のように感じられる。
つまりデータ化する、という事だ。
そしてさっきの色データだと、
#255,0,0を赤色とか書いたが、これはRGBを示してる文字列であり、つまり色情報を含んだデータ形式であるわけだ。
データ形式こそがやはり問題で、それが分からないとまったく意味不明の文字となる。
色情報のデータ形式を、そう(色情報だと)解釈するアルゴリズムに適応させる……なるほどね……。

これも何かの本からだが、
「スクリプト言語において、コードとはデータとデータの間を繋ぐ接着剤代わり(くらいにしか過ぎない)」
という言葉も、今になってやっと痛感できたり……。
ソートとかに顕著だが、アルゴリズムは大体プログラム言語側で用意されているから、か……。

結局、そんなこんなを考えつつ、
10行から成る関数を、引数を一つ減らし、7行にするとかで一日のゲーム制作作業が終わったり。
(まぁアフィ感想もあるし……)

……これは”正しい”のだろうか?
俺もエミリアみたく、イチから再び作るべきなのか?
(そしたらまた、ありすの乳頭エロトラップダンジョンみたく再び3年掛かったりして、か?)
分からん。
どうあれ俺はこの切り口で新しいゲーム、第二弾を作るのだ……


https://super-game.net/archives/zetai-hukujyuu-prisumu-stars-seihin.html

[絶対服従プリズムスターズ -超自由RPGで恥辱の永遠命令させろ-]をクリアした。
先々週は150時間くらい行ってるかも、怖いね……などと書いたが、まぁ蓋を開けてみれば131時間だったようだ。

製品版の感想を書いた後は、作者さんにご報告するのだけども、
ここの作者さんは一言で言えば、だいぶ”喜ばせようとしてくれる”方なんだなあ……。
(メールのやり取りは余りここにも挙げたくないので、以下述べる作者さんからの文章は、かなり要約してるので注意だ)

……例えばそうだな、感想書きとして、マイナーな作品をこれ良いよと書く事があるわな、
これがまず売れてくれて、24時間ランキングにでも入ってくれるのが(アフィ的にも)一番嬉しいのだが、
それはなかなか叶わないと。
そうすると次に嬉しいのが、実力ある人に認めてもらった時じゃないかと……。

あの時も別に製品版の感想を書いた作品があって、
で、今見たらやっぱりDL数が2桁、あと☆評価も4って感じだ、これには
「お前らがアホなんじゃ!!!(まぁ明確な理由がある作品なので、分かりはするが……)」
と吠えたくなるわな、
そんな折に
「111さんの記事を読んで、良い作品だと思ったので、私からお声掛けして、サークルを手伝って貰う事にしました」
とか伝えられたのだ、これは凄い、凄い事だなと思ってね……。嬉しかったものです…。
(今でもサークルの一員かは、分からないけど)

そしてその時のやり取りだったのかなあ、返す刀で
「111さんもゲームを作っておられるんですね(*ゆきゆきてモンスター軍のこと)
もういきなり開幕、エネルギーの溢れた絵の連続で驚きました(そうだね……)」
という感じのことを、おっしゃられていたのだ。
(実際はもっと丁寧な言葉で語られてます)

それはそれで、ふへへw サーセンww と流れていったのだが、
さてそれから何年もの月日が流れて、今回の[絶対服従プリズムスターズ]はSRPGであると。
で今回もまたメールでやり取りの機会を設けさせて頂いて、
「ゆきゆきてモンスター軍からこの分野にも興味が出て、色々と勉強しました。
初めの演説画面を見せて、皆にもこういうゲームが作りたいんだよとプレイさせたり……」
という事らしいのだ……。
(プレイさせられた他のスタッフさんは、だいぶ困惑なんじゃないかと思うのだが……)

まぁゆきゆきてからSRPGを発想するにしては、今作は余りにも着地点が違うので、
これはリップサービスかなぁと思うのだが、
もしそれが本当ならば、ゆきゆきての他にも本当に色々なSRPGを学んで、そして自分の中で一点の物として落とし込んで製作されたのだろうなあと……。

更に驚いたのは、この(カードでの召喚が入り乱れる)ルールにおいては、
色んな組み合わせでの攻略法が成立するのだが、
「これをどうやってバランス調整したのだ……」というのにもお答え頂いて、
その内容からするに
”制作スタッフにどういう制約の下でプレイ(デバック)して貰えれば、よりゲームの幅を作れるのか”
まで考え、運用されているようであった……。

あとはモチロンというか、ウディタ内のこの複雑なSRPGのアルゴリズムも、自分で組まれたという。

これは驚くべき事で……つまり、
ゲームのアルゴリズムを組む事と、
ゲームの遊び幅を設ける為に、スタッフにルール(ある種のアルゴリズム)を課してプレイして貰うのでは、
似ている事だけど、だいぶ違う。

一つに粒度が段違いだし、
もう一つは、ゲームのシステムと比べて、人に動いて貰うのはナイーブな所も必要になってくるから。

まさに硬軟、ゲームのアルゴリズムも、現実のルール付けも分け隔て無く。
それら全てを成し遂げて、ゆきゆきてからSRPGに興味を持ったなんて事がね、この一本として形になっている……。
本当に震えるものです。

111なんて、ゆきゆきてモンスター軍の開発途中でバランス調整が大事だと気付き、
せめてエクセルで扱える形式で吐き出して扱おうとしたけど、けっきょく煩雑、あんまり上手くいかず。
(だから強いユニットを一つ作ると、それでもう大体いけちゃう……)
しかもこれから資料のやり取りは全部、エクセル方式でやるんだ! とかゴリ押ししようとして、
普通にエミリアにキレられて終わったのに……。
(まぁエクセル入ってないとすげー取り扱い辛いのは分かるし、ルールの策定がアホだった)

凄いなあ……、尊敬します。
(この言葉を伝えようとして何故か途端に製作者の意地とか、恥ずかしくなったりして、書けなかったので、まぁ見られてないだろうここで……。
我ながら難儀でアホだけども)

こんな才能が現在7000DLくらいで、どうかな、もっともっと鬼のように稼いで良いと思うし、
あるいは違うのだろうか?
他の千,二千DLだのって作品こそが世間的にはむしろ過大評価、ラッキーパンチであって、
社会というのは、だいたい皆こんな優秀な方々で構成されているものなのか……?


最近はそんな影響を与えるゲームを作れてないですねえ、そうですねえ、とエミリア氏とも話し合ったのでした。

んで、大体そういう最大限の評価を得た後にやっちゃいがちなのが
「結論(結果)から、逆巻きに答えを導く」って事で、つまり、
「ゆきゆきての様なゲームを作れないのは、あの頃みたいに熱い想いが無いからだ、
熱さ! 熱さを俺は取り戻さないといけない!」
という事だね、
はい、これはウソー。
体裁が良くて間違った結論を出してる。

少なくともゆきゆきて開発当初は、別にあんな物語作るつもり無かった、
「オークが女どもの村を襲ってレ○プ!」
みたいに単純に終わらすつもりだったのだ、
それがエミリアがなあ、なんか息巻いて、どんどんキャラを描いては押し付けて来るからなあ、
そして俺もここまで来たらみたいに調子に乗った、
ラップだ! レゲエだ! 革命の熱いリズムだ! 俺も絵描くー!
となった、その果てに出来た成れの果てがアレだ。

今になって、その影響が可視化されて良い気になったりするけど、
やっぱ違う、熱い想いなんて無かった、当時あったのは悪ノリだけだよ!
(当時も、いや今も「111画伯のあんな絵とか無くて、もっと無難だったら、もっと売れたんちゃうか?」と思ってるよ…)

ただここで大事なのはな。
悪ノリが始まった時に、ちゃんとそれに答えられるプロジェクト内容だった、あるいは、その事による長期化も覚悟した……という事なんだ。

ありすの乳頭エロトラップダンジョンは3年とか開発に掛かったが、ゲームとしてはつまらない。
物語の熱さみたいな事も無い。

悪ノリしなかったからだし、また悪ノリしたとしてもそれを採用できない程、
プロジェクト……ソースコードがグチャだった。
あの時は、ただ自分の手になるプログラムで、イチから作品を作ってみたい、
それがどれだけ売れるか? だけで充分だったから。

だからやっぱり、遠大に見えてもエロトラップ第二弾をリファクタリングから入るのは
俺にとっては間違ってないし、
今度の悪ノリはいつになるのかねえ、なんて思うのでしたよ。おしまい。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索