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…

Master server

The new master server code is up and running!

In Dog Fight we used the Unreal 4 engine, which provides its own master server, which I assume is located at Epic HQ somewhere. But Godot has no such built in feature.
I came up with the interesting idea of using IRC as my master server as I noticed many free IRC servers. I hobbled together a master server implementation based on IRC by implementing the IRC protocol in Godot. I found this took a long time to connect to the IRC servers as there was quite some handshaking going on.

Sometime later, my brother stumbled across a great Godot plugin written by vurpo, which adds C++ support for the Matrix IM protocol. I then dropped this plugin into my project and have had only chat support for a long time, and this caused my IRC plugin (and hence the master server code) to become broken.

Seeing that I have had some time recently, I decided I wanted to finally get this sucker working again so I don't have to keep joining my multiplayer games …

The end of hibernation

Well, study is finally winding down as I finish my degree. That means I now have time to resume work on T&T.
Since last time I haven't done much apart from keep an eye on on the Godot engine watching it become more and more stable and getting in a few of my own bug fixes.
My computer blew up which was well over 5 years old. I have built a new system: a Ryzen 5 1600, RX580 and a 29" ultrawide monitor. This thing is such a dream to work on.
As I write this up, I am doing a build which is making out all 12 threads at 100%!

See full size
First thing I have worked on is to get the latest Godot code and get T&T working again as the engine API is still in flux. The closer Godot gets to a release the less and less this will change.

I am also looking now at working getting the master server working with the Matrix IM protocol. Previously I was using IRC as a chat and master server system but it took too long to connect to the IRC channels. Matrix is much faster, and I have pus…

September, 2017

A really quiet month this month, just getting a bunch of engine fixes pushed into Godot.  Godot is become more and more stable, but keep changing their API's so I'm also trying just to keep up with them.

Starting the new semester has my priority at the moment, so I expect things will be quite for the next 10 weeks before I can get back on track.

August, 2017

Welcome to August... in case you haven't realised it is now August!

This last month we have been working on a social media frenzy! This means setting them up to actually look nice! I've also spent some time trying to get the word out about our game, but definitely have more work to do here!

We have taken a step back from development to plan and think about some of our ideas and trying to flesh things out more.

For example: should train tracks be allowed to cross over each other? Do we let the trains stop for each other, or do we do a collision system where you can allow tracks to cross but it will risk trains colliding, unless you do it properly and build a bridge.
How should the actual bridge laying mechanics work? How do we automatically handle them raising over obstacles (other tracks) vs just going from the start point to the end point.

Another example: the research and development system. We want to do this but how should it be implemented? A standard tech tree we don…

Trains & Things Official Announcement

Build a logistics company from the ground up using trains, planes and automobiles in this real time multiplayer focused economic strategy game.

FeaturingMultiplayer via internet and LANReal time economic strategyManage a logistics companyBuild railways, airports and roadsTransport numerous goods to meet supply and demandCustom map and mod support Media

Head on over to the Trains & Things website to see some full sized screenshots.

Connect with the community@bitshift we have been working hard on developing Trains & Things. We are wanting to open up our development to you, the public, so that you can stay in the loop and contribute. We want to form a community around our game, we want you to take what we make and modify it, add to it, have input in to it.

So, follow us on Twitter or Facebook where we are currently posting monthly blogs. Or join us on our matrix channel
Looking Forward  Towards the end of this year we are looking…

July, 2017

We've made some good progress this month. We have a game now that is starting to look like a game. We have ploughed through a number of godot bugs that have been holding us back.

Audio has started going into the game. Some nice polish is starting to occur, we now have configurable options! We also now have the game up and running on windows.

As we have crushed the major obstacles in our path and have a game now worthy of screenshots. So now it is time to officially announce Trains & Things to the world.

This means we will be taking a slight break from making games to telling people about what we have been doing here at bitshift.

Head over to the trains & things website to see a whole host of new information and screenshots!