Diablo RPG Style Inventory System in Unity

This weekend felt like a good time to tackle something new.

After successfully prototyping a 3D Disc Golf Game, and then a Game of Life-Simulation, I wanted to explore more of the user interface side.

I decided to build an Inventory management system, also decided it best to create a new project, this way I can build the Inventory as a re-usable module for more than one project.

It didn’t take much time for me to decide on a Diablo-style inventory where each item needs to fix within like a puzzle piece.

I bounced a couple of ideas of my son, and we both agreed on a mathematical solution using a single 2d-array would be the best solution (you can see this 2d-array representation in the debugger below).

With the code functionality solid I set out of re-skinning the components using some art assets I had from a past Humble Bundle.

Each of these Unity ScriptableObjects had names and descriptions, so next I tackled the Mouse hover display popover using another Unity Canvas.

Lastly I need a 3D world representation of the Item. I also needed a way to Pickup from the world, and Drop from the Inventory to the world.

A Game of Life in Unity

Took a little break from my Disc Golf Game to do a bit of AI programming in Unity.

What I ended up with was a simple Game of Life with rabbits trying to survive. Each rabbit has a growing hunger and thirst which if not addressed will result in death. The population is also broken into male and female rabbits which can reproduce.

Check out a couple minutes of the simulation running at realtime speed:

3D Disc Golf Game in Unity

Still working with Unity and Blender, now I’m use some of the knowledge I’ve gained to construct a physics based disc golf game.

At the moment I have 3 settings that effect the disc in flight (fade, lift and power), these settings can be seen at the lower corner of the screen, and can be changed using keyboard inputs. My thought is to use these as thresholds on different disc, then implement some sort of click game on each throw.