Saturday, June 23, 2018

Year 18 - Day 174

Way back when I was first designing this game I knew how I wanted the planet surfaces to look, but I was still struggling on how to display asteroid fields. I wanted them to be rich and complex, and it finally hit me that I should display them in a similar way to how I do planets. Unfortunately, I didn't take the idea far enough at the time and realize that asteroid fields were displayed exactly like planets, so I wrote two separate pieces of code and different database tables to handle them.

Now I'm going back and rectifying this situation, but it's involving a significant amount of code remediation. At the same time, I'm applying some of the better coding habits I've learned over the past 5 years or so and trying to beat this huge pile of crappy PHP code into shape. It's a lot of effort, but should make implementing the rest of the game and debugging it much easier going forward.

Wednesday, October 11, 2017

Year 17 - Day 284

I set out to just add a simple feature on the ship screen to show what a square with a purple outline meant. The purple outline means you've done a mineral scan on that square and there was nothing on the screen to indicate what it meant to the player, so I was just going to add a purple square off to the side and put a label that said "PSMS Peformed" next to it.

I realized that's not really exactly what I wanted to do, so I was off down a rabbit hole adding new functionality before I knew it. I already had a popup area that showed when you were over a colony on the planet, so I wanted that same popup to show the results of lack thereof for a PSMS (Planet Square Mineral Scan). While I was doing this I realized I had designed the database tables badly with too much overlapping information, so I ended up dropping several columns and adding some to other tables and then had to go back through all the other screens to see what that broke.

In the end, when you scroll over a planet square with the cursor that has been scanned, the information will now show up, as seen below. I think it worked out much better than just putting a purple square on the screen and then you having to go to another screen to see what was up.

Sunday, October 1, 2017

Year 17 - Day 274

Not many major coding changes this weekend so far. I've mostly been killing some more bugs and adding a few minor features I'd neglected previously like sending a report when your upgrade your ship and also adding it to the ship log.

I did finally figure out how I'm going to make Ship Morale have some meaning in the game. I don't want to take away someone's ship just because morale has finally hit rock bottom, but as the ship's morale heads downwards it will affect the crew's efficiency so tasks will take longer. It will probably be in brackets instead of just using the morale as a percentage multiplier. So once the (1 - 100) morale goes below say, 75, things will start taking longer. Maybe a 10% slow down at that point. Once it hits zero you can probably look at things taking double the normal amount of time. 

Morale will still have a major effect on combat, and you probably don't want to try Jumping to a new star system with a ship whose morale is in the gutter. It's not good to be sloppy when entering jump space.

Granting Shore Leave at a colony or space station will improve morale tremendously on a ship, although it will be a 12 hour or so action and cost the ship money, most of which will go to the colony owner, depending on the level of the Entertainment district at the colony. Just letting the crew blow off some steam at a mining outpost with no Entertainment district will help some, but some of the larger colonies will have higher level amenities that will top that morale quickly.

Wednesday, September 27, 2017


I made a decision today to drop Radiation as an overall stat for a planet, moon, or asteroid field. I think it will be better implemented as an individual "hazard" for a specific square of those objects. So if you're scanning a planet square you may discover while reading the report from your science officer that the square you just scanned has "higher than normal radiation levels" or somesuch techno-babble. This means more work for the world builder (me), but I think it will be better in the long run.

Monday, September 25, 2017

Year 17 - Day 268

As I peel the layers of the onion back while working on the colony design and coding, I tend to come to a point where I need to go and work on something else in order to fully develop what I've been working on.

I recently came to this point with colony population growth. I need to figure out what the survivability factor is for a given colony on a given planet, and I realized I never finished putting in all the descriptors in for planets. I had only added Atmosphere type and neglected to add Gravity Rating, Radiation Rating, Temperature, and Tectonic Activity. I may leave that last one out from the general planet description and just add tectonics to certain locations on the planet for the sake of simplicity. I'm also going to add a rating for the amount of sunlight or luminosity that is reaching the planet's surface, but that will be a calculated value based on the distance from the sun and the atmosphere and will require more research.

I did some research looking for planetary temperature ratings systems and found this site:

A Thermal Planetary Habitability Classification for Exoplanets

which offered a great system for rating the temperature of planets that is very authentic and geeky at the same time. So I lifted it whole hog and added it to the game.

Here's a screenshot of what I have so far. I still need to add the other values and I'm toying with the idea of doing a redesign of this screen where I move the top info container over to the left side.

Wednesday, September 20, 2017

Year 17 - Day 263

Lots of bug killing going on the last day or so. It turns out that when you start actually testing your game like you were a player you find all kinds of problems. Who knew?

I recently created a new mining outpost and transferred some human colonists to it and it has generated zero ore, so there's something I've missed in the outpost setup or the mining code.

Still, there's some good progress going on, even if my Trello board is starting to get pretty crowded with work to do.

Monday, September 18, 2017

Year 17 - Day 261

Still working primarily on colonies, and making progress and killing a lot of bugs along the way. I found I had designed and coded myself into a bit of a corner at one point last week, but after talking it over with a friend I finally came to a decision.

I want there to be a clear advantage to building an "Open" colony on a world that will allow Human Colonists to live without very much life support. So an Open Colony will be cheaper to construct in materials and will allow 5 Module slots per level. A Domed Colony or a Space Station will be more expensive to construct and will only allow 4 Modules per level.

The problem I ran into was that I had Five basic modules that I wanted to be in a mining outpost: Mining Module, Warehouse Module, Habitation Module, Nuclear Reactor Module, and a Landing Pad. I needed to get this down to four modules if anyone wanted to build on an airless moon or an asteroid, so I decided to get rid of the Landing Pad. This means that loading/unloading will automatically take two times as long at a colony without a Landing Pad, but it also makes some sense in game turns as well. A newly built Open outpost will also not have a landing pad, but there will already be an empty slot where one can be built if so desired.

Here's a picture of the first Domed Outpost that was built entirely within the game by a landed ship. No database manipulation was required.