Posts

Open-sourcing Trains & Things (and our other projects)

Today we have some exciting news! We are open-sourcing Trains & Things, as well as all our other projects. As many of you may have noticed, development of Trains & Things has crawled to a halt. A few things have contributed to this. Firstly, me and my brother (that is the whole bitshift team infact) have both recently got married so our free time to work on hobbies has been reduced significantly. Then we have been stuck waiting for Godot 4.0 (in particular GDScript 2.0) to become stable enough to use. As a result, we have decided to open up all our repositories to the public so that they might be able to finish what we likely cannot. Although we will possibly tinker on our projects from time to time we simply do not have the time we once had. The easiest way to find the repositories is to head to our website: http://bitshift.rf.gd/ Down in the footer you will see a link to GitHub and GitLab which will take you to view all the bitshift repositories. Our bigger repos are stored...

Moving to bitshift.rf.gd

Just a super short update with 2 pieces of info: (1) We are moving back to our previous hosting in order to cut hosting costs: www.bitshift.rf.gd (2) We are still waiting for Godot 4 to be stable enough to be able to release the 0.4 update to Trains & Things. I suspect this is still a long way off unfortunately.

Slow progress towards 0.4

Image
Our last blog post was over a month ago, how time flies! As our regular followers will likely know, bitshift is a 2 man studio, me (Fabian) and my brother (Bronson). We have both been super busy recently and have had little time to work on Trains & Things lately. Some of this busyness comes from the Corona virus and looking after family. Some from work and some from other life things going down. On the programming front, 0.4 is about ready. The company panel overhaul is complete! But what exactly does that mean you ask? It means we have reworked the whole of the company panel to be sweet. The major part of this is breaking it down into tabs and the finances tab involved breaking down the game internally storing revenues and expenses for each quarter instead of just showing you a block of revenues and expenses since the company had begun. This means you can tell each quarter very quickly if you are improving or not. New company panel W.I.P Also here we have removed the op...

Working towards 0.4

Image
We've been plugging away at the next major milestone which still needs a catchy name. No not COVID-19, the last thing we want to do is take advantage of the panic and fear. As mentioned previously we have been working on adding the China map! We looked at the Shenzhen region but found the region was extremely flat and geographically boring. So we have opted for the Beijing area which is still very flat, but at least has some water ways and mountains. China - Work In Progress On the programming side, one of the big new features we have been working on is the Event (or notification) system. This basically popup events in the bottom right of the screen notifying the player of significant game events. This was implemented primarily as a means to help players in PvP games have some idea how their company is tracking without needing to keep the Shares panel open. We have added in a quarterly report here also to you also don't need to have your own company panel open all the...

Editor & Mod Tools Released

Image
  Just a quick post to let all you Modders know that the Trains & Things Editor is finally available for download via Steam! Download it, open it and it will process the raw assets - this will take some time. Then once done you can look over the code, assets and find some tutorials under the Bitshift > Docs menu. If you have any questions do not hesitate to ask!

0.3 - Modders Delight

Image
Version 0.3 - our second major update is out now!   Please note that for the 0.3 release you must delete project.godot from the game install directory! If in doubt, delete the Trains And Things directory and re-install it. This will ensure Trains & Things will show the correct version. First up is this snippet of news from Godot (the engine we are using): https://godotengine.org/article/headsup-vulkan-merged-master-branch-unstable I've posted this as it has some major implications for us. In short, the Vulkan branch is now the primary branch of development by everyone working on Godot! What are the repercussions here for us? Well, this means that the Vulkan branch (now known as the master branch) will now be changing rapidly, indeed mass changes have been happening! Some of these include fixes, and no doubt some will cause instability. For 0.3 we have locked down to a build that is a few weeks old as it is a stable known point. The latest and greatest version of the...

v0.2 b1797 Released

Just a quick one, we have released a hot fix for version 0.2, build 1797. We have disabled most of the water shader as there are still some issues with Godot we are waiting to be fixed which has caused some random problems with water. And we simply have removed the water from New Zealand for now as it has its own special problem. Also note that you should delete the project.godot file in your Trains And Things directory, this is a new issue we found over the weekend which causes the game to display the incorrect version number and will stop you being able to join other plays if there is a version mismatch. Finally, we have added in some log supplies into New Zealand map as this resource "chain" was incomplete.

0.2 - Warehouse Update

Image
Version 0.2 of Trains & Things has just been released! We have labeled this update the Warehouse update. The key feature is a new building which is the warehouse. The player can build these and use them to store goods for transfer to other trains. This should mix up the play style of the game considerably, at least on the larger maps, and give the player more options on how to layout their railroads. To use them you build one, then build a train station on it. When you are setting up a train to unload items you can click the train cargo and it will then move into the warehouse. Once this train is setup to unload a product at the warehouse, it will carry the icon to allow you to setup other trains that can then load this product out of the warehouse. Art On the art front, the plan is to do a pass of all the existing maps and check that they are up to scratch visually. New Zealand map is the first to get a cleanup and is available in this warehouse update. New Zealand Ma...

Trains & Things - OUT NOW!

Image
Trains & Things - It's out now! Go get it! Buy it, play it, love it. Invite your friends to play! On Steam or Itch Also for those who have been wanting to try the demo recently but haven't been able to as the recent builds got uploaded without executables, this is now fixed! 0.2 - Warehousing Now that 0.1 is done and dusted whats next? Version 0.2 of course, which we have named "Warehousing" as this is the primary feature which I will talk about more in a second. To see a complete list of what to expect in 0.2 you can head over to our GitLab page: GitLab Issue Tracking. Do note that this is more a "wishlist" than a "it shall be so" list. Things might get pushed in or moved to a future update. In preparing this blog I have been a bit hesitant to talk about what I am working on and fixing for the next release as I have found some exploits that currently exist in 0.1 but will be fixed in 0.2. I would encourage you NOT to use the...

Early Access Trailer

Image
Marketing As we are only a 2 man team, the game development has halted for a bit so that my brother can work on the trailer while I handle marketing. Marketing is basically my worst nightmare as there is no sense of achievement. No way to grasp if I am making progress. Something my brother won't even acknowledge exists (so he doesn't have to do it). It is such a dreaded task I always defer it as long as possible.  With our last game - Dog Fight  - I basically gave up on any marketing shortly after release. The game was complete on release so only needed 1 or 2 quick patches so we found it hard to keep trying to stick our neck out to bring people to our steam page, and so after 1 or 2 hits with an axe to the neck one kind of retreats. This time around we are following the Early Access model, aka games-as-a-service model, we will be continuing to develop going forwards and so will have stuff to show off and remind you all how cool Trains & Things is. To that ...

Release date inside!

Image
Getting through Steam As I mentioned in the last blog, we submitted our game to steam to get an early approval so we can release without a last second rush. This initial attempt was rejected for a number of reasons, primarily because our Linux build did not run on SteamOS. This has turned out to be quite a problem for us because SteamOS uses some very old software, where we are running Manajro, which is bleeding edge software (more bleeding than not!). In short, we need to build Trains & Things using old libraries (that software which our game depends on) but using bleeding edge tools (that software which which builds our game). As you might imagine, it is potentially quite a problem as that fancy new tools might depend on some other fancy software which is in direct conflict with that old software we need to build our game against! My first attempt at getting a build machine up and running, which took about 2 days, was Ubuntu 14 LTS. On this machine (virtual machine in m...

Tis' the season

Image
I'm starting this dev blob with a bit about the importance of Christmas, before we jump into game dev. It is the season to remember what Jesus Christ has done for us - He reconcilled us to God through His death on the cross and his resurrection 3 days later (which we remember at Easter). At Christmas we are reminded that He came to be with humanity. Jesus Christ, God come as a man, to come and be with us, his creation, and to save us from our sins! “For this is how God loved the world: He gave his one and only Son, so that everyone who believes in him will not perish but have eternal life. John 3:16 What a great God we have! We at bitshift wish you the best over this Christmas season. A new (old) master server The circle of "master server" goes full circle! Let me explain. My first master server was written in GDScript using IRC. This worked but was slow to connect - in the order of 20 seconds. So I eventually decided to try using the Matrix protocol as m...

Waiting for Godot

Image
Let's take a look over what has been happening (or not happening) over the past month(s)... Context menu A picture paints a thousand words, so need I say more? Okay, a few more. Activated with right click, you can now view some options that were previously only available via keyboard shortcuts. Updated build pipeline A large portion of time has been spent working on the build pipeline. These are the build scripts that basically automate builds, testing, uploading to steam/itch and finally post a message to our matrix channel (#bitshift:matrix.org) when a new build has been uploaded. So those who are already in this room will have seen some of these messages flying around. Part of this script has been automating the build version number which at the moment looks something like this: 0.1.1501.af64ef3 this version number is made up of 4 parts: {major version}.{minor version}.{patch}.{git hash} you as the user are likely only interested in the first 3 numbers, where 0...

A coop session

Image
Development A rather lengthy blog this month, so lets start with a set of points on what we have been working on since last time: Loading improvements . Loading the small map like Hawaii loaded in a suitable time that clients would not disconnect in multiplayer games. For our super large test map, Grand Canyon, this was not the case! To combat this I've added in threaded loading, which allows the network players to not disconnect when loading takes a long time. Screenshot support - All images in this blog are now taken using this new feature! Initial unit test support . Our first unit test *attempts* to go through and check all maps load and takes a screenshot once loaded to verify against. It's not full functional yet. New camera code + polished input handling have been implemented in an attempting to get rid of some camera "sticky keys" we ported from Windows. The problem turns out to actually be a Godot bug caused by low frame rates. Our changes have h...

All aboard the Hype Train!!

Image
Welcome back to this months blog! Now that E3 is over and done for, we can have a break from the hype train! There have been many little bugs vanquished this month. The programming has focused on fixes covering the following areas: RSS is working again Thread pool causing the game lock up on quit Performance - level of detail for terrain and shaders Backend scripts - an on going saga mod.io integration for mods Mapping on the frontier On the mapping front, we decided we should take the plunge and work on a new giant sized map. Our decision for this was to push the engine and tools to the limit of what we want to be able to do in the game. And from there we can easily scale down the map, test the tool pipeline, and test for areas that need performance improvement. What did we find?! Well, we found a few issues. First our new terrain pipline is working very smooth and is much quicker. Next we found performance lacking, so have started implementing a LOD (Level of Detail) ...