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.

Wednesday, September 6, 2017

Year 17 - Day 249

The sentient population of colonies is now increasing weekly based on the fecundity rating of the species. Currently I only have two types of "species" in the game: Human Colonists and Indentured Humans for the more evil players. There will be more to come.

Human colonists have a fecundity rating of 1, while their indentured brethren are rated at 1.2 for now. This is not to make an advantage for unscrupulous colony owners, but will probably cause them to have to jump through more hoops to keep the unwilling workers happier and under control.

Currently a colony checks each population group at exactly one week intervals to see what the fecundity rate is for that group of species and whether they should grow or shrink. The rate can be affected by morale, overcrowding (which also affects morale), and even certain items that have been made available to the population.

By way of explanation for this last feature, each colony governor will be able to Assign certain items as being given to the colony population at large. Each item can have different effects on different species. So an aphrodisiac for Human colonists may raise their fecundity rating, but may lower the morale of another alien species group at the colony, so can have both good and bad consequences.

I'm excited to be moving into the time where morale of a colony population will start to have a real effect in the game. I'm looking forward to creating new items and tech for these purposes. 

Monday, September 4, 2017

Year 17 - Day 247

I got a lot of coding done today on colonies. First I killed some bugs related to mining and the onscreen updating of the current stockpile. I left one variable in an equation that was doubling the rate calculated on the server versus what was being displayed by the player. That one took a while to find.

After that I've implemented the Priority rating for each colony module and made some updates to the Colony Overview screen that is the first screen a player will see when they click on their colony. The screenshot below is what it looks like in its current state. I've still got to add some more bells and whistles to the screen, but the button in the Man Hours section is fully functional and will appear when there are surplus man hours available and not every module has enough man hours assigned to it.

The button calls a method that will sort all of the modules by priority then moduleID in ascending order. So a module that is Priority 1 will go before a Module that is Priority 10. If two or more modules have the same Priority, which they will by default, then the oldest module will take priority, so the module with the lowest serial number.

If the manhours available ever drop below what is the current total for all modules, the game will automatically call a similar method that will run in reverse and remove man hours from each module until everything is rebalanced.

Power allocation will work in exactly the same way, and is the next thing on the list to be worked on after some more man hour tweaks.

Friday, September 1, 2017

Year 17 - Day 244

More colony work going on, and a little bit of work on some admin tools. I can now assign man hours to individual colony modules, and the lack of enough man hours for your Mining Module can now seriously cut into your hourly yield. Each species has a base amount of man hours per individual, and this will eventually be affected by the morale.

Because the amount of man hours, and eventually, power, at a colony can fluctuate, I'm working on coming up with a way for the player to prioritize which modules will lose labor or power first in case there is not enough. For now I think I'll let the player assign a value from 1 to 10 for each module, with the initial default being 1.

Then, when there is not enough labor or power to go around, the game will look at priority 10 modules first to make cuts, then work its way down to priority 1 last. In case of a tie, priority will go to the older module.

I'm also thinking about having morale being calculated for each group of species at a colony. So giving items to the colonists that makes the 1000 human colonists happy might make the 4000 Wookies unhappy and lead to bad things.

(No, there are no Wookies in my game.)

Friday, August 25, 2017

Year 17 - Day 237

It's been a while since I worked on the game, but I've been getting back to work the last few days. The first few days back always involve me going through the game as it currently exists and fixing some small bugs and adjusting a few things.

I've settled down to working on colonies for now, mainly the concept of Man Hours and how they are used throughout the colony. Here's a quick overview of how it will work.

Each sentient lifeform in the colony will be totaled up. This will not include named characters. Each species has a value for baseManHours. For Human Colonists, this is currently set to 0.9, although it won't likely stay at that number.

So if you have 1000 Human Colonists, they would currently provide 1000*0.9 = 900 Raw Man Hours that could be used to run colony modules or factory queues or mining operations. The final number will also eventually be multiplied by Colony Morale which could increase or decrease the final number. There will also likely be technology or special abilities that will influence these numbers as well.

Morale will be fairly complicated and will include such things as colony type and location, how often the colony is attacked, goods and luxury items given to the colonists, and also tech and special abilities to some extent. Morale will be allowed to go from 0.01 to over 1.0, so it can vastly help or hinder how efficient your colony is.

Below is a screenshot of some of the early work on colony population, showing the different Man Hours generated by Human Colonists vs. Enslaved Humans.

Tuesday, March 14, 2017

Year 17 - Day 73

Spent some time tonight working on comets and the Comet detail screen. Below is my current layout for it. I plan on adding some more information other than monopole density, but need to do some more game design around that first.

Currently comets are not seen on the star system map unless you've discovered it or bought the discovery from someone else. To discover a comet you'll need to be within one square of it when you perform a scan.

I'm toying with the idea of having comets also provide small amounts of He3 along with magnetic monopoles. This will make them a bit more interesting.

I'm really toying with an idea of having comets have periods in which they disappear and reappear from the system map. I need to game that idea out some more and see how it's going to work. Currently I don't have ships orbit a comet to interact with it, but may consider changing that. My only issue there is that it may give ships a sort of hidden base to orbit where other ships can't see them.

Thursday, February 2, 2017

Year 17 - Day 33

I've been drifting about working on some of the content design items recently. Tonight I got busy and after fixing a few bugs I created a screen to help me track IAPs and then created a routine to randomly generate comets for a given star system. Below is a test run for one corner of the Marvin(1) system. I've got a small bug on the Details section in this screenshot, but it shows results nicely.

I'll probably tweak the code a bit so that two comets won't show up directly adjacent to one another.

Comets will be places to harvest Monopoles and possibly contain anomalies and other adventure nodes. Comets will not display on the screen until you've discovered them by performing a scan within one square of a comet, or you purchase a copy of a scan someone else has done.

Thursday, January 26, 2017

Year 17 - Day 26

The last few days I've been working on various small items and polishing off some defects. I have taken some time to re-examine the colony mining code that I completed last week and decided to make some changes.

I had originally planned for a colony to have a Mining Module that could be upgraded to Level 10, and at each level a new Automated Mining Unit (AMU) could be inserted. Each AMU would basically produce the effective deposit yield, which would be affected by things like colony morale, damage to the AMUs, and the Mining skill of the Mining Administrator.

I realized this was just over-complicating things a bit, so I changed it so that each time you upgrade the Mining module it will take one AMU to do so. The damage multiplier will then be determined by the damage level to the complex as a whole instead of individual items making it up. This will also simplify the combat code later on when I add colonies to the combat system.

I also started coding the basic framework of Manpower Hours for colonies and realized I needed to rethink how I was handling colonists. Colonists are basically treated as "items" in the game as far as the code is concerned, but I don't want them to take up space in the warehouse of a colony.

So then I started thinking "do I want them to take up space in the cargo hold of a ship?" So now I'm trying to decide if I want to change it so that colonists and other life-forms have to have a specialized ship module and can't go into a Cargo Module. So it would be something like a Passenger Module, which is where any lifeforms besides the Crew on a ship would be stored.

One consequence of this would be that a newbie ship, which can only have one module, would not be able to carry both cargo and lifeforms, other than the crew in the Command Module. I'll be pondering this one for a bit.

Tuesday, January 24, 2017

Year 17 - Day 24

Wow, I didn't update at all in 2016. That's mainly because I made very little progress on anything. I've been back at it for a few weeks since the Christmas holidays and I'm beginning to make progress again.

Today I finished up a major component of colonies: Mining.

Any colony can build a colony module and upgrade that module to a maximum of Level 10. For each level you can install an Automated Mining Unit which will allow you to harvest the yield of the deposit the colony is sitting on. So if your colony is sitting on a Metals deposit that yields 10 / hour and you have a level 2 Mining module with 2 amu's installed you would be mining 20 metal ore per hour.

In the screenshot the deposit shown is much larger than it would be in the game. I want to make a conscious decision that it will be extremely difficult if not impossible for a colony to be self-sufficient just on the deposit it is located on. This should encourage trade and exploration. 

I still haven't implemented the Manpower functionality for colonies, but eventually you will have a certain amount of Manpower Hours based on your population and the morale of the colony. You can then assign those hours to various modules and their efficiency will be determined by how well they are staffed.