忍者ブログ

RPG製作ソフト「Role Paint」を作っていくぜ!ツクールのようなRPG製作ソフト「Role Paint」を作っていくブログ。 相互リンク募集中

イベントコマンドのみでバトルやメニューを作る事を諦めた

下記の意見を取り上げる事を諦める事にした。

>ユーザーがスクラッチを使って組むのはいい方向だとして、そのスクラッチで、
>kureteさん自身がバトルやメニュー、乗り物の乗降などを作って、
>それを標準装備していることの方が大事です。
>初心者を脱した人が標準に設定されているスクラッチを改造することで、
>拡張できるという利点に結び付きます。
>ユーザーはスクラッチだけど、メニューなどはLuaですという場合には、
>MVと何も変わりません。


セブン 2017/04/13(Thu)22:30:26


つまり、「メニューや戦闘などの根幹的部分もRubyやLuaといったスクリプト言語ではなく、イベントコマンド(ビジュアルプログラミング)で作って欲しい」という事である。

が、これの実現は事実上不可能に近い。

確かにイベントコマンドでメニューや戦闘システムを作る事は不可能ではない。多くのツクールの利用者がそうやって自作戦闘等を作っている。

が、やってみると分かるがこの作り方、プログラミングと比べて非常に作り辛い。おそらくツクールがXP以降、スクリプトの仕組みを搭載したのはそのためだ。戦闘やメニューをイベントコマンドだけで作るのは非常に難しい。おそらくこの方法の利点は「プログラミングを全く学んでない人が作れる」という以外、一切無い。

さらにプログラミングが全く分からない人でも、こんな方法をやるのなら間違いなく一からプログラミングを学んでやった方が手っ取り早い。
変数や条件分岐など、プログラミングの素養が必要だからだ。ウディタのイベントコマンドの仕組みで作られたメニュー等を見れば分かるが、ウディタのイベントコマンドの知識とプログラミングの素養の両方が必要で、どちらかが無ければ何をやっているのか全く分からない。

事実、私もこのせいでRPGツクール2000でのゲーム作りを挫折した覚えがあり、スクリプトを「なんて楽なんだ」と思ったぐらいだ。

せっかく意見をくれた人の批判になってしまうが、上では「中級者以上が改造しやすくなる」と書いてあるが、正直言ってイベントコマンドで作られたシステムは改造もかなり難しい。
RubyとCを見比べると分かりやすいが、そもそもプログラミング言語というのは改造しやすいように発展してきた。そして、RubyとHSPを見比べれば分かるがこの改造しやすさは初心者にとって分かりやすさとトレードオフの関係にある。

例えばオブジェクト指向。これほどプログラミングのコードの再利用と改造がしやすくなる強力な物はないが、初心者には全く理解不能である。かといって使わなかったら、それはそれは恐ろしい事になる。正直、個人的にオブジェクト指向がないプログラミング環境は考えたくない。
また有名で古典的な逸話だが初心者が好むプログラミングの構文にGoto文がある。これは初心者にとって非常に有り難い命令文でツクールのイベントコマンドでも使われているが、これを使うとスパゲッティコードと呼ばれる凄まじく読みにくいコードになる。
「Goto文は有害である」という論文すら出来た程で、余程特殊な環境や状況を除いてGoto文はプログラミング初心者すら全くと言っていいほど使わなくなってしまった。大抵のプログラミングはGotoを使わずに出来る、それどころか使わない方が遥かに楽なのだ。

前の記事で長々と「ビジュアルプログラミングとスクリプト言語を相互に変換できるようにする」と書いたが、おそらく初心者や中級者は「クラス」や「継承」といったオブジェクト指向の単語を見ただけで頓挫するだろう。(日本語と分かりやすい記号で訳されているというだけで凄く分かりやすいという人もいるかもしれないが)むしろ、この方法をやると開発が遅れるし、却ってゲームを作る人の邪魔になる。

で、なんとかして初心者に分かりやすく、かつ上級者が満足できる程高速にシステムを作れる方法を延々と考えていったが、このせいで一ヶ月以上も開発が止まってしまった。せっかく時間が取れたゴールデンウィークもこれを考え続けて結論を出せないせいで何も進まなかった。

そもそも考えてみると相当前に某サイトで指摘された事でもあるのだが、根幹の部分をプログラマーじゃない人間がプログラマー並みに高速に作れる仕組みが作れるというのなら、プログラマーという職業は存在していない。

そんな事を実現しようと思ったら、おそらく、かなり高度なAIに「これを作って欲しい」と命令する以外に方法はない。アイディアだけの力でそういう仕組を作るというのは、おそらく不可能だ。そんな事を思いついた人間はいたら、確実にノーベル賞級の賞(この場合はチューリング賞か?)を取り、かのエジソンのように発明王と人類史が続く限り未来永劫賞賛され、世界中のプログラマーから暗殺を計られるであろう。

(実際、某サイトで「プログラミングが出来ない人でもプログラムをプログラマー並みに高速で作れるようにするには?」と聞いたら「そんな事が出来たらノーベル賞物だ」と言われた)

・じゃあ、どうするのか

となると、対処療法でいいから代替案をとる事になる。その中でいくつか思いついたのはこれである。

1.プログラミング学習の支援
2.イベンコマンドをスクリプト言語を自作可能に
3.極簡単なプログラムなら作れる仕組みを作る
4.ゲーム制作者とプログラマーを相互連携できるようにする
5.ATB用やターン制用など、ゲームの根幹的仕組みを別々に用意する
6.イベントコマンドのみで作られたサンプルゲームを別途用意する

これらに関しては前々からやる事を決めていた物である。おそらく、すぐに出来るだろう。

拍手[1回]

PR
Comment
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
無題
結局そうなると思ってました。
その意見は前にウディタのスクリプトをほめてた人と同一人物かな。
私はその時C系派で書き込んだ人。
NONAME 2017/05/08(Mon)07:07:56 編集