忍者ブログ

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

イベントコマンドの製作で行き詰った・・・

不味い・・・不味い・・・・

何が不味いのかというと、イベントコマンドをどういう形にするのか頭の中で整理がつかないのだ。

元々イベントコマンドは利点がない?

私がガチガチのプログラム畑だからだろうが、正直ツクールやウディタのイベントコマンドによってゲームを動かす手法を便利だと思った事が全く無い。
プログラムとイベントコマンドを両方やってみた人なら分かると思うが、正直、プログラムが分かる人から見ればイベントコマンドはプログラムを打つより遥かに面倒臭い。
利点は「ゲームを作った事がない人でも分かりやすいから」以上の物がない。特に変数操作や条件分岐は地獄そのものである。

「初心者が分かりやすい」という利点を突破する方法が分からない

が、この「初心者でも分かりやすく行う」というのは決して捨ててはならない最大の長所である。これを捨て去ったら制作ソフトでも何でもない。もし、これがプログラムみたいな形だったら、誰も手を出そうとしないだろう。

つまり、プログラム並みの生産性を保ちつつ、かつ初心者でも分かりやすく作れる仕組みを作る方法が全くと言っていいほど分からないのだ。

どこまで機能をつけるのか

さらに厄介なのはプログラム機能にどこまで機能をつけるかだ。

オブジェクト指向やら最近流行りの関数型プログラミングやらいろいろある。が、この手の機能をつけるとプログラミング寄りになり、初心者は混乱してしまう。

一番良いのは「スライム、お前はプレイヤーがいたら攻撃して欲しい」等という自然言語で命令を書ける事だが、今の技術でそんな事は不可能だ。第一出来たとしても、非常に動作が遅くなるだろう。

とりあえず、某所で質問したが、一体どうすれば良いのか・・・・。

拍手[0回]

PR
Comment
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
プログラム言語とイベントコマンド、両方経験の作者です
私はプログラミング言語で10年以上、給料を貰っていた人間ですが、取りあえず3流プログラマーを想定してください。イベントコマンドで処理を作ったことは何度もあります。探索など、人工知能も作っています。

私はJavaやRubyよりも、イベントコマンドの組み合わせで作ったコモンイベントの方が好きです。他のコメントにもありますが、ゲームのために自分で作った処理と、既に用意されているコモンイベントの処理の見た目が、同じ形式になるのです。

イベントコマンドはプログラムを打つより遥かに面倒臭いとの事ですが、打つ時はそりゃ、プログラム言語では楽です。しかし、記述をマスターしている事が前提です。更には、その後にやって来る、コンパイルエラーこそが面倒臭いのです。括弧の数や ; の打ち忘れ、そんなもんでいちいち修正していたら気が狂います。直したつもりでも、またコンパイルエラーとかでしょう。入力する時はやや面倒でも、絶対にコンパイルエラーが出ないプログラミング言語があったらいいと思いませんか? それがイベントコマンドなのです。

また、プログラムにはどんな処理をしているのか、コメントの無い行がほとんどです。イベントコマンドの場合には、変数操作ですら「変数操作」という日本語が付属して理解をサポートしてくれます。

何が言いたいかというと、プログラムを書ける中級者にこそがコモンイベント必要なのです。中級者でないと、イベントコマンドの自作システムや深い改造は無理でしょう。初心者には、もちろん無くてはならない機能です。初心者と中級者を取り込んだウディタが強い理由の1つです。他にも無料RPGツールはありますが、いまいちパッとしません。ましてや、有料で売り込むのならば、ウディタがなぜヒットしているのかの考察は必須です。RPで「データベースが作れる」という利点が語られていましたが、ウディタにはDBは標準装備です。

クロスプラットフォームというのはRPの利点ですが、私はそれを本当に必要としている人は少数派だと考えています。パソコンで楽しいゲームが、スマホで楽しくなるとは限りません。MACのユーザーは大抵はWindowsPCも持っています。本当に凄いツールがWindowsでしか動かないのならば、MACだけのユーザーでもWinPCすら買う対象です。
デネブ 2017/03/24(Fri)00:53:52 編集
プログラム言語とイベントコマンド2
話の続きです。
例えば、場所移動のコマンドですが、プログラムでは
Move(5,3,7,"Toff")
のように書けば、マップ5のX3Y7へ、トラジション無しで移動するとします。書くのは早いですね。

しかし、ユーザーはMove()というコマンドを覚えたくないのです。Mubuとかに間違えるかも知れません。他にも無数の関数が有り、フラッシュならFlash()とか、ことごとく覚えねばならないのです。もちろん、コマンドで呼び出し、自動的にMove(m,x,y,t)と出るシステムにすればいいですが、コマンドで呼び出す際に、m,x,y,tを入力する欄を設ければ、もっと楽ですね。入力のボックスを作って、m,x,y,tに入る値をユーザーが入力するのです。はい、もうこの時点で、イベントコマンドに数値を入力するのと同じなんですよ。プログラムの場合、ミスして文字を消したり、余計な文字をキーボードで入れてしまったり、コンパイルエラーの要素が多彩です。

両方を深く使った私だからこそ、特徴を捉えているというわけで。
柚子 2017/03/24(Fri)01:11:04 編集
プログラム言語とイベントコマンド1
イベントコマンドは利点がない・・・利点だらけだからこそ、初代ツクールから存在するんです。
イベントコマンドの少なかったツクールXPは敬遠されました。イベントコマンド多彩のツクールVXの登場で再起したのです。

イベントコマンドの利点
・初心者でも理解の範疇
・コンパイルエラーが出ない
・文字を多く打ち過ぎたとか、少なかった、スペルミス、括弧の数とかを一切考える必要が無い
・見た目が日本語
・プログラムの関数を覚えなくていい

プログラム言語の欠点
・書いた人によって、文字配置の見た目が相当に変わる
・処理の記述法を覚えていなければならない:設定されている機能(フラッシュとか、回転とか)を覚えるだけでも大変なのに、更にそのスペルや引数の数を覚えろというのは拷問
・見た目が英語
・コンパイルエラーが発生しやすい
・文字の入力ミスが発生しやすい

その他
・入力ボックスとかでプログラム関数を表記サポートするならば、イベントコマンドの入力ボックスでも同じ
柚子 2017/03/24(Fri)01:34:04 編集
無題
ウディタのイベントコマンドは見にくい
とても改造する気にはなれなかったです
その点でツクールのRubyの方が良かったけど
ツクールは標準のエディタが酷くて
VisualStudioの様な快適さが無かった

UnityにはPlayMakerがあるし
UE4にはブループリントがある様に
すべてLuaでは一般人が使えないと思うので
ツクールの様なイベントコマンドは
付けた方が良いように思います
NONAME 2017/03/24(Fri)06:48:56 編集
無題
●イベントコマンドの利点追加
・インデントが自動で生成される
・処理によって文字を自動的に色分け
・画像の読み込み命令やサウンドの命令などで、ファイルの内容が把握できる
 プログラムで LoadPicture("Pic/aaa.png",5) のように記しても、本当にaaa.pngがあるのかは判断できないし、表記ミスも発生しやすい。イベントコマンドでは、確実に存在する画像の内容をチェックしながら、選択するだけ。
・DBの内容を把握しながら指定できる
 プログラムでは DB(1,2,3) == 5 のように記すとして、意味が全く分からない。
 実はキャラクター1のレベルを2アップさせ、そのメッセージを出さないのような意味だとする。
 イベントコマンドでは、変数操作:DB[レベル](1[キャラクター1の名前],2[アップ数],3[メッセージ無し]) == 5 のような見た目となり、後で見返す時に意味を把握できる。
・いちいちコメントを記さなくていい 変数操作:DB[レベル](1[キャラクター1の名前],2[アップ数],3[メッセージ無し]) == 5 のように表記されるのだから、その行に対し、「レベルをアップさせる処理」ようなコメントが不要

イベントコマンドの利点そのものに注目するのではなく、プログラムの欠点が無いことこそが利点なんだと把握してください。

>>ウディタのイベントコマンドは見にくい
それこそ慣れの問題です。Role Paintでは、ぜひ見やすい方式で。
プログラムに慣れている人だと、コマンドに余計な情報が付属しているように見えるのでしょう。が、実はそれこそがプログラムを覚えたくない人には欠かせない大事な部分です。

ウディタのイベントをどうしても改造したい場合、プログラムに慣れている人ならば能力的には問題ないです。イベントコマンドしか理解できない人が、プログラム言語の能力を持つという、逆の状況は無いわけです。

VisualStudioは私も使ったことがあります。静的なコマンドゲームなら作れた気がしますが、RPGツールが存在するというのに、VisualStudioでRPGを作る気にはなりませんね。使いこなせるようになる割合は極めて低いです。VisualStudioの役割は、ゲームそのものを作るのではなく、ゲーム制作ツールを作る人が使うシステムです。言いかえると、VisualStudioのシステムですら、プログラムをゴリゴリ書く気になれないのが現状の中、ツクールやRole Paintの編集画面で快適にゴリゴリは確率的にはあり得ないのです。
ウルトラ 2017/03/24(Fri)08:13:12 編集
無題
ウディタというツールは、ウディタの作者本人がゲームを作る際に便利だと思って開発したツールです。出来が良かったので公開になりました。

ウディタそのものを作れる人が、どうしてイベントコマンドだけにしたのでしょうか? それを考えれば、イベントコマンドこそが便利で快適という証明になります。

一旦、ウディタというシステムを作ってしまえば、後はイベントを組み合わせるだけで、その処理にはコンパイルエラーが発生せず、画像や音楽も存在が確実なものだけを指定できるという、便利で快適な状況だからこそです。一字ミスっただけで動かない命令や、画像や音楽をよく指定することになるゲーム開発に対し、存在しないファイルを読み込みやすいプログラム言語なんて論外なのです。
ウルトラ 2017/03/24(Fri)08:27:42 編集
無題
プログラミング言語の方が快適ですがそれは人それぞれだから
ソフトをどんな人向けにするかで決定すれば良いと思います
NONAME 2017/03/24(Fri)19:11:43 編集
無題
福澤諭吉が本を出版することになった弟子に言った言葉をで語ります。正確には記させないので、おおまかなやりとりを。

弟子「福沢先生、出版する本の執筆依頼が私に来ました。」

福沢「そうか、よかったな。内容はどんな想定なのだ?」

弟子「福沢先生など、著名な人達に大受けする、いい作品を作りたいと思います」

福沢「馬鹿者! サルに読ませるつもりくらいが丁度いいのだ」

~~~

k 「Role Paintというツールを作るぞ! バトルとかはプログラムを改造すればいいので、プログラムの理解者に対して大受けの凄いツールなんだ! 初心者はイベントコマンドでゴリゴリと書けるんだ」

私 「待った! プログラムを知らないサルが購入者候補なんだぞ。イベントコマンドで記した命令が全く用意されていないなんて何事か! 初心者にイベントコマンドを組み合わせてバトルなんて作れるわけないだろ? 中級者でやっとできる事だ」

イベントコマンドの利点追加
・自作の関数(コモンイベント)も日本語、DB名も日本語
柚子 2017/03/24(Fri)22:35:14 編集