What if it was the 80s and you wanted to make a game boy game? This project is a sample of how to make your own game boy games for yourself.
Note, the tools below are either cross platform or built for Windows specifically. You can run these Windows tools via Wine on Linux.
- GBDK - make sure the
GBDKDIR
environment variable is set! - VSCode - for writing and editing c code.
- Make - for building c code. There is a GnuWin32 version for windows.
- BGB - for emulation, debugging and viewing video ram contents.
- GBTD - to edit tiles.
- GBMB - to edit backgrounds etc.
- GBTDG - for importing image files into game boy tiles.
The current plan is to use github flow and do work in branches to avoid stomping over the main branch if and when multiple changes come in to the same files. PRs aren't required at this point.
There aren't any hard and fast rules here but it's probably best to be idiomatic and roughly follow GBDK standards as follows:
- This is project is designed to work across different platforms so lower case file names are preferred.
- For function names,
snake_case
is preferred. - Use
ALL_CAPS
for macros. - Use GBDK types for variables such as
UINT8
instead of int etc. - Use normal c types in data files to avoid needing to import GBDK headers.
UINT8
would be justunsigned char
etc. - Use macros over consts where you can, again for consistency with the library.
- Use Allman style braces. (This is a divergence from the GBDK style)
You can compile the project using the make
command.
You can find more about the compiler (lcc) and its options here.
- MVG and his handy GB coding quickstart.
- Dr Ludos with his GB game making guide.
- Dan Cox with his GBDK guide.
- The GB dev community in general for countless amazing tools like GBDK, sprite editors etc.
- Whoever made this handy youtube video on game boy SFX