Over het project

Rec0m88 is er om
Samen spelen is makkelijk.

Een browser-arcade en een emulator voor online spelen, zo ontworpen dat het spelen van een oud spel met een vriend slechts enkele seconden duurt in plaats van een hele middag.

Gestart in 2025 Onafhankelijk en zelf gefinancierd Meer dan 20 klassieke systemen
De korte versie

Wat Rec0m88 is

Rec0m88 bestaat uit twee onderdelen die één codebase delen. Er is een browserarcade die je binnen ongeveer twee seconden kunt openen en spelen, zonder dat je iets hoeft te installeren of een account hoeft aan te maken. En er is een desktop- emulator voor mensen die de volledige opstelling willen: een echte controller, opgeslagen spelstanden en peer-to-peer netplay op meer dan twintig klassieke systemen.

We zijn in 2025 met het project begonnen om een heel alledaagse reden. Het was nog steeds moeilijker dan nodig was om samen met iemand in een ander land een consolegame te spelen. Bij de meeste opties moest je een poort op je router doorsturen, een runtime installeren, een account aanmaken, of alle drie. Elk van die stappen jaagt stilletjes mensen weg die eigenlijk alleen maar een spelletje wilden spelen.

Als er voor een functie een handleiding nodig is, is deze nog niet af. De regel waartegen we bouwen

Waarom we ons hiermee bezighouden

Waarom behoud belangrijk is

Oude hardware is onderhevig aan de tand des tijds. Condensatoren lekken, optische schijven vergaan, contactpunten van cartridges roesten, en de batterijgevoede opslag in veel cartridges uit de jaren ’90 is inmiddels alles kwijtgeraakt wat erin opgeslagen stond. Dankzij emulatie blijft dit alles lang genoeg bewaard om bestudeerd te worden, of gewoon om op een regenachtige zondag mee te spelen.

We proberen er niet al te kieskeurig over te doen. Sommige restauratieprojecten streven zo hard naar cyclusnauwkeurigheid dat bijna niemand het resultaat op zijn eigen computer kan draaien. Nauwkeurigheid is belangrijk, maar dat geldt ook voor het feit dat iemand op een link kan klikken en het spel dan meteen kan starten. Wij streven naar een middenweg en brengen liever iets uit dat speelbaar is dan iets dat perfect is maar niet wordt gebruikt.

Het juiste beeld krijgen

Dat heeft deels te maken met hoe de spellen eruitzien. Een modern OLED- of 4K-scherm geeft de ruwe pixels duidelijker en scherper weer dan welk scherm dan ook waarvoor deze spellen zijn ontworpen. Onze shader-pijplijn kan de elementen die ze vroeger verzachtten weer terugbrengen: CRT-scanlijnen, schaduwmaskers en de lichte fosforbloom waardoor sprite-art eruitzag zoals de kunstenaars het hadden getekend. Dit zijn geen decoratieve filters. Op de hardware van toen maakten ze deel uit van het beeld.

Onder de motorkap

Hoe Rec0m88-netplay werkt

Bij klassiek online spelen gebeurt meestal een van de volgende twee dingen. Je invoer wordt via een centrale server geleid, wat extra afstand en dus vertraging met zich meebrengt. Of je wordt gevraagd een poort op je router te openen, wat een supportticket oplevert en waardoor de meeste mensen al bij de eerste schermafbeelding afhaken.

Rec0m88 gebruikt WebRTC in plaats daarvan. Het regelt de verbinding tussen twee spelers rechtstreeks, zodat er geen poortdoorsturing nodig is en, als het netwerk dit toestaat, de invoer van je controller de kortste weg neemt in plaats van een omweg via een server in een andere regio.

Via dezelfde verbinding wordt lokaal Nintendo DS-link-spel. Op echte hardware communiceren twee naast elkaar geplaatste DS-consoles via een lokale draadloze verbinding; Rec0m88 tunnelt die verbindingslaag via WebRTC, zodat de twee apparaten zich in verschillende landen kunnen bevinden en het spel zich toch gedraagt alsof ze op dezelfde bank zitten.

Looptijd

WebAssembly

De browserarcade draait op WebAssembly, waardoor games op bijna native snelheid worden uitgevoerd in het tabblad dat je al open hebt staan. Geen plug-ins, geen Flash Player, niets waaraan je systeemtoegang hoeft te verlenen.

Vervoer

Peer-to-peer

WebRTC regelt het tot stand brengen van de verbinding, wat betekent dat er geen poortdoorsturing nodig is en dat er geen tussenliggende server tussen twee spelers staat die op de kaart al naast elkaar zitten.

De vraag die we het vaakst krijgen

Waar de spellen vandaan komen

Dit is de vraag die ons het vaakst wordt gesteld, dus hier is het duidelijke antwoord.

De browsergames in de HTML5- en Flash-bibliotheek worden in licentie gegeven via GameDistribution, dat de rechten regelt met de studio’s die de films hebben gemaakt. De retro-sectie is zelfgemaakt: originele games die zijn geschreven voor oude hardware door onafhankelijke ontwikkelaars en die gratis beschikbaar zijn gesteld. De ontwikkelaars worden vermeld, met een link naar hun website. Geen van beide categorieën bestaat uit illegaal gekopieerde commerciële ROM’s, en wij hosten deze niet en plaatsen ook geen links daarnaar.

De desktopemulator is een apart verhaal. Het is de machine, niet de cartridge. Hij wordt geleverd zonder spelbestanden en zonder systeem-BIOS, en dat zal ook nooit veranderen. Als je iets wilt spelen, maak dan een kopie van je eigen schijf of cartridge en laad het bestand zelf. Een gedumpte kopie van een spel dat je bezit, is ook de enige kopie ervan die over twintig jaar nog steeds zal werken, en dat is nu juist het punt.

Ontwerpprincipes

De interface

Emulatie heeft een lange geschiedenis waarin goede software vaak onder slechte configuraties begraven raakt. Rec0m88 probeert daar niet nog een schepje bovenop te doen. Het instellen van de controller, netplay-lobby’s en het selecteren van het systeem gebeuren allemaal via de interface, en voor geen van deze zaken hoef je een configuratiebestand in Kladblok te openen en te gaan gissen.

  • Ondersteuning voor controllers. Moderne USB- en Bluetooth-pads worden bij het aansluiten automatisch herkend, en het toewijzen van toetsen gebeurt door op de gewenste knop te drukken, niet door een ini-bestand te bewerken.
  • Lokale opslagen. Opgeslagen spelstanden en voortgang blijven op je eigen apparaat staan. Er wordt niets geüpload en je kunt de toegang tot je account niet kwijtraken.
  • Modulaire kernen. Systemen worden toegevoegd naarmate hun emulatiekernen verder worden ontwikkeld, zodat de app nieuwe hardwareondersteuning krijgt zonder dat er een nieuwe versie hoeft te worden gebouwd.
Stappenplan

Waar we momenteel aan werken

Nog niet verzonden

Er staat nog niets in dit gedeelte. Het is hier geplaatst zodat je kunt zien welke richting het project opgaat, niet zodat je denkt dat het al is uitgebracht.

Het volgende punt op de lijst zijn toeschouwersruimtes: mensen de mogelijkheid bieden om een Rec0m88-netplay-sessie live in de browser te bekijken in plaats van er alleen zelf in te spelen. Speedruns, toernooien en highscore-runs zijn leuker met publiek, en de WebRTC-laag die we al gebruiken voor sessies met twee spelers vormt het grootste deel van het werk.

Daarnaast: meer systemen en betere shader-voorinstellingen, in ongeveer die volgorde. Het project is klein en wordt uit eigen middelen gefinancierd, dus dingen worden uitgebracht zodra ze klaar zijn, en niet omdat dat volgens een roadmap zo hoort.