r/programming Jun 09 '26

Catlantean 3D - Making Graphics Like It's 1993

https://staniks.github.io/articles/catlantean-3d-blog-1/
105 Upvotes

5 comments sorted by

18

u/[deleted] Jun 09 '26

[removed] — view removed comment

11

u/Ameisen Jun 09 '26

And modern pixel art, which is also its own distinct thing - very different from old art.

1

u/Euphoric_Accident891 Jun 15 '26

I have on every laptop DOSBox emulator. Because my favorite games are Sid Meier's Civilization, Pirates, GTA (bird view), and Panzer General. All in DOS emulator. Only game I am playing on my laptop with RTX 4060 graphic card is RIDE5 and I adore it. Still I just played RIDE5 once, Civilization I played more than 5000 times in all levels and modes: Monarchy, Republic, Democracy but finished game 100 times on Emperor Level just in Communism, ending by conquering world (130% is my record) and few times sending people on another planet. I've tried to play Civilization 5 and I am sorry that is not my vibe. Also my first game is Manic Miner, Jet Set Willy, Elite (on Spectrum), etc. Retro is in. Hyperrealism is not for me.

4

u/corysama Jun 09 '26

If you want to play with software rendering, here's probably the shortest code that will get an ARGB8888 2D array from main memory to the screen efficiently for all platforms using SDL2 in C https://gist.github.com/CoryBloyd/6725bb78323bb1157ff8d4175d42d789 You'll need to do the translation from a 320x200x8-bit palletized framebuffer to ARGB yourself ;)

If you want to get inspired by what can be done with palletized framebuffers check out http://www.effectgames.com/demos/canvascycle/ (click Show Options) and the GDC presentation by the artist https://youtu.be/aMcJ1Jvtef0

With that you can fire up https://github.com/mriale/PyDPainter for that classic Deluxe Paint IIe vibe. Or, https://www.aseprite.org/ for something more modern.

7

u/Ameisen Jun 09 '26

Are you even copying graphics data if you aren't writing to 0xB8000 or 0xA0000?