I love Densha de Go. DDG Final is one of my top 10 fav games of all time. When I got a Playdate, I had a vision of using the crank as a train's master controller and I was compelled to see it through...
I've been following development of a 3D racing game for the Playdate - https://mastodon.gamedev.place/@2DArray/113070310047102734. The console is presented as being 2D-centric, but I'm curious to see what cream-of-the-crop graphical titles come out for the system within the next few years, it feels like it's really gaining steam.
You draw the 2D projection of 3D objects manually instead of drawing 3D geometry and the hardware draws the 2D projection to the screen. The other is the gameplay is a video of a 3D scene that has been prerendered on a more powerful machine.
That's exactly right. The issue I ran into is that the Playdate's CPU doesn't have a lot of juice, and spends a lot of time every frame just filling the screen. There's no specialized blitting hardware or GPU. Hence realtime sprite scaling is not feasible.
I tried making some pre-scaled sprites, and the ROM footprint had to be pretty large to afford enough size steps for reasonably smooth motion as the train moved past objects. Even then, all that sprite drawing was starting to dip the frame rate.
So, I experimented with a pre-rendered approach, and that was a huge unlock. Eventually I was able to wrangle it into something that I think worked even better in the end! The pre-rendered video based approach allowed way more elaborate detail and I didn't have to worry about frame rate anymore.
Many, many years ago (20+ eek) I worked on a 3D simulator for the New York Subway (even though we were based near London, UK). They were upgrading it from the legacy video based system to an interactive 3D sim.
There was something deeply fulfilling about having the legacy videos running side by side with the realtime 3D view and having them almost perfectly in sync.
We were running on inhouse designed and built, industrialised graphics cards, using 3DFX chips. It was a magical time to be involved with the cutting edge of 3D graphics as the industry tipped from Silicon Graphics and Evans & Sutherland "big iron" to consumer hardware.
I was also interested, but according to MTA Train Operators the computer that runs it is often out of service, and some who did felt it required a very exact placement:
Interesting. It's a shame there's no images or more info. I never saw the sim deployed, so I'd love to see if what they were discussing was the same I'd worked on.
For the previous question, it was an internal training sim, not public.
Sega CD used this technique a lot to fake 3D environments. Silo here is a great example of a game that looks like it could be a real time 3D game, but it cleverly interweaves FMV with sprites.
It's loosely based on a 6-station stretch of the Fuji Kyuukou line in Yamanashi. Not sure my environment art really did the real life area justice, but that's how I derived the stations and spacing between them. https://en.wikipedia.org/wiki/Fujikyuko_Line
Interestingly enough, until a few decades ago cranks were used to control the acceleration and (electric) braking in trams, electric locomotives etc. (https://de.wikipedia.org/wiki/Fahrschalter#/media/Datei:Gmun...). The rotation axis was vertical and not horizontal, and the feel and clicking noise of all the contacts opening and closing while you turn the crank would be lost, but still a Playdate would be great to simulate driving such a "classic" tram.
I saw that there are scoreboards on the website. Does this mean that the game includes some form of user tracking? Does the website (play.date) know how often a user plays, when, for how long, how good he/she is at it, etc.? Is there a unique user ID or device ID that they can pair with past&future aquisitions in the shop?
I don't own that game and I probably never will. I'm just asking this to educate myself about what's possible in terms of invasion of privacy by using a low power console such as this one.
I really am interested and it baffles me that nobody else has privacy as a priority in their life, but down-voted my question instead.
playdate.scoreboards.addScore sends just the rank, player and value data, or is there a device ID added in the background? If not, how do they prevent spamming/cheating? Is player value user-defined? For this game only or all games on the device? Is it sent with https or just http?
You are probably being downvoted for derailing. This is a post about a particular game, but this thread is turning into an ideological battle unrelated to the game. Discussions regarding people's priorities and privacy concerns would be better off as a separate post.
Presumably you need to be connected to wifi to obtain games, so that's not a great answer.
I also found the scoreboards surprising. I wouldn't expect a Gameboy-like device to be reporting things back to a server. I don't have any particular privacy concerns about it myself, but it is surprising, and I can see why people might object.
> Presumably you need to be connected to wifi to obtain games
Not only that, but the API link provided by the author specifies that scores are stored in the device if Wifi is offline and uploaded later, so aparently, there's no way to block uploading unless the device is hard-reset (is that even possible?) before connecting to Wifi to get another game.
The only good thing I see is that the score board is not mandatory and it seems pretty benign if no other data is attached by the OS when scores are uploaded. But then, if scores are supported, 90% of the tracking infrastructure is already there.
Given the context around that line, I interpret that as applying to their actual Mac applications that deal with usernames/password/hostnames, especially since the sentence that precedes that is
> Except as described above
And further up there is a carve-out for Playdate logging.
They also don't really need to send out your username for the API call -- they already know who you are because your device is tied to your account.
I do find it surprising that there is no way to not participate in leaderboards.
Check out BVE and OpenBVE, the train simulators. Exactly the same problem - stop precisely at the stations and keep to schedule. Subways and railroads in Japan, the US, and Korea are modeled in great detail.
52 comments
[ 0.26 ms ] story [ 108 ms ] threadhttps://twitter.com/risolvipro
Snow! doesn't seem to have a home outside of discord, but it's a port of their existing pico8 game: https://freds72.itch.io/snow
https://devforum.play.date/t/zero-zero-perfect-stop-train-si...
Looks like the game was pseudo-3D up until 2023, but sometime before 2024-05-19 they switched to a video-based approach.
For a game like this where the path is limited and known that’s a very smart approach. Neat.
I tried making some pre-scaled sprites, and the ROM footprint had to be pretty large to afford enough size steps for reasonably smooth motion as the train moved past objects. Even then, all that sprite drawing was starting to dip the frame rate.
So, I experimented with a pre-rendered approach, and that was a huge unlock. Eventually I was able to wrangle it into something that I think worked even better in the end! The pre-rendered video based approach allowed way more elaborate detail and I didn't have to worry about frame rate anymore.
Playdate got STM32F746 (ARM Cortex-M7F) at 180 MHz. 320 kB SRAM (and 16 MB of other RAM, maybe PSRAM?). DSP and saturation instructions are included.
The display is 400x240 1bpp.
Surely that's more than enough juice for sprite scaling? (Might need to copy graphics data to SRAM and even to do it in tiles for better performance.)
Although your video based implementation is pretty cool.
There was something deeply fulfilling about having the legacy videos running side by side with the realtime 3D view and having them almost perfectly in sync.
We were running on inhouse designed and built, industrialised graphics cards, using 3DFX chips. It was a magical time to be involved with the cutting edge of 3D graphics as the industry tipped from Silicon Graphics and Evans & Sutherland "big iron" to consumer hardware.
https://old.reddit.com/r/nycrail/comments/1ezw72n/does_mta_h...
For the previous question, it was an internal training sim, not public.
So pleasantly surprised to see Zero Zero on HN! Thank you so much for the support and I hope all you Playdate owners out there enjoy the game!!
Question: is the route accurate to a real train, or is it fictional?
I'm surprised at the file size though, you'd think having a device with such a low res and without colors, you'd be able to shrink down assets more
Comparing to a Densha de Go rom from n64, the difference is huge and yet it had colors and 2x the res
I saw that there are scoreboards on the website. Does this mean that the game includes some form of user tracking? Does the website (play.date) know how often a user plays, when, for how long, how good he/she is at it, etc.? Is there a unique user ID or device ID that they can pair with past&future aquisitions in the shop?
I don't own that game and I probably never will. I'm just asking this to educate myself about what's possible in terms of invasion of privacy by using a low power console such as this one.
Thanks.
https://help.play.date/catalog-developer/scoreboard-api/
Don't want scoreboards? Don't connect to wifi. It baffles me that someone would be paranoid about this.
playdate.scoreboards.addScore sends just the rank, player and value data, or is there a device ID added in the background? If not, how do they prevent spamming/cheating? Is player value user-defined? For this game only or all games on the device? Is it sent with https or just http?
Thank you.
I also found the scoreboards surprising. I wouldn't expect a Gameboy-like device to be reporting things back to a server. I don't have any particular privacy concerns about it myself, but it is surprising, and I can see why people might object.
It also seems to contradict their privacy policy (https://panic.com/privacy/):
But the scoreboard API seems like it's tied to usernames...Not only that, but the API link provided by the author specifies that scores are stored in the device if Wifi is offline and uploaded later, so aparently, there's no way to block uploading unless the device is hard-reset (is that even possible?) before connecting to Wifi to get another game.
The only good thing I see is that the score board is not mandatory and it seems pretty benign if no other data is attached by the OS when scores are uploaded. But then, if scores are supported, 90% of the tracking infrastructure is already there.
https://panic.com/privacy/
> Except as described above
And further up there is a carve-out for Playdate logging.
They also don't really need to send out your username for the API call -- they already know who you are because your device is tied to your account.
I do find it surprising that there is no way to not participate in leaderboards.
Check out BVE and OpenBVE, the train simulators. Exactly the same problem - stop precisely at the stations and keep to schedule. Subways and railroads in Japan, the US, and Korea are modeled in great detail.
https://www.youtube.com/watch?v=Do-ZBPWhhbQ
https://www.youtube.com/watch?v=4VzT2e8rvY0