|
Proiettili a ricerca
|
| Autore |
Messaggio |
KappeiJin
Ghoulsa e Ghosta
Messaggi: 884
Registrato: Jan 2011
Offline
|
#16
RE: Proiettili a ricerca
Può esplodere o no, nel caso di questa arma specifica si, ma non è escluso che domani ne faccia una versione che invece trapassi...
Per quanto riguarda le elaborazioni, come primo bersaglio prende SEMPRE il più vicino al player (in modo tale che abbia la garanzia di sbaragliarsi il pericolo più imminente), gli altri li ho comunque in lista in ordine decrescente, per cui adattando quello che dici potrei automaticamente assegnare i successivi ai rispettivi proiettili che vengono sparati, solo che nel frattempo i nemici si muovono e possono anche superarsi tra di loro, per cui non so fino a che punto puoi prevedere (devi anticipare un range, ma nel frattempo magari è arrivato un altro proiettile a disintegrarlo) se le carte cambiano sotto il sedere ogni giro
Paolo Cattaneo
Raven Travel Studios (pls follow us ^^)
"Ogni buon lavoro software nasce da un problema personale di uno sviluppatore."
(Questo messaggio è stato modificato l'ultima volta il: 16-01-2012 23:48 da KappeiJin.)
|
|
| 16-01-2012 23:47 |
|
theGiallo
A.N.E.C.I.F.E.G.
Messaggi: 2,870
Registrato: Mar 2011
Offline
|
#18
RE: Proiettili a ricerca
ah, sì, volevo anche chiederti che ordine di grandezza prevedi per possibile target.
tieni conto che se hai 60 fps e 20 target e ne processi uno alla volta in 1/3 di secondo hai il tuo bersaglio, se i bersagli si muovono a 5m/s (se sono in carica) ( http://www.wolframalpha.com/input/?i=running+man) ti farà un metro e settanta, il missile diciamo che lo fai andare a 20m/s ti avrà fatto sui 7 metri. Conta molto anche a che distanza sono i nemici  . Comunque il farne processare più a iterazione giova molto.
quanto mi piace sta cosa, posta qualcosa quando li hai fatti mi raccomando!
Gianluca Alloisio => thegiallo.blogspot.com
classe 1989
studente al 4° anno - Informatica - SMFN - UniGe
Dottore in Informatica ( )
|
|
| 17-01-2012 0:06 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,176
Registrato: Sep 2010
Offline
|
#19
RE: Proiettili a ricerca
Infatti, ocio anche con la velocita' di refresh.
Io la logica di gioco la elaboro sempre a 60 Hz, anche quando il rendering scende a 30 o meno.
Questo aiuta molto, ma potrebbe non bastare per evitare l'effetto di quantum teleportation (^。^)
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 17-01-2012 8:53 |
|
MannyB
Posting Freak
Messaggi: 1,533
Registrato: Mar 2011
Offline
|
#20
RE: Proiettili a ricerca
io userei una hashmap gestita da un projectile manager
Manuele Bonanno
|
|
| 17-01-2012 9:43 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,176
Registrato: Sep 2010
Offline
|
#21
RE: Proiettili a ricerca
(17-01-2012 9:43)MannyB ha scritto: io userei una hashmap gestita da un projectile manager
Anche.. una cosa interessante di queste situazioni e' che l'OOP spinto (per cosi' dire) non aiuta. Cioe', meglio avere un manager che ha una visione globale che una serie di elementi che si relazionano con tutti gli altri elementi.
Quindi se uno ha un manager esterno, tanto vale tenere i "client data" per-elemento dentro al manager stesso (magari con un puntatore dentro al game element per evitre di passare per il manager via hash in ogni caso).
Io ad esempio faccio qualcosa del genere:
Codice:
class GameElem
{
public:
MissileManagerClientData *mpMissileManagerClientData;
};
void MissileManager::InstallClient( GameElem &elem )
{
elem.mpMissileManagerClientData = allocClientData();
mClients.push_back( &elem );
}
Ma con l'hashing si puo' evitare il campo "mpMissileManagerClientData" (se ho capito bene quello che volevi dire).
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 17-01-2012 10:46 |
|
MannyB
Posting Freak
Messaggi: 1,533
Registrato: Mar 2011
Offline
|
#22
RE: Proiettili a ricerca
(17-01-2012 10:46)TheCrib ha scritto: (17-01-2012 9:43)MannyB ha scritto: io userei una hashmap gestita da un projectile manager
Anche.. una cosa interessante di queste situazioni e' che l'OOP spinto (per cosi' dire) non aiuta. Cioe', meglio avere un manager che ha una visione globale che una serie di elementi che si relazionano con tutti gli altri elementi.
Quindi se uno ha un manager esterno, tanto vale tenere i "client data" per-elemento dentro al manager stesso (magari con un puntatore dentro al game element per evitre di passare per il manager via hash in ogni caso).
Io ad esempio faccio qualcosa del genere:
Codice:
class GameElem
{
public:
MissileManagerClientData *mpMissileManagerClientData;
};
void MissileManager::InstallClient( GameElem &elem )
{
elem.mpMissileManagerClientData = allocClientData();
mClients.push_back( &elem );
}
Ma con l'hashing si puo' evitare il campo "mpMissileManagerClientData" (se ho capito bene quello che volevi dire).
si in pratica e' lo stesso solo che preferisco la comodita' della hashmap per i look ups ecc (se le performance non sono un problema).
Cmq fondamentalmente preferisco che gli oggetti (missili e targets) non sappiano niente del mondo esterno e faccio gestire il tutto da un manager esterno: ricerche, assegnare i targets, ecc...il design e' molto piu' pulito e meno intricato e il sistema e' piu' versatile e facile da mantenere senza classi monolitiche coupled l'una all'altra
Manuele Bonanno
|
|
| 17-01-2012 11:17 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,176
Registrato: Sep 2010
Offline
|
#23
RE: Proiettili a ricerca
(17-01-2012 11:17)MannyB ha scritto: Cmq fondamentalmente preferisco che gli oggetti (missili e targets) non sappiano niente del mondo esterno e faccio gestire il tutto da un manager esterno: ricerche, assegnare i targets, ecc...il design e' molto piu' pulito e meno intricato e il sistema e' piu' versatile e facile da mantenere senza classi monolitiche coupled l'una all'altra
Nel mio caso, quel puntatore potrebbe essere un 'void *'.
Il ragionamento che ho fatto e' che se sono sicuro che con un puntatore non c'e' del costo addizionale..
Ma andrebbe comunque tutto testato.. perche' tutto sommato lavorare completamente dall'esterno sarebbe ideale.
Per il futuro provero' l'approccio con l'hashing (che poi potrebbe essere semplicemente una lista ordinata di puntatori mantenuta dal manager).. e probabilmente la performance non ne risentira' 8)
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 17-01-2012 13:27 |
|
encelo
Main(die)stream
Messaggi: 3,251
Registrato: Nov 2008
Online
|
#24
RE: Proiettili a ricerca
(17-01-2012 9:43)MannyB ha scritto: io userei una hashmap gestita da un projectile manager
Io giocherei un po' con OpenMP per parallelizzare il tutto.
Angelo "Encelo" Theodorou
.: Blog | Twitter | LinkedIn | Ohloh | Last.FM | Vimeo | Steam :.
All problems in computer graphics can be solved with a matrix inversion. - James Blinn
|
|
| 17-01-2012 13:58 |
|
kunos
Gatto Incavolato
Messaggi: 2,354
Registrato: Jul 2010
Offline
|
|
| 17-01-2012 15:43 |
|
Gabriele
Posting Freak
Messaggi: 4,371
Registrato: Oct 2010
Offline
|
#27
RE: Proiettili a ricerca
(17-01-2012 9:43)MannyB ha scritto: io userei una hashmap gestita da un projectile manager
 concordo, la soluzione + efficiente imho.
Gabriele Di Bari
Account G+
Account bitbucket
Account GITHUB
E ricordate: ((VMJava*)(NULL))->~VMJava();
|
|
| 17-01-2012 18:47 |
|
MannyB
Posting Freak
Messaggi: 1,533
Registrato: Mar 2011
Offline
|
|
| 18-01-2012 10:19 |
|