Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [js]game js multiplayer

    ciao a tutti ragà,sto realizzando un giokino in javascript ma vorrei renderlo multiplayer,con tutti i giocatori connessi...fin qui nessun problema però vorrei fare in modo che quando un utente muove il suo personaggio o lo fa sparare questo sia visibile su tutti gli schermi degli utenti e non solo sul computer locale...

    per fare tutto ciò dovrei utilizzare un database mysql dove memorizzo costantemente le posizioni di tutti gli utenti e aggiorno la pagina tramite ajax ogni tot di tempo..bisogna fare cosi o esiste un altro metodo??

    Saluti e grazie in anticipo

  2. #2
    Ti consiglierei di usare FLASH ma se non sei pratico e la tua esigenza è un gioco in tempo reale AJAX secondo me è indispensabile tanto quanto un DATABASE.

    Consiglio vivamente di guardare questo AJAX Push Engine, oltre ad essere a mio avviso la migliore suit esistente per creare un gioco in tempo reale mette in luce le potenzialità di AJAX in tale ambito.

    Buona visione

  3. #3
    flash non l'ho mai usato quindi preferisco js che ci smanetto meglio...

    grazie

  4. #4
    Anche a me non piace molto flash. Tempo fa provai a fare qualcosa di simile a quello che stai facendo tu ora. Tutto è possibile e l'APE che ti ho passato prima ne è la dimostrazione ma preparati bene perché JS, HTML e PHP sono nati per ben altre esigenze e con altri scopi. Spesso dovrai piegare il linguaggio con la forza e cose che idealmente sono banali (come ad esempio muovere un div liberamente sulla pagina usando le freccie direzionali) possono portare via diverse ore e righe di codice

  5. #5
    xperò ho notato che PE si appoggia ad un database mysql per la visualizzazione in tempo reale,sbaglio?

  6. #6
    ragà scusate il doppio post,al posto di utilizzare la libreria APE avevo pensato di farlo io il procedimento senza dover studiare nuove funzioni,ecc,ecc...

    la visualizzazione dei personaggi in tempo reale su tutti gli schermi sono riuscita a stabilirla,ma una cosa che non risco a risolvere è:
    se voglio far sparare il mio personaggio,il proiettile dovrebbe apparire su tutti gli schermi e quando tocca qualcosa fa collisione...la collisione l'ho stabilita pure,ma il proiettile farlo apparire dappertutto.?

  7. #7
    Questione interessante.
    Non mi azzardo a postarti codice per una faccenda tanto complessa come questa, posso dirti che generalmente i giochi multiplayer in tempo reale usano una tecnica simile a quella che ti illustrerò. Un proiettile sparato ha due punti fondamentali: quello di partenza e quello di arrivo, creando una taballa 'eventi' e consultando ripetutamente il suo contenuto con AJAX (almeno una volta ogni mezzo secondo) ti basterà trovare la riga contenente 'proiettile' (tipo e grafica di proiettile), 'to' (da dove parte), 'from' (dove è destinato). Leggendo tali informazioni a livello di client potrai tracciare graficamente una traiettoria semplicemente con due punti.

    In alternativa puoi usare sempre AJAX con un refresh più alto cambiando costantemente le coordinate del proiettile. A questo punto la tabella eventi prenderà la forma 'proiettile','x','y'.
    In questo caso potrai usare un parametro 'stato' per indicare se il proiettile è in movimento o se è arrivato (inibendo di fatto la sua visualizzazione). Impostando la 'velocità' potrai regolare uno SCHEDULER a livello di database che ogni tot millisecondi modifichi le coordinate secondo una formula precisa ed arrivato ad un certo punto imposti lo stato 'done'!

    Spero di averti dato qualche spunto

  8. #8
    bhe si molto interessante quanto complesso,quindi riassumento in breve:

    creo una tabella eventi nel mio databse e inserisco:
    proiettile,x,y,stato

    quando l'utente spara imposto lo stato per esempio su "active" e quando arriva a destinazione su "stop"

    le coordinate x e y le aggiorno ogni millisecondo cosi il proiettile viene visualizzato dappertutto...

    grazie..

  9. #9
    scusate l'intromissione!
    ho dato un'occhiata a APE come soulstorm892 ha consigliato...l'ho trovato molto interessante (le demo) ma non ho capito come usarlo e come creare qualcosa tipo quello che fa vedere nelle demo...se puoi contattami su facebook o via e-mail : kevinitalia110@hotmail.it (KEVIN ITALIA x fb)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.