Scriverò un server per un multiplayer online con questi requisiti:
- Gioco a turni piuttosto semplice (pensa a un gioco di carte) che si gioca interamente sul server (motivi di sicurezza)
- Deve essere in grado di eseguire più giochi (tavoli) con 4 giocatori per tavolo, ma non è richiesto alcun sistema di lobby (un altro server se ne occupa)
- Può supportare il maggior numero possibile di giocatori contemporaneamente; Potrebbe essere necessario più server
- Chatta tra giocatori
- Connessione socket a un client Flash / AIR
- Deve essere in grado di comunicare con altri server (per account giocatore e simili)
Ora sto considerando due opzioni:
- Smartfox (o equivalente)
- Una soluzione Java personalizzata in qualcosa come Tomcat
Perché Smartfox?
- Gestisce più stanze e chatta in modo nativo
- Presumibilmente ha soluzioni per noti problemi di gioco multiplayer
Perché personalizzato
- Smartfox ha molte funzioni non necessarie, male per le prestazioni
- Smartfox comunica con un formato basato su XML, potrei usarne uno binario più efficiente.
- Non so se eseguire l'intero modello di gioco sul server sia conveniente con il meccanismo di estensione di Smartfox
- Più stanze e chat sono facili da reimplementare
- Tomcat o un contenitore leggero è più facile da implementare rispetto a Smartfox
- Migliore supporto IDE per lo sviluppo su Tomcat (distribuzione automatica, ecc.)
Cosa ne pensi? I miei presupposti sono corretti? Hai qualcosa da aggiungere? Quale opzione dovrei scegliere (o forse un'altra completamente)?