nowfound

Dev tools · September 17, 2025

AP

A PSX/DOS style 3D game written in Rust with a custom software renderer

So, after years of abandoning Rust after the hello world stage, I finally decided to do something substantial. It started with simple line rendering, but I liked how it was progressing so I figured I could make a reasonably complete PSX style renderer and a game with it. My only dependency is SDL2; I treat it as my "platform", so it handles windowing, input and audio. This means my Cargo.toml is as simple as: [dependencies.sdl2] version = "0.35" default-features = false features = ["mixer"] this pulls around 6-7 other dependencies. I am doing actual true color 3D rendering (with Z buffer,…

In plain words

This is a 3D game built in Rust with a custom software renderer designed to replicate PSX and DOS-era aesthetics. It features true color 3D rendering with Z-buffering, lighting, and triangle rasterization at 320x180 resolution, scaled to display via SDL2. The project uses only SDL2 as a dependency for windowing, input, and audio, keeping the codebase lightweight and self-contained. It targets developers and retro gaming enthusiasts interested in understanding graphics programming and low-level rendering techniques.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

So, after years of abandoning Rust after the hello world stage, I finally decided to do something substantial. It started with simple line rendering, but I liked how it was progressing so I figured I could make a reasonably complete PSX style renderer and a game with it. My only dependency is SDL2; I treat it as my "platform", so it handles windowing, input and audio. This means my Cargo.toml is as simple as: [dependencies.sdl2] version = "0.35" default-features = false features = ["mixer"] this pulls around 6-7 other dependencies. I am doing actual true color 3D rendering (with Z buffer, transforming, lighting and rasterizing each triangle and so on, no special techniques or raycasting), the framebuffer is 320x180 (widescreen 320x240). SDL handles the hardware-accelerated final scaling to the display resolution (if available, for example in VMs it's sometimes not so it's pure software). I do my own physics, quaternion/matrix/vector math, TGA and OBJ loading. Performance: I have not spent a lot of time on this really, but I am kind of satisfied: FPS ranges from [200-500] on a 2011 i5 Thinkpad to [70-80] on a 2005 Pentium laptop (this could barely run rustc...I had to jump through some hoops to make it work on 32 bit Linux), to [40-50] on a RaspberryPi 3B+. I don't have more modern hardware to test. All of this is single threaded, no SIMD, no inline asm. Also, implementing interlaced rendering provided a +50% perf boost (and a nice effect). The Pentium laptop has an ATI (yes) chip which is, maybe not surprisingly, supported perfectly by SDL. Regarding Rust: I've barely touched the language. I am using it more as a "C with vec!s, borrow checker, pattern matching, error propagation, and traits". I love the syntax of the subset that I use; it's crystal clear, readable, ergonomic. Things like matches/ifs returning values are extremely useful for concise and productive code. However, pro/idiomatic code that I see around, looks unreadable to me. I've written all of the code from scratch on my own terms, so this was not a problem, but still... In any case, the ecosystem and tooling are amazing. All in all, an amazing development experience. I am a bit afraid to switch back to C++ for my next project. Also, rustup/cargo made things a walk in the park while creating a deployment script that automates the whole process: after a commit, it scans source files for used assets and packages only those, copies dependencies (DLLs for Win), sets up build dependencies depending on the target, builds all 3 targets (Win10_64, Linux32, Linux64), bundles everything into separate zips and uploads them to my local server. I am doing this from a 64bit Lubuntu 18.04 virtual machine. You can try the game and read all info about it on the linked itch.io page: https://totenarctanz.itch.io/a-scavenging-trip All assets (audio/images/fonts) where also made by me for this project (you could guess from the low quality). Development tools: Geany (on Linux), notepad++ (on Windows), both vanilla with no plugins, Blender, Gimp, REAPER.

Does the same job

all alternatives →
  • RNPixel2018 · ▲89

    Modular React Native Components for quick prototyping

  • CM
  • IM
    I made a 2D Lua game engine using Rust with code and asset live reloadMay 2026 · usagiengine.com · ▲30

    I love making small 2D pixel art games, especially using tools that have some constraints. Things like Pico-8 and the Playdate SDK are simple, fun, and allow for focusing on the game idea rather than the technical minutia. Years ago I prototyped an idea for this little game engine, Usagi, but used Rhai instead of Lua. The idea for this little game engine never went away, so I decided to finally dig in and build it. Today I released v1.0.0 of Usagi Engine after making a bunch of small games, getting feedback from developers, and stabilizing the API. It's simple, has a great developer…

  • PR
    PyMOL-RS – Rust reimplementation of PyMOL with modern renderingFeb 2026 · github.com · ▲5

    Well, it happened. After endless release candidates, we've finally made it to v0.1.0. What's inside: GPU-accelerated rendering with WebGPU shaders, shadows, and goodies like silhouette edges and a special soft-light mode Core operations run up to 1000x faster than the original PyMOL. Surface generation that used to send you on a coffee run now finishes the moment you hit the button Full PyMOL selection algebra support — 95+ keywords, boolean logic, distance/expansion operators, slash-macros Distance, angle, and dihedral measurements, atom labels — everything you need for structural…

  • BuildKitty PlaySep 2025 · ▲22

    Online React Tailwind Playground

  • IB
    I built an open-source Rust/TS AI agent runtime with a Next.js-style DXDec 2025 · docs.trysoma.ai · ▲5

    Link: https://docs.trysoma.ai/ For the past ~9 months I’ve been building Soma, an open-source AI agent & workflow runtime written in Rust, with a TypeScript SDK (Python coming soon). It’s not a framework; it’s meant to sit underneath whatever agent/tooling code you already write (Vercel AI SDK, LangChain, custom code, etc.). It provides features around your framework + a better DX for building agents. I’ve tried to take a Next.JS model: open-source, good DX, self-deployable. I originally set out to build a vertical back-office/operations product for SMEs. I needed a…

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 2d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, September 2025

the whole month →
  • YouMind1,226

    The first AI creation studio where learning meets writing

    AI · Sep 2025 · youmind.com

  • AS

    Commerce · Sep 2025 · anycrap.shop

  • TE

    I made a built-from scratch Wayland Compositor to display any GUI app* in the terminal! I think there is a lot of unexplored potential in custom Wayland compositors, a lot of really cool things you can embed existing applications into! So, I started with embedding apps into the terminal because that is the easiest input/output (output is just utf-8 and I use the great `chafa` library for that, and I just read from stdin for the input). If you have any other ideas for cool Wayland compositors, let me know. I purposedly wrote 80% the app in Typescript to appeal to the most developers and…

    Dev tools · Sep 2025 · github.com

  • IR

    Years ago I stumbled across a basic version of this concept and it stuck with me. I knew if I was ever going to take on such a project, it would need to be flawless, but without coding experience it was just another idea that would never happen. By the end of 2024, as AI coding tools exploded everywhere, I finally had a way to make it real. I started from zero knowledge and spent months collaborating with AI agents as a learning experience. Every pixel and every function went through me. The AI translated what I asked for into code, but every decision was human. I didn't use existing OS…

    AI · Sep 2025 · mitchivin.com

  • Ada911

    Your own AI data analyst

    AI · 2025 · ada.im

  • Turn Product Images into Scroll-Stopping Video Ads

    Growth · Sep 2025 · vidau.ai