Direct naar inhoud
noury.dev
Alle projecten
022026 · Ontwerp & full-stack development

Project Ruby.

Eigen project

Drie schermen van Project Ruby naast elkaar: het overzicht met dagopdrachten, de skills met plekken om te werken, en de marktplaats waar spelers orders plaatsen

Drie schermen van Project Ruby naast elkaar: het overzicht met dagopdrachten, de skills met plekken om te werken, en de marktplaats waar spelers orders plaatsen

Project Ruby is een werktitel; de echte naam bewaar ik voor als het spel af is. Het is mijn eigen browsergame waarin je personage doorwerkt terwijl jij iets anders doet: je kiest waar hij mee bezig gaat, en bij terugkomst zie je wat het heeft opgeleverd. Ik bouw het in mijn vrije tijd, vooral omdat ik er problemen tegenkom die je bij een gewone website nooit hebt.

Het lastigste is de tijd. Kom je na een dag terug, dan moet het spel dat hele etmaal alsnog uitrekenen. En het antwoord moet altijd hetzelfde zijn, of het spel dat nu in één keer doet of in tien stukjes. Mijn oplossing: niet elke seconde apart narekenen, maar doorspringen naar de momenten waarop er echt iets verandert. Zo kost een dag afwezigheid minder dan vijf milliseconden rekentijd.

Zeldzame vondsten moesten eerlijk aanvoelen. Ik heb ze zo gebouwd dat je geen pech kunt opsparen om die later met betere kansen te verzilveren, iets waar spelers in dit soort spellen graag misbruik van maken. En loopt het tegen: je krijgt de vondst gegarandeerd binnen vier keer de gemiddelde tijd. Een test controleert bij elke wijziging of dat nog klopt.

De browser vraagt alleen 'ik wil dit doen'; de server bepaalt wat er gebeurt en stuurt het resultaat terug. Vraagt de browser per ongeluk twee keer hetzelfde, dan telt het nooit dubbel. Alle spelinhoud (items, gebieden, vaardigheden) staat in losse tekstbestanden in plaats van in code, dus iets nieuws toevoegen is een bestand toevoegen zonder te programmeren.

Inmiddels kun je skills trainen van Woodcutting tot Cooking, handelen op een marktplaats, reizen tussen gebieden en dagopdrachten doen. De tests simuleren vijf miljoen acties om te controleren of de kansen kloppen.

Resultaat.

  • Afwezigheid wordt tot op de eenheid nauwkeurig doorgerekend
  • De server beslist alles, dus valsspelen levert niets op
  • Spelinhoud in losse bestanden: uitbreiden zonder programmeren
  • Vijf miljoen gesimuleerde acties in de tests

Beeld.

De Bag met gereedschap en voorraad, en de Collection Log met alle vondsten en hun zeldzaamheid

De Bag met gereedschap en voorraad, en de Collection Log met alle vondsten en hun zeldzaamheid