Showing posts from 2019

Tis' the season

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

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 ( 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

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!!

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 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)

Chuffing along

Whew! So much text, lets have a screenshot! What have we been up to recently? Things have been moving slow but this is expected as we must eat, and so do what funds that food - work! Unfortunately or fortunately (depending how you look at it) we have been busy working. This means Trains & Things has moved slower than we would like, as T&T is not our bread and butter. But lets get into it and tell you what we have been up too over the last few months! Pain Points The programming department has been working on resolving pain points. Pain points are those things that take away from the fun smooth flowing feel of the game. The biggest point of pain was having to manually take out a loan if you could not afford the purchase presented to you. This meant having to halt what you were doing, opening the company tab (or worse, leaving it open!) and taking out a loan from the bank, then you could complete your purchase. This now works by changing the button to 'Loan &

Back On Track

In our last blog we said: We have decided to halt development until Godot 3.1 is released, as there are two critical issues we require that [we] are expecting: LOD , and Multiplayer Timeout settings. We expected Godot 3.1 to include fixes for both of these issues, however they have been pushed back to Godot 4.0 which probably won't be out this year. Now that we have had a break I want to get Trains & Things into some sort of ship-able product. It is 80% done so why not put in some effort and get it out there? Finally, in talking with the team, we have decided to get back on the tracks and work around the missing Godot features, and we have put together a little list of the things we want to do before we consider shipping: 1) Performance improvements 2) Polish up a set of maps 3) Deal with some pain points 4) PR/Marketing/Social It sounds so simple! In fact the biggest problem we are facing is a lack of time - which a successful Kickstarter would have provided.