Working on polishing command mode, it is going pretty well, there’s actually not a lot to do here, though this week has been fairly unproductive, I’m easily distracted and low on productivity – hoping that the weekend brings a change in this.
The goal/plan is to release iter 14 within two weeks – that means cleaning up command mode. I’m ready for it since I’ve been off on some tangents.
I’ve spent yesterday and today re-working transport ships. They now show the pods that they carry instead of the “invisible” cargo bay method of before. Getting the pods to attach to the ship was the easy part (though there’s a bunch of “invisible” stuff happening during the actual “attachment”). They now appear attached to the ship at the proper place, and detach somewhat visibly from the parent ship when the transport ship is at its destination. The annoying part was having to re-work a lot of the existing transport ship code that treated cargo in a very generic – just a number – way. Things got a bit more complex, because now ships have a set number of attachment points, so “cargo bays” couldn’t be as generic.
The thought that keeps popping up in my mind is how much transport ship stuff is there going to be in the game? The funny thing is that transport ships were one of the earliest types of ships in game, but players have seen the least of them since they’ve been not quite ready for a while so I’ve excluded them from releases, now they are getting closer to finished, so I’m hoping that they become a sizable part of the game – having spent a bunch of time on them.
I mostly finished up the explosion enhancements – having them push and damage objects. Created some funny “unintended consequences” while testing – such as infinite explosion loops. What would happen is – I’d have an explosion damage nearby objects – in this case an asteroid, which would spawn baby asteroids as a result, that when they’d explode would damage the parent asteroid. Infinite loop of explosions and thus a hang up of the game – have to be careful with these guys.
Then I jumped off to begining of re-doing the docking mechanism, previously docking was handled via a distance check – when a marine ship collided with an asteroid base that it was intent on capturing and if the marine frigate was within 30 units in distance of the docking area, then the marine frigate docked with it, but this method isn’t very precise. So instead of a distance check I’ve created an invisible collision object (just like the explosion area of effect invisible collision object) that waits for a ship to collide with it, this object is located at the docking tube, so this is now much easier to predict and more precise. This will lead to better docking mechanisms, potentially allowing the player to dock with bases for trade, story, capturing, and other purpouses.
After this I went back to command mode – I left it a bit because I became frustrated at the now much more complex control mechanism, but I found a better way and am very satisfied with the current state of it. Also I’ve updated some of the commands to be more intuitive – for example for the “go to or move” command – before I had the player use the A and S keys to move the go to position left/right, but now I changed this so that the mouse left/right movements do this, I think this is better and easier. Feeling pretty good about it. But now we are coming to some of the annoying polishes and more decision making. I might jump off to another area before tackling command mode again.
Here’s a new video showing off the current state of “Command mode”:
What do you think? I think its off to a good start, it is funny how these things evolve and how excited I get followed by the inevitable realization how much complexity even seemingly simple things need when I get into the guts of it. A lot of small issues have been resolved, but many still remain. I’m also hitting up against the control issue – meaning that now there’s ship mode controls, tactical controls, and now command mode controls. Each of these share some keys in common and have unique keys for unique actions, argh… I’m running out of keys – because I’m trying to keep things strictly left hand on keyboard and right hand on mouse… now this makes me wonder how left handed people will deal – well there will be keymapping don’t worry 10% of humanity But with these challenges overcome eventually I think command mode will add that something extra special – which is the lifeblood of this project, trying to draw people in, giving them options and a new twist on one of the oldest genres in gaming.
Off to explosions – I left command mode in about 1/2 polished state because I was a bit frustrated by the little issues, and wwanted to do something quick, and surprisingly this time the something quick actually turned out to be something quick. That something was getting explosions moving. When I say explosions I mean anytime a bullet or missile hits something or when an object (eg: ship) explodes. Before the little tweak (that took about 2 week day nights) hits and explosions would be still, and this would mean that if a ship is moving, and that ship gets hit, then the little hit effect would be left in the dust behind the ship, now they get their momentum from the object hit so they faithfully follow along. Its something that players might not even notice, because it just makes sense, but if it was in its old state, I think people would feel that there is something wrong.
The neat thing about the little explosion tweaks, is that in doing them I prepped explosions to be more sophisticated, leading to the goal of having “area of affect” explosions – basically an explosion that damages and/or has an effect on another object. Imagine a large ship blowing up, and that explosion’s shockwave pushing smaller ships away. Or imagine a weapon that fires explosive rounds that have a similar effect. Pretty excited about this, just another neat little thing.
Wish I updated this blog as much as I thought – man I should update the blog… Anyway while working on “multi turret mode” which allows the player to control more than one turret at a time – I realized that creating a seperate “command mode” doesn’t make sense. Multi turret mode is really command mode, but with the addition of issuing orders for the ship. The camera is already zoomed out a bit, and allows for 360 view around the ship so its only natural to extend multi turret mode with other capabilities for commanding the ship.
In a way command mode is a hybrid between ship modes and tactical, you can fight like in ship mode, but you can also issue orders like in tactical mode. The goal being of creating an interesting way of controlling large ships, so instead of moving the mouse and waitnig for the large slow ship to turn, you issue a command for it to turn, then you can controll turrets and pick targets while the ship turns, its sort of a task based auto pilot. You issue a command and then are free to control the weapons. Pretty excited about it – because without it large ships would be no more than large versions of small ships, thus making them somewhat pointless to even include in the game as player controllable ships. Hoping that command mode changes this.
I ran into a few problems, I wanted for the player to be able to issue a “maneuvering thruster” order, basically tell the ship to ascend/descent thrust right/left/forwards/backwards etc, struggled a bit with the coding behind this, but about an hour ago I figured it out, the problem is related to the ever present 3dness of the project, when there is no up/down/left right you have to translate positions to simpler terms where there is up/down/left/right – reletive to the ship that has to do the maneuvers, so that it knows which thrusters to fire. Hoping that the maneuvering thruster one day will complement ramming spikes/shields/maneuvers Maneuvering thruster’s are also important in terms of AI – right now its not very bright in certain situations, but with maneuvering thrusters ships will be able to more easily – dock, go through gates, and even fly in formation.