Purpose
On the path from finalized, unchangeable games to expressive, flexible game engines lies an interesting middle point– the topic of “ moddable ” games, or games that may be heavily customized by the users themselves. The
original Skyrim was well-received when it released in November 2011, but users wanted more. They wanted
Thomas . Skyrim ’s flexibility and customizability is why many are still playing it today– the community kept it alive through new content. As a game becomes more flexible and user-configurable, it begins to take on the qualities
of a bonafide game engine– capable of expressing the creativity of the user, whatever that may be.
This assignment will--
● Introduce tools for modding any software, such as the CrySearch Memory Scanner , and the principles required for modding / hacking in the hardest case (no developer support).
● Familiarize students with typical patterns in software customizability (modding) and data externalization in anticipation of making our own text adventure games “moddable”.
● Upgrade our text adventure codebases into a significantly more expressive “Text Adventure Engine”.
Tasks
Modding Without Developer Support (windows required - or use CAEN labs)
Investigate a Game
1. Download this game ( warning : consider turning sound down in public).
2. Familiarize yourself with the game’s mechanics and content. No need to play more than a few minutes.
Mod Your Experience
3. Try looking for human-readable, externalized asset files near the executable (but don’t look too long).
a. Your objective is to alter your in-game ring count.
4. Unable to easily locate any human-readable asset files, we’ll assert our agency over the game’s working memory to make our changes.
a. Run the game.
b. Run CrySearch Memory Scanner (also available on CAEN windows machines).
c. Attach to the target process.
d. Begin a new scan by attempting to guess the value of your “ring counter” variable.
e. Play the game and do something you think will make the variable change its value. Then, continue the scan by filtering for that specific kind of change (increased value, decreased, etc).
f. When only a small number of possible addresses / locations remain for the variable, save them by double-clicking and then change the value . If the UI changes in the game, congratulations! You have identified where the ring counter variable lies in memory. If not, start over with a new scan.
5. While playing the game, mod it such that you have at least 494 rings– a feat long thought impossible.