Novactorio
Novactorio (repository: `Factorio-web-game`) is a complete browser game: an original 2D engine, chunk-based infinite world generation, supply chains,
Novactorio
π§ͺ View animated quality gates β typecheck Β· build Β· lint β
A browser factory-automation game in the spirit of Factorio, written from scratch in TypeScript with a hand-built Canvas 2D engine.
Novactorio (repository: Factorio-web-game) is a complete browser game: an
original 2D engine, chunk-based infinite world generation, supply chains,
conveyor belts, pipe networks, enemy AI, pollution, co-op multiplayer, 23
localizations, and a Stripe-powered premium tier.
Stack: TypeScript 5.5 (strict), React 18, Vite 6, Supabase (Auth, Realtime, storage), Stripe, Deno Edge Functions, Cloudflare Pages/Wrangler.
Highlights
- Hand-written engine β ~2,500 lines of Canvas 2D rendering with no game frameworks (no Phaser, no Pixi).
- Factorio-like depth β conveyor belts, inserters, pipe networks, research tree, pollution, enemy evolution.
- Infinite world β chunk-based terrain with Perlin noise, seamless scrolling.
- Co-op multiplayer β Supabase Realtime broadcasts player positions and build actions (place/remove).
- 23 languages β runtime-switchable i18n; Polish and English fully translated.
- Cloud saves β world snapshots backed up to Supabase
(
world_snapshots.save_data). - Premium monetization β Stripe Checkout subscriptions (Starter/Premium)
via Deno Edge Functions; webhooks update
profiles.premium_tier.
Tech stack
| Layer | Technology |
|---|---|
| Language | TypeScript 5.5, strict: true |
| UI | React 18 (overlay), TailwindCSS |
| Build | Vite 6 |
| Rendering | Hand-written Canvas 2D engine |
| Backend | Supabase (Auth, Realtime, Postgres, Storage) |
| Payments | Stripe Checkout + webhooks (Deno Edge Functions) |
| Edge functions | Deno (supabase/functions/) |
| Deployment | Cloudflare (Wrangler) |
Repository layout (highlights)
Factorio-web-game/
βββ src/
β βββ game/ # engine.ts, renderer.ts, systems.ts, world.ts, noise.ts, ...
β βββ render/ # render pipeline modules
β βββ core/ # engine/systems/types
β βββ components/ # React UI: AuthScreen, BuildMenu, ChatPanel, ...
β βββ services/ # auth, coop, trade
β βββ config/ # env, admin flags
β βββ i18n.ts # 23-language localization
βββ supabase/
β βββ functions/ # stripe-checkout, stripe-webhook, trade-fee-checkout, trade-webhook
β βββ migrations/
βββ docs/ # planning docs (e.g. plan-NETWORK.md)
βββ tools/ # easter-egg script, slicer.html
βββ package.jsonRelated pages
- Architecture β engine, renderer, world, UI layering
- Gameplay Systems β supply chains, belts, pipes, enemies, pollution
- Backend & Monetization β Supabase, Stripe, edge functions