Metroid Learning – DEV – Game script progress

This and the next few weeks are dedicated to the development of the project.

In this blog, I will provide information about this week’s progress.

Development Log

  • Updated ReadMe to properly introduce the project.
  • Created functions for reading player data from the cartridge.
  • Adjusted the core script to include the new player data.
  • Updated functions for reading graphic data.

 

Using the Super Metroid RAM map I quickly found the correct addresses for every piece of player data. Every new function created also lead to a few quick adjustments in the core script, so that the new functions are used.

I learned that the BizHawk emulator provides custom functions to Lua. Super Metroid stores most of its information in a 16 bit format – the memory.read_s16_le(<first address byte>) function provides a quick solution to this problem (cf. [http://tasvideos.org]).

Graphic data seems problematic. For most information, the RAM map of Super Mario World could be used for reference. However, tiles and sprites work entirely different in these games, causing the need for a new solution. (cf. [https://www.smwcentral.net])

 

Bonus Content

Yesterday, the YouTube Channel „The Completionist“ published a video on Super Metroid. This video reviews the game from the perspective of a long term fan (in a rather ‚young‘ fashion). All aspects of the game are covered in this video – which includes story, general mechanics, level design, speedrun strategies and mods.

 

Sources

[https://www.smwcentral.net]
SMW RAM Map: https://www.smwcentral.net/?p=nmap&m=smwram (01.07.2019)

[http://tasvideos.org]
BizHawk / Lua Functions: http://tasvideos.org/Bizhawk/LuaFunctions.html (01.07.2019)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

15 − drei =