At long last, I’m starting to have more realistic looking worlds. I tried a number of techniques to generate the worlds, I ultimately settled on something similar to Jon Gallant’s procedural generation in his blog. Here’s an example of one such world created:
I still have a few kinks to work out, but I’m happy overall with the design! The ship is now randomly placed. The world is now cylindrically mapped, meaning you can move almost seamlessly from the left hand side to the right hand site. I’ve made quite a few other changes as well, it’s starting to look like a real world!
On tap for this week is to continue to make the land more realistic. I’m planning on adding texture to the land, make islands unique. I might add in costal land, which might have some hazards associated with it, I’m not sure yet. I will add in a lakes feature, which will cause them to look different than other locations. I’m also planning on tweaking how the land masses are created. Another large problem is the city distribution, which has way too many at the poles, for instance. As you can see, the current pattern shows some promise, but it isn’t quite what I had in mind. There’s also a whole host of performance issues that I’m planning on working through. Stay tuned for more!
This week has featured a number of internal working updates that don’t really show, but make the game easier to maintain, and will eventually lead to a number of cool updates, including the ability to extend the game. What I’ve done is put the configuration of the in to a config file. A separate config file is used for the tutorial as compared to the main game, and I’ll likely add one for debugging to make that easier as well. Bottom line, this should add quite a bit of flexibility to the game development, and hopefully save me some time going forward.
One interesting thing I did as a result is to make the cost of goods to be more realistic. There are a number of factors that go in to the cost, but it’s much more realistic now. No more will gold be half the price in cities a few squares apart! Also, the difference in the buy/sell price within a city for different goods is related, and regional as well. I’m not quite sure how it will all play out, but it seems to be working well.
I’ve also started to make more realistic randomly generated maps. This is still very much a work in progress, but things are starting to come together. I’m looking in to two different methods for map generation, I’m working on getting the prototypes together to see how these look before I move on to incorporating them further. I don’t have anything to show yet, but hopefully by next week I will have something.
So this week added a few features that don’t at first glance seem huge, but definitely make the game feel nicer. The most noticeable thing is that the graphics have changed for pathfinding to be something more curvy, as seen below. I had quite a bit of help from this article, thanks Catlike Coding!
The other changes are more minor, mostly in trying to load things easier, with one notable exception. Resources can now be seen via the map. Right now it only works for Fish, but the same thing should apply to other areas as well.
I’ve also been tracing through some Unity issues.
On the plate for this week is continuing to improve the look and feel of the world. I’m going to do a bit of behind the scenes work to make my testing easier, and then start making the world feel more realistic with things like labor costs, regional resource costs, and maybe even a more realistic map.
This week I’ve made a lot of progress! I started out by making the ships easier to manage, which allowed me to add some fun features, such as a wake moving behind the ship.
I also updated the right panel considerably. The goal that I’m working towards is to have it include more information in a way that is easier to digest. Here’s an example of a city (Note that I’ll eventually include images for the various items, instead of the blank white boxes currently included)
Here’s what it looks like for a ship:
The last thing I’ve done is to make the edges a bit easier to notice when dragging
I also started a menu system, which is very rough for now, but it will bring me in to the desired game mode. I’ve also released a new preview of the game, as I’m getting to a transition phase, I want to get some more feedback from the public to see what you all think of it. Check it out at this link. I suggest you choose the tutorial mode, the game mode is still under very active development, and doesn’t really do much so far!
Overall it’s starting to come along, I’m finally getting beyond the proof of concept stage, and in to the real meat of the game!
Goals for this week are to improve some of the graphics, and to have a way to show resources on the map like fish densities. Maybe I’ll even get to my long desired name for the game, which still eludes me.
This has been another productive week. I started by putting in a pattern for the wind patterns, that follows a few circles around the center, making it easier to test out new algorithms. I started the process of procedural generation by putting the fish count per tile. I did remove the “Drunk Sailor” effect, replacing it with a more subtle error generation, that I will be tweaking in the short term future. Overall, the game is really starting to progress!
The biggest change I did was to add in realtime path generation. The graphics for it aren’t great, but the effect does work well. Notice the path that will be taken updates as I move the mouse around.
I also changed the way the ocean was displayed slightly. I’m still not perfectly happy with it, but it is coming along, and I’ll probably leave it alone for now.
The most exciting thing for me personally was that I started the process of procedural generating a world. Specifically, each tile now has a psuedo-random amount of fish, so certain areas will tend to get more fish than others. I haven’t set it up yet, but I intend to have the areas near the poles have fewer fish than those near the equator.
The next few weeks are back to working on UI elements. Two areas that I primarily intend to focus on are improved graphics for the realtime path generation script, and improving the display of information, including city, captain, ship movement, and other related items. I will add in a few plugs that make using a real ship model easier, and depending on the time, I might even put in an improved ship model. I also want to break out the “tutorial” mode from the main game play mode, but I’m not sure if I will get to that. Should be exciting, in any case!
This week has been a behind-the-scenes work, while I’ve been adding new features, they aren’t as showy. Specifically, I’ve been focusing on the abilities of the crew. These have proven to be more challenging than I thought they would be, but have resulted in a more robust system overall.
The first thing I’ve focused on is the ability to fish. This falls under the attribute “scavenge”. Scavenge simply put is the ability to use the resources of the land to make ends meet. What will happen is the food will occasionally be increased as one moves. Eventually some tiles will have more fish than others, but for now all tiles are the same. Eventually there will be a land scavenge ability, which will primarily be for water, some for food, and possibly even for goods, but I haven’t gotten there yet.
Next I added a crew salary. No longer can one take a ship around the world without some consequences. There is no penalty for negative cash, but it is possible.
Lastly I’ve focused on the navigation ability. In doing so, I found a few bugs. One was that there was a memory leak such that after moving around for a while, the game would slow to a crawl. That issue has been addressed. Next I’ve added less than perfect navigation. I’m still tuning it somewhat, but the effect is comical. This is one of the better examples, I’ve seen instances where the ship essentially goes around the complete board just to go a relatively short distance.
In adding this feature, I noticed a small bug in my pathfinding navigation that was compounded by the abuse that I added in my navigation code. I’m still working on resolving that issue, but when it’s done I expect the pathfinding to be smoother. I also plan on adding a preview of the path the ship is expected to take prior to starting the pathfinding. Lastly I added the ability to traverse over land, although it takes a considerable amount of time. This is realistic, as ships are sometimes ported across land to maneuver a small channel.
This week I have been quite busy, doing UI/ niceties to upgrade my game. It’s starting to take shape, and become something that I’m quite excited to have progress!
The most notable change is the ocean now looks more like an ocean, with slowly moving waves moving in and out. Here’s a sample of what it looks like (Forgive the sudden jump when it moves back to the beginning)
I’ve also spent some work getting the ship’s movement to look more realistic. The effect looks quite nice, and I am happy with it for now.
I’ve also improved the selection dialog for hold selection, as seen below. The boxes are now outlined with an “inner glow” of sorts, which improves the effect.
This week I will continue to work on the Captain. Specifically, I hope to start to show the effects of having a good captain from a poor one. I might continue a few UI elements that were started, but not finished, from last week. And if I have more time, I’ll start working on generating more realistic maps than I have before, although that likely will take a few weeks.
This, as promised, has been a week where I focused on the UI, as opposed to adding new features. I have made considerable changes, and I’m happy with what I’m seeing.
The biggest change was that the UI is now improved. You can see how things look below. In particular, note that one can now see a mini-view of the ship in the upper right hand corner. In addition, moving the mouse over objects will show information about that tile. I’m still trying to get some of the information more compact, but it is working for now at least.
There also have been a number of less visible changes. I changed some of the back end UI elements that make maintaining labels for cities easier. It also improved the look for when those labels overlap. I’ve pushed out the name of the captain, and the cash each ship has, to the front screen.
Coming next I’m hoping to improve the way the tooltip works. I’ve got a better idea of how to do things, but I haven’t gotten there quite yet, it will take some work. I’m also working on improving the hold selection process.
This week I put in a few changes that haven’t fully been realized, but will start to be over the next few weeks. The biggest change is that I now have working supplies, that have a number of days that count down to show how much food and water is left. These changes will allow for a more realistic ship trading experience. So far there isn’t any consequences of not having enough food or water on the ship, but that will come soon. It seems to be working, so far, and I’m excited for the day when this works as realized! Note in the image below that as the ship moves, and time passes, the food and water both count down.
There are a number of reasons that I haven’t added the consequences yet of not having enough food. One of the big ones is that I want to to add a crew to the ship first. The crew will have abilities, such as fishing, that will make a difference in the rate of supplies going down (They might even increase supplies somewhat). I’m still working out the details of exactly how that will work, but it is coming alone nicely.
I have decided that I am going to alternate, a couple of weeks working on new game features, and a couple of weeks perfecting game features, and working on general user interface issues. I’m hoping this will keep the game moving along, while still keeping a focus on UI.
Next up I’m going to do some more work towards making this an actual game. Right now I have what I think will work reasonably well as a tutorial. There is a lot of things that I’ve taken short-cuts for that I don’t really want to do in the main game. I’m going to start breaking out the game into a tutorial mode, and a non-tutorial mode. I suspect this will take some time, but I have a couple weeks. It’ll be nice to see the game taking more form!
I’m sorry to say there isn’t more of an update this week, but some weeks are bound to be slower than others I suppose. This week most of my time has been spent tackling supplies, which proved to be harder than I thought it would be, and thus taxed me to my limits. I’ve now come up with a method for doing so fully, and started putting it together, but it will take a bit of time unfortunately. I should be able to have something this week, however.
Aside from that, I did fix a few minor UI issues, the most notable being that the text labeling cities appears in the correct order. This small change proved quite difficult, but I was able to get it in the end. You can see below what my final version actually looks like, note that the ship is above the labels of the city, but the city labels are above the cities.
This week I should be able to get supplies working to some extent. I’m still trying to figure out how I’m going to represent these as UI elements, but I’m getting there, slowly. Until next week!