Showing posts from 2017

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

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 mult

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,

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

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. Featuring Multiplayer via internet and LAN Real time economic strategy Manage a logistics company Build railways, airports and roads Transport numerous goods to meet supply and demand Custom 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 

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!

June, 2017

In the land of 0's and 1's (The code department) The heavy stuff in regard to circles and lines is now coming to an end. It is all working really well and makes laying down a track very easy. There are still many bugs at the moment which will be ironed out over time. While I have done some *cough* Factorio research *cough* in my spare time to work out why trains are such a pain to use in that game I stumbled across this great video: Right! Enough playing around. Also because we are working with godot 3, which is barely alpha. There have been a few show stoppers, one is that we can't write custom shaders so have had no terrain textures since we ported over. I got feed up with seeing bland terrain so have forked the engine made some changes, submitted a pull request and done some more C++ to allow us to make out own terrain material! This means we have terrain textures back in. We also are doing some profiling as we are getting some strangly low perfo

May, 2017

The march to Godot 3.0 L33t-Codez There has been much reworking of the track laying system. We are moving from splines to use arcs (aka...circles) and lines. This change was needed due to performance of splines. To find the length of a spline for example, one must sub divide the spline into an appropriate resolution set of small lines then compute the length from this. Using arcs and line segments gives an exact distance based on geometry. This also helps those with OCD as it looks very neat. It also helps laying rail over bridges which was previously very fiddly. Wading through the maths of it all has been rewarding and at the same time, pushing one to insanity.... As part of working on this new track laying system, I have also changed the system to allow the player to be able to build anywhere. Previously the player was required to build a track off some existing track, junction or train station. The new method makes things less clunky and gives the player far more con

April, 2017

Well its been a good month but a long month. We have been working on a variety of tasks. Firstly, we have a new company name renaming our company from Black Carbon to bitshift, and we have a new website to go with it, previously we had none! Which you can check out here: As part of this we have started setting up social media accounts and would love for you to follow us on twitter , reddit , blogger and facebook . On our new website we have our previous project: Dog Fight , which is available on Steam . There is also a page for our new super secret project: Trains & Things.  So what have we been working on in regard to Trains & Things? Here we have been nailing down the build processes and pipeline, resolving some issues as we go along and preparing the code (at github ). We want YOU, the community to have access to the bulk of our code and assets for modding purposes and if you would like to contribute to help hasten the project along! Those w

Social Media Test

Testing the automatic posting of social media! Have a nice day.

Website Upgrades

We continue to push forward on the website. We have a few more technical hurdles to overcome before we roll it out. Keep an eye on the site over the next few weeks. Or subscribe on twitter, facebook or reddit. is now ours!

We have decided to rename our company from Black Carbon to Bit-Shift! We have also scored a new domain and website. This should be up and running in a few weeks as we fit around study and work.