Skip to content
Nathan Wichers edited this page Feb 13, 2024 · 17 revisions

hg-engine is an engine overhaul for English Pokémon HeartGold with a focus on bringing battles up to par with recent mainline Pokémon games and their mechanics.

Table of Contents

Vision/Goals

The primary focus of this is a sort of step-by-step process:

  1. Make sure everything (moves, abilities, items, Pokémon, mechanics) is implemented in some capacity
  2. Make sure everything is implemented accurately using in-game tests, Smogon, and the rh-hideout Emerald battle expansion
  3. Revamp the battle AI to properly use new moves and make a much more difficult trainer battle experience

There is no timeline for this. I have been working with a small team on this since the beginning of 2022, largely spearheading it myself. This is a massive undertaking that is only done in our free time in addition to other projects and real life. We have jobs, friends, family, everything. There is no expectation that anything be done on any given timeline, and this has been a driving philosophy behind this project so far. This is to prevent burnout on the project and eventual satisfaction with the work being done.

Current Status

A rough list of what all comes in this repository and the status:

* - configurable at compile time, can be completely disabled, see CONFIG.md

Wiki Contents

FAQ

How do I use this?

Read the README from the repository. This goes through how to install it from a fresh install of Windows, Debian Linux, and MacOS. If you are capable of building the CFRU, you are capable of building this.

I encountered a glitch! How can it be fixed?

Please create an issue on the Github Issues page. This should detail reproduction steps and, if you're the best bug reporter ever, include a save file or a save state so that we can easily reproduce it.

What is all configurable in the repository?

See CONFIG.md.

What can I use this for?

You are free to use this for your own hacks as you please with slight restriction.

The only restriction that I have is similar to the CFRU's only restriction:

ROM Hacking is a hobby. Without my express permission, please do not use this repository or the code within it as part of a project that results in any sort of financial gain that isn't completely avoidable by the people that want to play the game in its most recent form.

That is to say, if you want to have Ko-Fi donations for your work or whatever, then feel free to do so. However, a reward for donation can not be a version of the game that is not publicly accessible without the donation having occurred. I think it is reasonable to ask for truly optional donations that are for your work and not the code from this repository. A publicly accessible patch should be available for the ROM Hack in question that does not require the donation to unlock anything.

This includes optional donations, streamer-tailored hacks, whatever. There is a drastic increase lately in streamers essentially paying modding figures to make mods for content and it has debilitated XY, Breath of the Wild, BDSP, and Super Mario Odyssey to be limited to a small team of workers that would rather be exclusive with their findings to ensure that they have a continuous stream of revenue from streamers looking to make content.

My TM learnsets are still in armips/data/tmlearnset.s (and I am looking to update to beyond 28 September 2023)

Before updating via git pull [hg-engine] main, make sure that your repository can build in its existing format.

Then run git pull [hg-engine] main, where [hg-engine] is the remote name that you have given the main repository.

Finally, to update, make sure there are files in build/a002 (normally mondata_*). Run python3 scripts/tm_learnset.py --dump armips/data/tmlearnset.txt. This will dump the TM data in the new format for insertion. It automatically handles everything, including dumping the moves from the include/constants/moves.h/species from include/constants/species.h and correlating them with what is in the ROM.

From there, delete all your tmdata entries in armips/data/mondata.s and then the armips/data/tmlearnset.s.

Where can I get help for this?

First, check Troubleshooting and see if your problem is there and the directions there help you out.

From there, join the Kingdom of DS Hacking Discord server. Read the rules there and make sure you're comfortable in the 11-minute anti-spam probationary period that every new join goes through in that server. Once you get access, head over to #hg-feature-expansions and ask there. Please do not reask your question. It will be addressed if possible.