Circuit Artist
Circuit simulator with propagation animation, rewind
Details
- External ID
- 46445412
- Source
- HN
- Company
- —
- Product
- Circuit Artist
- Website domain
- github.com
- Launched
- Dec. 31, 2025
- Cohort
- —
- Upvotes
- 135
- Upvotes percentile
- 0.9198473282442748
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
Hello,Circuit Artist is a game about drawing digital circuits as pixel art — like MS Paint, but pixels are wires and little triangles are NANDs. Hit play and the simulation runs in real time. It's fully white-box: every wire's state is visible.I launched it last year with a unit-delay simulation that ran until convergence on each update. It worked, but I realized it had some fundamental problems:(i) It hid what was actually happening. Players couldn't tell the difference between a ripple carry adder and a look-ahead adder — everything just resolved instantly.(ii) Design bugs became "game bugs." When players had non-converging wires (like A = not(A)), the game couldn't explain why or where the error was.(iii) Layout didn't matter. A NAND on one side of the map would instantly propagate to the opposite side, making spatial decisions meaningless. Unit delay probably works better for schematic-based simulators like Logisim, not a layout-focused game like this.(iv) Propagation visualization couldn't be added on top of the unit-delay engine — there was no notion of direction or distance.So I rebuilt the engine with variable-delay event-based simulation using an adaptation of Elmore delay. The delay for each wire depends on distance and fanout — longer wires are slower, higher fanout adds delay, branching wires are faster.For the implementation: I compute Elmore delay over wire trees. Each pixel has resistance and capacitance, with NAND inputs as nodes to account for fanout. For non-tree wire graphs, I build a Dijkstra-based spanning tree (driver as root) and interpolate for edges outside the tree. I calculate the delay for each node and project it back to the image so every pixel has a distance.This lets me animate propagation with a glow effect during simulation. The shader knows when each wire was triggered, the current time, and the Elmore distance of each pixel, so it resolves state per-pixel in real time.On top of that:- Time rewind: the simulation is now delta-based, so players can freeze and scrub backwards to debug. Super useful for cyclic circuits.- Layers: since timing matters now, I added up to 3 layers. NANDs only go on the bottom layer, upper layers propagate faster (lower capacitance). Lets you route wires above dense NAND areas.The game has a campaign for learning from scratch, though it's still incomplete and in progress. I'm working toward Steam Workshop support so people can create their own campaigns to teach different concepts or cover more advanced topics.GitHub (full source): https://github.com/lets-all-be-stupid-forever/circuit-artistSteam: https://store.steampowered.com/app/3139580/Circuit_Artist/
Enrichment
- Theme
- interactive simulations and creative experiments
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- circuit simulator with animation
- Manually corrected
- False
Could you build this?
Partial The UI and pixel-art canvas can be vibe-coded, but building a deterministic, real-time discrete-event or unit-delay digital logic simulator with state rewind requires careful simulation engine design and performance optimization.
What it would actually take: The frontend can use Canvas or WebGL with React/TypeScript, paired with a custom discrete-event logic simulation engine written in TypeScript or Rust/WASM. The hard parts are cycle-accurate signal propagation, handling race conditions/feedback loops in arbitrary pixel wire topologies, and managing a memory-efficient circular buffer for instantaneous simulation rewind.
Discussion
19 comments analyzed.
Competitors mentioned: Wireworld (cellular automaton), Conway's Life, Turing Complete, Zach-like games
Concerns raised: Steep learning curve without tutorial campaigns, Bitmap editing vs automatic wire pathing (workflow preference), Currently limited to digital logic, not analog simulation
Feature requests: Resistors and capacitors for analog circuits, Physics-based levels with Box2D integration, Advanced campaigns building up to simple processor, Editable resistance/capacitance pixel types with schematic symbols, LEDs
Competitors
Other products that read as similar to this one — 83 launches clear the similarity bar, closest 8 shown.
Attention rank: #15 of 84 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 63 days after the earliest competitor.
- I made some transistor animations · hn · 2026-07-24 · 212 upvotes · similarity 0.49
- Wirespan, a daily power grid optimization puzzle I made for my son · hn · 2026-08-25 · 12 upvotes · similarity 0.48
- Glitchy camera · hn · 2026-02-16 · 173 upvotes · similarity 0.44
- CircuitSim · ph · 2026-09-17 · 2 upvotes · similarity 0.40
- Visualize Model Spikiness in 3D · hn · 2026-07-02 · 18 upvotes · similarity 0.39
- Drawing Arena · ph · 2026-09-18 · 5 upvotes · similarity 0.38
- Linex · hn · 2026-02-24 · 82 upvotes · similarity 0.37
- MTGAPRO-I · github · 2026-09-13 · 10 upvotes · similarity 0.37
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.