Playdate Game Zero Zero: Perfect Stop
play.date
play.date
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.
playdate.scoreboards.addScore(boardID, value, callback)
So you only send the boardID and the score. You get the player name back as part of the callback.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/):
Panic apps and products _do not_ send out _any_ private information. This includes
...
Usernames
...
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.
> 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.
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.
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.
https://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
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.