#自己紹介
はじめまして、タカバヤといいます。
記事を書くにあたって少し自己紹介をすると、都内の中高一貫校でコンピュータークラブの部長をしています。
プログラミング経験はphina.jsを始める前は少しJavaを触ったり、JavaScriptは基本ができてるかな、という程度です。あとScratchに似たものもやってました。
#部活の活動環境
部活動として週2回、学校のコンピューター室を使わせてもらっています。i5と4GBメモリでグラボが載ってない一体型パソコンで管理者権限はありません。また電源を切るたびにCドライブやらなにやら全て初期状態に戻るのでネットワーク上のフォルダで個人のデータを管理しています。
javaを実行できはしますがjavacはできません。またGitは毎回インストールするかモバイル版を使うことでどうにかなりますが、UnityやDirectXなどのゲーム入門によく使われるゲームエンジンなどがつかえません。
#現状
今は入部してくる新入生のうちやることが決まっていて入部してくる子には自由に作業をさせてあげて、とりあえず入ってみたという子に一応Scratchを教えています。と言っても弊部でプログラミングをやってる人は人に教わった経験が無いのであまりうまく教えられてないです。その結果、参考にすると言いながらゲームを遊ぶだけの中学生が非常に多くなっています。
#なぜphina.jsなのか
1. クロスプラットフォームである
2. コンパイラがいらない→エディタがあれば使えるので環境構築に手間がかからない
3. Runstantがあるので手軽に試せる
4. 標準のSceneが使える
5. 便利!
##良い部分
まずブラウザで実行できる点が大きいです。イマドキのPCならほぼ間違いないと思います。専用エディタなんかももちろん必要ないのでそんなにスペックが高くないパソコンでも余裕でコーディングできると思います。弊部では多くの人がvscodeを使っていて、かく言う私もその一人です。さらにブラウザでうごくので、部のホームページに貼っておくだけで作品の発表ができます。
初心者が初めて学ぶのに適している言語の話をするとそれだけで一つの記事がかけてしまいますが、Javascriptはスクリプト言語であるし、あまり型などが厳しくないので初心者には適していると思います(それが悪く働く場合もありますが)。
非常に使いやすいライブラリなので、キャラをとりあえず動かしてみるまでがはやくゲームを作っている実感を感じやすく、飽きずにやってくれるのでは無いかなと思っています。一度中身を作ったらスコアを標準についてるシーンに渡すだけでゲームになるのも良いですね。
##考慮しないといけないところ
どのプログラミング言語でも言えることですが文字ベースだから文字依存の失敗が多いです。全角半角、打ち間違いなど、そこらじゅうに躓く小石があります。もちろん私達が見ればすぐに解決できるものばかりですが、今年は一年生だけで十数人いたので一度にこれが起こると対応に時間がかかります。
phina.jsをやってもらうにはJavascriptの基本を知ってることが大前提になってきますが、ここはProgateをやってもらうことで解決できそうだと思っています。
phina.jsはまだまだ情報量が少ないとおもいますが、Qiitaなどにまとまった記事を書いてくださってる方がかなりいるので初心者のうちは不足を感じることはないと思います。
#これから
来年もまた多くの新入生が入ってくると思うので、うまくこれまでの経験を踏まえてゲームに限らずものを作る楽しさを伝えられたらなと思っています。もし来年もアドベントカレンダーに書かせてもらうことがあったらその後教えてみてどうだったかなど書いてみたいなと思います。
最後になりますが、こうしたらわかりやすいのではないかなどのアドバイスがありましたら是非コメントしてください。