さてみなさん。
RPGツクールMVの公式サイトには、
『RPGツクールは、「プログラムを覚えないで簡単にゲームを作りたい」というユーザーの思いをかなえるために生まれた、簡単にオリジナルRPGを作ることができるソフトです。』
……と、書いてあります。
とは言え、イベントに記述する内容は、プログラミングの用語を置き換えたような物なので、プログラミングの知識があると、イベントにどう記述すればいいのか……が、分かりやすくなると思われます。
もっと言うと、自分の思う通りに動かない原因を見つけやすくなる……と思われます。
……というわけで、職業プログラマーになるわけではないけど、知っておくとツクるのに役立ちそうなプログラミングの知識をなるべく噛み砕いて書きたいと思います。
■目次(予定)
【1】コンピュータの構成
【2】プログラムの構造
【3】変数と関数
【4】オブジェクト指向
【5】ブラウザの仕組み
■本編
【1】コンピュータの構成
はじめに、コンピュータという物そのものについて、触れたいと思います。
ひと言で、コンピュータと言いますが、色んな部品を組み合わせて作られています。
パソコン(PC)やスマートフォンのカタログを見ると、CPUやメモリとか書かれているあれです。
大きく分類すると、5種類の装置に分けられます。
(専門学校で最初に習うような内容なのですが、せっかくなので書いておきます)
●中央処理装置
「CPU」と呼ばれているもので、プログラムの処理(いわゆる命令や計算)を行う物です。
例えて言うと、人間の頭脳(の物を考える部分)に相当し、プログラム(アプリケーションやゲーム)は、命令書です。
●主記憶装置
「メモリ」と呼ばれているもので、いわゆる「USBメモリ」とは別の物です。
この「メモリ」は、電源をオフにすると消えてしまうし、記憶できる容量も少ないのですが、代わりに、動作が速いのです。
そのため、「CPU」が処理するデータや結果をここに一時的に置く事になります。
よく例えられるのが、机の上(物を載せる部分)です。
●補助記憶装置
上記の「メモリ」は電源をオフにするとデータが消えてしまうので、それを保存しておくための装置です。
「USBメモリ」や「ハードディスクドライブ(HDD)」などが該当します。
さっきの例えを引き継ぐと、机の引き出し(収納スペース)ですかね。
(この場合、データは、紙のノートに書かれた内容などが相当します)
●入力装置
●出力装置
人間がコンピュータに対して、命令や情報を与える物が必要です。
「インタフェース」とかいうヤツですね。
「入力(インプット)」と「出力(アウトプット)」があります。
入力は、キーボードやマウス、タッチペン(指)が該当し、出力は、ディスプレイやプリンタ、スピーカーが該当します。
さっきまでの例えで言うと、鉛筆と紙のノートのような物です。
◆ちょっと難しい話
さて、RPGツクールMVで、メモリリークが起こる……のような話を聞いた事があるかもしれません。
これは、机の上の物を載せて、引き出しにしまわないで、載せ続けてしまい、机の上に物が載せられなくなって、仕事が出来なくなる……ような状態です。
Javaスクリプトでは、ガベージコレクション(GC)という仕組みで、自動で机の上を整理しているのですが、この整理するルールから外れたプログラミングをすると、いつまでも残ってしまい、このような事態を起こしてしまいます。
◆難しい話をもうひとつ
さて、「OS(オペレーティングシステム)」と呼ばれる物があります。
「Windows」とか、「Android」が、「OS」なのですが、何をするかというと、「アプリケーション(プログラム)」の管理です。
「アプリケーション」を「メモリ」に載せて「CPU」に処理させています。
メモリリークのような状況になった時に、「アプリケーション」を強制終了させたりもします。
この「アプリケーション」の作り方が「OS」によって異なるために、いわゆる「xx版のゲーム」という別物になってしまいます。
ですが、「HTML5」という規格のおかげで、同じ作り方であっても、「ブラウザ」で同じ動きが出来るようになりました。
(「ブラウザ」自体は、それぞれのOS版がありますが、「ブラウザ」向けの作り方は同じです)
こうして、RPGツクールMVでは、マルチプラットフォームが実現出来ているわけですね。
長くなりましたが、それでは~。
RPGツクールMVの公式サイトには、
『RPGツクールは、「プログラムを覚えないで簡単にゲームを作りたい」というユーザーの思いをかなえるために生まれた、簡単にオリジナルRPGを作ることができるソフトです。』
……と、書いてあります。
とは言え、イベントに記述する内容は、プログラミングの用語を置き換えたような物なので、プログラミングの知識があると、イベントにどう記述すればいいのか……が、分かりやすくなると思われます。
もっと言うと、自分の思う通りに動かない原因を見つけやすくなる……と思われます。
……というわけで、職業プログラマーになるわけではないけど、知っておくとツクるのに役立ちそうなプログラミングの知識をなるべく噛み砕いて書きたいと思います。
■目次(予定)
【1】コンピュータの構成
【2】プログラムの構造
【3】変数と関数
【4】オブジェクト指向
【5】ブラウザの仕組み
■本編
【1】コンピュータの構成
はじめに、コンピュータという物そのものについて、触れたいと思います。
ひと言で、コンピュータと言いますが、色んな部品を組み合わせて作られています。
パソコン(PC)やスマートフォンのカタログを見ると、CPUやメモリとか書かれているあれです。
大きく分類すると、5種類の装置に分けられます。
(専門学校で最初に習うような内容なのですが、せっかくなので書いておきます)
●中央処理装置
「CPU」と呼ばれているもので、プログラムの処理(いわゆる命令や計算)を行う物です。
例えて言うと、人間の頭脳(の物を考える部分)に相当し、プログラム(アプリケーションやゲーム)は、命令書です。
●主記憶装置
「メモリ」と呼ばれているもので、いわゆる「USBメモリ」とは別の物です。
この「メモリ」は、電源をオフにすると消えてしまうし、記憶できる容量も少ないのですが、代わりに、動作が速いのです。
そのため、「CPU」が処理するデータや結果をここに一時的に置く事になります。
よく例えられるのが、机の上(物を載せる部分)です。
●補助記憶装置
上記の「メモリ」は電源をオフにするとデータが消えてしまうので、それを保存しておくための装置です。
「USBメモリ」や「ハードディスクドライブ(HDD)」などが該当します。
さっきの例えを引き継ぐと、机の引き出し(収納スペース)ですかね。
(この場合、データは、紙のノートに書かれた内容などが相当します)
●入力装置
●出力装置
人間がコンピュータに対して、命令や情報を与える物が必要です。
「インタフェース」とかいうヤツですね。
「入力(インプット)」と「出力(アウトプット)」があります。
入力は、キーボードやマウス、タッチペン(指)が該当し、出力は、ディスプレイやプリンタ、スピーカーが該当します。
さっきまでの例えで言うと、鉛筆と紙のノートのような物です。
◆ちょっと難しい話
さて、RPGツクールMVで、メモリリークが起こる……のような話を聞いた事があるかもしれません。
これは、机の上の物を載せて、引き出しにしまわないで、載せ続けてしまい、机の上に物が載せられなくなって、仕事が出来なくなる……ような状態です。
Javaスクリプトでは、ガベージコレクション(GC)という仕組みで、自動で机の上を整理しているのですが、この整理するルールから外れたプログラミングをすると、いつまでも残ってしまい、このような事態を起こしてしまいます。
◆難しい話をもうひとつ
さて、「OS(オペレーティングシステム)」と呼ばれる物があります。
「Windows」とか、「Android」が、「OS」なのですが、何をするかというと、「アプリケーション(プログラム)」の管理です。
「アプリケーション」を「メモリ」に載せて「CPU」に処理させています。
メモリリークのような状況になった時に、「アプリケーション」を強制終了させたりもします。
この「アプリケーション」の作り方が「OS」によって異なるために、いわゆる「xx版のゲーム」という別物になってしまいます。
ですが、「HTML5」という規格のおかげで、同じ作り方であっても、「ブラウザ」で同じ動きが出来るようになりました。
(「ブラウザ」自体は、それぞれのOS版がありますが、「ブラウザ」向けの作り方は同じです)
こうして、RPGツクールMVでは、マルチプラットフォームが実現出来ているわけですね。
長くなりましたが、それでは~。