Everybody Wants to Crank the World - a realtime rendering demo

I wanted to have a go at a number of "oldschool" demoscene rendering effects on a playdate. So what first started as a "let's see how many 3D polygons can the device render while still being at 20-30FPS", ended up somewhere entirely else, i.e. no polygons at all. Some pixel effects, some shadertoy-like SDF raymarching, and some raytracing (these are very limited of course).

How it started:
playdate-20240305-142308

And how it is going:
playdate-20240419-140918 playdate-20240419-140936 playdate-20240420-211805

Right now: this demo, which I randomly called "Everybody Wants to Crank the World", is submitted to a demoparty that is happening in just a few days (Outline 2024 in NL).

After the party finishes, I'll post videos, binaries and publish source code (which is all C) to github. Maybe write a blog post about development experience too.

Curiously enough, I could not find any already existing demoscene productions for the playdate. How come?

22 Likes

:eyes: Super-curious to see it in action and discover how you implemented it, definitely following this thread

Yay, not only this looks super interesting, I love the song which you made the word play for the title!
And thanks for mentioning about Outline 2024. Seems like a cool event I'll keep an eye for future versions.

Love it! I was just looking up old Amiga demos on YouTube the other day.

I had “badbird” in my head (“bad” is right, no offense meant) and sure enough, YouTube had it.

Eyyyy welcome to the playdate Aras <3

No demoscene stuff - not that many hardcore folk have come to pd yet. But there's a few in the Playdate Squad discord by now. Some cool 3D stuff is happening, there's been several different implementations of fast triangle rendering. I'll pop you a DM with the link so you can join if you're interested.

There's one demo scene thing I'm aware of by a Welsh coder: Oscar/TĂ´Back/Wavetable.

https://twitter.com/msgs_wavetable/status/1499653714293968896

2 Likes

The demoparty happened! Demo got 4th place in "Newskool Demo" category.

Video: https://www.youtube.com/watch?v=QjAKiwQxrQI
Playdate binaries: https://aras-p.info/files/demos/2024/Nesnausk_CrankTheWorld-20240421.zip (3MB) - should work on the device and on windows simulator (not mac/linux tho)
pouët.net product page: Everybody Wants to Crank the World by Nesnausk! :: pouët.net
source code repository: GitHub - aras-p/demo-pd-cranktheworld

playdate-20240419-141052 playdate-20240419-141133

9 Likes

Congratulations!
By the way, your web site is really interesting :wink:

Duuuuuuuuuuuuuuuuuuude. Amazing work.

congrats! awesome job

Very cool! The demo is great. I hope it sparks more demoscene work. The limited platform seems a perfect challenge.

in case it is useful, I made a start in porting Iq’s 2D SDFs to playdate … might get started on the 3D ones. Signed Distance Functions (SDF's) for the Playdate

I didn’t see a license file… is it ok to reuse parts of your code?

1 Like

Ah, good point! Added unlicense / public domain.

2 Likes

That's so cool! I love it! :hearts:

I just published a small blog post about development of this demo: Crank the World: Playdate demo · Aras' website

Out of interest might be perhaps two things:

  • overall playdate dev experience (very easy and sweet!) and
  • how to "cheat" by only calculating 1/N pixels every frame for raytracing/raymarching effects
2 Likes