Reid Millam

Roblox Game Developer

Senior Software Engineer

Cyber Security Graduate

Graphic Designer

Reid Millam
Reid Millam
Reid Millam
Reid Millam

Roblox Game Developer

Senior Software Engineer

Cyber Security Graduate

Graphic Designer

Ghost Simulator Inventory Rewrite

One of the most technically challenging systems I’ve ever worked on, especially during my time at Ghost Simulator, was the inventory rewrite. The inventory system in Ghost Simulator had always been rather small. This was due to the original scope for the game not extending much past 1 year of continued development. As the game became more and more successful, being part of the 2019 Egg Hunt, and then the Metaverse event (which was my first project as part of the BloxByte team), the demand for the game only grew. As such, the previous solutions were starting to require some serious TLC.

In early 2023, we had planned to rework the Inventory system which was probably the single most core UI element in the entire game. The goal was to not only expand it so that we could fit more pets and boards into a single page, but also to rework some of the UI elements themselves, reorganise different parts of the system, introduce new features into the system, and migrate the extremely legacy code into something much more comparable to “maintainable code”.

I unfortunately do not have access to any imagery displaying the old Inventory UI for Ghost Simulator, mostly as I no longer work at the company anymore, so this is a screenshot from a video (kindly brought to you by Terabrite :P). As you can see, the UI is extremely small. TheĀ  character menu in particular lacked enough space for us to really display all the different things that we wanted to display to the player. This can be seen below. The inventory button to the right of the character menu displayed all the items available to the player. As this also grew in capabilities, so did the need to make this an actual tab in the game, just like the pets and hoverboards.

Unfortunately, the code for this system was anything but simple or easy to work with. At the time, I didn’t realise just how much work was needed to transform this system into something that I could then work with to introduce new features, but I would soon find out. In total, I think it took me 80 hours of pure programming, switching things around, cutting and pasting bits of code from this place to that place, as well as the introduction of a new InventoryDisplay class which totalled 3,000 lines of code. For some strange reason, I also decided that it should be implemented in strict luau mode, which back then, was anything but delightful to work with.

The final product of all of that work can be seen below!

As you can see, the UI is significantly longer than before, allowing for a lot more items to be visible to the player at once; a much needed addition considering the sheer magnitude of available pets and boards in the game. The system also has an entirely new tab for displaying Items, and the Character menu has also received some much needed love. There is a Rebirth Info menu which displays information about the player’s rebirth stats (Which I must say, Ghost Simulator has probably the best Rebirth system in all of Roblox, along with our pets! We are also the original game to introduce Hoverboards which were promptly then copied by a lot of other games as well!).

The most notable difference with this character menu is the introduction of an Equipped section. This section displayed the player’s currently equipped hoverboard, gum, and pets.

Due to the large amount of code in many different scripts, I will only show the most useful of the bunch; the InventoryDisplay class.