あーさん日記

https://akkera102.sakura.ne.jp/gbadev/ の中の人

無題

話半分で聞いてください(^^;
いらんお節介の話を1つ・・・。


GBA開発は、人いないし(ゲーム制作に必要な)ドキュメントないしで荒野みたいな場所です。
自分でハックというとかっこいいですけど・・・
基本的には面倒な作業の連続だと思っています。


アドバイスとしては「モチベーションを絶やさずに」という、
この1点のみです。


プログラミングは1日でドでかいものは作れないです。
少しづつ、小さな作業の積み重ねだと思っています。


次の作業に嫌な気持ち(やりたくないなぁなど)を持ち越さないように、
常に気を配らないといけないです。


1日だけ12時間ほど作業して燃え尽きてしまった・・・
バグがどれなくて嫌気がさして・・・
面白いゲームに出会って熱中になって・・・
など、間を開けてしまう罠がなんと多いことか。


「今日はやらなくていいんじゃない?」なんて気分になってしまい・・・
抗ったりできるのは最初のころだけであって、長期的にはやはり負けてしまいます。


ですのでだんだんやりたくない気持ちが強くならないように
心の健康を大事にしないといけないです。


モチベーションを減らさないテクニックも必要であり、
楽しく学び、モチベーションを上げて、ということも必要であり、
人間はなんて難儀な生き物なんだという、お節介な話でした。(^^;


えーと、技術的な話もしますと・・・
GBA本は文章を読んで仕様を理解して、コードは私の方を参考にするのがいいと思います。
サウンド部分は今は読まず、mode0かmode3でブロック崩し○×ゲームテトリスなどの
手頃なゴールを決めるといいです。


アウトプットの形としては、
Arduboy プログラミングを今されているraohu69さんのページが私の中で理想形態です。
日本語で理解したことを書くよりコードを。毎回テーマを決めて記事を書いています。
この少しづつ前進している具合が素晴らしいです。
ttp://raohu69.hatenablog.jp/


(変な紹介の仕方してすみません。。ということでトラバしないように修正)

技術書典4というか一部サークルさんのお話

久しぶりの遠征です。


当日、開場2時間前に到着してtwitterを眺めつつ待っていました。
「アレはサークル参加の列」「整理券まだ配布してない」「一般参加の列はまだです」
などの情報は大変ありがたかったです。


さすがオタクのイベントというか、大学生の研究室の話、
プロジェクトマネージャさんの日ごろのお悩み相談室みたいな話を盗み聞きして、
みなさんモチベーション高いなあとか、行動力があっていいなあーと思いました。
まーおっさんは健康第一ですけど・・・。


さて、10時頃に一般列形成で11時に開場。整理券は170番台でした。
入口からすぐの距離だったので待つことなく、すぐに入れました。
が、全体を一週して「わかる!ドメイン駆動設計」を購入。


目的のタクトさん(cubic style)のところに直行しました。
あるもの全部1品づつください!と言い、お買い上げしました。
https://techbookfest.org/event/tbf04/circle/19200004


頒布物と展示品のヤバさに興奮する。まずはラズパイアドバンス拡張ボード。
f:id:akkera102:20180427205003p:plain
吸出しは技術的に見ても面白く、子供のころのカードリッジとGBA本体は
何をしているのだろうという疑問を解決してくれます。
ラズベリーパイのGPIOからが出発点だけに敷居も低い。
体感的に経験できるのはとても良いことだと思いました。


ちなみにコードはこちらに。
https://github.com/cubicstyle/raspiadvrw
プルリクしてよーとのことでしたが恐れ多いのでしません。(ぉ
カードリッジの吸出し容量は決め打ち?しているようなのでその点だけコメントさせていただきます。


カードリッジ容量はGBみたいにヘッダ情報に含まれていないです。
なので結局は最大容量32MBから後ろに向かって調べていきます。
あんまり賢い方法ではないので他に手があるかもしれないです。
https://github.com/akkera102/gba_02_dump/blob/master/dump.ino#L173


このあとにCRCデータベースを照合して、ほかの方と同じ値か調べたりすると
精神的に安心します。
http://mrchecker.web.fc2.com/checker/rom_checker.html


横道に反れました。巫女ぱらの話を。
こちらは2017年のGBA同人ゲームです。
正確に言うとリニューアル版とのことです。
f:id:akkera102:20180427204430p:plain


1週目は普通にクリアして2週目はチートしました。(ぉ
3001c78 - 3001cc8の範囲を0x0101で埋めて、適当に玉を消せばクリアできます(Ver.2.02)。


ゲームルールはアクション苦手なおっさんにちょうどよくて、
定石を感覚で掴めそうなところで終わるステージ数は助かりました。
絵もとても綺麗。ボイス付きで非常にポイント高いです。


最後にこちらの写真を。
会場の混雑具合に見れない方もいたのではないでしょうか。


さすがに暗号化をアレする内容は公表できないと思いますけど
出展ものとしては最高の一品だと思います。


そうそう。ハックは人間の欲求ですよね。
自分の中のモチベーションも随分上がりました。

github de GBA

githubGBA検索すると、cs 2110という文字をよく見かけます。
これは授業の成果物?どこの大学だろうと調べてみました。

Georgia Institute of Technology

超有名校じゃないっすか。さらに2017年にも授業をやっていた形跡が。
cs2110Fall2017Schedule.pdf - Schedule CS2110 Date 8/21/2017 8/22/2017 8/23/2017 8/24/2017 8/25/2017 8/28/2017 8/29/2017 8/30/2017 8/31/2017 9/1/2017 9/4/ | Course Hero
プレゼン資料は登録しないと全部は見れないけれど、ざっくりと存在します。
www.coursehero.com

Why GBA? 

• Programming to the metal
• No operating system
• Makes C seem more obvious
• Slow. ..understand performance tradeoffs
• Fun!

ですよねー。(^_^
日本でも大学授業あるみたいです。

https://github.com/tomonarifeehan/DonkeyKong
https://github.com/jedyang97/flappy-bird-gba

したじゅんび15

今日はロイロゲームレコーダーを使ってオープニングを録画しました。
あとaviutlを使ってエフェクトを1フレームごとに見るという作業をしています。
f:id:akkera102:20180115222928p:plain


そうやっていたのかー。ちぃ少し賢くなった。

したじゅんび14

バッチ分は記述完了。ログを見ていると処理している感じが出てていいですね。
さて、大雑把に次の予定を。

■TODO
・セピアは計算でがんばる。重くなるかも。
・4KB単位のセーブデータ
・既読フラグ(1個だけ用意)
 993*4バイト。ブロック単位。ブロックを抜けたタイミングで書き込む。
・カレンダーめくり。マスクファイル対応
・メニューの日付表示
・英文時の空白挿入
・桜、雨、血は保留中。どうしよう。
・デアボUIをベースに一部変更するのを忘れずに。

■調査
・S32D 桜吹雪
00AF.TXT(166): 03cc "「──わあ、見て、桜が咲いてるよ」"

3/3 ~ 3/31 : S34D, S36D(つぼみ)
4/1 ~ 4/15 :S17D, S32D(満開)
4/16 ~ 4/30 : S33D, S20D(散りかけ)
5/1 ~ : S18D, S35D(葉桜)

要求される番号が S17D であっても、S34D を表示するなど読み替えが必要になる。

注意点として、4/1~4/30 は暗黙の桜吹雪の背景エフェクトが付く。
逆に、初日 3/3 の校門内外でも、明示的に 0xF7 の背景エフェクトで桜吹雪が指定されるが、
期間外なので、エフェクトを有効にしてはいけない。

葉桜になるのは 4/30 ~っぽい。

うっは。あかりの髪の毛がプログラムで処理しているのはチラ見してたけど
それ以外にもあると手に負えません。。
・0162 あかり専用コマンド
・フラグ変数は符号付き。s8 or s16?数?
・ゲームの録画フリーソフト
・エンディング誤字
・オープニングキャラクタ出現順番
・0x43 キャラクタ消去
・セピアしているスクリプト


■決めたこと
・達成率作らない
・主人公の名前:固定
・エフェクト:一部作らない(OPタイトル出現、OPレンズフレア


わかったことは、早くウィンドウズ版を1周しとけということ。
次に、キャラ画像位置を決め打ちしないといけないので
全ルートは見ないとだめ。(泣