Show HN: Gore – A Doom Engine Port in Go

Show HN (score: 6)
Found: July 08, 2025
ID: 176

Description

Other
Show HN: Gore – A Doom Engine Port in Go Hi HN,

I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats.

In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output.

The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read, and portable.

Code and instructions are at https://github.com/AndreRenaud/Gore

Would love feedback or thoughts.

More from Show

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs Hi HN, we&#x27;re Sam, Shane, and Abhi.<p>Almost a year ago, we first shared Mastra here (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=43103073">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=43103073</a>). It’s kind of fun looking back since we were only a few months into building at the time. The HN community gave a lot of enthusiasm and some helpful feedback.<p>Today, we released Mastra 1.0 in stable, so we wanted to come back and talk about what’s changed.<p>If you’re new to Mastra, it&#x27;s an open-source TypeScript agent framework that also lets you create multi-agent workflows, run evals, inspect in a local studio, and emit observability.<p>Since our last post, Mastra has grown to over 300k weekly npm downloads and 19.4k GitHub stars. It’s now Apache 2.0 licensed and runs in prod at companies like Replit, PayPal, and Sanity.<p>Agent development is changing quickly, so we’ve added a lot since February:<p>- Native model routing: You can access 600+ models from 40+ providers by specifying a model string (e.g., `openai&#x2F;gpt-5.2-codex`) with TS autocomplete and fallbacks. - Guardrails: Low-latency input and output processors for prompt injection detection, PII redaction, and content moderation. The tricky thing here was the low-latency part. - Scorers: An async eval primitive for grading agent outputs. Users were asking how they should do evals. We wanted to make it easy to attach to Mastra agents, runnable in Mastra studio, and save results in Mastra storage. - Plus a few other features like AI tracing (per-call costing for Langfuse, Braintrust, etc), memory processors, a `.network()` method that turns any agent into a routing agent, and server adapters to integrate Mastra within an existing Express&#x2F;Hono server.<p>(That last one took a bit of time, we went down the ESM&#x2F;CJS bundling rabbithole, ran into lots of monorepo issues, and ultimately opted for a more explicit approach.)<p>Anyway, we&#x27;d love for you to try Mastra out and let us know what you think. You can get started with `npm create mastra@latest`.<p>We&#x27;ll be around and happy to answer any questions!

Show HN: Visual Database Schema Designer (Angular 21 and .NET 10)

Show HN: Visual Database Schema Designer (Angular 21 and .NET 10) Hi HN, OP here.<p>I built this because I was frustrated with the current state of DB design tools. They are usually either heavy enterprise desktop apps (like DataGrip&#x2F;Workbench) or simple drawing tools that don&#x27;t export usable code.<p>I wanted a &quot;VS Code-like&quot; experience in the browser: dark mode, strict typing, and instant visual feedback.<p>The tech stack is quite aggressive: - Frontend: Angular 21 (Latest). I&#x27;m using Signals exclusively for the graph state management to handle 100+ nodes without layout thrashing. - Backend: .NET 10 for DDL generation and schema validation.<p>Current features: - Visual Table&#x2F;Column editor. - Drag &amp; drop relationships (1:N handling). - Exports to PostgreSQL DDL and Entity Framework Core.<p>It&#x27;s an MVP, so I&#x27;m looking for feedback on the graph interaction and the UI feel.<p>Does the &quot;IDE-like&quot; layout work for you for this kind of task?

Show HN: Opal Editor, free Obsidian alternative for markdown and site publishing

Show HN: Opal Editor, free Obsidian alternative for markdown and site publishing A fully featured markdown editor and publisher. Free, open-source and browser-first (no backend required). Built with modern technologies like React, TypeScript, Shadcn&#x2F;UI, and Vite. (thoughtfully crafted, not vibe coded)

Show HN: Control Claude permissions using a cloud-based decision table UI

Show HN: Control Claude permissions using a cloud-based decision table UI We’ve been building visual rule engines (clear interfaces + API endpoints that help map input data to a large number of outcomes) for a while and had the fun idea lately to see what happens when we use our decision table UI with Claude’s PreToolUse hook.<p>The result is a surprisingly useful policy&#x2F;gating layer– these tables let your team:<p>- Write multi-factor, exception-friendly policies (e.g. deny rm -rf &#x2F; when --force; allow cleanup only in node_modules; ask on network calls like curl&#x2F;wget; block kubectl delete or SQL DROP, each with a clear reason)<p>- Roll out policy changes instantly (mid-run, flip a risky operation from allow → ask; the next attempt across devs and agents is gated immediately– no git pull, agent restart, or coordination)<p>- Adopt lightweight governance that is somewhat agent agnostic and survives churn (MCP&#x2F;skills&#x2F;etc)- just add columns&#x2F;rules as new tools and metadata show up<p>- Get a quick central utility to understand which tools are being used, which tools get blocked most often, and why

No other tools from this source yet.