I'm working on an arcadey train sim game for Playdate called Zero Zero: Perfect Stop. I am making this using the C API. Of course, the Playdate's crank is used to control the throttle and brake!
If people are interested, I'd be happy to chronicle aspects of development and answer any questions. Right now I basically have the pseudo 3D track and a functional HUD. Next I'll be adding in game elements like station stops and speed limits!
The way I'm currently doing the crank controlls is pretty unique I think... It's modeled after the Densha de Go "One Hand" style controllers
Basically, the "neutral" position is when the crank is pointing towards the front of the device. If you push the crank up from there, it engages the brake. If you push the crank down from there, it engages the throttle. If you brake all the way behind the back of the device, it engages the emergency brake.
I'm familiar with the series and actually was assuming that was what you were doing! I did not anticipate the part about the E break- if not for that, my suggestion would work. What Alberto's method prevents is the awkwardness of swinging around fully and going straight from E to 5 or vice versa, that's what I meant about "immersion." Another idea could be to dock for E. Anyway I'll stop telling you how to control this train and just look forward to a release (or beta?)
Ah yeah, that was a problem I immediately ran into My current solution for that is actually just preventing any direct shifts between throttle and brake settings, and instead always requiring a shift through neutral. That way you can push the crank all the way around the back and it will not suddenly flip over to Throttle 5, etc.
yay! I have the plug-n-play version of Densha De Go, and it seems like the playdate is the ideal platform for a mobile / handheld implementation! Looking forward to see this one come together
I have implemented a few new things since then. One is the track lookahead view on the left, it now shows upcoming speed limits and checkpoints. There is also now an indicator for the distance of the upcoming station.
I have also done a first pass implementing SFX for driving the train. In the interest of keeping RAM and Disk usage down, I have done all the SFX in mono 8-bit @ 16KHz (About on par with SFX for a GameCube or Wii game). Despite the somewhat crunched samples, I think it still sounds nice. I was also able to use the built-in TwoPoleFilter to do a bandpass and implement a dynamic wind sound effect.
Check it out in the video!
Next on the docket will be implementing some game rules and getting the actual gameplay loop going.
Also, I would put money down now for a beta that was just like a random length of track with one stop and a high score board. Maybe a way to get beta feedback without "giving away" the game?
First update in a while! I can only squirrel away time work on this project on weekends, and my past couple of Playdate sessions were spent digging into some bugs @matt reported on my PDFontConvert project
Anyway, I've been aiming to get the game loop functional before digging more into the game visuals. Yesterday I reached a good checkpoint! You can now complete a full cycle of departing, traversing a segment, then stopping at the station. Check it out in the video:
Testing out some power lines and sprite scaling! Now the "super scaler" 3D effect is starting to come alive. I managed to get decent performance on device by pre-scaling the sprites, but need to figure out a way to bake that into an asset instead of doing it on game load
Hey, good to see you adding more details. But I wonder if it would be possible to draw the cross beam with lines, because it seems to shift thickness due to the scaling. Takes away from the zen feel for me at least
I was talking about this with a friend, and came up with an interesting solution. If I originate the sprites as SVGs, I can set the strokes to maintain a fixed with when the image is scaled. Implementation is a little bit more complicated than that, but I tried it out in game and it looks much nicer