- 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
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!
~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
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. :)
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.
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 !
The #lispgamejam results are in, RESIDENT PEEVILLE is the runner up by 0.077. It's always an honor to have my creations appreciated at all, let alone having them rank near @Alexjgriffith (congrats!)
Things to celebrate:
- 3d game, no engine/library
- all my own code, music, and (mostly) art
- higher scored than fauna~otchi in all categories
- I enjoyed making this more, it felt like *my* game
Though as usual, Entertainment is the weakest link... I'm gonna focus on changing that this Autumn!
Also hope life is kind enough to @technomancy @mattly and @dthompson to hopefully participate in the upcoming Autumn #lispgamejam .
I sorely missed the music, rich game worlds, and spritely multiplayer showings this time around.
Though I must thank you again for my game concept. Hope all y'all are well!
@the_dot_matrix @mattly we needed more time to charge up our energies for a great effort next time =)
fr tho I had a family member recovering from major surgery and a family member graduating from high school and preparing for my own black belt, so I had to miss for the first time since 2018 but I don't plan on doing that again any time soon
congrats on your game!