Commuter: The Game Alpha v0.7 Change Log UI: Ported game from Mobile design to PC design. UI: Added new UI bars for Main Menu and Station View UI: Created station number buttons and markers. Feature: Signal Map created Bug: Minor bug fixes Seems like a dull log but really, it was alot!
Transition to PC Game
Good day fellow Commuters!
I hope you all had an amazing two weeks and in the northern hemisphere enjoying the warm and suns of summer. It has been quite the two weeks ourselves here and have some news that we wanted to share with you all.
Has hinted in the previous Devlog. There is a new idea that popped into our head that we wanted to create a proof of concept on. We worked on this concept game the week after Devlog #7 and it has since been completed.
We are not ready to announce the game at this time as there still is a few more things we want to iron out before the name, type of game and everything is confirmed. For now, we are calling it “Project Map”
This project is more of a time sensitive one as the type of game it is would style nicely with a release close to certain upcoming events. So, because of this, we are going to be cycling the development weeks between Project Map and Commuter. By know means am I putting Commuter on the back burner. It will still get equal development time.
With that being said, we have added new channels to our Discord for Project Map where there will be teaser images and updates regarding this project. Please check it out there when you get the chance.
Now, the real reason why you are here. Commuter, in its early stages of development was modeled around begin a mobile game. The idea behind this was that you could play Commuter, while commuting! This was going to be our marketing behind it, we had it all planned out.
As we developed the game and added the features that will make this game truly fun and interesting to play. We found that processes that we were needing were quickly exceeding the limits of a lot of currently mobile devices.
When we completed Version 0.6 last week. We started loading the game on to some devices we had access too. Huawai P30 Pro, iPhone XS Max, Google Pixel 2 XL, iPhone XR and iPhone 7.
On the higher end devices we found the game to run fairly smoothly. There were some performance slowdown when the game hit a peak time and there was a lot going on, but we chalked that up with it being a game in a Alpha stage.
Then when we placed the game on the Pixel, iPhone XR and iPhone 7. The game just CRAWLED. When I say crawl, you guys have no idea it was unplayable. We tired to fiddle with a few things but it wasn’t getting much better. Keep in mind the game is currently only three levels with no features such as events and staff control.
I spoke with a Game Dev community and shared some of the code with fellow developers and there was a common consensus that the game is just to much for Mobile. This is obviously sad news as the whole concept of the game was to be on mobile.
Now, we are left with a tough decision. Do we keep the game on Mobile and shave off some features and code to make the game more mobile friendly? Or do we start the process of transitioning the game to a PC/MAC version and look at bring the game to mobile later.
We finally decided that this was the best option. So, now we are reluctantly proud to announce that Commuter: The Game is now coming to Steam! We obviously don’t have a release date yet as we need to redo the entire UI of the game. But, we are finding excitement now that we have a bigger more powerful canvas to play with.
As you can expect this was a tough decision for us and we hope that you all will still stick around and play the game when it does come out. We will continue to update you all here every two week with the next Development Log coming on August 24, 2019.
Please continue to follow us on Discord for more updates when the come out. Links for all our socials, below.
Bugs, Bugs, Bugs, Bugs, Sound, Bugs, Bugs.
Greetings friends! Welcome to the next devlog for Commuter: The Game! This week we, unexpectedly needed to do a bug bash.
Ahh bugs. Can’t have em and boy do they come up when you don’t want them. Coming off the heals of our biggest update to the game last week naturally there was going to be some bugs that came along with it. Some of which were pretty easy to fix and that we anticipated. Others, and one big one, was so rare and unique the Unity dev community was stumped and was a major bug found with this build of Unity.
Thankfully, we managed to fix it. But the funny thing is, we don’t know how it was fixed. The bug was somewhere around our Spawn routine. The game has two types of spawns. “First Spawn” and “Re-spawn”. When a sprite spawns it is given a classification or “Tag”. This tag marks it as a departing or arriving sprite so that it can do the right Pathfinding out of the map.
This bug lived in the re-spawn code. When the player (you) exited a station the view. The game counts the number of players on the platform and their tag and then stores it for when the player goes back to that station. If a train arrives in the station while the player is out of it that number gets added to the train. If the player entered back into the station. Then the number gets thrown into the loading script and spawns the number of sprites that were left there. Simple right?
In the super secret computer build of the game this was working no problems and without any errors. When we pushed the build to mobile. The game would just keep spawning and spawning and spawning in an infinite loop until the game engine cant handle it and crash.
As you can expect this is frustrating when the code is saying one thing and a second build is also saying one thing but the intended destination said another. Then, all the sudden, it was fixed. To this day I don’t know what I did to fix it. I hope it was just an error with the device and not the code, but time will tell.
This update was not all lost. We did manage to get some more sound added to the game. We have ambient background music that is playing during the game as well as door open and close chimes that comes from the very handy database the transit system here in Toronto has. Take a listen below at the sounds that were added!
There were some other minor changes we made for some UI stuff, tweaks to the signals and dispatch features of the game. See the full change long down below.
Finally, as we enter into the month of August and it being my birthday money. The next Devlog for this game will be on August 10, 2019. Taking a week off from this game to clear my head after the bug bash as well as work on a proof of concept for another game. If that proof works out and the pre-development works out, then the devlogs will become bi weekly.
Commuter: The Game Alpha Version 0.5 Bug: Fixed bug where re-spawning was not stopping. Bug: Fixed bug where trains would not enter station if it was full and just delete. Bug: Fixed bug where players would still board train, even when train wasn't there. Bug: Fixed bug where saving/loading was sometimes crashing game. Bug: Fixed bug where empty stations would not spawn sprites. Tweak: Terminal Stations now only dispatch train if frequency time has been hit. Tweak: Animation improvements on trains to match sounds. Tweak: Cleaned up some unnecessary code to speed up game. Tweak: Adjusted economy engine so train depart fees are more realistic and does not cause significant deficit. Tweak: Players will not pay for train departures on track they do no own. Feature: Sound now added to the game. Ambient music and doors open/closing. Feature: Economy Engine now tracks income and expenses
The next station is Midland
Note: The images, features and info in this devlog may change on the final version of the game.
Hello friends and followers and happy Saturday to you all. This week we have a massive update for you! This is the biggest one we have done yet.
Before we jump into everything on this update. You may have seen last Sunday we did a live stream for about and hour. This was a fun little thing we did for you all. We put a time-lapse up on your Youtube channel if you wanted to check it out. Aiming to to more streams when time permits so be sure to subscribe to the channel as that’s where ill be going live.
It wouldn’t be a transit system or a game for that matter if there is only one station to play! We have to build almost 50+ stations for the game so this expansion to our second playable station was important step for the game to see how the process will go to build another station in the code.
I wanted to design the game in a way that would be quick for us to add a station on the back end. Adding it wouldn’t require extensive work or changing 100’s of lines of code or worse, building a whole new script. This was a test of that.
While it’s done we did create some bugs that we were able to iron out so now when we push and create Fairview it should go much smoother now. The creation of this station also really makes the game start to feel like a game. You can switch between the stations no problem and the game just runs!
Signal System Enhancements
In order for users to play the game and deal with the incidents, expand their network and change economy items to be profitable. The back-end system that runs the game just needs to work perfectly.
As stated in a previous devlog we created signal blocks. Signal blocks in this game are working just like real life. A train entered the block and tells the blocks around it not to accept any trains. This was created by creating fictional distances between the stations then telling the game to move the trains through that distance at a certain speed.
Do you remember in school when your math teacher asked how long it would take to go 3km at 45km/h? Well, that math I reluctantly learned in Grade 8 came in handy in this case and this case only.
We still have tons of work to do on the signal system and wont be able to create it in it’s full capacity until we complete all stations. But for now, the signals from Windermere to Midland and Midland to Fairview are complete and working.
The game now even only spawns arriving trains to the stations if there is actually a train coming. Super cool!
As hinted above, with the expansion of the game into Midland this exposed several bugs that were fun to crack and fix. One of the bugs that we had was that when a train animation starts and the train appears to be entering the station. If the player hit the main menu button and then went back into the station the game would crash. Through a long long Sunday night of trying to fix this bug and consulting several developer discords. We were left with a bug that was unfixable based of the design of the game.
You see, when the animation for the train runs. There is a bunch of code that is running in the background that is calculating how many people to spit out the train, how many people need to stay on the train, and most importantly telling the signal system that there is now a train in the station.
If this process gets cancelled by going back to the main menu then the whole game crashes. It crashes the signal controller script and the game is done. It almost looks post apocalyptic. Trains not running, no one spawning, just an empty transit system. Cool look, but not the game we want.
To fix this we needed to do some things with the UI to stop the game from breaking. The first thing we did was created a loading screen when you enter the station. This gives the game enough time to process everything it needs to process.
The second thing we did was disable to UI temporary when a train enters the station (or better way to put it. When that function to calculate everything) is called. This adds sort of a cinematic approach to the game and in my opinion looks kinda neat!
There was tons of other little things that were done in this update. Please take a look at the change log below! Again, follow us on all our socials to stay in touch with the progress of the game. Talk to you all next week.
Commuter: The Game Alpha v0.4 Feature: Midland Station now created. Feature: Non-Hub stations (Midland) now talks to signal blocks vs set code. Feature: Signals from Windermere to Midland created. Feature: Signals from Midland to Fairview created. Feature: Trains now have a running cost calculated at departure Tweak: Removed money awarded for arriving customers. Now, users will not get double paid for one person. Tweak: Adjusted train capacity to be more realistic. Tweak: Signal block update with departing trains vs set values. Tweak: Smoothed departing and arriving train animations. Tweak: Players now spawn @ hub stations (Windermere) on the side where the train currently is, or will be next. Tweak: Canvas UI disabled during arrival animation to prevent crashing if the players goes back to the main menu during animation. Tweak: Adjustment to signal spawn times. Tweak: Player speed adjusted to be more realistic. Now have fast walkers and slow walkers. UI: Loading screen added on levels. UI: Social buttons and branding added to splash screen & main menu. Design: Changed colours for Midland station. Bug: Design bug fixes. Bug: Fixed spawning location bug. Bug: Fixed game crash where if spawned while train was in station. Game would crash. Bug: Fixed bug where sprites wouldn't load on first launch of game. Bug: Fixed bug where capacity bar was broken.
UI & Signal Blocking!
Well, here it is! Our first video devlog is out! Here is a first look at the gameplay and some of the changes we made this week! Check it out!
Changelog Alpha Version 0.3 BUG: Offline Tickets now charge when the hour changes. No longer crashes BUG: Fixed an Animation bug that, while rare, would cause the animations to fail. UI: New top panel for game controls created. UI: Colour scheme changed to be easier to see. UI: Filled in Station Names and Map for Line 1 Feature: Frequency can now be changed by user by tapping frequency in the top. Feature: Second station (Midland) is now unlocked by default. Feature: Signal blocks now created to provide realism to arriving and departing trains. Feature: Arriving trains now generate players accurately.
Economy Enhancements & Loading State
Reminder: What you see in this devlog may be changed by final release of the game.
Hello fellow Commuters and for our North American friends I hope you had a great Canada Day/Fourth of July long weekend!
This week we wanted to do a lot more but was faced with a game breaking error that took a good chunk of my time to fix it. But, were cleaned up and ready to start going through our changes for the week.
In Devlog #3 we created our time engine and at the time, it was to ensure that the dispatch of trains was working with our Signal Controller. We started to develop more and drew out the plans for next task to work on and found that using real time was not going to work for the type of game we would want to do.
I’m sure you are all are aware that typical tycoon style games work on their own time. So, when you end the game, the game pauses and then resumes when you restart the game. With that in mind, we changed the time engine to work on a local time system. Because of that we are able to speed up the game and run at a faster state allowing you to play the game a little faster.
Now that we have a more usable Time system we are now able to run things “offline”. What we mean by that is that when you leave one station and go to another, the income you gather from the first station will get calculated and counted so that when your working in another station, you are still gathering income.
Also, we are now able to spawn sprites based of the time of day just like in real life. So, 1am is not going to be as busy as 5pm on a Friday. Before, we just had it spawning every few seconds. But now, we can control it with the data we have put in.
This adds to the realistic effect that the time of day tests your system for its efficiency.
So, as I mentioned we found a game breaking bug that took WAY to long to fix. Well, longer then I wanted. It came down to the saving and loading. The game upon getting killed would save all the necessary things it needs to save. Then when it reloads, it well, reloads everything.
This was working fine, then it game to me loading it on to my device for some testing and noticed that when the game launched, it crashed. No mater what I did, it would crash. Turns out when the game loaded and it did not have a save state it freaked out and crashed. So, after many hours trying to fix it we figured out the solution. Now when the game launches for the first time it will create a save state and then call it later. Then upon close, it does the normal working behaviors.
This was honestly like 3 lines of code. Funny how that works eh?
Thanks for reading this weeks devlog. This was intended to be a video devlog but ran into some tech issues when editing. Hopefully the next one will be a video for you all to really see the game.
As always please follow us on all our socials!
Changelog Version Alpha 0.2 - Changed TimeEngine.cs to be local vs live time. - Created speed code for fast forward feature. - Created LoadingScript.cs to increase loading speed and prevent crashing. - Changed GameController.cs to match spawn requests from EconomyController.cs - Set out of station code to calculate income while not in station. - Added players per minute to UI - Trains now tally how many sprites board train for future features.
Economy, Time Engine, Save State
Please note that images and features in this dev log a subject to change and may not be in the final draft.
Before I get started into whats new and exciting in the development of the game I just wanted to take the time to welcome a new addition to the team.
Jordan Tessier is a Toronto based artist and personal friend of mine. Jordan is an absolutely amazing artist and also has an equal passion for video games. Jordan has agreed to join the development team and will be assisting with the design portion of the game. Please join me in excitement for him joining our team. Below is some of the artwork that Jordan has created. It is absolutely stunning.
This wouldn’t be a simulation game without some sort of economy with it right? This past week we have been focusing our development on the economy engine of the game. With the style of gameplay we are going with we had to come up with a unique way to do this.
The easy solution you would like would to have a script running and holding all the economy functions but that is proving to be more of a challenge to this game. What we had to do is a hybrid engine that both runs per level and overtop the whole game with them both talking to each other. There were several reason for this decision but the main reason was performance we don’t want a sluggish game.
The game has to not only count money collected by each sprite when they pass a “fare gate” but it also has to calculate the idle parts of the game such as profit per minute to ensure the game can run in the backround. I will admit that I am not 100% happy with the way the game is running this part of the game. But for building and development purposes it’s working. We can fine tune it later.
The only thing that we need to study is if we want to do a truly idle based game. That being the game runs in real time and when it’s night out for you, it’s night out for the game. The other option is to run the game in its own time based system. This will completely eliminate the need for an idle based system.
I/We are currently exploring both types and will make a decision soon about what type of economy I/We are going to pick. To be transparent I am leaning to the non idle based system as it allows the game to run smoother and provides the user with more depth in the game.
It wouldn’t be a transit game if there wasn’t a time engine running. This was a simple to make engine but it will provide yet another important backbone to the structure of the game. I’ll even admit now that we have this part coded into the game it’s starting to look more like a game someone can play vs just a set animation that runs and runs.
The time engine is simply just figuring out when the trains should run at what user controlled frequency. How long until the next train. What time of day it is? Just to name a few key components of the engine. Yet another foundation piece placed for the game.
This honestly was not a part of the game I was looking forward to making. If you don’t already know. Save states are… complicated. I started to code my own system and quite frankly it just wasn’t working for what we needed for the game.
Thanks to the Unity asset store it made my life WAY easier. Now I just need to call one line of code to save and one line to run and thats is. Now, every-time the game restarts the users info is remembered! Woohoo!
Thanks for reading this weekly devlog for Commuter: The Game. Please follow us on Twitter and Instagram for more behind the scene looks. Also, take a visit down to our discord and join the conversation! I hope to be making some video ones soon. Stay tuned.
And finally, to all my fellow Canadians. Happy Canada Day!
Pathfinding & Animations
Disclaimer: The images, artwork and sprites in this devlog are not the final draft and are designed for testing purposes. It will look different, maybe.
Greetings friends! Welcome to our second Development Blog for our first title Commuter: The Game.
Before we dive right into the content. I just wanted to take a moment to thank everyone on their warm welcome to the game. Our post on the r/tycoon subreddit and the comments we have received on our Instagram and Twitter pages has been so heartwarming! It really is motivating to see such a good response from a game that is just in its early stages. This also will keep me motivated! So thanks everyone!
Okay, enough of the sappy stuff.
As I promised on Reddit. I thought I would dive into a little bit more of the gameplay and how it works. Keep in mind, what I say below might change during the development process
Commuter is intended to be a top-down style 2D game. This is where the comparison to Airport CEO and Prison Architect come into play. Those style games are something I have always enjoyed and in fact their stories of their development is what inspired me to do this.
When the game starts out the user will be met with a menu in the style of a transit map you would see on any subway system. The user will be responsible for managing this “map.” Each station is a tap-able object that will enter you into the station where further management will come into play.
Once a certain threshold has been reached. The user will have the ability to unlock the next station in the line. The game will increase in difficulty and as you progress down the line more and more challenges will come up.
On top of all this there will be an event system. Think of like a sports event or parade. These will increase ridership and the player will be responsible to managing the line in an efficient way.
Line management will have three main measurements
- Rider Satisfaction/Safety
- Train Frequency
The user will be responsible for managing the ticket prices, setting the frequency of trains (more frequent means more breakdowns and maintenance cost), and ensuring the riders are comfortable and safe.
There will be more to come as it develops but I hope that gives you an idea of what the gameplay will consist of.
Pathfinding and Animations
This week we have been really focusing on ensuring the NPC sprites in the game know where to go and don’t get stuck. If anyone who has a tiny bit of coding knowledge you would know that Pathfinding can be incredibly complicated to code.
The other tricky issue here is that a lot of pathfinding tools are meant for a mouse click or tap style path. (I.E Tap the screen and the player goes there. Or something like that).
This game has multiple targets that the NPC sprite has to find from start to finish. Not only that the sprite has to wait for doors and clearance to board. So, yeah, this took WAY more time then I wanted. After about 1000 lines of code (and counting) between 4 scrips the pathfinding base is complete.
Now that the base is complete, pathfinding will just consist of calling some code and the engine will do the rest. Tedious but important step for this game.
Next step is to work on level development and get some of the gameplay engine going.
As always, please follow us on Twitter or Instagram for more photos and videos. You can also check out our Discord where I hang out while making the game. We also have a subreddit if that’s more your thing.
Announcing Commuter: The Game
Vertigo Labs is proud to announce its first title. Commuter is a mobile transit themed management game. We are still in the earliest stage of development. Commuter will be initially launched on iOS and Android and will later be ported over to Steam and Standalone platforms.
At this time we do not have a set release date as we are still in the process of developing the core aspects of the game. Once we get an idea of how the game is coming along, we will feel more comfortable providing a release date. We don’t want to let you down and push back dates that we cannot keep.
If you have played Mini Metro and Airport CEO then this will be the game for you. It is intended to be a top down 2D style with relaxing sound. The management will be real time and also idle. This wont be an idle game where you can quickly exceed 1 Trillion dollars. Realism is key along with the management in this game.
The main world will be fictional allowing the user to customize how they want their transit system to work. Additional DLC is in the action plan to include REAL cities but that’s a long term plan.
Vertigo Labs has a strict value where games shouldn’t consist of pay-to-win style game play or be filled with obnoxious ads or having to watch an ad to get a boost in the game. While we are sure that’s good for the bottom line. We just wouldn’t feel right to do it and we wont.
Just like the release date we are not set on a price for the game yet. This will be depended on a bunch of factors but we promise it will be a fair price for the game play you receive. Once we get further into development we will poll the community for pricing options and what will work best for everyone, including us and our values.
We plan to release pretty regular Devlogs here. But, we have created a discord where we will have ongoing discussion about the game and you can get a behind the scene sneak peak at the game.