Gioco stile Ogame - BiteFight etc. un MMORPG

Ciao ragazzi, come progetto sto per iniziare, a quanto pare, un MMORPG
con ruby - rails - ajax (ed mySQL) e via dicendo… qualcuno ha avuto
esperienze simili?

Mi stavo domandando una cosa… mettiamo caso che io spedisca le mie
truppe contro le truppe di un altro… e questo combattimento avverra’
tra X ore, dato che le truppe non si teletrasportano… cosa mi
consigliate per simulare il combattimento? Se fosse stato immediato
bastano delle query e metodi che vengono eseguiti istantaenamente… ma
se ho un delay di tempo? mi appoggio a cose esterne, un chron ad esempio
o c’e qualcosa di built in?

Qui trovi delle informazioni su come eseguire task in background con
Rails:

http://wiki.rubyonrails.org/rails/pages/HowToRunBackgroundJobsInRails

Per un mio progetto utilizzo la soluzione con lo script runner e cron
unix, ma nel mio caso la schedulazione è fissa. Nella tua situazione
forse verificherei la validità di RailsCron o mi svilupperei qualcosa
di custom a partire da esso.

Complimenti per il nome :wink:

Jacopo
www.seesaw.it

Il giorno 06/apr/06, alle ore 08:14, Jacopo ha scritto:

Non sarebbe meglio avere un game engine sempre acceso e con cui la
parte web dialoga?
In questo modo il game engine fa evolvere il tempo e da rails arrivano
gli eventi che influenzano l’andamento delle cose.

On 4/6/06, Jacopo [email protected] wrote:

Mi stavo domandando una cosa… mettiamo caso che io spedisca le mie
truppe contro le truppe di un altro… e questo combattimento avverra’
tra X ore, dato che le truppe non si teletrasportano… cosa mi
consigliate per simulare il combattimento? Se fosse stato immediato
bastano delle query e metodi che vengono eseguiti istantaenamente… ma
se ho un delay di tempo? mi appoggio a cose esterne, un chron ad esempio
o c’e qualcosa di built in?


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/

On 4/6/06, Jacopo [email protected] wrote:

in effetti ho letto la documentazione per il background in rails… e
forse l’unica cosa ragionevole dal punto di vista del design e’ avere un
applicazione permamente visto i limiti e i pochi feedback avuti dal cron
di rails… purtroppo non ho mai fatto una cosa del genere… un’
applicazione ruby residente ed una basata su rail che interagiscono…
c’e’ della documentazione?

non so. io li farei comunicare tramite rinda o drb. l’applicazione
principale vivrebbe nel tuo “game server”. se per far andare le cose
in rails hai bisogno di appoggiarti a un db invece che a un
application server a scopo di caricamento oggetti (non conosco rails),
allora puoi utilizzare il db come backend sia del game server che
rails. attento nel decidere per le singole tabelle se metterle in
scrittura per rails o per il game engine. occhio alla consistenza.

un’altra idea che avevo avuto era far semplicemente partire dei thread
associati all’azione nel controller con i dovuti parametri, thread che
sleeperanno per il tempo voluto ed eseguiranno il codice che dovranno
eseguire al termine dello sleep… vedete dei particolari problemi con
questa situazione?


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/

Jacopo wrote:

o c’e qualcosa di built in?

ciao Jacopo, non so se ti puo’ essere utile ma dai un’occhiata a questo
e sappimi dire…
anche mio marito (Marco che saluta tutti qui in lista ma che ora ha
troppo poco tempo causa lavoro e dunque mi ha passato la… rubyconda
patata bollente) ed io avevamo una mezza idea di un gioco multiplayer,
e, anche se credo sia troppo difficile per noi, visto che siamo a zero
come nozioni di programmazione, ho trovato questo link gironzolando sul
web…
http://teensymud.kicks-ass.org/wiki/show/HomePage
ciao e tienici aggiornati sugli sviluppi!
:slight_smile:
Rossella

grazie a tutti… vedo di documentarmi e poi torno con altre domande :smiley:

in effetti ho letto la documentazione per il background in rails… e
forse l’unica cosa ragionevole dal punto di vista del design e’ avere un
applicazione permamente visto i limiti e i pochi feedback avuti dal cron
di rails… purtroppo non ho mai fatto una cosa del genere… un’
applicazione ruby residente ed una basata su rail che interagiscono…
c’e’ della documentazione?

un’altra idea che avevo avuto era far semplicemente partire dei thread
associati all’azione nel controller con i dovuti parametri, thread che
sleeperanno per il tempo voluto ed eseguiranno il codice che dovranno
eseguire al termine dello sleep… vedete dei particolari problemi con
questa situazione?