četvrtak, 19. rujna 2013.

Orbital habitation

Back in version 0.3 I've been thinking about adding orbital habitation feature that would allow players to populate moons and even planetary orbits. For the rest of the post I'll refer to moons and orbit as just orbit. I ditched the idea because I couldn't come to terms how farming and mining should cooperate with the feature. Should there be a limit how many miners can exploit the planet, should there be penalties for transporting goods from surface to orbit (because there is such penalty when building ships). Splitting colony to two, one for each "plane", would help organize the matter but brings another question. Since surface and orbit would be very different in productivity and construction costs,  should there be different building queues for each "plane"?

Recently I thought about bringing orbit back. Thing is, I wanted to make gas giants feel different from normal "rock" planets. Orbital habitation seamed as the nice tool to achieve that, normal planets would have a small orbital area compared to a surface while gas giants would have it other way around. Logic was that gas giant "surface" would be actually surface of it's moons and a "orbit" would be the gas giant itself. But same questions from 2 years ago made me to ditch the feature again. Instead I'll bring gas giant moons directly into play.

Firstly I'd like to add special traits to all planet types. Traits would be mainly negative stuff like acidic atmosphere (increased environment hostility), active vulcanos, large mountains (less inhabitable space). Occasional there would be positive effects such as active core (less radiation) or fertile soil.

Than I'd add moons in place of gas giants. Each gas giant would be represented with cumulative surface of it's moons and traits that partially affect colony, simulating diversity of moons. For instance Jupiter has 4 moons "worth of notice" so it would be represented with 75 size points (75% of earth sized body) with vulcanic (Io) trait that affects 1/4 of colony, water world (Europa) trait that too covers 1/4 of colony and some gas giant specific trait like cheap fuel (faster ship resupply). What partial trait coverage means is not decided yet. In the simplest case it would be simply reduced normal trait. In a more complex case it would kick in when colony starts to utilize that part of moon system. For instance Io's vulcanic trait would start affecting the colony once it's population grows beyond 75% of maximum with increasing strength as population reaches 100%. I'll decide it when I start implementing planet traits.

ponedjeljak, 16. rujna 2013.

Development topics

According to Ohloh there has been a lot of activity on the project lately. Most of it went to implementing techologies.

On GUI side there are only development topics but that was enough to drive that many activity. First there was mockup and stub form. Then custom control for items in topic list had to be created. It required view related data (image, topic name and level, development cost) which in turn required controller class which in the end required model data. Model data consists of three parts:
  • Static data: technology name, description, image, cost per level and prerequisite technologies
  • Game state data: researched level, invested points and priority
  • State change data: new priority
Static data and change data are new "flavors" of data and both required different treatment than game state data and tinkering how to implement. Speaking if radically new stuff in the code, there is an image cache feature on GUI side. Game model (core) is only concerned with image path and it's up to view to load it and store it. Image cache is, as you might have guessed, an associative table that translates paths to images by either loading them from disk or by returning already loaded ones.

That's all cool but what is new for player. Well, you can look at pretty pictures and rearrange them :). Being able to invest points requires three big things: colonies, system governments and turn processing. I think I'll tackle colonies next.

Also there was some polishing. System view can be panned left and right, texture atlas bug fix and new feature and textured wormholes!