エディタ起動して2秒で挫折した
ゲーム制作ってライブラリやプラグインが充実していて、ドキュメントやサンプルが豊富で、コミュニティが活発な言語で書いたほうが良いんだろうなっていうのは頭ではわかるんだ。つまりは、わからなくなったら聞ける人がいるかどうかなんだと思う。だけど、僕はコミュ障なんだ。いくらどんなプログラミング言語が盛んだろうがそんなものは関係ないんだ。そう、すべてが無だ。
とにかく手を動かすという方針で何かをつくることにした
簡単に物理エンジンを組み込めるし、追加で準備する必要がないということなのでHSPでゲームをつくっていこうと思った。これを使って何ができそうか試しながらゲームを作っていこうと思う。
今の段階だと、弾除けゲームとかクイックスみたいなゲームかなあ。デフォルトの見た目の印象で決めてるから物理エンジンが入り込む余地がないのがあれだけど...
物理エンジンOBAQのデフォルトの見た目。
枠内にオブジェクトを入れてその物理挙動を楽しむツール。デフォルト設定だと下に重力が働く。
とりあえず物理エンジンOBAQについてのマニュアル
物理エンジンOBAQマニュアル
マニュアル読んでもパラメータいじることでどこまでを変化させることできるのかさっぱりわからない。qaddpoly
とか第11パラメータまであるとかどこぞに書いてある。
とりあえずいじるしかなかったので試しに動かしてみた。
キー入力で顔(プレイヤー)を上下左右に動かせるようにしたもの。
ソースコードは以下
#include "obaq.as" screen 0,320,240:title "OBAQ_Test00" ;OBAQ初期設定 qreset ;OBAQの初期化 ;操作キャラ設定 mx=40 ; X座標 my=30 ; Y座標 msp=1 ; スピード ;OBAQの物理挙動を楽しむためのオブジェクト生成 qaddpoly face, 36, mx, my, 0, 3, 3 ; celload "face.png":player=stat ; 元画像のIDを保存 qinertia player,,0 qdamper player,0 qmat player, mat_spr, player ;;; メインループ ;;; *main ;オブジェクト操作 qpos player,mx,my,0 qspeed player,,,,1 ;描画時前処理 redraw 0 ; 描画始め color:boxf ; 背景を消す gmode 2 ; 透明色ありの指定 ;OBAQ描画処理 qexec ;オブジェクトの更新 qdraw ;オブジェクトの描画 ;描画時後処理 redraw 1 ; 描画終わり await 20 ;キー入力 stick key,15 ;左方向 if (key&1){ mx=mx-msp } ;右方向 if (key&4){ mx=mx+msp } ;上方向 if (key&2){ my=my-msp } ;下方向 if (key&8 ){ my=my+msp } goto *main
キーで動かすようにすると壁に接触した時の挙動がきもくなる。これどうやって解消すればいいんだろう。あと書いてて思ったけれど、おまじない的な部分が多くて覚えることだらけだ。