Sunday 17 May 2015

Performance, Python and the glorious battle of the Spherical War Cows.

I really wish I could tell a lot of things I have achieved in the past weeks, but I rather save it for the next update.
You know, sometimes life happens, but there is a couple of things I have got.


At the moment it's absolutely possible to run a text-based version of the game, but aiming proves kind of difficult by typing cartesians, especially without visual representations, also I have discovered that my choice of keeping the single parts of it that separate also has it's merits, since the BGE still seems to have trouble with some Graphics Cards, left alone multithreading.
At this point, there is one single module containing about 12 functions that connect the 'game' to Blender's OpenGL 'Game-Engine', and with rewriting said module, the whole thing could virtually be ported to any other front-end over night, especially since I had to rewrite parts of how it handles physics since - it turns out that Bullet is rubbish for simulating orbital mechanics. Who would have thought.

After browsing the Kepler star-catalogue, and a list of known exoplanets, I have decided to ditch the procedurally generated galaxy in favor of our familiar local bubble, simply because it's entirely possible, and games like Elite set the standard. Now the function that used to place stars with one of three algorithms, written to create appealing star formations also places stars the 'boring' way, by picking coordinates and names from a save file (rather than rolling dice), meaning that random generation will still be an option, hence not the default one.

The jump from february's version to may's also revealed how combat might feel in the finished game, in short - there ought to be a detailed tutorial, because the mechanics I decided to put in are pretty unusual, and can potentially become very complex. Imagine slowly rolling your ship to distribute incoming laser-heating and therefore prolonging the lifetime of it's hull while sacrificing the ability to effectively dodge big kinetics, or shielding your radiators with your ship's hull, potentially rendering some of it's turrets less usable.

At the moment it begins to look (Hey, I'm curious as well) like a bizarre cross between Starfleet Battles, FTL and Tower Defense.

Further decisions - commanding multiple ships will probably happen more often than initially planned, with detailed control only being available for the player's ship. Reasons for that is the expected complexity of micromanaging one ship, and the general survivability of the player.
Difficulty will be resolved by a Space-Opera slider in the options menu, probably similar to the difficulty settings seen in the Silent Hunter series, with high settings in Space Opera making instakills and heat death far less likely, while they will probably be the norm on lesser settings. This ought to be intensively tested though, especially since potential instakill sounds like a real no-fun thing to me.

Depending on how friendly life is to my time within the next weeks, we might even be able to see the first playable demo emerge.

Wish me luck.