プログラミングを始める前に

 様々なアプリケーション・ソフトウェアやウェブサービスが、多種多様な人々にとってもはや欠かせないものとなっている近年ですが、実際に「プログラミングを勉強して何かソフトウェアやウェブサービスを作ってみたい」と思ったことは無いでしょうか? このサイトではそんなソフトウェアやサービスを作るための初心者向け情報をわかりやすくまとめ、解説していきます。

アイディアを形にするためには?

 まずはじめに「何かを作りたい、漠然とこんなアイディアがある」といったところからスタートする人と、「よくわからないけれど、僕もやってみたい」という人がいるかと思いますが、どちらにしても、まずはアイディアを出し、それをどのようにして実現していくかというところから全ては始まります。よくわからないけれどプログラミングをしてみたいという人の場合はまず、具体的にどんなものを作りたいのか? はたまたどんなものを作れるのかを知るためにCodepenやjsdo.itといったサンプルソースと動いている実物があるサイトののぞいてみて面白そうなものを自分で弄ってみたり、改造してみるという遊びから始めてみてもいいのではないでしょうか? 逆に既にアイディアがある人は、それ自体が実際にどういった機能と、部品によってできているのかをしっかりと分析してみる必要があります。また、どんな物を使えば、それを実現できるのかというのも調べてみたりする必要があるでしょう。

部品を理解するということ

 ソフトウェアというものは基本的に様々な機能をもった部品を組み合わせて作るものになっています。例えば皆さんご存知のメモ帳などを見てみてください。じっくり見たことがない人もいるかもしれませんが、非常に様々な機能が部品として実装されていますよね?

 例えば、パッと見るだけでも文字を入力する部分と様々な機能を使う部分に分かれているかと思います。ファイルと言う機能の部分には新しいファイルを作る、ファイルを開く、上書き保存、名前をつけて保存、メモ帳の終了などがあり、編集の部分にも同様に細かい機能があります。またその機能の中にも更に細かい部品や機能などが存在していて、それらが一つにまとまる事によってメモ帳というものが動くようになっているわけですね。

 それを理解せずに単純に「メモ帳を作りたい」と思って作ったとしたら、文字を入力する部分はあるけれど、文章の保存は出来ないし、新しく文章を作ることも出来ず、一段階前に戻すことも出来ない、しかもヘルプもついてないから使い方がそもそもよくわからないという事になってしまいます。

 ですので、まず、何かが作りたいと思ったとしたら、それがどのような部品によって構成されているのかどういう組み合わせによってできているのかというのを紙でも、メモ帳でも構いませんので書いてみる必要があるでしょう。

作りたいものは実現できる?

 実際にそんな設計図がかけたら、それを実現するために何が必要なのかという段階に漸く入れるかと思います。基本的にそれらを作るためにはプログラミング言語を利用してソースコードを書くか、もしくはオーサリングツールを使って作るかという事になるかと思いますが、どちらで作っていくのか、もしくはどちらでしか作れないのかという事はその設計図の内容によるかと思います。

Webアプリが作りたい!

 もしもWebアプリが作りたいのであれば、基本的にオーサリングツールはあまり多くはありません。ですので、HTMLやCSS、またJavascriptやPHPといったものを勉強しながら作っていく事になるかと思います。しかし中には、noveljsのような簡単な小説風アプリを作るスクリプトエンジンもあったりしますので、そういったものを利用するという方法もあるかもしれませんが、場合によっては望みの物を作れるものがない可能性もあります。最初のうちはそう言ったスクリプトエンジンに頼ってしまうのも一つの手かとは思いますが、やはりオーサリングツールなどと同じく、その絶対数は多いとは言い切れないかと思います。

オーサリングツールって?

 オーサリングツールとは実際に何かを作るのに特化したプログラミングがわからなくても作れるようなツールの事をいいます。例えばRPGを作る専門のRPGツクールといったものがあります。他にもWEBサイトを作るためのツールや様々なツールがありますが、手軽に作れたりする一方で弱点として、自由度が少ないというものもあります。特に自分が実現したいものがそのオーサリングツールによっては実装されていないということも多々ありますので、場合によってはその部分を諦めるか、もしくはプログラミング言語によって書く必要があるでしょう。ですので、もしゲームが作りたいのであれば、そうしたツール内で実現するような至極簡単なものからスタートし、とりあえず作ってみるというところから始めたほうがいいかもしれません。

オーサリングツールによっては

 しかし、オーサリングツールによってはスクリプトという形で追加機能をつけることが出来るものもあったりします。特にRPGツクールなどだとRubyをベースにして作られたスクリプトを読み込めるようになっていますので、Rubyを少し勉強すれば自分だけの機能を実装できるかもしれません。しかし、それもいきなりそこからスタートするとかなりの確立で挫折してしまうかと思います。

ゲームが作りたい!

 そんなわけで、もしもゲームソフトが作ってみたいのであれば、一番最初はノベルゲームのような単純なものからスタートしてみるというのがいいかもしれません。特にRPGのようなゲームソフトが作ってみたいという人はかなり多いかと思いますが、いきなりすごいゲームを作るというのは流石に難しいかと思いますし、特にRPGとなるとRPGツクールを使えば比較的簡単には作れてしまいますが、それでも、ツールとしてはそこそこ高額であるが故に、気軽に始めるというわけには行きませんよね。ですので、テキストと選択肢から成り立つ簡単なゲーム、ノベルゲームをツールやスクリプトを利用して作ってみるのが一番手軽な入門として成り立つというわけなのです。

ノベルゲームって?

 ノベルゲームとはボタンを押して文章を読みすすめて選択肢を選ぶだけでエンディング(以下ED)を見ることができる簡単なゲームです。人によってはこんなものゲームのうちに入らないという人もいるかもしれませんが、変数や条件分岐などプログラミングの基礎になる概念を学べるので全く無駄ではありません。かといっていきなりフルスクラッチでノベルゲームを作れと言われても、多くの人が挫折してしまうと思うので、一番最初はスクリプトエンジンやオーサリングツールを利用して何となく作れるようになった感を味わうのがいいでしょう。

どんなツールやスクリプトエンジンがオススメ?

 そんなスクリプトエンジン、オーサリングツールの中でオススメしたいのがティラノススクリプトやティラノスビルダーというものです。ティラノススクリプトはKAG3や吉里吉里といった物と高い親和性を持っているスクリプトエンジンで、作ったものをWEB上で公開したり、アプリ化してAppストアやAndroidマーケットにて販売することも出来ます。また嬉しいのは、ノベルゲームだけでなく、簡単なブラウザアプリなども作れてしまうといった特徴があります。最初のうちは文字で色々と作っていくのがなれないかもしれませんが、そんな方は、ティラノスビルダーというGUIインターフェースを使って作っていくソフトを使っていくのがよいでしょう。慣れてきたら、ティラノススクリプトへステップアップしてみましょう。これを一通りマスターすれば変数や条件分岐やフラグ管理というものが代替はわかってくるようになるかもしれません。勿論これはプログラミングのうちには入らないかと思いますが、その概念の基礎の中には入るものになるかと思います。

作りたいものが作れなくなってきたら

 さて、こうしたツールやスクリプトエンジンを使って作っていると大概「作りたいものが作れない」という問題に直面するかと思います。勿論ノベルゲームやアドベンチャーゲームを作る上では不自由しなさそうですがRPGゲームを作りたいという時や、またアドベンチャーゲームでも独特な機能を実装したいと思った時は、流石にプログラミング言語を学ばなくては出来ません。もしも、作りたいものが作れなくなってきたと感じてきたら、次へのステップアップへのサインになるかと思います。

プログラミング言語ってなんだ?

 プログラミング言語とは、コンピュータに対して一連の動作を指示するために記述する人工言語なのですが、これらはその使い道や、用途、もしくはその言語自体が内包している概念によって様々な種類のものがあります。また言語によって特異なものと苦手なものがあるので、それぞれがどんな特徴を持っていて、どんなものに利用されているのか見ていく必要があるでしょう。そんな開発言語、プログラミング言語については次のページで詳しく解説していきます。一つ一つ見て行きましょう。