Go to file
2024-03-19 19:55:41 +01:00
.github Update to rgbds v0.7.0 2024-01-04 21:55:57 +01:00
audio Rename the concept of Coins to Chips (#7) 2023-09-02 18:23:25 +02:00
constants Use LCD STAT interrupt more efficiently (#2) 2024-03-19 19:49:36 +01:00
data Remove mom saving/spending coins (#1); add coins gained from a trainer battle to wCurLevelCoins (#30) 2024-03-18 18:17:35 +01:00
docs docs 2024-03-13 18:17:13 +01:00
engine Use LCD STAT interrupt more efficiently (#2) 2024-03-19 19:49:36 +01:00
gfx docs 2024-03-13 18:17:13 +01:00
home Use LCD STAT interrupt more efficiently (#2) 2024-03-19 19:49:36 +01:00
macros Player management [Commit 2] (#38) 2024-03-09 16:40:21 +01:00
maps Add support for more than 8 techniques (#34) (#28) 2024-02-19 17:10:33 +01:00
ram Use LCD STAT interrupt more efficiently (#2) 2024-03-19 19:49:36 +01:00
tools Refactor tools/dupeframes.py 2024-02-11 00:40:04 +01:00
vc Require rgbds 0.6.0 2022-10-02 22:03:53 -04:00
.gitattributes Build the Virtual Console patch with make crystal11_vc (#882) 2022-03-12 18:34:04 -05:00
.gitignore Handle the repositioning in the new map of a mocked player object after going through a map connection (#29) 2024-01-05 20:57:35 +01:00
audio.asm Ensure linked songs are in the same bank (#1027) 2022-12-29 07:59:32 -06:00
charmap.asm Level selection menu: print landmark level and name (#12) 2024-01-21 17:01:44 +01:00
FAQ.md Update to rgbds v0.7.0 2024-01-04 21:55:57 +01:00
home.asm Player management [Commit 1] (#38) 2024-03-08 18:56:26 +01:00
includes.asm Player management [Commit 1] (#38) 2024-03-08 18:56:26 +01:00
INSTALL.md Clarify windows versions in INSTALL.md 2024-02-11 00:39:48 +01:00
layout.link Player management [Commit 1] (#38) 2024-03-08 18:56:26 +01:00
main.asm Remove mom saving/spending coins (#1); add coins gained from a trainer battle to wCurLevelCoins (#30) 2024-03-18 18:17:35 +01:00
Makefile Update to rgbds v0.7.0 2024-01-04 21:55:57 +01:00
ram.asm Require rgbds 0.6.0 2022-10-02 22:03:53 -04:00
README.md Add example videos to readme 2024-03-19 19:55:41 +01:00
rgbdscheck.asm Update to rgbds v0.7.0 2024-01-04 21:55:57 +01:00
roms.sha1 Build the Virtual Console patch with make crystal11_vc (#882) 2022-03-12 18:34:04 -05:00
STYLE.md Add proposals for fixing STYLE.md (#941) 2022-06-17 22:41:16 -04:00

pokecrystal-board

pokecrystal-board is a single-player RPG board game engine for the GBC based on pokecrystal.

In pokecrystal-board you will find:

  • Content with new built-in features
    • Overworld board game engine: menus, movement, events, turn lifecycle, etc.
    • Level selection menu ("world map")
    • Game progression logic
    • Other supporting features
  • Empty canvas with pokecrystal-board placeholder content, or with no content
    • Actual levels and maps, and their design
    • Board space effects
    • Many GFX and SFX elements
    • Layout of transition screens and menus
    • ...
  • Empty canvas with pokecrystal placeholder content
    • The complete Pokemon battle engine
    • Pokemon data and storage
    • Item data and storage
    • ...

In pokecrystal-board you will not find:

  • A ready-to-play game
  • An engine that requires less ASM knowledge to use than the pokecrystal disassembly
  • Guaranteed compatibility with extensions to pokecrystal developed by the community
  • Definitive GFX and SFX assets for the pokecrystal-board features

How can you use and what can you do with pokecrystal-board:

  • Use it as the base engine to develop your own game
  • Develop new features or expand existing features for the purpose of your own game
  • Develop new features or expand existing features to be incorporated into pokecrystal-board
  • Design assets to be incorporated in place of the placeholder GFX/SFX in pokecrystal-board (see issue #9)
  • Request or show your interest in specific features to be added to pokecrystal-board (open an issue for this)

Compared to pokecrystal and the Pokemon Crystal ROM, the ROM built by pokecrystal-board uses a MBC5 chip and requires 64 KB of RAM (8 banks of 8KB each).

pokecrystal-board requires RGBDS 0.7.0 to build. It has two build targets: crystal, and crystal_debug. The former builds a ROM with the _DEBUG symbol undefined, and the latter builds a ROM with the _DEBUG symbol defined. crystal_debug is meant to include additional content and configurations to facilitate testing during development, while crystal builds the ROM meant to be hypothetically released to the public. Other than that, refer to the install docs from pokecrystal for detailed instructions on how to setup and build pokecrystal-board.

To suggest a feature or to report a bug, feel free to open an issue (using the "Feature suggestion" or "Bug report" labels) If you have specific questions about the usage of pokecrystal-board or how to contribute to it, feel free to reach me on Discord in the pret channel. But please, do not do this for questions that are rather in the domain of pokecrystal.

If you are interested on developing on top of pokecrystal-board, docs/usage/index.md details the different features. For generic changes made in pokecrystal-board (adaptations, cleaning up, etc.) refer to issues #1, #2, #7, #8. You can also navigate issues tagged with a "Feature" label to see commits pertaining specific features. Additionally, a rough list of new RAM addresses can be found in docs/develop/ram_addresses.md.

To get a quick feeling of the pokecrystal-board features, you can watch these short videos. Alternatively, you can just build the debug ROM and check for yourself, but keep in mind that the configured data (maps, etc.) is purely dummy and merely added for testing purposes during development!