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
GBDKDIRenvironment 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_caseis preferred. - Use
ALL_CAPSfor macros. - Use GBDK types for variables such as
UINT8instead of int etc. - Use normal c types in data files to avoid needed to import GBDK headers.
UINT8would be justunsigned charetc. - 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