04/07/2016 – Happy America Day!

Although being in Northern Ireland, there’s not really much reason to care.

Not a long post today, mostly just gonna talk about my project. Progress is going well, albeit a bit slowly at the moment. The itch.io page has links to the development long if you’re looking for specifics. That said, I want to talk about feature creep and individual systems taking more time than they should.

The latter first. So a system I’ve been working on a sub-system that picks that an enemy distribution pattern in the game based on the player’s progress. This has taken me a good two weeks to get to the point where I can get something to work, and that mostly comes down to me overthinking its implementation. When I first thought about it, I wanted to build a system that read in from a text file and would generate all the waves of enemies in the game from that. There were two problems with this system:

  1. Each spawner in the game world can take a variety of arguments that defines speed, timing, and what object is spawning. Because of that, if I was to get them, each spawner on screen could require a minimum of 3 arguments. Which considering there could be a dozen or so on screen at anytime, that ends up being a lot of overhead, which Unity is terrible at handling.
  2. In relation to the first issue, I thought a good way to negate it would be to use asynchronous game objects to handle it. However, Unity being Unity, didn’t make that particularly easy. Specially, the more recent versions of .NET allow for Async reading of text files. But Unity, being .NET 3.0, doesn’t have this option. So I had to abandon that idea. The alternative was to use threading, but I’ve never really had much experience with it, and at that point I figured it was more effort than it was worth.

So in the end, I made a hard coded variant that just told the spawners in game what to do. Currently I’m altering that version to take the update cycle into consideration.

Feature creep is something I’ve commented on before, and I’m not gonna say too much on it. But basically, I went from have two notes on my whiteboard to having 5 of them, all filled with additions I want to add to the game. My notebook is also full of them. What’s happened is that I’ve come up better ways with how I want to game to play, but without noting anything technical of how I want to build it.

To be fair, the biggest set of notes is just a list of game modifiers. Regardless, there’s probably stuff I’m either going to cut, or this game is going to take longer than I would like to make. Guess we’ll find out.

Right, that’ll do for now.


P.S. Gaming Den post soon.