How to make Symphony of The Night Inventory? and extra stuff



Hey I've been searching for tutorials on how to make an inventory like Castlevania: Symphony of The Night
and there is nothing. i'm working/planning on a Metroidvania game and im hoping to make a inventory like SoTN or at least Zelda 1 thanks in advance :)

after picturing what type of inventory i want to make it's a mixture of Zelda 1 and SoTN and you use the Mouse to hover over and see the Powers of Weapons and their stats ect so if anyone can give me some tips i'd appreciate it :)
Last edited by a moderator:


Well, you can for example create an array of structures, where the structure would contain name, type, description etc.

As for displaying, is a simple text drawing of the structure values.

Doing this using arrays allows you to have both lists and minecraft type grids.

Shariku Onikage

Pretty much all inventory systems have the same basic premise. Read up on arrays and data structures to get the general idea. GML also has ds_grid, ds_map, and ds_list which will serve you well under certain methods.

Beyond that there's a lot of sub systems when making an inventory (e.g. making the game pause when you access the inventory, animations, cursor movement, item stacking, the results of each inventory item) that will be tailored to the game you're making. Really it's the type of thing you need to feel out as you build it, but there's plenty of tutorials out there to work off.

Hope that helps.


šŸ§ *penguin noises*
GMC Elder
There's an inventory system included in my menu engine, so that could be worth checking out.

But yeah, the most basic inventory is just an array where cells either are empty or contains an item; to add a new item to the inventory, you just find the first empty cell and put the item there. Some games have a list with the number held of each item, which can be useful if the player is EXPECTED to have all items at hand at some point, but the former is more memory-efficient if you have loads of items, and also lets you limit inventory space for balancing or gameplay reasons if you feel like it.

And to store more advanced info, you could always have multiple arrays... one for item type, one for enchantment levels, one for number of items, and so on; then have scripts to add/remove/alter items so they get automatically synchronized properly.