Monday, September 26, 2016

Sea Trading Game- Distributing seeds, goods

One of the biggest things that I've been struggling with is how to distribute the initial set of skills, and seeds. Historically, plants really only existed in a small area of the world, and were distributed from there to other locations. Domesticated animals were fairly easy to transport, and often moved significantly from place to place. Skills often existed in only a few particular locations, although they often could be spread significantly from place to place. How was I to model this?

What I decided to do is to allow for a number of "seed" locations. The seeds will only exist in certain biomes. The seeds are given to certain cities to start with. There are a number of locations that is specified to create each seed. The seed generation is set to have each city have a good chance of having a seed. Skills work in the exact same way.

I'm still trying to decide how to transfer these seeds from place to place. As it stands right now, the seeds will only exist in a single location, although I'm probably going to allow for seeds to spread to nearby cities, although exactly how close I haven't determined yet.

I also worked on speeding the game up, and was able to fix a few long-standing issues to speed the game up. See the results below.

As of right now, I have one last objective to go until I can start populating goods. That objective is to allow for using multiple input files, to spread out the load a bit easier, allowing me to share XML files between configurations.

Once that happens, I can start mass producing goods! I've been playing a free game called Dwarf Fortress recently, and through it been thinking about how I want to have goods actually work. I've long been wanting to have a huge system of potential goods, and I think I have a better idea of how to make it work after playing DF. Still working out a few details, but it is most certainly coming along!

Monday, September 19, 2016

Sea Trading Game- Trust Factor, Upgrade Buildings, Automatic flow of goods, prefer closer cities for missions

This was a week of a whole bunch of little fixes. There are a number of little things that I needed to do in order to start adding more goods. That is the major milestone that I'm working towards at this moment. I was able to finish almost all of them.

Fixes this week include:

1. Transporting people will actually cause a loss of talent and people from the original station, and bring that to the new location.
2. Goods now will flow automatically, albiet rarely, from city to city.
3. Missions now have a preference towards closer cities, not having to go so far out.
4. Automatic good and people transfers will prefer closer voyages as well.
5. There are more types of buildings in a city. These buildings will be mostly hidden, at least initially, although I have hopes to include them in a photo of the city. These buildings will allow for the production of various types of goods in addition to what they currently do.
6. There is a trust factor. If you complete many missions for the same location, then it will tend to trust you with more cargo.

I also did an appraisal to review every time in code that I have listed an item as needing to be done in the future. Many of these I was able to do now due to updates I've made in other locations in the game. I did add an action item list to keep track of all of these things, and moved a few of the higher priority ones to the top of the list!

This week, on my agenda, is to prioritize a bit more my to-do list that I captured this week, to do some speed enhancements by object pooling, and to finish a few upgrades that I need to do to allow for entering goods. If I get all of those changes done, then I will start with the fun stuff, namely adding goods. I'm hoping to include a LOT of types of goods, my goal for this initial pass is maybe 30-40, or even more if I can make it happen.

Lastly, I'm going to leave with a request for some feedback. One of the things that I think is the least clear in the game is the ship dialog. Part of that is the poor graphics, which I've included below. I'm very much in favor of changing just about anything. Please let me know what you think!

Things that I'm looking out for:

1. I would like to have different types of holds.Currently I have hidden compartments, very secure storage, two types of passenger cabins, and a generic hold, plus an area that isn't set up for anything. I'm considering more options.
2. Some goods will prefer certain types of holds.
3. The ship should be configurable.

Right now I have the tile based system seen above, where each section of the hold can be independently configured. I was hoping to someday make the outline of a ship out of this somehow, but I haven't quite figured out what I want to do. I'm curious to see what ideas you have. Thanks!

Monday, September 12, 2016

Sea Trading Game- Improved missions, pathfinding speed, trade goods in the background, and better population distributions

This has been a pretty productive week, and once again I'm starting to really make some good progress. My list of things to do is mostly relatively easy, except for the re-balancing which no doubt will be a long term task, and adding new goods. I even put out a test build to my Google Groups test group, although it has plenty of problems.

One of the first things that I did was to allow one to see more missions in the "Broker" screen. This proved to be relatively difficult, but it is now working as expected.

The next major task was to try and improve the frame rates, in particular when doing pathfinding operations. I did quite a few changes, including many updates to my C# A* I released to Github. All in all, I improved the speed by about 5 times, which reduces the lag considerably in the game!

That being done, the next task was to increase the mission level in a logical fashion. While no doubt I will need some improvements, including letting the user know when they have achieved a new level, levels are now in fact being updated behind the scenes. The effect of this will be to gradually increase the size of the cargo of the missions, which ultimately will allow for making more money. I'm still no doubt going to tweak the system somewhat, but it is coming along nicely!

People and goods now will be  moved around spontaneously. This will keep cities fed even if they can't produce food, for instance. It's still a primitive system, but it is coming along nicely.

Lastly, I improved how people are managed. People moving will actually transfer skills when moving from place to place. Also, the number of people in a given location is more realistic.

For the next week, I'm hoping to do a number of small systems on my plate. The most difficult of these changes will be to allow for goods to be manufactured in buildings, for things that require such buildings. Finally, I'm going to start working on a more realistic set of initial conditions, which should come together nicely. If I manage to get all of that done, I'll start adding goods, which you can suggest for possible credit in the game, especially for unique items!

Monday, September 5, 2016

Sea Trading Game- Making missions more meaningful

After making my ship move around the screen, the first thing that I did was create primitive missions. These missions were randomly generated, and didn't really mean anything at all, aside from a way to earn some money. That, however, has changed this week.

For those of you who have been around a while, you may remember that only one mission was ever assigned at a time. That is now quite different. Look at this one random collection of missions now created:

Note that there are a few missions to carry passengers, but most of them are to carry cargo. There is a third type of mission that I have defined, to bring cargo to the point of origin.

Previously these missions were completely randomly generated. Now they are based on a few things. People are more likely to want to leave a city if the moral in that city is low. There eventually will be consequences for that city, but for the time being, there isn't. Next, if there is a surplus of goods, then the desire is to send them to other locations. If there's a high demand and low supply for something, then it tends to request that you bring goods of that type to the city. They also will affect the supply of goods.

While I was going through this, I also overhauled the process of buying/selling goods. For once thing, I noticed that selling goods didn't increase the supply at the location the goods were delivered. I also need to improve the display of missions. The dialog doesn't work well with multiple missions, among other things it doesn't scroll, so for resolution challenged screens not everything can be seen. Last on my list before I can really do a new test build is to improve some algorithm speeds behind the scenes that result in a noticeable lag, particularly when docking with the first city.

Beyond that, I still need to do a lot of tweaking, things like adding new goods. If you would like to help me with that, please do! I have a google form set up to accept suggestions for goods to include. If I receive lots of help, I might even list you in the credits for the game!