Wednesday, 19 November 2014

It's time for another update this one I will detail some background data structure changes I've been working on and why. Also I've done a first pass on textures for a station and the freighter.

I've also updated the module status GUI details too, still unlikely to be final but better than just plain text:

Most of my recent focus has been to get shipyards implemented. To do this I've had to restructure some the custom objects I was and adjust the way the were linking to each other too. This really highlighted to me why programmers often do data design first and will layout all the data they want and how it will link with other data. I think it would save quite a bit of work if you get it close to right first time... oh well I'm still learning :)

Now I might get a little technical in data structure terms but read-on if you're interested!

This first involved the 'Ship' type, originally just had the single 'ship' object and that was working well but as I planned how stations were going to work I realised it's going to work a lot better if a create a parent object type called 'unit' then 'ship' and 'station' will be a subtype of this. the unit object would manage selection, scaling, combat, etc as these actions are shared with ships and stations. Ships have unique functions for movement, internal damage (may change later), designs, etc. Where as stations can have sectors for research and shipyards (can add production stations later too if I decided to), constructions and has a different base type for design\stats. I've completed most of this work now and have the base station type working correctly ready for expanding the functions for stations!

The other structure change was the 'Market' object.  Previously this was linked to the planet object as each colonized planet would have a market. however I now wanted markets for shipyards so construction materials can be delivered with my current trade logic and orders can be placed etc. Again this involved changing a lot of the way markets were linked and created. Now Markets are just linked to the grid directly as anything on grid can can share a market if it exists (don't want to have inter-grid trading as that is been to fiddly). I'll even create a market on grid for consturcion of ordered stations, probably a limited market so corps don't start placing random orders for items in open space, but it will use freighters to deliver station parts to the construction site without having to change much of the trade logic.

Next I'll be working on the GUI, orders and building functions for shipyards. this might be a time to revisit my ordering GUI as I want the planet and shipyard order menus to be the same and current planet one I don't think is very user-friendly. This probably goes same for the market menu, I'll have them shared and current version really needs some work to be more useful.

I've also done some adjustments to galaxy generation keeping planets a bit closer to their parent star and changed the lighting\brightness to reflect this. There has also been plenty of little additions or balances I've done as I've noticed them :)

Now on to ships and texturing... one of my least skilled jobs but still learn some tricks as a I go. though I'd say if I get anywhere with this project a texture artist\modeller is probably the first outside help I'd jump at. Here is first pass at the freighter I was doing and WIP for the station. So neither textures are finished but at least it now looks better than no textures at all.

These were taken in editor so don't show specular maps or proper lighting.

As alway happy to hear any comments, queries or feedback anyone may have to offer?