I hope you have all had a good Christmas and a Happy New Year, whatever you got up to. I spent the time with my family mostly, eating too much, playing games, and generally just having fun. Part of that fun was accepting that I was away from the office and simply couldn’t keep wrestling with the Xbox Living Dungeon stuff. I had to just put it down and forget about it for two weeks.
That meant that if I felt like doing some game dev stuff (which I almost always do), I was going to have to just play, and/or do a bit more on the little arcade arena game, Space Time! I did both in fact. I spent several days making Space Time work in almost exactly the same way as it worked before, except more abstractly.
So on the surface the game looks and plays almost exactly as it did in the version on Itch.IO, but under the hood things are now very different.
1.All the bits are bits and not a monolithic thingy:
Before the ship was one thing with the functionality of a Plasma Torpedo Launcher, a Mine Layer, and an Autocannon Turret. Now it is a ship, that HAS a Plasma Torpedo Launcher, and HAS a Mine Layer, and HAS an Autocannon Turret. That fundamental difference means that the ship doesn’t have to have any of those things, or may have multiple of those things, or even different things. The technical term is encapsulation, but what that really means is we can chop and change things going forward, add new weapons and possibly even different ships.
2.The Ship no Longer takes input from the controller:
This might sound counter intuitive, and in this process I certainly did a few things that were counter intuitive(for the greater good of course). Before now, the Plasma Torpedo Launcher waited for an action from the input manager which was directly taken from the controller. The ship movement did a similar thing, as did the turret, and the mine layer, etc, etc. There was even a nice state controller so that the ship knew which mode it was in and so which actions it could perform. That is all gone, including surprisingly, the state machine. Instead, the whole thing has been replaced by an entity controller that takes input, and passes it on to the ship or ship parts as generic instructions. This is a long term strategy that ties into the next thing.
3.The Ship is no longer the Player. The Player is no longer the Controller ID:
The second part of that statement was tricky to do neatly but what it means is that, whichever controller the player presses A on, that is player 1. Simple right? “Sure, but why on earth did you stop the ship being the player” is what you might ask if you had no become bored of my nonsense and stopped reading already. The answer to that is two girls one cup. Metaphorically of course. players can now select which ship they are so they can both control a single ship. Having a second player on your ship offers an instant advantage as they can man the turret while you fly about. They can also manoeuvre while you turn, or even shoot the main gun while the first player focuses on dodging. Longer term this also means we can add new functionality to the ship so that other players can do special functions or control different weapons.
It’s all very silly and very exciting, even if it did leave the temporary front end of the game in a terrible mess. Ah well. If any of this tickles you and you want to know more. Get in touch on Social media as usual. Twitter, Facebook, and Youtube . Bye for now.