This week I continued to work on my ship detailed statistics by giving crew statistics.
Some of the key things are the moral, along with the number of days of food, water, and cash that you have on board. I’m not really happy with the layout for this, I’ll have to think over it a bit more as to what I’m actually going to include on the panel. For now it will do, but…
Next up is pretty clearly the mission panel, the only one panel that doesn’t have any information there yet. As previously mentioned, that will take a re-write of the mission system, which I will start to work on soon.
One of the things that has been on my list of planning improvements for a while is the missions system. Right now the system I have is very much tossed together, including stuff like hard coded mission types, no conditions upon which a contract is cancelled, etc.
As mentioned last week, I’m working on giving a status of the ship. The next thing after goods on my list was to show the missions in progress. That actually is proving more difficult than I would have suspected, primarily because I’m wanting to include different kinds of mission parameters that I actually don’t show in the dialog. So I’ve decided that I’m going to work on revamping the mission system.
The mission system will most likely have conditions for on success, on failure, and on accept changes that can happen. I have an existing conditions system which I believe I can adapt to working with this new system.
I hope to start working on this new system in earnest over the next few weeks. Hopefully I will have something nice to show by the time this is all done!
There is one major thing that I accomplished this week. I’ve been at it for a while, and finally, I present to you, perspective view!
The most difficult part of this was getting the minimap to look correct, which involved considerable rewriting of code.
The astute among you might also notice a new button on the lower left. I’ll leave the exact purpose of this button a mystery, but it will be the major project for the next week at least that I’m working on.
Not a lot else to really give you for now. Stay tuned next week for more!
I was able to accomplish a few things that I have long wanted to do this week. The key update was to overhaul the biome system considerably, converting a large number of code constants in to a config file. I’ve also played with the seasonal shader model a bit, and gave an indicator of the price system.
Each tile is assigned a Biome. The easiest way to see this is via the colors, as well as the tooltips that show up when you move the mouse over the biome, which will give the name. I have long wanted to assign biomes to the ocean and islands, which are used to figure out what resources are produced in a given location. Each plant, for instance, has a preferred biome. While I was at it, I also changed the moisture parameters to better balance the desert areas. In the end, this is what I ended up with.
Note the random “Tropical” seas that are lighter in color. I also added biomes for lakes and islands, so that northern islands will be different colored then other locations. I’m still going to do some tweaking, but that will come later.
I also spent time to set these up to be extended easily. While I haven’t yet set up most of these files to be modable complete, I have things set up such that they can be easily converted to a modable design. Things like new goods, ships, biomes, world generation parameters, and even goals will be able to be set up via some light modding, although I might not have how to do so well documented, at least at launch.
Another change you might notice in the above image is the top and bottom parts of the map are darker. I’ve added a system to take into account the lighting based on the axial tilt. To accomplish this, I did some tweaks to the shader. See it in action below.
Lastly, I wanted to give some kind of an indicator if a price is good when you are at a trading post. I’ve indicated “Red” for a bad price, “Green” for a good price.
As you can see, this particular port has cheap goods, which makes selling anything for profit as difficult. It will judge the prices against prices that you have actually seen, so be aware!
This week I’m planning on making the camera into a perspective camera. Just to give you an idea of what it will look like, here’s a snapshot of the progress. I’m also going to manage the biome localization, and possibly start working on the real world map.
I started a project this week that I’ve been wanting to do for a while. I’ve wanted to visualize how my world appears in terms of the key parameters I generate, namely the Altitude, Temperature, and Moisture, and to a lesser extend Wind. In so doing, I set a system to save an image of the world, which I likely will use in other places, likely for doing pre-generated worlds. Such an image looks like the following:
A typical world looks somewhat like this:
Basically I made the distribution of mountain peaks follow more of an exponential decay, such that the highest peaks are quite rare, leaving most of the land quite flat. Before the terrain was much more uniform, only slightly tapering off at the higher elevations. In other words, I tried to make it look something like this (For the above sea levels, at least)
The temperature mostly follows the latitude, but I have a parameter to tweak it by a number of degrees per km of altitude. Currently I have that set to 7, and I basically tweak it to preference.
Currently I do not have all of these parameters available for edit to the outside world, but I should be able to have them soon. Expect that coming soon!
Among other things, while do doing I fixed the bug that sometimes happened where there would be a very plain looking world, with little coastal features. While I might do a bit more tweaking of the world generation system, as a whole I am much happier with it now then I was last week!
The item of most concern with the world generation remaining is the fact that the moisture is still too high. I’m planning on working on that during the coming week, hopefully something will come out of it that looks much better!
I also did a bit of tweaking of the cost of goods, which should reduce some of the strange issues I’ve seen. Haven’t fully tested it out yet, but I’m happy overall with the way things are going!
I’m likely going to give away a copy of a class on Unreal Multiplayer development in one of my streams. Follow me on Twitch to find when I stream, and maybe you can win this course!
I’m amazed at the amount of improvements that I have been able to make after having playtested Colonial Sea Trader. It is a much improved game over where it was only a week ago, thanks to the good feedback that I was able to get, between being put in to the situation of having the game ready to play, playing it, seeing it played, and getting some direct suggestions from people.
Most of the feedback I personally collected was in the forms of bugs. I noticed a lot of things that most players didn’t, like the money could sometimes become negative, the load time was huge, the fonts displayed were wrong, and quite a few other things I noticed by watching people play. These I made some huge improvements on, and I can say that many, if not most, of these issues are addressed!
I already wrote a whole blog article on it, but I’ve improve the loading speed immensely! The load time now is only a few seconds, as you can see from the below game dev vlog.
The other big improvement is the price list, which now allows for selecting items to be prioritized. I also did a few other tweaks to how it looked, and you can see an example below:
For the next week, I’m planning on doing streams both Monday and Tuesday evenings, working on improvements to the selling dialog, some kind of a way to indicate if the good prices are better, some tweaks to the pricing model, and other UI type changes.
Aside from that, the biggest thing I’m going to work on is if I only want to allow moving to cities, and what that might entail. I am increasingly thinking that I will only allow moving to cities and other points of interest, and not just traveling to any point, but I’m not completely sure. At the very least, I will only allow moving to a city if a city is within a few tiles of a city. Let me know what you think!
As I’ve been mentioning for the last month or so, I had the opportunity to present Colonial Sea Trader at a local indie gaming convention, the District Arcade. It was a very interesting experience, and I learned a ton from it! It was quite encouraging to see people play my game, some of them for upwards of 20 minutes, and some of them better then I’ve ever played the game so far!
First of all, a few things that I wish I had done. I particularly wish I had tested more on my demonstration machine. I found a few issues that only showed up on the test machine on the day of the convention themselves which proved to be quite annoying, namely that it was far too slow, and particularly that reloading the game tended to just not work. I’ve started working on those, and I believe with only a little work I was able to identify the cause of the restart crash, but I wish I had done that before!
I learned quite a few things. I brought a notebook, and took two full pages of notes while watching people play the game. I noted areas that people clicked that didn’t do anything, confusing things that people didn’t understand right away, and generally speaking tried to help them to do the right thing. In the end, I managed to find quite a few things, of which I’ve already fixed about 20% of them.
The biggest thing that I noted that people wanted to do was to click the background to dismiss a dialog. The good news is, it now works!
Other items include continuing to improve localization support, fixing the minimap clicking that wasn’t working before, and making signs transparent if the ship is behind them.
Lastly, I fixed the scroll wheel support such that it isn’t as slow as it has been. I personally used other ways to scroll, so that was quite helpful to see.
To end on a positive note, I had at least 4 people who really seemed to like my game who played it, and quite a few others that gave some really good feedback. If you are one of those who played Colonial Sea Trader, I thank you very much!
This week I’m going to continue to tackle the slowness that happens on the start. I found some of the issues, but I’m not there by a long shot. I’m also going to consider adding some controller support, which should allow me to improve things otherwise.
I did two videos this week, one just showing the game play, and another sharing my experience in voice my experience at the District Arcade. Check them out below.
This week, as I suspected before, was a bit slower than I would have hoped for. As I mentioned at the end of last week, I made a trip to see the total solar eclipse (More later), which took much of my game development time for the week. Still, I was able to make quite a few changes that are smallish, but quite important. I do also have a bit of exciting news to share with you all!
The only visible change was adding a bit more decoration to the journal, as seen below. There may or may not be a subtle Easter Egg included, I give full credit to anyone who can spot it;-) Likely I will add similar tributes to others who have helped me to make this game possible, it’s been quite fun to do so.
As with previous weeks, I’ve been localizing more text. Most of this week’s changes were relating to goods, I now have most of them localized.
The biggest gameplay change this week was I lowered the time to move by a factor of two. It seems to make a huge difference in gameplay! I’m hoping to continue to do exploration in this field to improve the gameplay further! Particularly with some news that will come later on;-)
As mentioned previously, I made a trip to see the total solar eclipse in the US last week. It was really amazing, I recommend that anyone who can takes the opportunity to see one! One of the stories I heard while I was there was one that I had heard before, that of Columbus using knowledge of a lunar eclipse to impress the natives, getting them to do what he wanted to do. It made me think about how I could use this in Colonial Sea Trader. I think I’ve decided that some random events will occur that include eclipses, and will have some kind of an effect, which I’m still trying to work out. It should be quite interesting.
And lastly, for the exciting news! I have been invited to present Colonial Sea Trader at the IGDA DC’s District Arcade this year, on September 16th at Bravo Bravo in Washington D.C. If you are in the area, stop in and say hi, I’ll let you test out the game and give you a chance to provide some very direct feedback.
With the upcoming public demonstration of Colonial Sea Trader, I’m going to concentrate on getting as many updates to improve the gameplay as possible. The first was making things run smoother. The next changes will probably ensure that I have a reasonable distribution of land types, and thus good types. Stay tuned for more!
Lastly, I did post a short development vlog this week, check it out below.
I intended to work only on the journal this week. It turned out that while I did this, I realized that I needed to improve my localization support considerably. The previous method only allowed for the translation of entire phrases, which works for some instances, but not for all. To remedy this, I decided to allow for the insertion of words in to localization strings, as I have seen done in other places. This allowed me to add in stuff, like where you docked, goods you purchased, etc. I also started to work on a journal display, which I will be working on to improve quite a bit.
There are a few other things you might notice from here. The first is that I now have an official date entry, showing the year, month, and date. I’m still going to be including that in more places, but it is a start.
The other thing you might notice is that I’m now using color icons for the bottom right bar. I still am going to play with them some, but I think colored icons are better than the old mono-color icons I was using.
Previously I had only the barest skeleton of localization support. I now am officially using it! The localization dictionary is actually the first modable item that I am supporting. The script will come in a folder that anyone can change, should they so desire. When I have done more localizing of strings, I will give this out for assistance in translation, but right now it is premature, if anything.
No video this week, up until the last moment I was working on just getting anything graphical to show up, but I should return with a video next week.
This week I’m going to continue to improve the journal display, both in adding more items to the journal, as well as improving the display itself. I’m also going to work on actually localizing all of the strings in the game, now that my localization support has made it this far.
This week I did a lot of bug fixing from my last video, including ensuring that food can be directly purchased. I added the ability to use a number of interesting emojis, and have started using them. I made the goods table scaleable to all sizes, improving the look at full screen. I improved dialog to purchase goods as well.
One of the biggest things that I discovered when I added the good tables was that I have a pretty severe lack of resources available. Despite the roughly 30 goods available, I was only using maybe a third of them. Why might that be, I wondered? To solve that, I did some diagnosis of the number of tiles produced of what types, and what the cities that were produced were. By so doing, I found that I had almost no grassland produced, where many of my plants are programmed to start, and lots of jungle and rainforest type land. In a word, my land is too moist! Also, many of my cities are made on islands, and I currently consider islands to be a different type of biome, which I haven’t done a lot with. Bottom line is, I have a lot of things to improve in regard to the world generation. This will be high on my list in the coming weeks.
There was one bug I fixed in regard to the world generation. I had discovered that the poles were no longer showing as covered in ice, as had been done previously. To figure out what happened, I looked at images from this very blog over the course of the last month to determine when the bug was introduced. Knowing when it was introduced, I could more easily track down the exact problem, and had it fixed within 10 minutes. Keeping a blog can have many benefits!
The biggest improvement was to my price dialog introduced last week. I added some darker columns to improve readability, allow for it to be scaled, and removed items that aren’t actually available for sale anywhere. The bottom line, it looks like this now:
One thing the eagle eyed might notice is there is one icon that looks quite a bit different than the others. The sheep icon is new. I used the fonts from the Noto color emoji to the mix, and in so doing find a few nice icons for use elsewhere in my game. The sheep was one of the ones added. I haven’t decided on a final style for these, but more that I am looking for a temporary icon to give me something to think about in terms of the final style.
I did another video. I’m going to work on improving these videos overall, but these early videos are teaching me a whole lot, including what to include, how to make the video production work, and last but not least, showing me bugs in my game that I might otherwise miss.
All in all, it was a productive week! This week I’m going to start a new dialog, namely an activity journal to show what you have been doing, and what is going on in the world. I’m also going to give the procedural world generation a bit more thought, and possible start using that!