UpdateFebruary 11th, 2017

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...

Fixed audio and moreDecember 14th, 2016

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!

Derpy models!October 29th, 2016

So I've made some basic models based on concept art and we now have original ships in Soil! Granted, they are pretty terrible 3D models, but they are only placeholders to get us started, so who really cares. Balancing is pretty bad at this time, so that needs to get ironed out, probably after we have destroyers and frigates. We also have voice casting for ships, so they will respond to your orders (this also needs some tuning, as there are too many reports, especially when large group of ships finishes orders, and only reports on single frames are grouped right now, so it can get pretty weird)

Apart from this, not a whole lot was going on. Some bugs got fixed and some more surfaced, especially related to sounds. This also prompted me to finally replace OpenAL by some library that doesn't suck as much in the near future.

Big Ol' UpdateAugust 28th, 2016

Another update is here and it didn't even take ten months! And yes, this means this project is still alive and kicking, well, alive anyway... So, what happened during all those months? Let's take a look!

The big part of why this update took this long was splitting game update and rendering code into separate threads. Now this wouldn't be so damn hard if I had kept those things separate in the first place. So there was some refactoring that needed to be done, which lead to another refactoring, which lead to... yeah, you guessed it right... Anyway, what this means is that game is no longer locked in 20 FPS, but can run as fast as your GPU (and horrible code) permits, yay! After like two years I spent with it in the lands of 20 FPS, only after I've seen it run 60 I realized how utterly horrible it was (except for mouse pointer, I always knew how atrocious that was). Refactoring also tends to bring new bugs, or unearth hiding ones, so some time was also spent at cleaning those up. All is not finished though, as there are still some places where movements are not properly interpolated, which causes some jerky movements (if you run 60 FPS, you have 3 rendering frames per 1 game update frame, so you have to do something to make it appear 60 FPS). (side note: there are also some issues with input, which doesn't work well if you press the same key really fast)

Was all that time really worth the effort? Hell yeah! But wait, there's more! To justify this long update, we'll throw in something extra! Let's see... Well, there is fix to music mentioned in the last update, but it happens that now it sometimes fail for different reason. Maybe something to do with multithreading, but OpenAL docs are so piss poor they don't even mention threads, so yeah. Whatever made me choose that damned thing that doesn't bother throwing any errors at me... it's getting dumped as soon as I have time for it!

Now to the new things that actually work (I hope so anyway). There were some minor changes to script that no longer requires you to do reference counting but automatically sets your variable to null if object is destroyed or warps out. Arrays are now serialized as well, which should be quite useful (so far, no support for multidimensional arrays...). You are now also able to send information and units from one mission to another through persistent data.

Moving away from script oriented features, what's new is rebindable hotkeys, because you certainly don't want to be stuck with whatever crazy hotkey scheme developer came up with. Last but now least, something that will help me more than you, is generating minidumps on crash. This is a little file that you can send me, alongside log, when your game crashes and there is a non-zero chance that it will get fixed! Super convenient! What this also means is that saving game every five seconds to reproduce is no longer necessary, which caused noticeable lags if there was too much stuff. It also wasn't 100% guaranteed to reproduce the issue...

So, that's about it for this update. There wasn't much progress in content apart from concept art, so yeah. Speaking of which, I've taken it onto myself to take some time off programming to make some temporary ship models just to have something and I can only hope they won't be too insulting to the original concept art... so sorry for that in advance! They are meant only to test out how they will work, with their layouts and turret placements. So there might be an update within a month or two with some content update. Ha! I've got you there for a moment didn't I? or did I?

UpdateDecember 21st, 2015

Half year passed since last update. Coincidentally, that's how previous update started... This time however without updated game client. As it turns out, there are some bugs in my audio code and OpenAL doesn't really give you much info about what's wrong, only that something bad happened. Even better, OpenAL doesn't always fail when it should, which is even more fun. Thanks to that, for a long time there was a wrong system in place that appeared to work, except that music sometimes didn't start playing. It used to happen only once in a while, but few days ago it started to happen in a pattern that helped me tracked down the issue. It turns out that OpenAL will allow you to create whatever number of sound sources, but after you exceed some number, creating further sources may or may not succeed, which is that weird and annoying part. So until that is fixed, new release will be postponed. That also brings us to the good news section!

Good news is that we now have awesome original music, so far comprising 3 tracks, one for ambient, threat, and combat situations. This is also why bugs in audio are that much more annoying. Continuing good news, we now have new additions to the team in form of two concept artists with some great ship concepts so far. Speaking of which, we are still looking for some 3D modeler to get these rolling out and turn this into something playable.

Onto code updates! There were changes made to how GUI works under the hood that wasted a lot of time, but were necessary to retain my sanity when making changes to GUI visuals and new functionality. Oh yes, it was that terrible. GUI started as makeshift piece of code that got the job done and was expanded over time without much thinking about future and slowly evolved into this huge unmaintainable mess that was all over the place. Anyway, that's taken care of. In the department of new features stands rudimentary research system. It is working and all, but some nice visualization of tech tree will be needed before I would call it finished. New to the game are unit voices, so now ships can respond to your commands and comment on the ongoing battle and such - Homeworld style. So far there are only proof-of-concept notebook built-in microphone recorded crappy lines, but that may change soon, probably even in the next update. There were also small improvements like fighter/bomber behaviour so they will follow your orders in a more intelligent way, multiple ships able to dock to one subsystem and possible minor things I don't remember (time to start that changelog, right?).

Page: 123456