Una sezione tecnica è chiusa qui sotto. Apri quelle che ti incuriosiscono, oppure tutte.

Cos’è

OrbVora è un gioco per browser in cui delle sfere combattono tra loro. Non guidi mai il personaggio durante lo scontro. Le tue scelte avvengono prima della partita: una classe, un’arma, le abilità e un tratto. Poi il combattimento si svolge da solo e tu lo guardi.

L’obiettivo del prototipo è capire se uno scontro tra sfere sia divertente da guardare prima di costruirci attorno il MMORPG più ampio. Il gioco è online e si può provare gratuitamente su orbvora.com senza registrarsi.

Come funziona un duello

Le sfere viaggiano in linea retta e rimbalzano contro i muri dell’arena, l’una contro l’altra e contro le armi. Nessuno prende la mira, quindi velocità, dimensioni e contraccolpo decidono dove avviene lo scontro.

Le armi da mischia ruotano attorno al proprietario, infliggono danno a ciò che toccano e poi attendono un breve tempo di ricarica. Le armi a distanza puntano il nemico più vicino e sparano proiettili. Quando due sfere si toccano si feriscono a vicenda e rimbalzano via. Abilità e tratti si attivano da soli e vengono spiegati nei riquadri laterali.

  • Duelli uno contro uno in un’arena quadrata che si ingrandisce in base al grado più alto presente nella partita.
  • La partita finisce quando resta in piedi un solo combattente. Scaduto il tempo limite, la sudden death stringe i muri e moltiplica i danni finché qualcuno non cade.
  • Vitalità, Forza, Destrezza, Agilità e Intelligenza del combattente alimentano le formule di danno, velocità e contraccolpo.

Costruire un combattente

Il costruttore guida attraverso cinque passaggi: classe, arma, abilità, tratto e statistiche. I punti abilità acquistano le abilità e i relativi potenziamenti, mentre i punti tratto acquistano i tratti. Ogni classe include le proprie abilità e ha una configurazione consigliata pronta con un clic.

Gli ospiti partono come Peasant. I giocatori registrati guadagnano un punteggio Elo nei duelli classificati e ogni grado dell’arena sblocca in modo permanente nuovi contenuti e aggiunge punti abilità e punti tratto. I giocatori dispongono anche di obiettivi con piccoli bonus limitati, un profilo pubblico, una classifica e una chat globale.

Modalità di gioco

Un ospite può entrare in combattimento in pochi secondi. Tutto ciò che fa come ospite viene trasferito al suo account se decide di registrarsi in seguito.

  • L’abbinamento rapido trova il primo giocatore libero, e se non c’è nessuno disponibile entra un bot o un PNG. I bot sono sempre indicati chiaramente.
  • Lobby personalizzate e link di sfida privati per giocare con gli amici.
  • Dungeon per gruppi fino a otto giocatori, un combattente Mondo con un proprio inventario, tornei e gilde, tutti dedicati agli utenti registrati.
  • Partite in diretta che chiunque può seguire come spettatore, con chat della partita riservata ai due sfidanti.

Il server è autoritativo. Un motore a passo fisso e aritmetica intera a virgola fissa scritto in Python riceve input immutabili (il regolamento, la modalità di gioco, entrambi i combattenti e un seed) e produce un registro ordinato di eventi di battaglia. Gli stessi input producono sempre gli stessi eventi, bit per bit.

Classi, armi, abilità e tratti sono dati di gioco versionati, costruiti a partire da un piccolo vocabolario di inneschi, condizioni ed effetti, così ogni attivazione può spiegare perché è avvenuta. Il browser non calcola mai l’esito: riceve gli eventi via WebSocket, interpola il movimento tra un evento e l’altro e disegna l’arena con Canvas 2D, in modo che ogni spettatore veda la stessa battaglia sulla stessa linea temporale.

L’audio viene sintetizzato direttamente nel browser con Web Audio, quindi non ci sono file sonori da scaricare.

  • Frontend: Nuxt 4 e TypeScript su Cloudflare Pages.
  • Backend: Python 3.12 e FastAPI, in esecuzione sul mio cluster Nomad.
  • Database: PostgreSQL 16 con migrazioni SQL ordinate.
  • Account: codice o link via email e accesso con Google.

A che punto è

OrbVora è nella fase di prototipo, riceve aggiornamenti frequenti e ogni modifica visibile ai giocatori è raccontata nel changelog interno al gioco. I prossimi passi sono i termini d’uso e la moderazione della chat, per poi passare alla progettazione completa del MMORPG: più sfere per schieramento e più squadre.