After some RL-caused delays, another update is here! New version can be found in downloads!
All the old testing assets were removed, leaving us with one faction with original ships, tech tree and some illusion of balancing. This version contains two single player missions/tutorials. First is focused on commanding very small fleet and guiding it through mission, second is focused on station aspect of the game: building fleet, harvesting resources, research and fighting enemy AI (dumb script).
This release contains some weird crashes that don't even produce minidump (if they do, please send it to me!) and occasional desyncs. Game will try to resync, so that shouldn't be that big of a problem as long as it doesn't happen frequently. While annoying, I wanted to finally get this release out there, because it improves much more that it breaks.
In addition to this release, I'm organizing a multiplayer session. Initial plan is for January 16th, at 7pm UTC. Countdown should appear in this page's head. Goal of this is to gain some feedback, test it all out and potentially gain some collaborators! In case this time(zone) doesn't work for you, we can organize another session, e.g. during weekend, in the forums.
I cannot put enough quotation marks around word regular, so I won't try. Anyway, while I was trying to get some better tutorial mission together, I realized all kinds of crazy data structures are handy in script, so I finally done proper automatic serialization of script state. This took way too long mostly because it was quite frustrating, and that isn't kind of work you look forward to to be doing in your free time. But it got sorted out eventually.
One tutorial mission is almost done (basics of combat), and I would like to make another focused around building forces and fighting dumb AI (=simple script), before making another release. I also made damage models for most ships (excluding corvettes), which has small gameplay implication of spawning debris, which can be salvaged for resources. On that note, two support ships were added, one "support", that can salvage debris, repair or scrap nearby ships, and has some abilities, like transfer or drain energy. Other support ship is "research". Building it will speed up your research, but it costs a lot of crew (not yet sure if that matters too much). There is now basic tech tree that unlocks building of ships, so it has something to do. I also arrived to conclusion that having two resource types is too complicated, so I repurposed secondary resource to increase research speed. If it is on ship that can perform research, it gets consumed for boost in research speed.
Aside from that, I spent some time migrating project to new computer and upgrading to Visual Studio 2017, which included upgrading and rebuilding all used libraries, so that added to delays too. Another release should come soon™, with much luck this month, and I would like to accompany it with little multiplayer session (I'll post on forums to some thread with default e-mail notifications about exact time of that)
Biggest highlight of this update is a system which can create debris in Soil editor, if you do not wish to model it by hand. Only thing you must do is create some meshes which will be used as "debris carvers", assign them to explosions. This is mesh that will be booleaned with parent mesh (e.g. ship's subsystem), intersection will create debris and debris carver will be subtracted from original. This will probably improve in the future with some more visual fluff, but it is okay for now. This also motivated me to change rendering to support multi-material meshes, since that became super convenient with debris (and is now limited to this use). This whole thing comes with limitation that all meshes must be manifold.
I also done some minor rebalancing, which lead to two nice little additions. First is "compare" panel in editor, which will create another panel with some other stat so you see what parameters are on e.g. other ship. I believe this is very helpful, because I found myself doing screenshots to compare before... Second little improvement is that missiles and bullets now inherit parent's velocity, which got quite ugly after rebalancing. Rebalancing itself consisted of increasing speed of all ships and fighters to nearly double, which also prompted me to improve targeting algorithm because some problems arisen when things move too fast in certain directions (mostly when target was approaching turret at 45° angle). I also got rid of all old testing fighters and created new ones for Viridian faction. Another addition is missile destroyer, which already had a model, but now also has turrets.
Some other minor improvements consist of various bugfixes, one that could lock your keys when you pressed them multiple times during loading or some random stutter, other could prevent ship from being removed when destroyed if some other ship had it selected as fighter target. Last but not least is very minor optimization in how objects are stored, which should help when there are multiple battles going on, but doesn't help much if all is happening in one big cluster. As a bonus, I don't need to sort objects into lists of fixed sizes but can query for objects in certain radius, which is very welcome quality of life improvement, especially when dealing with arcane code...
Plans for near future include some more balancing work, adding of some big station to replace crappy makeshift one and possibly creating new tutorial mission. Other than that, I would like to implement some better SSAO, anti-aliasing and reduce a number of data used for multiplayer.
Another update is here and with it a host of changes. First, consequence free at the moment, is ability to store objects to pools at the end of the mission. Until now, this was possible only on warping out of ships. This enables doing stuff like returning to some mission in a state you left it, or perhaps something more creative. Several upgrades were done to turrets, including ability to choose what targets will turret be interested in (targets chosen by player, ship or by turret). This way, you can make turret not waste missiles or energy on targets not chosen by player, or have turrets ignore player's orders. Another thing you can choose for turret now is colorization of beams/bullets by player color.
Moving away from turrets, ships will now roll in a way to bring most turrets to bear on targets they are passing by. This will maximize damage done when frigates are moving around cruisers to get to their weak spots, for example. Also, ships now choose their own targets if none is picked by player and will turn to it when idle. Another change to ships is sorting of targets when ordered to attack multiple ships based on ship's type. Until now it was random, so frigate could first try to destroy battleship before corvettes... Last but not least, ships and fighter groups will now attempt some basic collision avoidance, which prevents ships and fighters from ramming their target ship endlessly if approaching from wrong direction, which was quite retarded when resource harvesters were doing it.
In a land of content, poorly balanced frigate and destroyer temporary models were added, based on preliminary concept art. Since shortage of artists is continuing, these are non-textured crappy models made by me. Seeing how 3D modelers are in short supply, I've been contemplating what to do with damage models, since that will be quite a lot of work. I'll probably try to make some semi-automatic system in editor, where explosion configs will be able to have some mesh attached to it, which will be used in boolean operation to bite a bit of mesh off to create debris. We'll see how that turns out...
So after much trouble with OpenAL I've managed to replace it by BASS audio library, which works like a charm. In the hindsight, using OpenAL was pretty much bad idea from the start, mostly because it is too low level for my interest in audio programming. Whether OpenAL is terrible, I have no idea. I used to be sure that yes, but it can very well be that I just don't know anything about pitfalls of audio and I ran into problems I had no idea about. Anyway, audio is fixed, works flawlessly (for now), and code looks much better.
Next thing that got fixed were some input issues (the faster you were spamming some key, the less it would respond). Apart from that, turrets got some better aiming skills (they used to aim from their center, now they aim from position where next bullet/beam will spawn). This should make more exotic turret configurations to work and not miss consistently.
In the land of content, we've added some corvettes and escort frigate (models are still only placeholders) for one faction. Hopefully we can soon start on some balancing, at least for one faction that has more ships. That's all for today and see you next year!