DOVION.io

Retroscena: un server di gioco senza NESSUNA dipendenza

· 3 min di lettura · dalla ciurma di Dovion

Se hai mai messo un piede nello sviluppo web, conosci la battuta: la cartella `node_modules` di un progetto moderno pesa più di una foto della galassia. Centinaia di librerie esterne impilate, delle quali nessuno sa bene cosa facciano tutte. Sviluppando il nostro gioco in Node.js, abbiamo preso la strada opposta, ed è uno degli orgoglio del nostro sviluppo: il server di Dovion gira senza NESSUNA dipendenza esterna. Zero. Nemmeno una libreria di terze parti all'avvio.

Concretamente, cosa vuol dire?

Quando uno studio monta un server di gioco online, il riflesso è assemblare mattoni prefabbricati: una libreria per i WebSocket (la connessione in tempo reale tra il tuo browser e il server), un'altra per servire i file, un'altra per questo, un'altra per quello. All'inizio è veloce.

Noi abbiamo scritto tutto a mano. Incluso il pezzo più intimidatorio: il server WebSocket in sé, ovvero il protocollo che trasmette in tempo reale le posizioni delle navi, i colpi e gli eventi tra il server e ogni giocatore. È il tipo di componente che il 99% dei progetti importa senza farsi domande. Abbiamo preferito capirlo fino all'ultima riga.

Perché infliggersi questo?

Non è (solo) masochismo. Questa scelta ha vantaggi molto concreti:

Il piano B per le reti bloccate

Un esempio concreto di cosa permette questo controllo: alcune reti — istituti scolastici, aziende — bloccano le connessioni WebSocket. Nella maggior parte dei giochi, questo si traduce in uno schermo di connessione che gira nel vuoto. Siccome controlliamo tutto il nostro stack di rete, abbiamo potuto costruire un trasporto di riserva in HTTP/SSE: se il WebSocket è bloccato, il gioco passa automaticamente a questa via alternativa e ci giochi lo stesso. Questo tipo di rete di sicurezza è molto più difficile da installare quando il livello di rete è una scatola nera importata.

Gli svantaggi (perché ci sono)

Siamo onesti, questa filosofia ha un costo: il tempo. Scrivere da soli ciò che altri importano in una riga significa settimane di lavoro in più, specifiche tecniche da leggere, casi bizzarri da gestire. È un lusso di un progetto appassionato di piccole dimensioni; un team con scadenze commerciali probabilmente non potrebbe permetterselo. Non pretendiamo che sia IL metodo giusto per tutti — è il nostro, e si adatta alla nostra scala.

Questa filosofia del fatto a mano va oltre il server: il mondo del gioco stesso è disegnato dal codice, senza file immagine, come spieghiamo nel retroscena della grafica stile Ghibli. Risultato globale: un gioco leggero, che carica velocemente e gira anche su macchine modeste — la prova in Dovion su configurazione modesta.

Tutto questo lavoro invisibile ha un solo scopo: che tu clicchi e funzioni. Verificalo di persona: Giocare a Dovion gratuitamente.

Pronto a salpare? Dovion è gratuito, senza download, su PC e mobile.

⚓ Gioca a Dovion