I may go off the rails a little this week, because I’m struggling emotionally to do some things. I’m not having a problem working hard at all, just having a problem bringing myself to stop working on Space Time to do a few other things that need done such as dev diaries/ social media, and continuing the slow work getting the Living Dungeon fixed again. Doesn’t help that each new version of Unity makes additional minor bugs it seems. I’m kind of at a point where I’m seriously considering throwing in the towel on the old Living Dungeon, partly because of the dated code, and partly because my deal with another developer to do the PS4 version was delayed for ages and then fell through. A significant part of the reason being that I helped them get a much more lucrative project to work on so they then didn’t have time.
Shooting my self in the foot by helping people is not a new business strategy/experience for me. I’ve never claimed to be good at the actual business side of things after all. My career generally has been, I solve problems, and sometimes I even get paid for it… sometimes.
So Let’s go back to talking about the picture at the top. It’s a diagram of the generic ship structure in Space Time. Might not actually be the final one either. Just this week I moved the State manager into the Entity Controller to simplify the hierarchy a little. It also means I have a little more control.
The Entity Controller
This is effectively the where the player input, and interruptions to the player input go, before being sent to into functions. As you would expect, everything lower in the hierarchy doesn’t really know much about the things above it. They get commands, and also a few pieces of information passed down such as which team and ship the component belongs to. So the movement etc get told to do one of the things that the movement can do, and does it, unless of course the Entity Controller Ship State blocks that from happening, such as in the case of ionization, which prevents user signals getting to the movement system. This means if you get ionized, you are floating through space for a few seconds. This can happen through weapons or environmental effects such as this test ion pulse I created.
This section as you might expect controls the ships engines. It’s all physics based which is why you see ship firing rotation thrusters on and off as it calculates how to get to the chosen orientation vector. You can also use the manoeuvring thrusters to make fine course adjustments, but we evilly designed it so you can’t control orientation and manoeuvre at the same time. You can however, quickly choose orientation, then switch to manoeuvring and while the ship adjusts it’s self to face in the desired direction. Alternatively, you can have a co-pilot, because multiple players can control a single ship far more effectively than one.
Health in this context is the term I just misused to refer to the fairly complex ShipHealth, which is a child of the generic generic Health class. The Ship Health handles standard hull health, but it also handles shielding, and Ionization shielding/damage. It just does it’s job, sparkles, and then explodes, what more could you possibly want?
This is another simple tool that any ship may or may not have. It requests the list of possible targets from the Area Data Manager(A singleton that stores data about the area… and manages it), then does a finite number of checks against ranges and angles to pick a target that is the closest but in another team. It does this periodically, or whenever it loses a target for any reason such as range or the targets death.
These are objects that can be rotated by the player, within a certain angle, and at a certain speed. That’s it.
I’ve talked about weapons for the last couple of weeks. They shoot all kinds of things in all kinds of ways. They can be attached to the ship, stuck on a turret, or even fired as projectiles to then fire more stuff. If you want to know more, simply go and look at the previous couple of dev diary entries on Projectiles, and Beam weapons.. It won’t show you everything, but you’ll see the foundations.
The Dev diary is still a couple of weeks behind, and me being slow to update won’t help. Even so, I really do appreciate anyone taking the time to read what I write. Maybe it’s interesting, or maybe even useful in some way. Perhaps it’s just a good little bit of procrastination. Next week hopefully I’ll be able to face the demons of the past and get things working again on the Living Dungeon. At least up to a state where Josh can strike the final blow. After that though I have a little bit more tidying up to do on Space Time, and then I can finally move on to the next stage of the project which only a few people know about as I told them after they played the prototype. Specifically the the incredibly talented, and all round good bloke, Tom Elliott, and the Head of the Games Creation society, Giovanna Mateus. Hopefully all will be revealed if I am successful in the next few weeks and not to busy burning everything to the ground. Next week, depending on what I’m talking about I might even make a video. who knows, but social media might? Twitter, Facebook, and Youtube. Bye for now.