Monday, March 27, 2017

Dev Blog- Sea Trading Game- Depicting the wind on screen

The main accomplishment this week was to improve the loading screen, which now looks like this:





I also changed the intro screen, which now looks like this:

I've also been playing around with the angle of the camera. Here's a much steeper angle than is currently shown, just to give you an idea. I haven't decided yet what I will do, but it's at least an interesting perspective. Obviously if I do this then something will have to change with the text, but I'm interested to hear your thoughts.




The last thing I did was to fix a few bugs that have been driving me crazy in regards to dialogs. Principally, I changed the trading goods dialog so it all fits in the window, no more overdrawn images! I also fixed a few issues where certain dialogs wouldn't scroll depending on where the mouse was.

For this week, I'm going to continue to make visual changes. I feel like this is the single most important thing for me to work on, and thus it is my main plan going forward for the next few weeks. Expect lots of UI and graphical changes, and more images than text, for the weeks to come!

If you haven't yet, feel free to like me on Facebook, join my Google Group, subscribe to my Sub Reddit, or follow me on Twitter, where you are likely to get frequent updates!  

Monday, March 20, 2017

Dev Blog- Sea Trading Game- Loading Screen created!

I finally have a loading screen that actually works, as can be seen below. It took quite a bit of time to get everything running smoothly, but overall I'm quite happy with the progress! Take a look below at how it works!


As with last week, I found a number of other issues while putting this together, and was able to speed up the process a fair bit. There are 3 threads that are involved in creating the world, one that creates the textures, one that creates the world, and a third for the UI updates, which is the least used thread. I'm still going to try and improve it someday, but for now, I'm quite content.

This week I'm going to do some bug fixes, and probably some more graphical improvements. I'm hoping to get a reasonable demo of the game done soon, and maybe even a name!

If you haven't yet, feel free to like me on Facebook, join my Google Group, subscribe to my Sub Reddit, or follow me on Twitter, where you are likely to get frequent updates!  

Monday, March 13, 2017

Dev Blog- Sea Trading Game- Threading the world creation process

For some time, my game has taken about 10 seconds to load, and it has been left as a blank screen while that was happening. I've long wanted to do something about that, and this week, I was able to start tackling the problem.

There were a few different ways that I thought to try to make this happen. The first that I tried was using the Asynchronous loading for scene management. This works great if you have a large number of objects that needed to be loaded, that each object doesn't take a long time to load. That didn't mix well with my game's system, where the loading time essentially happens with one slow object being created.

The next system I tried was using a coroutine. This didn't work, as the UI thread was still locked. There was a somewhat related option left, although it proved to be quite difficult in the end. The solution was to thread the world creation process.

I should note that the entire process is a single thread. This made a few things easier. The largest difficulty was that Unity's random number generator only supports the creation of random numbers on the UI thread. I managed to work around this by using the System.Random engine, but it took quite a bit of work to get it all to work properly.

Having this system in place is somewhat meaningless if I'm not giving the player an idea of what the system is actually doing. In order to make that happen, I added debug code to my logs to start to test the system before I start to work on the UI. While so doing, I effectively profiled the world creation process, and I noticed that one particular part was taking 90% of the time. I was able to speed up this process considerably, and now the time takes only 3 seconds, at least on my computer.

This week I'm planning on working on the UI part of the loading system. I am hoping to also get a better game over screen in place, which I was also able to start working on in this week.

If you haven't yet, feel free to like me on Facebook, join my Google Group, subscribe to my Sub Reddit, or follow me on Twitter, where you are likely to get frequent updates!  

Monday, March 6, 2017

Dev Blog- Sea Trading Game- Improving the buying dialog, finishing tutorial

This was a surprisingly productive week. I had thought the release of a game I have longly anticipated might just delay my game development a bit, but it turns out I was able to accomplish more than I have in recent weeks! I started out by finishing the tutorial, fixing a few related bugs, and I ended up re-doing the contract selection dialog (Broker)


The Broker dialog, as you can see, has a full background now, compared to what it had been before. I also added the arrow, which will give you an indicator as to which direction the city is. The plus side is, you can plan now your routes better. I'm quite interested in your feedback. This was in response to a request that I had to show the map of the cities to let one plan our their routes a bit better, I figured this does just as well and is a fair bit less cluttered.


As for the tutorial system, I have set it up now to hold the complete state, which fixes a few bugs. I now have a reasonable tutorial, which I want to do some user testing with soon. I fixed a bug that showed up in the tutorial map where the zoom was stretched too far. Now at max zoom, the entire map can be seen horizontally, as seen below.


I also fixed a bug where the contracts were recreated every time one docked. Now the contracts actually have to wait a day before they are recreated. I'm going to re-design the internal system further at some point in time.

This week I'm going to work on bug fixing and UI improvements and bug fixes. I suspect my work might be further slowed due to the release of the previously unnamed game, but I'll still continue to chug along.

If you haven't yet, feel free to like me on Facebook, join my Google Group, subscribe to my Sub Reddit, or follow me on Twitter, where you are likely to get frequent updates!