rewrote my CRT shader for the upcoming #lispgamejam #autumnlispgamejam

- a 6-by-6 pixel perfect rgb phosphor, in the most common bricklay pattern
- twice as many phosphors as there are pixels to match:
- the native snes resolution of about 240 pixels give or take per dimension
- the usual analog resolution of about 480 scanlines visible on the crt screen
- the CRT rgb phosphors selectively bloomed based on a brightness threshold
- bloom performed properly as a standard 2 pass (horizontal and vertical) gaussian blur

really happy with this, hoping i can optimize

here's a screenshot of the crt shader since the video kinda muddies the details

the crt shader has gotten a lot better, but i havent been able to show it off because im busy with the #lispgamejam #autumnlispgamejam

we've got a 640x480 crt screen, normal mapped diffuse lighting, live dithering and palette matching, all running at 720p and a smooth 60fps, in the browser on an ancient 2012 Macbook Pro (nvidia 650M)

shoutout to my partner for the awesome 3d renders, gameplay is cooking will share soon
(asset attributions in readme https://codeberg.org/the_dot_matrix/fauna-otchi)

finally got to revisit my phosphor masking + HDR bloom CRT shader/upscaler, nicknamed loveHRT (heuristic ray tube)

I added scanlines, distortion, and the big change... configurable gaussian kernel, blending smoothly without artifacts!

I think I nailed the blend of pixel art and accuracy I was going for ^^

Continuing the forked thread of my CRT shader (scroll up) and last fall's winning submission ( https://mastodon.gamedev.place/@the_dot_matrix/115563328337454390 )

@mattly : "A survival video game, but it’s about finding acceptable places to pee in a U.S. city"

My joke reply has turned somewhat serious.

Included is my updated loveHRT CRT shader I have been working on recently... now that my left thumb is somewhat healed and I can type again.

If I can find the time, I'm looking forward to participating in the spring 2026 #lispgamejam

Less than 2 days in and we have a fairly accurate recreation of PS1 style graphics, including:
- rgb8 to rgb5 bit color dithering (look closely at the start, similar to actual CRTs, the CRT shader makes it subtle
- affine texture mapping (warped textures)
- integer vertex snapping (wobbly polygons)
- 320x240 3d render resolution, with 640x480 interlaced output

Looking forward to adding a tank controlled player, 3rd person fixed camera, and pre-rendered scenes to walk around!

#lispgamejam

~3 days down and we have collision physics and depth-aware pre-rendered backgrounds, using only 2 pngs!

I can now create scenes by:
- sketching out a minimap
- using the freecam to find a good angle
- take a screenshot with the map laid on the floor
- draw the background, and specify depth in the alpha channel
- polish the two images, game-ready scene done!

Tomorrow will be performance tuning, though I still get 60fps on my 2012 macbook, as well as minimizing the scope of game. #lispgamejam

This is the halfway point where I ask, is there an actual game forming? This time... I think so!

M: reduced draws down to 9 (+ 18 batched)
T: background music, .obj parser, updated player model, various fixes
W: lots of QoL polish, updated textures, new UI box/frames, scene transitions, and the 8 final scenes and fixed camera angles

I was hoping to have the drawn backgrounds by now, they'll be done tomorrow
Other than that, I'm right on schedule, about 1 min - 3 max tasks per day

#lispgamejam

I swear I had one extra day yesterday... Oh well!
7 days down, 3 more to go!
Hand painting these backgrounds in proper three point perspective is a lot of work, but the result is so worth it. I just hope I can keep the momentum going for the remaining 7 backgrounds.

Ending off the day with a little cheeky fun. :)

#lispgamejam

2 more days, lots of polish and art today
we also have a walking animation made and added!
ive got 2 more backgrounds to line, then i need to paint 7 more 😅

other than that, its just small stuff, which hopefully i wont run out of time to do with all the painting left
i should be fine, but its definitely going to be a full saturday and sunday to finsh this up strong 💪

for now, please enjoy how much work my CRT shader is doing for the 320x240 3d render, and 640x480 source output #lispgamejam

RESIDENT PEEVILLE is offically published on itch.io!
https://the-dot-matrix.itch.io/resident-peeville
A from scratch, 10 days, no engine, somewhat faithful, definitely playful rendition, of a 3d PS1 style survival horror game. RP features 2d depth mapped hand-painted backgrounds, as well as a homegrown CRT shader. And as always, it's made with löve. <3

This was a big leap for me in a lot of ways.
No matter the results, I'm really proud of this.
I hope you find some joy in this silly little game of mine.

#lispgamejam

It's the weekend
Time to make a comfy meal on this rainy day and rate all the Spring 2026 #lispgamejam submissions
A lot of the submissions this year are being flagged as malware by itch.io... hmmmm #lispgamejam

Turns out it was just one and my PC was being weird with some others due to an added security thingy.

Though I was unable to play ANY of the chicken scheme games... due to the age of my 2012 Macbook's Ubuntu distro, last one where the GPU worked...

Glibc and now flatpak have given me enough reason to upgrade from a 14 year old laptop with a nice screen...

Going to micro center soon to get a raspi5, and finish that commodore ultimate breadbin build, so I'll be ready for the next #lispgamejam !