Tutorial map & Master server

Tutorial map & Master server
Tutorial map Every game needs some sort of instructions on how to play. In Dog Fight we just had some images explaining the gist of the game. But Trains & Things is a more complex game. I also wanted to provide some form of basic scenario/campaign system so those that are keen could make single player event driven maps.

My initial attempt at a tutorial was all hand coded into a single script file, but I eventually cleaned it up and have broken it down into a nicer event system which can allow for a script to "listened to". It is still quite basic but provides a simple framework for setting up a campaign. Knowing how to program in GDScript is required however.

Today I managed to sit down and leave my coder hat for my bro and I stole his artist hat and put together a tutorial level. With a brief introduction to blender, by my bro, I was away and modeling cliffs as you can see in the picture below.

Master server: Matrix & Social buttons…

More Terrain

More Terrain Last time we discussed the terrain pipeline, particularly the height and normal map generation.

Well, as a test of the new pipeline we have attempted to upgrade our old Texas prototype map. As I have been doing this I have also been working on documenting the whole process of making a map:

I have found the pipeline for terrain still inadequate. While if you got the perfect texture straight from the GIS software it would work well, but if you want to run your height map through some image editing software, this was not possible!
The reality is there is no image editing software that really supports a 16-bit pipeline. We found issues in both Gimp and Krita.

As a result we have gone back to using 8-bit textures for the terrain and tried adding some smoothing in the code.

I've also added in some very quick and dirty multi-threading of the terrain to allow it to load quicker. Other improvements are that the terrain…

Going back in time

Going back in time It been a long painful one this time around. We have stepped back in time to fix up some of our old projects, so lets jump in and tell you what we have been doing over at bitshift.

Dog Fight As we have recently updated our company name, I decided to dig our our previous project: Dog Fight. I figured it should be easy to just pull it out, update the version of the Unreal Engine it is running on from 4.11 to 4.18, change the splash screen with our new company logo and possibly add Vulcan support (which we hoped to release with but never made the cut).
Unfortunately I have forgotten how painful and slow using the UE4 Engine was/is. I've wasted a good half a week just trying to get the game open in the editor. The frustrating part is that it takes so long to do one thing, and if you do not get it right I need to go back and try again - which has happened a lot! But at least I now have this running on the latest UE4 engine but have put this on hold.

QLaunch I updat…

Vehicle Edit & Clone Support

Vehicle Edit & Clone Support We are having a LAN with mates soon and want to test out T&T with more than 2 players. On that note, we have been sprinting towards ironing out the final big pain points.

What would that be you ask?
I'm glad you asked... seeing as I planted the idea that you in fact did want to ask in the first place! If not, tough! But you already know as the title has given it away: Bug free (I hope!) support for editing a vehicle's route as well as the ability to clone a vehicle.

The vehicle panel (left side of the screen) has some snazzy looking tool buttons that provides access to: (1) locate and follow the vehicle, (2) edit the vehicle, (3) clone the vehicle, (4) delete the vehicle.

Clicking edit or clone will bring up the dialog you see on the right which shows where the train will stop and what will be unloaded and loaded at each stop. This is now editable once the vehicle has been setup, which should allow for some good micro to optimize profit!

Pain point iteration

Leveling System  We have been continuing our "pain point iteration," that is, playing the game, finding pain points - things that are painful to endure when playing, fixing them and repeating the process. Again we sat down as a team on the weekend and had a multiplayer game of T&T. Once the game was over we discussed what is the biggest thing that needs to be improved?

Surprisingly we came away feeling that the game was really fun and well balanced. It caused us to have to think about where and when we built, to watch the wallet and to ensure we were encountering profit before we proceeded to attempt to expand.

The biggest pain point was that the only way to expand was to expand to other cities and develop resources all over the map (lets call this "horizontal" gameplay). The cost of horizontal expansion is significant which leads to a mid game economic slump. The early game we have the bank to give us enough of a loan to get up our first resource chain to de…

Dialog overhaul

Now that setting up a train is a really lovely experience, we sat down and had a few games of multiplayer so that we could identify the next major pain point when playing Trains & Things.

Surprisingly, it boiled down to fighting with the user interface - we were always moving windows around and they would always end up in crazy positions. Especially when playing in a window and resizing the window. They would even vanish into the ether and we could not rescue them!

Our initial UI design philosophy was to have dialogs as we knew from the get go there would be a lot of information the user could dig into. We figured that allowing the user to lay this out as they liked would be great!
But here we see the ideal depart from reality. The theory is great, the practicality is vastly different.

We again talked about what different games do thing well, and why they are done well and those games that do them bad and came up with a new solution to the problem: Let the game pop panels in from …

Mod support & Train config

Whats going down in code land? Mod support Lately, I have been working on mod support. I wanted to get this done early in the piece, so that modders can start working their craft.
Also I want to get feedback from modders to help improve my code API for them, and so would rather do this sooner rather than later.

For example, in writing the "Example Mod," which will ship with the game I wanted to replace the train with a customized version. To do this without any modifications to my code would take 5-10 lines of code. This was overly verbose, and as a result I modified my game code so that I could do it in 1 line of code.

The tricky bit with modding at the moment is that of breaking backwards compatibility as I continue to work on code. This is the bane of modders - when a developer goes and radically alters their code breaking mods. Unfortunately there is nothing I can do here except provide good communication over what has changed and why.

For research, I looked at Factorio…