ゲーム制作同人誌 がまぐ! 創刊

https://sites.google.com/site/gamagreader/

完成したそうです。言語はしってるけど、スーパーマリオとかグラディウスとかいまだに作れないという人は読んでみるとよいでしょう。無料ですので。まぁこのblog読んでる人でそんな人はいない気がしますが。


自分も投稿プログラム送ってます。落下物警報というやつです。防衛シューティングですね。このタイトルはゼノブレイドの巨神の落し物を打ち落とすという意味合いでつけられたものです。

ポイントとしては落下スピードが回転速度でわかること、誘爆を積極的に狙うことで得点が跳ね上がることですかね。プログラム自体は1日で終わりましたが、誘爆やそれに伴う点数、落下物の量や速度の調整は結構時間をかけました。楽しんでください。


コードはJavaとかオブジェクト指向がわからない、C言語等の簡単な言語しか知らない人でも読めるようにあえてしました。フレームワーク的なところを除いてクラスは構造体の変わり程度にしか使っていません。リソースファイルもありません。

おかげで1つのクラスの2つのメソッドを読むだけで流れはすべてわかるようにしています。



オブジェクト指向なんてのは本質的な問題ではなく、ゲームプログラミングってのはStrutsを理解してHelloWorldかける人なら簡単に作れるんだよ、という意味合いがこめられています。複雑なアプリが必要になったときにあると便利ですよ、ということで言語が進化していったというのを実感してほしいですね。


勘違いしている人が多いですが、ゲームプログラミングのほうがWebアプリ等サーバーサイドアプリよりはるかに簡単なのです。そりゃ高度なことをやろうとすると難しいですが、それはサーバーサイドのアプリも同じ。ネトゲ等はサーバーサイドでイベントが飛び交いますからね。アクションベースのWebアプリとは比較になりません。


ちなみに宣伝しておくと拙作のShinGL4を使えば2Dゲーの面倒な部分はすべて省けます。ウインドウの生成やジョイスティックの対応、サウンドなど。スプライト描画もシンプルに。OpenGL使って描画しています。シンプルなフレームワークも同根していますのでどうすればいいかわからない人でも使えるはずです。



早速読んでみる。

対象は中高生ということで内容的にはいいのかな。小学生を含めなかったのはよかったかも。

というくらい、最初から敷居たかいですねー。1/60だとかページフリッピングだとかの話は最初の話題としてはかなりきつめな気がします。

最初の章は入力とロジックと出力を意識させるだけでよかった気がします。タイミングとかそういうのは後回しとかで。

最初はじゃんけんぽん、やったね!みたいなものからやればよかったなぁとおもいました。標準入力と標準出力のテキストベースだけで・・・と思いましたが、よくよく考えるとGUIが当たり前の今の時代標準入出力は敷居が高いんですよね。ほとんどの人はコマンドプロンプトなんて表示したことないでしょうし。

たぶん、NetBeansやVisualStudio等でぽとぺたでコンポーネント貼り付けてイベントハンドラの中だけ書かせて試行錯誤するところからはじめるのがよいのでしょうね。それを使いながら言語を勉強したというのがid:nowokay氏の創るJavaという書籍でした。


軽い絵の描き方や音の出し方などもありますね。というかMMLという単語久々に見ました。


書籍としては総じて思っていたより難易度がかなり高めになっています。ベーマガより上のランクですね。Javaの開発環境としてセットアップが楽なNetBeansを紹介しているのですから、JFrameは自動生成されたコードを利用するほうがよかったのでは?とも思いました。mainでイベントディスパッチスレッド上でnewとsetVisibleするコードがデフォルトでかかれてますので。


電子書籍として読んでもらうために文字を大きくしたのはいいけど、PCだと読みにくいなぁ。A4横にしてくれれば文字サイズをもうちょっと小さく出来たんじゃないかな。今の文字サイズだとページ数ばっかりふえちゃって印刷するのは向かないし。


2号以降はどうなるかわかりませんが、次はぜひ開発のみではなく、ゲームの面白さも追及してほしいところです。つまり、筆者陣の好きなゲームをひたすら書いてもらうとか、マイナーな同人ソフト取り上げてみたりとか。ベーマガが最も優れていたのはプログラムのみではなく、目指すべきゲームの紹介が優れていたというものがありましたからね。


打ち込むのがたるいという人はバイナリとソースを( 釻ノω釻)コッソリ お届けします。id:Florian氏に見つからないようにしてください。メールアドレスも知られたくないという方はmixiでメッセージ送ってください。