2012-06-02 4 views
5

Voglio provare a scrivere un semplice gioco per il web, utilizzando le websocket e le tecnologie HTML-5, e sto pensando di farlo con Play framework e Scala. Tuttavia, il tipo di gioco che voglio fare è uno con un mondo persistente in cui le cose accadono da sole, e non solo come conseguenze dell'azione del giocatore, cosa significa, che non si adatta alla filosofia stateless di Play. Ho provato ad avviare un thread separato nell'applicazione Play, che avrebbe funzionato come un normale server di giochi persistente con un mondo in esecuzione e sembra funzionare. Come puoi commentarlo?Play framework come server di gioco

  • Devo affrontare alcuni grossi problemi con questo approccio?
  • Esiste una soluzione e una configurazione migliori? Che cosa solitamente usano ppl per tali cose oltre ai server di gioco standalone (non http)?
  • Puoi condividere qualche esperienza interessante considerando un problema simile?
+5

Penso che si adatterà perfettamente. Stateless in questo senso significa nessuno stato in una sessione utente tenuta tra le richieste. Ma naturalmente avete uno stato, persistentemente in un database o transitoriamente in una cache di attori Akka affermati. Quest'ultimo è il tuo modo, IMHO ;-) –

+0

Ottimo commento, in realtà sarebbe adatto per la risposta, soprattutto guardando l'attività))) Grazie per l'incoraggiamento, andrò per lo Stack Typesafe poi. – noncom

+0

Buona fortuna ;-) Facci sapere come funziona sul gruppo Google! –

risposta

4

non si scherza fino persistente con un "filo sempre in esecuzione l'aggiornamento info".

La maggior parte delle volte, tali giochi salvano solo l'ora dell'ultimo aggiornamento e calcolano i nuovi valori in base al tempo trascorso tra l'ora e l'ultimo aggiornamento. Qualsiasi struttura o tecnologia web può farlo. Anche se sono un fan/tossicodipendente di grandi dimensioni, non penso che l'argomento persistente di per sé sia ​​sufficiente.

Ma se avete bisogno:

  • buona integrazione WebSockets,
  • supporto traffico pesante,
  • massiccia concorrenza senza server massicce

allora davvero, play framework potrebbe essere la vostra scelta.

+0

Capisco cosa stai dicendo - sul calcolo dello stato dal tempo. Ma ci dovrebbe essere un gran numero di oggetti mutabili e l'approccio funzionale è inefficiente dal punto di vista computazionale ... L'intera faccenda sarà supportata da MongoDB, ma intendo letteralmente che - "backup" - Voglio usarlo * solo * per le istantanee giornaliere e per il caso di spegnimento del server. Penso che Play lo farà. Ho implementato con successo una soluzione proof-of-concept. Ora è solo la questione di allevarlo. – noncom

+0

Buona fortuna in tal caso;) –