About

About this port

Rogue Survivor is a 2012 C#/Windows Forms game by Jacques Ruiz (roguedjack). Rogue Survivor Reloaded is a browser port of it: the same game, rewritten in TypeScript against a canvas instead of a GDI surface.

Why it exists

The original needs Windows and the .NET 3.5 runtime, and its System.Drawing drawing code has no browser equivalent. Rather than rewrite the game, the port replaces the three things that cannot survive a browser and leaves the rules alone, so the behaviour you get is the behaviour the original had.

How the port works

The original draws straight to a GDI surface, blocks on WinForms message loops and reads Keys.D0-style key codes. All of that is replaced. The game rules, the map generators, the AI and the item and skill tables are a direct port, kept line-for-line comparable to the C#.

In the original In the port
IRogueUI web/src/engine/IRogueUI.ts — the rendering and input contract
WinForms canvas in RogueForm web/src/ui/CanvasUI.ts — Canvas 2D
Blocking UI_WaitKey / UI_PeekKey Promises fed by web/src/ui/InputHandler.ts
Application.DoEvents() busy-wait loops await plus the real DOM event loop
System.Drawing Point / Rect / Color in web/src/engine/
CSV resource files JSON tables in web/src/gameplay/data/
PNG sprites, MP3 audio Lossless WebP sprites, Ogg audio

Under the hood

Technology

  • TypeScript 5
  • Vite 5 for the dev server and the bundle
  • Canvas 2D
  • Web Audio API for music and sound
  • Vitest for the test suite
  • Neutralino for the optional desktop build
  • Express for the optional production server
  • Node 20 or newer

Display

  • 1366×768 (16:9), the original was 1024×768 (4:3)
  • 27 tiles across instead of 21, and a 498 px sidebar instead of 286
  • Two text sizes: a 10 pt HUD and 12 pt menus, both up from the original's 8.25 pt, which lands near 11 device px on a HiDPI panel
  • 2× map zoom on + and -, for when 27 tiles is not close enough
  • Offscreen districts keep simulating without you
  • Installable as a PWA, and playable offline

Credits

Programming, graphics and music - the original game

Jacques Ruiz (roguedjack), 2010–2018.

Programming C# .NET 3.5, Microsoft Visual Studio Community 2017
Graphics software Inkscape, Paint.NET
Sound & music software GuitarPro 7, Audacity
Sound samples sound-fishing.net, soundsnap.com
Blog roguesurvivor.blogspot.com
Forum roguesurvivor.proboards.com

“Thanks to the players for their feedback and eagerness to die!”

Programming - Rogue Survivor: Still Alive

Mark Pryor (MP) wrote the fork whose extra rules, buildings, 711 sprites and audio this port merges. Those files are also where a large part of the sprite and sound library came from, and the fork states in its own CREDITS.txt that every one of them is either public domain (CC0) or CC-BY 3.0 and every one has been modified, so the artists and sound designers named there are owed the credit, and it is reproduced in the game's own Credits screen.

Programming, sprite styles and fixes - this port

By Taislin. The rules engine, the browser runtime, the first-person view, the merged content tables and the sprite-style option are the port's own work.

Sprite styles

Pickable in Options › (Gfx) Sprite Style. Two are fan mods of Rogue Survivor made for it and released to its community; both artists are credited by name, and both packs are credited as CC-BY. Nothing about them was commissioned, and neither artist is affiliated with this port.

Style Artist Source
classic Jacques Ruiz (roguedjack) The original game's own artwork
deonapocalypse v9 r1 Deon “DEONAPOCALYPSE” Rogue Survivor mod 1.2, dffd.bay12games.com
genesis classic 1.4 Deon “Genesis Classic” Rogue Survivor mod 1.4, dffd.bay12games.com
dafttiles b1 daftigod “Daft Tiles”, Rogue Survivor fan forum

The three mod packs incorporate further work by other people - the Daft Tiles pack says so of itself - and are redistributed here as they were published.

License

The original game and this port are both covered by the GNU General Public License v3, inherited from the original project. The full text is in LICENSE.txt.

Attribution

Game text, manual, artwork and music © Jacques Ruiz. This repository is a port of that work and is not affiliated with or endorsed by the original author. If you redistribute the game or this site, keep the credits and the license intact.

Source on GitHub Read the original manual