GeekTrains - Big Model Train Game

Hi guys and gals,

As we all moved from to anyways, I wanted to give a short update on my Big Model Train Game project.

Although the project is still in heavy development, the game now at least has a real name and dedicated website:

:nerd_face: :steam_locomotive::railway_car::railway_car:

In this fun game for all ages you remote control a big model train locomotive that runs through indoor as well as outdoor scene. With the locomotive (different types available) you have to solve railroad shunting puzzles, transport goods and passengers between stations, race against opponent players, or all at the same time :slight_smile: But watch out: don’t run out of fuel, money, time or health!

Some changes since my last post (on the old forum):

  • There’s a scoring system that awards you a score on finishing a level (for the levels that are configured for that). When you replay the level you can try to beat your previous score or best time. Scores are stored at local machine.
  • In my effort to make level construction easier, I am refactoring some level setups to support improved scenery and environment (how the level looks like). Also the default scene was changed.
  • I got some nice help with the (Train-) FollowCamera controller, which adds great Keyboard input support to control the camera angle etc. of the follow-cam (thanks @dunk).
  • Added a ‘Give feedback’ button to the game and website where you can post your feedback / hints / suggestions etc. Let me hear about your crazy or funny ideas!
  • Bought a XBox 360 USB Gamepad, to be able to test out the special gamepad functions with this game…
  • Computer opponents will now use weapons (if any on board).

Well that’s about it for now. Major updates I’ll post here as well. Minor updates I will put on the website or Facebook page. Enjoy your coding because I definitely will. :upside_down_face:

Choo choo!



Still loving it.


Haven’t seen it before. Awesome :slight_smile:

Short update:

  • Moving stuff (Javascript and assets) over to domain
  • Added a database at the backend to manage train stuff and more (levels, players, leaderboards, achievements, …)
  • Installed a CMS using CakePHP open source framework to enable more user interactivity
  • Added player account creation (to submit your high scores and fastest times to the leaderboards)
  • Looking for people who want to test the functionality of the fastest times leaderboards by trying to beat the current high scores (connection between BabylonJS javascript game and the CakePHP backend)


1 Like

Created and added a teaser gameplay trailer video :cinema: to the website:

Also optimizing some textures/meshes to support different quality modes (low/medium/high). Will be used later on to switch quality up or down based on device and bandwidth…

The movie is made with native Windows 10 Photo application :movie_camera: and the default Game Bar :video_game: screen recorder. It’s a snap! :sunny:



Do you want to tweet about it? I would like to retweet it to give it some exposure!

Thanks for the offer @Deltakosh and I would like to make use of it at a later time (with a more finished game), if that’s no problem for you. :slight_smile:

In the current development stage I’m mainly looking for beta-testers and other BabylonJS enthousiasts.



Still developing. But some more testers would be nice. :slight_smile:

So I created 800x500 screenshot and entry for the BabylonJS website. If someone wants to add it to the demo list…

When you do update the master index.html for this, please add the item at the BOTTOM of the demo list and also please replace the screenshot hotlink URL with a local copy of the image. I’m on a small hosting plan for development and I want to watch the increasing server traffic load closely. So some exposure OK but please no spotlight positions.

<article class="gallery-item 3rd" itemscope="" itemtype="">
	<a title="" class="gallery-item-link" href="" target="blank" itemprop="url">
		<img class="gallery-item-img" alt="" src="" itemprop="image">
		<div class="gallery-item-infos">
			<h3 class="gallery-item-title" itemprop="name">GEEK&nbsp;TRAINS</h3>
			<div class="gallery-item-others">
				<div class="gallery-item-author">by Quintus Hegie</div>

Greetz from Conductor Q

Please just do a PR :slight_smile:

Ok. Well then. Hereby my first time contribution with a Pull Request: :partying_face:

Easier then I thought.

Don’t know how to add the binary file (JPG). Seems I don’t have upload permission. I cannot figure out another way to add a geektrains.jpg file to the Screenshots folder. Maybe someone else can? :confused:

So actually you need to first fork the repo locally. Do your changes locally then push that back to your fork.
Then github will offer you to create a complete pull request with image and changes

1 Like

Perhaps this might help, if you need help.
Just sections 1 to 8 and do the steps with the repo BabylonJS/website rather than BabylonJS/babylon.js


The listing of my game on BabylonJS website really helped to get some more people to play.

Today I’ve finished the level Oval #2 winning conditions and connected it to the Leaderboards.

Shoot down those pesky hovering remote controlled drones with your train! :wink:

This level requires some fast movement and precise action in order to complete it with my current Fastest Time record of 51 seconds. And now I didn’t practice that much yet so you can be faster maybe.

Can you beat this time record? (Hint: You’ll probably need the switch button keyboard “S” and the fire button keyboard “[Spacebar]” once you coupled your locomotive with the “Jack’s Balls in a Toy Box” wagons)

Note: Scores are stored on your local device browser. But to get your fastest time listed foregood on the website, you need to register a free account first and login before you start playing.

Conductor Q

1 Like

Winning conditions were added for the level Oval Side #5


In the age of renewable energy and global warming, it’s time to burn some virtual diesel fuel and heat up the planet with your smartphone GPU cracking this 3D scene. :fire:

I’ve set a record of 23 seconds for you to beat. Now put that pedal to the metal!

Conductor Q


Always wanted to own an engine? You can now put your first name on it!

When you start the game a pop-up may open asking you to login to Facebook. Although Facebook is not required to play the game, logging in to Facebook will change the label of your locomotive to your first name (as found in your Facebook profile).

Just a fun gimmick for now as I start exploring more of Facebook’s opportunities for web games. It’s actually quite easy to implement as Facebooks provides most of the code to you in Javascript already.

Maybe XBOX (Microsoft) has something similar, but don’t know about that yet…


This year Sinterklaas didn’t arrive by boat from Spain, but took the steam train. Luckily for me, Sinterklaas brought me a nice toy this year: the RailDriver Modern Desktop Train Cab Controller oh dear! :joystick:


After Sinterklaas safely returned to Spain, I started learning about WebUSB and WebHID skills to gain. Downloaded Google Chrome Beta to the Windows 10 start menu rack. Flipped some Experimental Web Platform Feature flag. :triangular_flag_on_post: And then I actually got the USB/HID device to connect with the GeekTrains webgame! :electric_plug:

You can see the controller in action in this video, pretty fame:

The manual on the website contains instructions if you happen to own a RailDriver yourself too, and you want to try out as well with your own choo choo choo. Let me know any feedback or further ideas you might have.

Would be cool to have some BabylonJS Camera Input Managers that read data from these kind of special purpose simulation hardware controllers. To be continued.



Dedicated PlayStation 1 (and probably also PS2) controllers from the popular Densha de Go! train simulator series in Japan can be connected to the game using most PSX2USB adapters available in the hardware shops. I just wrote some input manager support for it in the GeekTrains game. When used, you’ll be rewarded with a more precise acceleration and brake control, compared to keyboard/mouse/touch play.

Haven’t been able to test with Sega, DreamCast or Nintendo versions of the same. But I believe the button mapping is the similar, according to some experiment reports found on the internet. And there should be adapters to USB available for these consoles as well.

The throttle stick and brake dial/handle aren’t analogue (axes) but digital (buttons). They send binary button combination codes as if you press multiple buttons on a regular PlayStation controller. Quite funny.

No need to use Beta browser or anything. The USB adapter turns the controller into a regular gamepad device. You can test yours on the HTML5Gamepad website and/or in your Windows Gamepad Controller Device Manager.

I find this quite an affordable alternative to the more advanced (and expensive) RailDriver controller. By reusing classic game console hardware, you’re contributing to a more sustainable planet at the same time! :evergreen_tree: :train2: :evergreen_tree:


This is excellent!