Che tipo di server e database dovreste usare per un gioco online multiplayer, basato su browser e con chat?
Dipende. La domanda è molto aperta, e sono abbastanza sicuro che la mia risposta si rivelerà solo parzialmente corretta una volta che avrete scoperto quali sono i vostri requisiti.
Tuttavia, c'è abbastanza per iniziare:
Che tipo di server e database dovreste usare per un gioco online multiplayer, basato su browser e con chat?
Online e multiplayer - ok, quindi abbiamo bisogno di qualcosa che possa gestire lo stato del gioco e transizioni valide. Cioè, se io "pianto un albero a (x,y)", (x,y) è un posto valido per piantare, ho gli oggetti necessari? Questo backend-server deve controllare tutto ciò che i giocatori possono fare. Ci sono molti modi per farlo. Vi suggerirei di usare un server scritto in un linguaggio che conoscete già. Questo potrebbe essere node.js, Java, Kotlin, Go, o qualsiasi altro linguaggio in cui siete abili. Perché - e questo è un punto importante - è qui che il vostro codice di gioco è scritto ed è interamente personalizzato. Nessun altro può farlo - è scritto per il vostro gioco e solo per il vostro gioco.
Con la chat - questo rappresenta un altro "canale" di comunicazione. Non ha nemmeno bisogno di essere eseguita sulle stesse porte o server del gioco principale. Infatti, la maggior parte dei giochi eseguono la loro chat su un sistema separato. Di nuovo, questo sarà tipicamente fatto su misura, a meno che non si scelga di usare uno dei protocolli esistenti (irc, per esempio) dove è possibile connettere un client ad un server locale in esecuzione.
e database - Così, abbiamo scoperto che dobbiamo scrivere noi stessi il fastidioso software del server. E il database, allora?
Ancora una volta, potremmo usare più tecnologie di database allo stesso tempo. La chat è tipicamente scritta una volta sola, letta molte volte, mentre lo stato del gioco cambierà continuamente. Inoltre, gli account (con potenziali carte di credito) non dovrebbero essere memorizzati vicino al resto delle cose. Quindi, per i messaggi di chat, un couchDB si adatterebbe bene (non avrete transazioni qui, ma potrebbe non avere importanza), mentre lo stato del sistema e i dati degli account si adattano bene a un database relazionale vecchio stile. Io opterei per postgresql, visto che è gratuito e ben supportato, ma fate voi.
Articoli simili
- C'è qualche differenza tra il sistema operativo Android che gira su un processore basato su ARM e uno basato su x86?
- Un gioco basato su server può essere hackerato con game guardian?
- Qual è il modo migliore per implementare un gioco a turni basato su server su Android?
- Qual è la differenza tra un database tradizionale e un database moderno?