apple
DirectXSDK(あえてAugust2007)とVS2005を入れる。 なんかもうすぐ2008が出るそうだが2005をパッケージ代分使ってないのがしょんぼり。 ついでにお家プログラムも進めるかーと思ったらxyzzyの挙動が変。 具体的にいうと”.xyzzyファイル”に記述している設定が…
夏ぐらいから職場でもまともにC++コード書いて無いので目に見えて手が遅くなってる。 3日経てば他人のコードというが他人のコードを読むのも最近慣れてきたので何とかなろう。
昨日ヤポとリンゴゲームの不明仕様について聞いてみたのだが、 ついメッセログを保存せずを消してしまったので軽く青くなった。 ヤポがwikiの方にアイデア纏めてくれてたので事無きを得たのだが・・・。 リンゴ回収処理 キャッチ数によるスコア計算 連続でキ…
ウィンドウ部分の仕様をヤポ絵から想像して適当に実装にしました。 しっかしタイムとかあるけど、落ちるリンゴの数最初に決まってるんで 現状時間制限になるまで遊べません。(時間が切れる前に終わる) あとプレーヤーのライフを減らす条件も思いつきませんで…
とりあえずのウィンドウ表示と指定数字の表示クラスを作ったところまで。 結局ウィンドウはもう最初からドットバイドットな画像データを用意する事にした。 N社のリソースエディタ辺りを見てるとツールを解さず最低限の素材から プログラム側で画像データを…
スコア表示枠のために空サーフェス、スプライトを作れるように。 サーフェス作成関数まわりのかえり値をサーフェスポインタでなくハンドルを返すように修正。 最近は仕事のほうでもミニゲームを作るので小規模ゲーム開発の ノウハウというものが積まれてきた…
ゲームの状態関数を関数テーブルに変更。 ゲームリトライのバグ取り。ちゃんと終了後ゲーム開始時に遷移するようになりました。 そろそろトランジョンと結果表示画面を作りたい。
CSpriteのオフセットが効いて無かったのを修正した。 基本のリンゴキャッチ機能はほぼ問題ない状態になりました。 もうちょっと凝りたい衝動を抑えつつまずはこのままで ゲームとして仕上げていきます。
ライブラリ側で無理やりスプライト指定座標を中心にする方式を改めた。 何も考えなければ普通に左上を基準とするが、 ANMのオフセットの調節次第で任意の位置を基準とする事ができる。 後リンゴのキャッチ位置をそれっぽくするように修正。
表示位置指定を中心座標で行ってるのだが画像から当たり判定位置などを 逆算するのが手作業だと非常にシンドイ。普通はツールでも作ってやる所だろなぁ。 (ぱっと見で1ドットの狂いもなく中心を見極めるなんて無理)
生成後に時間を置いてリンゴが落ちるように修正。 落下前にリンゴが少々ゆれる用に。 地面に落ちれば少し跳ねるように。(TODO:高さ考慮)もっさりとしか手が動いてないんだが、がんばるんだ俺。
入力クラスのバグをつぶしたり 下の方向にリンゴが落ちるようになったり パッドでプレーヤーが移動できるようになったり
ゲームへの遷移らへんのデバッグを行いました。もうゲーム部も動いちゃうよ。 ただ現在開始するとリンゴが空にに向かってガンガン落ちて行きます。 仮コードを書く際、3Dの座標系のようにYをそのまま高さとして使うつもりで コードを書いたからなのだが、ど…
大体の手入れが完了しました。 ファイル読み込み部分などのTODOも消化。 コンパイルが通る状態にできたので今日はここで終了。 明日からはゲーム部分のデバックだわ。 適当に書いちゃった箇所もあるのですっごい不安。
やっとゲーム処理に手を付け始めたわけですが 最初にガーっと書いたリンゴ生成らへんのところが 全然問題外だったりして大きな手入れを余儀なくされてます。 まだ途中。
フェード処理をやろうと思ったらデフォルトのSDLには半透明や加算処理が無いのであった・・・。 となると前時代のようにサーフェスロックしてCPUでガリガリやらんといけないわけだ。 正直SIMD関連は触ったことも無いのでまともな最適化が俺にすぐできるとは…
ヤッター!やっと絵がでたよ! ようやく念願の絵の表示までこぎつけました。 昔書いたゲームから持ってきたコードのアホみたいなバグ以外に 致命的なエラーも無い様で、初期化→表示までは問題無い感じです。 まぁ問題ゼロってわけでなく、パッド入力のボタンが想…
かなり設計に粗が見えるがとりあえずコーディングは終わりました。 取り除いたのはシンタックスエラーだけで、今だ一度も実行されたことが 無いという恐ろしいコード群を前にこれから起こるであろう惨劇に 軽く感動と興奮を覚えつつも尿ば漏れそうなしだいで…
特性からどのコンテナが最良か判断できず、予想以上に 自分にテンプレートの知識が無いことに打ちのめされる。 ファンクションオブジェクトなんてはじめて知ったよ・・・。 結局STLに付いて書かれてるサイトを斜め読みしまくって とりあえずで落ち着いた。ベン…
アニメーションスプライトの改修およびそのへんのクラス間調節を終わらせたところで とりあえずコンパイル通るようにしました。例のごとくデバグはまだー。 次はオブジェクト構造まわりの実装。
描画順の管理をオブジェクトという単位で行うことにしたため、 現行のスプライト管理クラスの構造が無駄になるので Bitmapを統括、管理を行うサーフェイス管理クラスに書き換える。 けっこうな大手術になるがデータとビューの分離も兼ねてるので うまく行け…
効率化のためアニメだけでなく静止パーツにおいてもEDGEの.anm形式を使うことにした。 画像からパーツ一つ一つ矩形サイズをソースコードにベタ書きするのもなかなか苦痛な作業なのだが、 この方法ならツール上で完結できる。さらにレイアウトまでEDGE上で出…
Joystickのevent更新関数のデバクは済みました。 あと仮想パッドもうまいこと動いてるのを確認したらば さっさとゲームの中の方の作業に入りたい意向を示した。
入力関係をすべてイベントから取るように修正しました。 あまり効率良い手段ではないのだけれどとりあえず動けば良いや、と。
SDL_PumpEvents()を事前に呼んでないからでしたー。もっと分かりやすく書いといて! んであっさり解決かとおもいきやどうも挙動が変。 何が原因かと思ったら、SDL_PeepEventsのmaskにに使われるSDL_EventTypeが 連番で定義されてやがる・・・これじゃビット…
例のごとくxyzzyのおかげでシンタックスエラーがほぼ無いので通すだけなら楽ちん。 しかしながら入力関係のイベントをマスクしたSDL_PeepEventsが想定どおりに動かない。 使い方間違ってるのかなぁ。もちょっと調べる。
アナログ軸のデジタルボタン割り当てやら仮想パッドボタンに複数の物理キーを割り当てのおかげで妙に肥大化してしまった。 しかしデバッグしようにもなぜかJoyPadがSDLから認識されないんですが・・・なにこれ。 昔のSDLで作ったゲームもダメだしどうなって…
SDL関係の入力処理は昔も書いたことあったけど会社のライブラリとかと比べると 構造からして不良だったので作り直すことにした。キーバインド変更前程で 設計するのがめんどくさいが今苦労しておけば他で使いまわせる所だしがんばる。
SDL依存部分を書き始めました。 ActMiruruからスプライトレンダリングのコードと アニメーションのコードを貰ってきて組み込むことにしました。 元のメソッド名、メンバ名は変えないこと。 極力弄らないようにし、なるべくオリジナルコードで吸収するよう勤…
書き進めていたコードをVC8でコンパイル通しました。 xyzzyの文字補完とスコープハイライトのおかげか しょうもないシンタックスエラーがほとんど無かった。