Remake van RedCat Spookkasteel, speelbaar in de browser

· Jildert

Update oktober 2026: de three.js-demo uit dit verhaal is inmiddels vervangen door het échte spel. Hoe dat zo kwam lees je in Geen remake meer: het hele spel gedecompileerd.

RedCat Spookkasteel kwam uit in een tijd waarin 3D-gaming nog in de kinderschoenen stond. Toch maakte het indruk met zijn unieke gameplay en sfeervolle, griezelige omgevingen. Decennia later besloot ik de uitdaging aan te gaan om dit nostalgische meesterwerk te moderniseren en de ervaring te leveren die RedCat en de fans verdienen.

Met reverse engineering en nog wat andere trucjes doe ik een poging om deze game nieuw leven in te blazen, zodat spelers dit spookavontuur opnieuw kunnen beleven, direct in de webbrowser!

Reverse engineering

Ik begon met het analyseren van de bestanden van de game. Al snel vond ik configuratiebestanden waaruit bleek dat er gebruik wordt gemaakt van de Genesis3D Open Source Engine. Deze engine gebruikt oude bestandstypes (.act voor 3D-modellen en characters, en .bsp voor de werelden) die in modernere game engines niet meer gebruikt worden. Deze bestanden bevatten binaire data en zijn niet gemakkelijk te lezen.

In de broncode van de Genesis3D-engine heb ik achterhaald hoe deze binaire bestanden zijn opgeslagen, om ze vervolgens weer terug te vertalen naar bruikbare data. Om dit te parsen heb ik een tool gebruikt die Kaitai Struct heet.

Na heel wat reverse engineeren, en met hulp van het begin van een remake van Amsterdoom, heb ik alle 3D-modellen, textures, animaties en nog veel meer informatie over de game kunnen terugvinden.

De characters uit RedCat Spookkasteel naast elkaar: RedCat, Brutus, Max, ridders, een skelet, de heks en meer
Alle characters uit de game, ingeladen in three.js.

Na maanden van hard werken kon ik een voorproefje van mijn werk delen: een demo van de remake van RedCat Spookkasteel, waarin je kon rondlopen in de originele levels.

RedCat van achteren in het spookbos, met lampionnen in de bomen en paddenstoelen
Rondlopen in het spookbos in de three.js-remake.

Beperkingen

Uiteindelijk liep ik tegen een aantal beperkingen aan van de technieken die ik gebruik om dit allemaal op het web te draaien (WebGL en three.js). Ten eerste is de tooling in three.js redelijk beperkt, waardoor ik heel veel basiselementen zelf moet maken, zoals de third-person controller, cutscenes en NPC’s. Ten tweede is de performance niet super goed. Om die te verbeteren heb ik zelf scripts moeten schrijven om niet te veel lichten en 3D-modellen tegelijk te renderen.

Nieuwe RedCat-game

Toen ik er ook nog achter kwam dat de 3D-modellen van de werelden niet zo goed in elkaar zitten (zoals normals die soms naar binnen wijzen), heb ik besloten om naast mijn remake ook een geremasterde versie van RedCat Spookkasteel te maken. Sommige 3D-modellen van het origineel gebruik ik daarin wel, zoals RedCat, Brutus, Max en de zombies. Maar de levels en het verhaal maak ik compleet opnieuw, in een modern jasje.

Nieuwe levels, nieuw verhaal

Hoewel ik enkele elementen uit de verhaallijnen van de oude RedCat-games heb overgenomen, vooral uit Spookkasteel, is dit project geen kopie. Integendeel: ik heb de kans gegrepen om mijn creativiteit de vrije loop te laten, volledig nieuwe levels te maken en een nieuwe verhaallijn te bedenken. Het verhaal bouwt voort op de magische sfeer van het origineel, maar bevat ook nieuwe wendingen en uitdagingen om spelers te verrassen.

Een nieuw hoofdstuk in RedCats avontuur

Mijn doel met dit project is een eerbetoon te brengen aan het originele RedCat Spookkasteel, en tegelijk mijn eigen stempel te drukken op het RedCat-universum. Het voelt als een eer om de erfenis van dat klassieke spel voort te zetten en iets nieuws en unieks te creëren voor zowel oude als nieuwe fans.

Ik zit nog in de vroege stadia van de ontwikkeling, maar ik deel alvast graag een glimp van wat jullie kunnen verwachten. Mijn Unreal Engine-project neemt spelers mee op een avontuur vol betovering, mysteries en uitdagingen.

Dank jullie wel voor het lezen van deze blogpost en voor jullie interesse in mijn nieuwe gameproject. Blijf op de hoogte voor meer updates!