プチコンゲーム制作講座

ここでは、実際に私が作ったプログラムを元にプチコンでのプログラミングやゲーム作りのノウハウ(アルゴリズムやバランス調整など)について書いています。
各回の流れは 基礎知識 → それを使った私の自作プログラム → それに使用したテクニックなどの解説 という感じになっています。私が何を重視して作っているのかということまで書いていますのでこれを読めば私が作っているレベルのプログラムは簡単に作れるようになると思います。
第1回が最も易しくなっていますが、2回目以降も初心者も安心な内容になっているため興味ある回から読んで頂いて全く問題ありません。第1回と第2回を読めば画面表示とボタン入力判定の基本はだいたい理解できると思います。(第4回では下画面(タッチパネル)の使い方について書いているため必要な方は読んでおくと良いでしょう)

任意のボタンを単独入力する場合の判定方法 ・・・ 第1回講座 参照 (2つのボタンを交互に押す、上下や左右に移動など)
複数のボタンを同時入力する場合の判定方法 ・・・ 第2回講座 参照 (他のボタンを押しつつ4方向移動、8方向移動など)

私自身の偏った知識を元に書いているため不備な点もあるかと思いますが、不備な点はメイン掲示板かメール(トップページ記載のアドレス)で報告してもらえると助かります。
また、この講座に関する質問等があれば質問掲示板の方にお寄せください。



プチコン3号の初心者向け講座はこちらです。
第1回コンソールとグラフィックを使おう
featuring:プチコン50m走ドットよけゲーム
第2回スプライトとBG画面を使おう
featuring:プチコン100m走
第3回BEEPで音階演奏をしよう
featuring:音階演奏ソフト OMP
第4回タッチパネルを使おう
featuring:ピョン子
第5回疑似3Dゲームを作ろう(スキーゲーム編)
featuring:プチコン スキー
第6回疑似3Dゲームを作ろう(レースゲーム編)
featuring:PETIT RUN
番外編プチコンで疑似乱数を作ろう
第7回グラフィック面(GRP)をスクロールさせよう
featuring:JUMPING ISLAND
第8回楽器演奏プログラムを作ろう
featuring:PETIT KEYBOARD mkII


リスト短縮テクニック(各命令の説明書に載ってない使い方)、TALKで歌わせる方法、セーブ機能を付ける方法、プログラムに自由に組み込みOKな便利なサブルーチンなどをTipsコーナーにたくさん記載しているためプログラミングの参考にしてみてください。


twitter上で公開した講座

◎立体視の原理

 立体視の基本原理とプチコンで立体視を行うための方法を書いたものです。この段重ねによる立体視はプチコン3号でも有用な方法です。プチコン3号ではスプライトやコンソールのみオブジェクト単位でZ設定ができるのでスプライトで段重ねをすれば疑似3Dで立体視が可能です。
 具体的には
こちらのサンプルプログラムを参考にしてみてください。ここでは分かりやすくするためGRPを使っています。立体視の練習にはこちらの写真を使用してみてください。
 プチコン3号はZ座標を設定することで右目用画像と左目用画像を自動生成してくれますが、mkIIで交差法や平行法による立体視を行う場合は自前で計算する必要があります。これは適当な投影面を設定してそこに投影される座標を計算すれば良いです(講座の左下の図を参照)。
 ワイヤーフレームやポリゴンを使った立体視は
「3Dポリゴン立体視プログラム」を参考にしてみてください。(ただし、このプログラムは輻輳角をちゃんと計算してなかったのでうまく立体視をするのは少し難しいかもしれない)



◎ボールの動きのアルゴリズム

 ボールを使ったゲームで物理法則に従った動きをさせたそれっぽい挙動をさせたい場合にどのようにすれば良いかをまとめたものです。
 壁や床に当たった場合の跳ね返り方や重力や空気抵抗がある場合にどんな感じになってどのようなコードで書けば良いのかが分かるためこれだけ覚えれば大抵のボールを使ったゲームが作れます。
プログラムでの使用方法は
こちらのサンプルプログラムを参考にしてみてください。



◎ボールとネットの衝突判定

 ボールとネットの簡易的な衝突判定方法です。ネットを使った球技に使えると思います。
 ちなみにこのアルゴリズムは私が昔ポケコンで作った
「ピーチバレー」にも使われています。(ポケコンでもリアルタイム処理ができるくらい簡単で高速でそれっぽい挙動をしてくれるのがウリ)



◎ボールと壁との衝突判定(補足編)

 ボールと壁との正確な当たり判定を行う方法です。
上記の方法だと壁の隅の方とは衝突判定がありませんがこの方法ならば隅の方であってもちゃんと判定が可能になります。(ただし、画面に対して垂直もしくは水平の壁や床に限る)



◎ベクトルの内積・外積を使った衝突判定

 ボールと壁との正確な当たり判定を行う方法です。
上記の補足編の方法だと壁や床は画面に対して垂直や平行のもにに限られましたがこれはどんなものでも正確な当たり判定が可能です。
 学校でベクトルを習っていない小中学生でも補足編の方を先に読んで理解してもらえればその応用にすぎないため十分に理解が可能だと思います。


RETURN/RETURN *MAIN

inserted by FC2 system