回顧と展望・・・的な(1)

サイト開設から、2ヶ月たちました。

いやはや怒涛のような毎日でしたが、
(通常の仕事 <VBA関連>、自分の専門(チベット関連)、
 加えてプログラミング学習、ときたもんだ♪
 知恵熱は出すし、右手親指はマウス操作でバネ指になり、
 挙句、昨日はパンを切ろうとして誤って左掌を切る始末、ああ…)
ともかく、先週、メンターの小川さんとの面談がありました。

面談は3回目で、順当にいけば(私が課題をこなし切っていれば)
そろそろ実際に開発に入ってもいい頃でしたが・・・
Ruby on Rails Tutorial、全然こなれてない。わからない。

というわけで、自発的にオンラインのプログラミング学習 Progate をはじめ、
Ruby の学習コースは終え、目下 Ruby on Rails 学習中。

まだ、Rails 特有のMVC(Model, View, Controller)システムに馴染んでおらず、
コードの振り分け方がよくわかっていない状態なので、
次のステップに進める状況ではありません。

そこで、どうするか、というのが面談内容になりました。

開発スケジュールの立て直し

仕事ではないので、スケジュールなどはあってないようなものですが、
最初の面談で小川さんにアドバイスされたのは、
全く期限がないとモチベーションが続かないから、ひとまず1年後にリリース予定にしましょう、
ということ。
これが時間的な大枠です。

状況によってどの程度まで仕上がるか、質はどうか、は今は問わず、
とりあえず1年後には、何かをリリースする気持ちで進める、ということ。

その時から面談ごとに課題が出ました。

 (1) 最初の1ヶ月:Wordpress で紹介サイトを作ろう!
   作りたいもののラフ画を書こう!
 (2) 次の1ヶ月:Ruby on Rails Tutorial を全章読んで、全体像を掴む
   同時に、わからない単語(プログラミング用語)を調べる
 (3) 次の1ヶ月〜:MVCシステムが理解できたら、実際に作ってみよう!

——— (1) はクリアし、この「獅子遊戯三昧」の紹介サイトができました。
   ラフ画も3枚ほど書いてみました。
——— (2) に取り組んでいたのが、今月。

Tutorial は Rubyist にはバイブルに違いないけれど、そして和訳も、
相当吟味して言葉を当てはめているのはわかるけれど、それでも、
浅倉久志訳のカート・ヴォネガット(翻訳するときの
わかりやすさの個人的指標)の小説のようなわけにはいきませんでした。
カタカナが多すぎて、全然わからない。

というわけで、(3)は予定変更。

なぜ、Ruby を選択するのか?

まず、そもそも論から入ります。
・なぜRuby (や Ruby on Rails)を選択するのか?
・Rails でゲーム制作ができるのか?

ゲーム制作に関しては、目下隆盛の3Dゲームが扱える Unity を使うのが一般的です。つまり
  ・Unity —– ゲーム制作の(現在の)覇者 :難易度高
  ・それ以外

純粋に「ゲーム」が作りたいなら、
ゲーム・エンジンのUnity を選ぶのが正解でしょう。
言語もC#、UnityScript (Javascript)、Boo の3種類に対応しています。
Javascript は、テクノロジア魔法学校で学んだので、挑戦するのも「あり」ですが、
将来的な他の展開(仏教辞書その他の開発)を考えると、
学ぶのに難易度が高めだといわれる、Unity に労力を割くのは
良策とは思えません。

となると、プログラミング言語の中でも日本語の解説も(ウェブ上に)多く、
コミュニティーも充実している、日本発のプログラミング言語の
Ruby と、
Rubyをより扱いやすくしてくれるフレームワークの
Ruby on Rails を選択するのは、良い選択と言えます。
RubyやRails なら、PHPとSQLのようにデータベースを扱えますから、
将来的に、多言語対応のオンライン仏教辞書を作ろう、と思ったとしても、
すぐに作成することができます。
・・・むしろ、こちらの方が向いているかも知れない。

実は、Javascript には、国産で(!)オープンソースの
ゲームエンジン phina.js(フィナ・ドット・ジェイエス)もあり、
試してみたい気持ちがムクムク湧いてきたのですが、
あくまでゲームエンジンなので、私の考えている「汎用性」とは違うのが
個人的にとても残念。

つまり、「1粒で2度美味しい」が好きな私は、
「ゲームも辞書も」作れる Ruby とRails を選択する、というところに、
やはり落ち着きました。

Rails でオンライン・ゲームは作れるのか?

では、Ruby や Rails で、ゲーム制作は可能なのでしょうか?

これに関しては、「決して得意な分野ではない」というのが
実際のところかもしれません。

DXRuby や GOSU というゲーム用のライブラリ
(魔法のコード集と思ってください)があるのですが、
前者はWindows対応、後者はウェブやモバイル対応にするには、
他にC##(プログラミング言語の一つ)も要るようです。

つまり、Mac で、Ruby(Javascriptなど、私が学習中の言語)で
使うことのできるゲーム用ライブラリではなさそうです。

つまり、ライブラリなしにコードを書くことになり、
相当なハードルになりそうだ、ということだけは、残念ながら
確認できました・・・。

ただ、小川さんがアドバイスしてくださったのは、
 ・コードは、GitHubで探す
 ・Qiita で「動画再生」などで検索する
 ・組み込みはあとでいいので、GIFでアニメだけ作ってみる
ということ。

ひとまず、この辺りから始めることになりそうです。
この記事、まだ続きます。

※ アイキャッチ画像は、やっと届いたテクノロジア魔法学校修了証♪
  中央で「おつかれシャン」と言っているパンダのシャンシャンは、
  女性誌付録のパンダ付箋です。この下に私の名前が刻まれて
 (浮かび上がって!)いるので、ひとまず隠します。