どもです!
今月は少し、今回の件で時間を使ってしまいました・・・それは・・・。
自作ゲームを作っていたからです!すんません!
このゲームはJavaScriptというweb上で動く言語で作っているので、safariやchromeなどのブラウザがあればPCだろうとスマホだろうと、果ては3dsでも動くのが強みです。
こちらから遊べます。
「タップクエスト」
JavaScriptで動いているといっても、このゲームを作るにあたって全部のプログラミングを覚えたわけではありません。
このゲームはPhina.jsというJavaScriptライブラリによって支えられてるんです!
今回の記事は、自作ゲームについてうんぬんというよりも、「Phina.jsはすごいぞ~」というのをプログラミング初心者目線で書いていこうという趣旨で進めてまいろうと思います。
コミュニティがしっかりとしている
一番ゲーム作りで挫折してしまう理由ってなんだと思いますか?
自分は「やり方が分からなくて、調べてみたが解決できない」これだと思います。
IFを覚えたてぐらいの人間が、ゲームのプログラミングを組もうとなると必ずこの壁にぶち当たります。
とりあえずは、変に工夫せず「とりあえず試してみたいって方のための phina.js 入門」を上からやってみれば、あーすげえ簡単じゃん。て気づけるぐらいなモノなんですが、問題は「簡単なのは分かったけど、作りたいものをどうやって作るかわからない」ということです。
例えば、横スクロールアクションゲームが作りたいけど、どうやったらいいかわからん・・・。といった感じに。
そのようなときは、最小限の仕組みで「テストゲーム」を作ってみるのが良いと言われていて、簡単なゲームを作ろうとするのですがそれでも独学だと「調べてもよくわからん壁」にぶつかることはあります。
もうこうなってしまうと調べるほどに沼にはまっていくので、ここまできたら人に聞きましょう。びっくりするぐらい簡単に解決できたりします。
そして、今まで独学でやってきた人はこう思うでしょう「聞く人なんかいねーーーよ!!!!」と。
ですが!!!このphina.jsには、かなり頼れる助っ人がいるのです!!!それは!!!
開発者さんたちです!!!
このphina.jsは開発者さん達のコミュニティがあり、今はSlack(クリックでチームの招待です)メインで開発しているみたいです。
こんなざっくりなげちゃって大丈夫かなって思いますが・・・
大丈夫です!!!
ここのみなさんは優しい!!!
ぶっちゃけphina.jsじゃなくJSの基礎のような質問にも優しく答えてくれました。そんな優しい人たちがそろってるコミュニティがあるって素晴らしい。
でも一応質問するのは調べてわからなかったらにしよう!
初心者でもわかりやすい作り
わかりやすいってのは初心者にとって最重要だと思います。
すっごい簡単にタップゲー作るだけなら30分ぐらいで作れちゃうぐらい簡単な作りです。
本来だと、JSで画像とかを移動たりアニメーションみたいな動きをつけるのってひじょおおおおおに面倒なんですよね。
ですが、このphina.jsではたった2~3行でアニメーションがつけれたりします。
他には、関数や、クラスの仕組みもphina.js上ではわかりやすくするためにこのライブラリ上で仕様を変えているみたいです。
ここら辺もいつか深掘りできればいいんですけどね・・・(知識不足並感)
環境作りがちょー簡単
さあ~プログラミングをしてやるぞ!って時にプログラミング初心者がつっかかるのは環境構築とかいう面倒なモノ
俺はゲームが早く作りたいんだ!って思ってても環境構築は避けて通れず、結局モチベが保てずズタボロに・・・。
そんなあなたにご安心!Phina,jsは完全JSライブラリなんで、ブラウザーがあればどこでも動きます!
なので初めて作るにあたって必要なモノはテキストエディタぐらいですかね。フリーで腐るほどあります。
しかもphina.jsのホームページには、ダウンロードしたらそのまますぐに書き始めれるファイルがあるんです!
これの中身は、タイトルしか書いてなく「うわごっちゃで、何が必要なんだかわかんねえや」となる心配もありません!!!うわー楽!!!
はじめてのゲーム制作はPhina.jsで!!
phina.jsのよさをつらつらと書き綴ってみました。
自分はほんとにプログラミング初心者で、まともにプログラミング書いたのはこのphina.jsにであってからです。
なので、全然プログラミング熟練者のような視点からの良さを語れてはいないと思いますが、逆に初心者の視点からわかる良さを伝えれればいいんじゃないかなと思っています。
またこんd、余裕があったらプログラミングしたことねっす!人向けぐらいでゲーム制作講座でも書いてみようかな・・・。
まあ機会があったら!!!では!!