Lit raycaster demo


Well I had high ambitions for having a full game, or at least a much more complete demo... but ahead of the SDK release I wanted to at least share a PDX folks can try :slight_smile:


Last time I worked on this I got map loading via .json files generated from LDTK; which is a pretty great editor for wolf-style games, if you twist it a bit.

  • Mostly 30fps full screen rendering. No line doubling/tricks
  • Floors and ceiling rendering, though I only have floors here.
  • "4 color" textures.
  • Light levels! Does by distance in this demo. With four colors there's a solid white/black then two grays from a 16 gray palette. This seemed to stand out better on the device than 4 grays.
  • Turning the crank switches the view line-by-line with a secondary player object. Dunno where I was going with this but it looks cool.
  • Was working on sprites and extra fiddling with the lights.

I'll update this thread if I get more going. PDX built from the linux SDK. Note the demo has a different map than the gif above, and I also inverted the colors by accident, heh. (41.2 KB)


Great work!

Seeing about 40fps or high 30s on device over here.



huh. I'm getting an error when trying to load in the simulator :-/

I was excited to try this :smiley:

Seems like there might be an issue with the SDK that was just released :frowning: Not sure.

Well you build the whole in C right? when you develop on Linux so when you built the game for the simulator it probably build a .so file which is not compatible with macOS.
For a game to be playable on all platform in the simulator you would need to build it for Windows, Linux and Mac. Not impossible just very impractical.


I realized this right after closing my laptop... the error message is different than before and I wasn't paying attention, heh. The game used to run via lua calling C functions but I removed lua entirely recently while trying to slim out a few more % of performance. So now instead of a weird lua error it complains about pdz I guess.

I don't have a mac to compile it on, unfortunately :frowning: