Lived 3D

Technical Art Ramblings

  • BLOG
  • Privacy Policy

SeaBomb - Collect All the Things!

A Matter Of Substance

Looking back over my last blog post, and reading “Coding [the item system] wasn't that big a deal”, as well as “[coding] isn't where the cost lies.” I can safely confirm, that I am indeed an idiot. Sure, the art creation would have been heavy if I hadn't done all that work. However, since I set out to add items into the game, it's been almost 8 months. My actual time estimate on the feature wasn't terrible. I'd guessed roughly one month worth of work, which when you break it down is about 160 man hours. However, I'd never really factored in that I'm only truly likely to get about 5-15 hours of work in a single week done. One month of work for me, easily blows out into months when done outside office hours. Definitely an expensive feature.

Gif of items

Laying the Foundations

Having said that, I'm glad I did it. As I said before I love loot crawling games, and have always wanted to make one. Additionally, tackling this feature to a shippable level of quality has forced me to address a tonne of holes in my engine. I've had to implement:

  • Substance Designer integration into my build pipeline.
  • Optimise my build pipeline, so that only changed files build.
  • Ensure my font renderer works with custom fonts.
  • Create a system for 2d transforms.
    • Add a system that allows 2d objects to dock to each other.
    • Add a system that allows 2d objects to dock to the bounding sphere of 3d objects in the world.
  • Crash reporting for release builds.
  • Ray tracing through my collision system.
  • UI icons for buttons and keys.
  • Implement a first pass on save game.
  • Add multiple path finding targets.
  • Add a generic interact system.
  • Re-factor how controls are assigned to different systems.
Gif of item use

The list goes on and on. Long story short, I actually now have a pretty solid foundation to move forward with for my game menu screens, and general game flow. Additionally, new UI features like enemy health bars should be relatively trivial to add to the game now. Further more, the Substance work will help with creating all of my levels and enemies.

Of Items and Inventory

So what have I wound up with? A pretty neat player/item system I think! I can add loads of different weapons that assemble themselves randomly.

Gif of inventory use

Additionally, the player in now made up of item parts you can pick up, which makes the ship fairly customisable, both visually and for different play styles (glass cannon, vs the tank). I've also created a nice in game experience for viewing dropped items, and equipping different things on the fly. As well as an Inventory screen that allows you to manage your items while the game is paused. Not a bad effort really :) Now I just need to get on with the rest of the game!