Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ゲームボーイアプリ開発の始め方
Search
kimkim0106
January 27, 2024
Programming
17
0
Share
ゲームボーイアプリ開発の始め方
2024/01/27 エンジニア集会 LT会 #4 にて発表
kimkim0106
January 27, 2024
More Decks by kimkim0106
See All by kimkim0106
ゲームボーイ開発でもバイブコーディング
kimkim0106
0
58
奥深いゲームボーイ周辺機器の世界
kimkim0106
1
77
なぜ令和の今ゲームボーイを触るのか
kimkim0106
0
350
ゲームボーイでいろいろ「つながった」
kimkim0106
0
110
ゲームボーイでLT
kimkim0106
0
230
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
300
レトロゲームから学ぶ半導体の歴史
kimkim0106
0
78
Perlでゲームボーイアセンブラプログラミング
kimkim0106
0
120
ゲームボーイに画像表示させよう!
kimkim0106
0
22
Other Decks in Programming
See All in Programming
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Swiftのレキシカルスコープ管理
kntkymt
0
200
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
400
誰も頼んでない機能を出荷した話
zekutax
0
150
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
350
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
180
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
180
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
250
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
270
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
7
2.1k
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Technical Leadership for Architectural Decision Making
baasie
3
380
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
250
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
Transcript
ゲームボーイアプリ 開発の始め方 kimkim0106 2024/01/27 @ エンジニア作業飲み集会
おしながき - ゲームボーイとは? - ゲームボーイの特徴 - ハードウェアについて - ゲームボーイ開発に必要なもの -
開発環境 - エミュレーター - Flashカートリッジ - 実際にやってみた 2
自己紹介 Webエンジニア kimkim0106 VRChat : kimkim0106 Website : https://kimkim0106.net X(Twitter)
: @kimkim0106_3218 3
こんなことをやっています 4
ゲームボーイとは? 任天堂の携帯型ゲーム機 - 1989年発売 - 当初はモノクロ画面 - 後にカラーモデルが登場 - 販売台数は1億1869万台
- ちなみに... - DS: 1億5402万台 - Switch: 1億3246万台 5
ゲームボーイの特徴 - 長時間遊べる - 単3電池4本で35時間、ただし画面はモノクロ - 競合機種はカラーだが、単3電池6本で3~4時間 - 乾電池で動く -
入手性がよく、交換もしやすい - 持ち運びしやすい - 初代はちょっと重くて大きいけど... - ポケット以降は小さくなった 6
ゲームボーイのハードウェア 7 ゲームボーイ(DMG-01) ゲームボーイカラー CPU SHARP 8-bit CPU (8080 like)
@ 4.19 MHz SHARP 8-bit CPU (8080 like) @ 4.19 MHz, 8.39 MHz WRAM 8 KiB 32 KiB VRAM 8 KiB 16 KiB Screen モノクロ4階調 液晶 160 x 144 32768色カラー TFT液晶 160 x 144 Sound 4チャンネル ステレオ出力 4チャンネル ステレオ出力 Power DC 6V 0.7W (単3電池 x 4) DC 3V 0.6W (単3電池 x 2) CPU WRAM VRAM
非公式だが、一通り揃っている - 最低限必要なのは... - 開発環境 - エミュレータ - 実機で動かすなら... -
Flash カートリッジ - その他 - ハードウェア仕様書 ゲームボーイ開発に必要なもの 8
開発環境 - Windows・macOS・Linux なんでもOK! - ツールによってはコーディング不要! - プログラミングするなら、C言語もしくはアセンブラ言語 - ハードウェアの制約が大きいので、そこは頑張りましょう
- ROMが小さい - グラフィックも自由に書けるわけではない 9
GB イメージビューワーコンバーター - 画像を表示させるならコンバーターを使えばOK - 画像をアップロードするだけ - ただし4色に減色される 10
GB Studio - ゲームをドラッグ&ドロップだけで作れる - RPGツクール的なソフトだが、RPG以外も作れるっぽい - Windows・Linux・Mac版あり - 割と何でもできそう
- 曲作りもできる 11
GBDK-2020 12 - Cプログラミングするならこれ - 全部入りのクロスコンパイル開発環境 - ライブラリ・ツールチェイン・コンパイラ - サンプルも充実
- ZGBを使えばちょっと楽に書けそう - 便利な関数が用意されている
RGBDS - アセンブラ・リンカのパッケージ - Windows・macOS・Linux対応 - Arch Linux なら公式リポジトリにある -
macOSもHomebrewから入れられる 13
エミュレータ なんでもいいがデバッグしやすいものがよさそう - bgb - Windows のみだが、Wineでも動く - かなり正確 -
デバッグ機能付き - 他にも色々ある - Sameboy (Windows・macOS) - VisualBoyAdvance-M (Windows・macOS・Linux) 14
実機で動かしたい Flashカートリッジとリーダーライターが必要 - 市販品 - 同人サークル「CUBIC STYLE」のものがBoothで買える - GBカートフラッシャー開発セット -
大容量・RAM付きなど色々ある - 他にも海外製品が色々ある - 自作 - 基板データなど公開されている 15
ハードウェア仕様書 - ゲームボーイのハードウェアはかなり解析済み - CPUからシリコンを取り出して回路まで解析されようとしている - 周辺機器も解析されているので使える - ポケットカメラ -
ポケットプリンタ - モバイルアダプタGB - 大抵のドキュメントはインターネット上にある - 割りとなんでも出てくる 16
実際にやってみた - ゲームボーイにグラフィックを表示させるプログラム - といいつつ、文章なんですが - 英数字であれば、GBDKでprintfするだけで表示できる - やること -
データを用意 - 今回は漢字 - 並べる - 文章になるように並べる - ビルドする 17
①タイルデータを作成 8x8 もしくは 8x16 でタイルデータを作成 18
②マップデータ(背景)を作成 タイルをしきつめていく 19
③mainを記述 GBDKに便利な関数があるのでこれだけでいい 20
④ビルドする ROMイメージが生成されるので、これを実行する 21
まとめ - ゲームボーイはまだまだアツい! - 最近、中古価格が高騰しててつらい... - 画面の劣化もつらい... - 持っている人は大事にしましょう -
みんなもゲームボーイソフト開発をしよう! - 自分もがんばります - (次のリアルVketまでになにかできるといいな) 22
リンク - GB イメージビューワーコンバーター https://cubic-style.jp/gbiv/ - GB Studio https://www.gbstudio.dev/ -
GBDK-2020 | gbdk-2020 https://gbdk-2020.github.io/gbdk-2020/ - Welcome! | RGBDS https://rgbds.gbdev.io/ - BGB GameBoy Emulator https://bgb.bircd.org/ - SameBoy https://sameboy.github.io/ - CUBIC STYLE - BOOTH https://cubic-style.booth.pm/ - Projects | gbdev.io https://gbdev.io/ - Game Boy: Complete Technical Reference https://gekkio.fi/files/gb-docs/gbctr.pdf 23
参考文献 - 株主・投資家向け情報:業績・財務情報 - ゲーム専用機販売実績 https://www.nintendo.co.jp/ir/finance/hard_soft/index.html - ゲームボーイ全機種仕様対比表 https://www.nintendo.co.jp/n02/dmg/hardware/gbtaihi/index.html -
ゲームギア |セガ SEGA https://www.sega.jp/history/hard/gamegear/index.html - Specifications - Pan Docs https://gbdev.io/pandocs/Specifications.html - Game Boy (DMG) - Game Boy hardware database https://gbhwdb.gekkio.fi/consoles/dmg/ 24
おわり ご清聴ありがとうございました 資料はWebsiteにて公開します! https://kimkim0106.net 25