2022 · Game Design Project

Hat Collectors

Roblox · Lua

This was a passion project game on Roblox, I independently created the entire game architecture, world, and the gameplay loops. A couple assets were commissioned with other developers, mostly UI and artwork.

Some major features
Full fledged gameplay system
01
01

Full fledged gameplay system

I created a gameplay loop where users earn cash to purchase random lootboxes with different character accessories. Hats could be worn as cosmetics, sold, or used to earn more money. I created a full inventory system, a player economy complete with server wide leaderboards, and loot crates that provide new items in order to realize this plan.

Server authoritative architecture
02
02

Server authoritative architecture

To accomodate secure currency and inventory, as well as a large and ever increasing amount of chests and hats, I developed the game to be organized and implement security measures. Sanity checks on client requests ensured players could not manipulate their own data and similar functionality was used for saving to datastores without error. Chests and hats were organized with IDs so adding new items was as easy as changing a couple numbers, the server could handle the rest.

Full gameplay world
03
03

Full gameplay world

Using blender I created the 3d assets for the game, every world was designed by me. Worlds unlocked different kinds of benefits, including features like daily login rewards created by utilizing datastores to measure a players time since last login.

Closing thoughts
04
04

Closing thoughts

This project took a couple hundred hours, certainly the most I've ever worked on anything before. While I didn't feel releasing the game as an independent developer in college was worthwhile, the lessons I learned were. I had a firsthand look at the lifecycle of a large programming project, learned lots about smart development strategies, OOP, server client relations, optimization, maintaining a fairly large codebase, and collaborating with others for assets I could not make myself.