Three.js Journey Challenge 23: Train
April 2026’s challenge is themed after trains. I’ve been waffling on how to approach this challenge. I often default to fun, contemplative or interesting scenes that may have slight interactions available. This time, I wanted to challenge myself with a game. I’ve not built a game fully before, and the real challenge will be keeping the scope to something manageable. Here’s where I’m going currently.
The Game Idea
After bouncing around several fun ideas, I’ve landed on something I think might be realistic for this month, especially considering my plethora of obligations, roles, and responsibilities (i.e. not a lot of time each week for fun projects, so don’t get too overblown for what’s effectively an MVP). Some of my brainstorming and “conversations” with AI got me thinking about a fun minigame in the Spider-man PS4 game. Peter and Octavius have a series of science “chores” like spectroscapy and electrical circuits, which are puzzle mini games that drive the story and give different game play mechanics than Spider-man’s normal city-traversal and combat systems.
Borrowing the electronic circuit board it, I’ve adapted it for building a train track that gets from the starting station to the ending station. The voltage requirement of the electronic game becomes a time requirement (i.e. get to the end station on time), and the path becomes the train railway. Fun!
Some Technical Goals
While I want to write the game myself and fully understand what’s up, I also want to be pragmatic regarding my time constraints. Another side goal is to better understand my working relationship with AI agents. I enjoy AI’s tab/autocomplete features for context-aware boilerplate, but sometimes it’s scope is far too narrow. Agents can be useful in implementing more complex codebases and connecting logic, but I don’t want to go full-vibe-code and lose track of the inner workings. I’ve sensed already how easy it could be to lose track.
So I must find a balance between finding the game on my own as well as letting the work be done by agents. Time will tell how successful I am in letting go while also groking the codebase. I suppose that’s just a challenge devs face these days.
More to come…