プログラミング

段階的学習 - テトリス風落ちものゲームを作れ。level4

Level3 から Level4 はあっという間だった。 Level4 ブロックパターンの追加 新たなブロックパターンを追加する。(パターン=L、|、凸、□などのブロックの塊) ボタンを押すことで、ブロックパターンを順に表示させる。

スプライトって画面外に出せるのか。

座標がマイナス超えるから画面外に出したい場合、 素の状態の画面設定じゃ駄目なのかと勝手に勘違いしてた。 desmume で View OAM 確認してみたら縦は0〜255ピクセル、横は-256〜255でローテートするのね。 これ以外のローテート設定があるのかどうかは調べ…

スプライト拡大縮小サンプル。

スプライトの拡大縮小を試してみました。 いつもの如く akkera102 さんとこの GBA Develop wiki の解説を参考に。 GBA と NDS の構造が近いのを良いことに参照しまくりです。 akkera102 さんの解説は凄く丁寧に書かれてて 理解した後だと上手く説明された文…

キーコンフィグ実装サンプル。

今日考えて取り合えず実装してみたら まずまずの体裁が取れてたので公開しておきます。 キーとアクションの間にモジュールを咬ましてみたら案外スマートに行けた感じです。 昨日のネームエントリ実装サンプルもなのですが、1シーンとして作らず、部品として…

ネームエントリ実装サンプル。

昨年の2月頃にも同じようなものを作っていたのですが 今見ると恥ずかしいくらい汚かったため書き直しました。 必要最小の実装のみですがこんなものでしょうか。 4/12追記。 main.c を書き直しました。 必要に応じてプロジェクト一式の方からダウンロードして…

標準コンソール16色フォント変更+パレット番号変更サンプル。

examples/nds/Graphics/Printing/custom_font/ をちょいと弄ってみました。 表示を上画面に変更して記述を少し簡略化したのと、 任意のパレット番号(0 番〜 15 番)にフォントカラー(16色)を読み込ますようにしてみました。 chgfont2 プロジェクト一式 ttp://…

段階的学習 - テトリス風落ちものゲームを作れ。

プログラミング/初心者向け/チュートリアル/段階的学習/テトリス風落ちものゲームを作れ - game-develop.com wiki http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BD%E9%BF%B4%BC%D4%B8%FE%A4%B1%2F%A5%C1%A5%E5%A1…

デジタルインベーダー for NDS。

id:yasuho さんの GBA 版ソースを参考に NDS へ移植してみました。 実は一ヶ月前に書いたものなのですが、先月末が個人的に忙しかったこともあり、 すっかり公開するのを忘れておりました。 見た目一緒で恐縮なのですが…(汗)一応 GBA 版との違いなどを。 …

FIFO 通信によるマイク入力サンプル。(2)

マイク機能を使ったプログラムを書いてて不満点が発生。 ・現在の入力の有無が欲しい ・入力の状態(エッジ)まで欲しい つーことで追記しました。 ARM9 コードだけ記述が増えてます。 input ライブラリと同じような記述で使えます。 毎フレーム scanMic() …

NTR検査カセット。

NDS マイクを使った習作です。 元ネタはファミコン本体の組み立て工場なんかで使われてた HVC検査カセットというコントローラテストソフトです。 HVC検査カセット HVC検査カセット(動作画面) カセットは高くて持ってないのでエミュで動作させたものと思われ…

NTR検査カセット。(2)

実機チェックして分かったことと、それに伴った修正を行いました。 実機にて、マイクを有効にした直後、0.3〜0.4秒程度、 無音値(128 付近)から離れた値が出力されてる模様。 1行目が初期値、以降マイクオン後の次フレームからの返値 INIT → WAIT → EXEC と…

プロジェクト作成用テンプレート。

昨日の combined の中の arm9 用 Makefile も弄って画像取り込みと grit 変換まで掛かるように手直ししたものを アーカイブして公開したとです。 Readme まだ書いてないブツなので Makefile 読む気ある人用でごめんです。 近日中に含めときます。 ・NDS バナ…

Makefile 弄り。

よくわかんねっすw 基本はテンプレ丸ごとコピってそれにソース継ぎ足すだけだし(爆)。楽なんだもん。 ってグチったところで誰かが自分の望むような Makefile を書いてくれる訳じゃないので combied のヤツを適当に弄ってバナーアイコンとバナータイトルを…

タイル楽しや。

初めて触るマップエディタで試しに打ってみたもの。 某検査カセットと同じ動作を行うまでに実装してみたり。 先日 MapEd という GBA マップエディタを使ってて分かったこと。 ・勝手にマップチップの並び順が変更されてしまう ・使ってないマップチップがエ…

FIFO 通信によるマイク入力サンプル。

fifocommon ライブラリの使いかたを大雑把だが理解したので作ってみた。 今日読んで何となく理解した一夜漬けのような状態なので もっと正しい使いかたがあるのかも知れんけど(汗)。 つかこれ説明が難しい。ソース晒して逃げとこう。 マイク入力関数自体は…

キーパッド入力サンプルの直し。

昨年にアップしたものはあまりにお粗末だったので書き直した。 まあ大したコードじゃないけど。 keypad input sample ttp://page.freett.com/ntr/example/keypad.zip main.c /*---------------------------------------------------------------------------…

タッチスクリーン入力サンプル。

過去に書いたコードを少し直してアーカイブした。 devkitPro の example とあまり代わり映えしないが、 タッチパネルの抵抗値を実機確認するために z1, z2 メンバまで表示するようにしたんだと思う。 touch input sample ttp://page.freett.com/ntr/example/…

プログラムから電源を落とす。

プログラムから NDS の電源を落とす際の powerOn(PM_SYSTEM_PWR); って凄く違和感を感じてしまうのは俺だけだろうか。 下の方に systemShutDown() ってズバリな名前のパック関数があったがARM7 セクションでがっくし。 IPC-FIFO 使ってるんだっけ。 devkitPr…

FIFO ライブラリの取り扱いに役立ちそうなサンプルコード発見。

libnds で用意されてる FIFO ライブラリのコード読んでたけど要領が掴めず もっと簡単な模範解答(FIFO ライブラリを使ったサンプル)が無いものかと gbadev フォーラムで同類を探し求めてみたらズバリな回答を示してる人発見。 gbadev.org :: View topic - …

モード 5 の Extended。

VRAM 周りの再学習。 モード 3, 5 の Extended で 16 bmp BMP を展開の場合、VRAM のやり繰りがカツカツになってしまうな。 割り当てた VRAM バンクの 128KB 中 96KB を1枚絵が消費する訳だから当然といえば当然か。 こういうマゾい仕様は嫌いじゃないけど。…

モード 5 の Extended。(2)

アーカイブをアップ。 devkitPro 公式サンプル(16bit_color_bmp)の LZ77 じゃないコードが見たい人用。 ・モード5(モード3), Extended, 16ビットビットマップ描画サンプル ttp://page.freett.com/ntr/example/extended.zip

フェードイン/フェードアウト。

NDS は GBA と同様にブレンドという機能がハードウェアに備わってるので 半透明処理やフェードイン/アウトなんかはソフトウェア処理を行う手間がないんです。 手を抜けるところは手を抜いてこうってことで。 fade in, fade out akkera102 さんところの「GBA…

ハートに16連射。(30)

BMPファイルの展開ルーチンを試し書きしてみた。 フェイスプレートをユーザが用意した任意の画像に差し替えれるという機能を持たすため。 …フェイスプレート画像を作ること自体が実は面倒と分かって…誰も使わないかも知れない機能w 24 ビット、 256x192 ピ…

リアルタイムクロック。

以前のエントリで NDS の内蔵時計を再現してるエミュレータが無いとぼやいたことがあったが ideas が対応してることを見過ごしていた。 日時を扱ったコードのデバッグにおいて実機転送による確認というフローは不要なわけだな。

ハートに16連射。(28)

サウンドトラックモードの作成。 所謂サウンドテストってやつ。 サウンドモジュール、BGM, SE が未着手なので再生のタイミングを printf() 辺りと想定して記述。 基本的な動作は下記コードの通り。 printf() で表示してるタイトルやメニューは 本ちゃんでは…

ハートに16連射。(29)

スプライト画像のインクルードと設定を定義。 昨日起こした画像を再加工して違和感も出なくなった。 絵が乗っかるに連れ、段々とそれっぽく見えて来たぞ。 shtwatch 20100215

ハートに16連射。(25)

オートセーブ/オートロードを実装。 DLDI パッチを当ててなくても遊べるというのがミソ。 パッチ未適用時には、ハイスコア、シークレットモードフラグが記録されず 次回電源投入時リセットされるだけ(ソフトウェアリセット中なら記録は保持)。 初回起動時…

ハートに16連射。(26)

デモプレイを実装。 タイトル画面で一定時間なにもしないでいるとデモプレイに遷移する。 CPU 操作で行われるような一般的なデモプレイではなくタイムアタックのようなモード。 45秒間のデモ動作中に何連射できるか測定が可能。 但しスコアは保持されない。…

ハートに16連射。(24)

ラベルリソースのフィックス。 リソース周りのコード書き。 単体作成してたタイトルモジュール、連射計測ゲームモジュールの取り込み。 SHOT WATCH - NDS EDITION - ROM INFO SHOT WATCH - NDS EDITION - 20100211 ダラダラしてたらスプライト画像用意できな…

C# 本 x 2。

ひと目でわかる Microsoft Visual C# 2008 アプリケーション開発入門 Visual C# 2005 逆引き大全 500 の極意