Jump to content

netKar PRO 1.1 beta 1: bugs, problemi e possibili soluzioni


VELOCIPEDE

Recommended Posts

Quindi io ti dico che questo io non lo posso fare :sticazzi:

allora forse non ci siamo capiti.. non lo puoi fare NON perche' ci sono i box.. non lo puoi fare perche' online non riesci ad avere una certezza di posizione cosi' accurata da giustificare 20cm di differenza nel box. Sul tuo PC magari vedi il tipo che sta a 21cm dal tuo muso, non hai collisione e pensi "ammazza come sono bravo".. ma NESSUNO ti garantisce che il tipo dall'altra parte non veda la tua macchina a 19.5cm e si becchi una collisione mandandoti a quel paese.

E' la natura dell'online racing.. qualcuno, in maniera ERRONEA lo chiama "lag".. il "lag" e' un'altra cosa, questa si dovrebbe chiamare latenza.. ma ci capiamo lo stesso. Se sei su un server con 100ms di ping significa che il tuo client deve indovinare dove si trovano le altre vetture basandosi su dati vecchi del ping*2=200ms. Quei 200ms sono la "latenza". A 200km/h una macchina in 200ms fa 11 metri! Per quanto il sistema puo' fare i salti mortali per capire dove la tua vettura si trovi effettivamente non ci si puo' certo aspettare un'accuratezza di pochi cm quando hai circa 11 metri "potenziali" in cui l'altro puo' essere.

Quindi il virtuosismo di avere una collisione piu' corretta verrebbe cmq vanificata dal fatto che la collisione potrebbe essere rilevata da un client e non dall'altro.

O si accetta questo semplice limite fisico.. oppure iniziamo a mettere le firme lanciamo il partito del Lan Party di leva per il paese... altrimenti ci mettiamo in ibernazione criogenica fino al 2035 quando magari avremo interent a latenza zero.

Ovviamente esistono delle strategie per eliminare o aggirare il problema.. piu' o meno valide.. alcuni FPS di prima generazione ad esempio generavano il "fire" sul server in modo da avere piu' accuratezza.. ma al prezzo di una risposta in ritardo.. chi non ha giocato a Quake2 notando che, online, io premo fire e dopo tot tempo vedo partire il colpo?

In un racing game questo approccio si traduce in una richiesta di validazione del contatto da parte del server.. cioe'.. io vedo una collisione sul mio client.. non reagisco ma chiedo conferma al server " e' vero che tizio stava li al tempo tot?".. il server analizza la posizione di tizio e mi risponde se c'e' o non c'e' collisione.. quando ricevo la risposta dal server, se positiva, reagisco la posizione. Ma in tutto questo saranno passati, in caso di ping ottimo, diciamo 40ms.. almeno 80ms che a 200km/h sono piu' di QUATTRO metri! Praticamente vedrei il tizio che mi penetra ( a qualcuno piacerebbe ma io passo :sticazzi: ).. magari passa dall'altra parte.. salvo poi vederlo rimbalzare verso la mia macchina.. se questo sembra comico, prova a pensare cosa e' successo in quegli 80ms in cui stavamo in attesa di conferma della collisione.. intanto nkp si e' fatto altre 26 iterazioni della fisica.. avra' trovato altre 26 potenziali collisioni (mentre il tizio mi penetrava) e avra' richiesto 26 conferme di collisione al server.

Morale della favola.. in un FPS dove al momento della collisione uno dei 2 oggetti coinvolti (il proiettile) sparisce c'e' solo da pagare in termini di latenza.. in un racing game dove al contatto non e' che una delle 2 macchine sparisce questa soluzione e' assolutamente da scartare.

Questo e' solo un esempio.. qualsiasi altro esempio vi puo' venire in mente e' stato gia' analizzato, forse implementato, testato e scartato.. perche' sono quasi 5 anni che faccio questo a tempo pieno.

Se ci fosse l'AI e le gare offline allora avere una mesh di collisione precisa sarebbe imprescindibile.. in un prodotto online only con collisioni risolte sui client sarebbe tempo sprecato.

Link to comment
Share on other sites

  • Replies 535
  • Created
  • Last Reply

Top Posters In This Topic

  • BoNI

    99

  • kunos

    61

  • pirci

    48

  • wildsurfer

    27

Top Posters In This Topic

Posted Images

allora forse non ci siamo capiti.. non lo puoi fare NON perche' ci sono i box.. non lo puoi fare perche' online non riesci ad avere una certezza di posizione cosi' accurata da giustificare 20cm di differenza nel box. Sul tuo PC magari vedi il tipo che sta a 21cm dal tuo muso, non hai collisione e pensi "ammazza come sono bravo".. ma NESSUNO ti garantisce che il tipo dall'altra parte non veda la tua macchina a 19.5cm e si becchi una collisione mandandoti a quel paese.

E' la natura dell'online racing.. qualcuno, in maniera ERRONEA lo chiama "lag".. il "lag" e' un'altra cosa, questa si dovrebbe chiamare latenza.. ma ci capiamo lo stesso. Se sei su un server con 100ms di ping significa che il tuo client deve indovinare dove si trovano le altre vetture basandosi su dati vecchi del ping*2=200ms. Quei 200ms sono la "latenza". A 200km/h una macchina in 200ms fa 11 metri! Per quanto il sistema puo' fare i salti mortali per capire dove la tua vettura si trovi effettivamente non ci si puo' certo aspettare un'accuratezza di pochi cm quando hai circa 11 metri "potenziali" in cui l'altro puo' essere.

Quindi il virtuosismo di avere una collisione piu' corretta verrebbe cmq vanificata dal fatto che la collisione potrebbe essere rilevata da un client e non dall'altro.

O si accetta questo semplice limite fisico.. oppure iniziamo a mettere le firme lanciamo il partito del Lan Party di leva per il paese... altrimenti ci mettiamo in ibernazione criogenica fino al 2035 quando magari avremo interent a latenza zero.

Ovviamente esistono delle strategie per eliminare o aggirare il problema.. piu' o meno valide.. alcuni FPS di prima generazione ad esempio generavano il "fire" sul server in modo da avere piu' accuratezza.. ma al prezzo di una risposta in ritardo.. chi non ha giocato a Quake2 notando che, online, io premo fire e dopo tot tempo vedo partire il colpo?

In un racing game questo approccio si traduce in una richiesta di validazione del contatto da parte del server.. cioe'.. io vedo una collisione sul mio client.. non reagisco ma chiedo conferma al server " e' vero che tizio stava li al tempo tot?".. il server analizza la posizione di tizio e mi risponde se c'e' o non c'e' collisione.. quando ricevo la risposta dal server, se positiva, reagisco la posizione. Ma in tutto questo saranno passati, in caso di ping ottimo, diciamo 40ms.. almeno 80ms che a 200km/h sono piu' di QUATTRO metri! Praticamente vedrei il tizio che mi penetra ( a qualcuno piacerebbe ma io passo :sticazzi: ).. magari passa dall'altra parte.. salvo poi vederlo rimbalzare verso la mia macchina.. se questo sembra comico, prova a pensare cosa e' successo in quegli 80ms in cui stavamo in attesa di conferma della collisione.. intanto nkp si e' fatto altre 26 iterazioni della fisica.. avra' trovato altre 26 potenziali collisioni (mentre il tizio mi penetrava) e avra' richiesto 26 conferme di collisione al server.

Morale della favola.. in un FPS dove al momento della collisione uno dei 2 oggetti coinvolti (il proiettile) sparisce c'e' solo da pagare in termini di latenza.. in un racing game dove al contatto non e' che una delle 2 macchine sparisce questa soluzione e' assolutamente da scartare.

Questo e' solo un esempio.. qualsiasi altro esempio vi puo' venire in mente e' stato gia' analizzato, forse implementato, testato e scartato.. perche' sono quasi 5 anni che faccio questo a tempo pieno.

Se ci fosse l'AI e le gare offline allora avere una mesh di collisione precisa sarebbe imprescindibile.. in un prodotto online only con collisioni risolte sui client sarebbe tempo sprecato.

Il tuo discorso non fa una piega ed anzi, ti ringrazio della spiegazione precisa come sempre :wink:.

Però non mi hai detto perchè invece del cubo non si possa fare la sagoma pari pari alla vettura usata? Il problema del contatto con un'altra vettura messi come dici tu sarebbero corretti ma il problema è che se faccio le stesse cose con Race07 ad esempio, usando le monoposto, non ho mai avuto contatti fantasma ma proprio mai. Quando picchio ho anche visto il contatto non ho solo sentito la botta :mad1:.

Quindi come si spiega? Se c'è un problema di ritardi, dovrebbe esserci per tutti i giochi di guida, invece quando succede con altri game, è perchè c'è proprio un problema di lag con una determinata macchina. Poi qualcuno mi smentisca perchè a sto punto non so che dire.

PS.: dimenticavo ho 20 megabit in download e quando va male ne ho comunque costantemente 12. Un mio amico ha sempre giocato tranquillamente con un 640 in tutti i titoli simbin e isi mentre con NK accusa lag paurosi :sticazzi:

Edited by amd_ati
Link to comment
Share on other sites

CUT

bel post =)

in ogni caso, farei notare che ci sono prodotti commerciali (distribuiti nei negozi) che hanno prestazaioni ben peggiori online. Senza contare che se il pro avesse i danni meno "strict" come il 95% dei prodotti concorrenti questi problemi sparirebbero.. =)

l'unica cosa veramente limitante del pro

Link to comment
Share on other sites

allora forse non ci siamo capiti.. non lo puoi fare NON perche' ci sono i box.. non lo puoi fare perche' online non riesci ad avere una certezza di posizione cosi' accurata da giustificare 20cm di differenza nel box. Sul tuo PC magari vedi il tipo che sta a 21cm dal tuo muso, non hai collisione e pensi "ammazza come sono bravo".. ma NESSUNO ti garantisce che il tipo dall'altra parte non veda la tua macchina a 19.5cm e si becchi una collisione mandandoti a quel paese.

E' la natura dell'online racing.. qualcuno, in maniera ERRONEA lo chiama "lag".. il "lag" e' un'altra cosa, questa si dovrebbe chiamare latenza.. ma ci capiamo lo stesso. Se sei su un server con 100ms di ping significa che il tuo client deve indovinare dove si trovano le altre vetture basandosi su dati vecchi del ping*2=200ms. Quei 200ms sono la "latenza". A 200km/h una macchina in 200ms fa 11 metri! Per quanto il sistema puo' fare i salti mortali per capire dove la tua vettura si trovi effettivamente non ci si puo' certo aspettare un'accuratezza di pochi cm quando hai circa 11 metri "potenziali" in cui l'altro puo' essere.

Quindi il virtuosismo di avere una collisione piu' corretta verrebbe cmq vanificata dal fatto che la collisione potrebbe essere rilevata da un client e non dall'altro.

O si accetta questo semplice limite fisico.. oppure iniziamo a mettere le firme lanciamo il partito del Lan Party di leva per il paese... altrimenti ci mettiamo in ibernazione criogenica fino al 2035 quando magari avremo interent a latenza zero.

Ovviamente esistono delle strategie per eliminare o aggirare il problema.. piu' o meno valide.. alcuni FPS di prima generazione ad esempio generavano il "fire" sul server in modo da avere piu' accuratezza.. ma al prezzo di una risposta in ritardo.. chi non ha giocato a Quake2 notando che, online, io premo fire e dopo tot tempo vedo partire il colpo?

In un racing game questo approccio si traduce in una richiesta di validazione del contatto da parte del server.. cioe'.. io vedo una collisione sul mio client.. non reagisco ma chiedo conferma al server " e' vero che tizio stava li al tempo tot?".. il server analizza la posizione di tizio e mi risponde se c'e' o non c'e' collisione.. quando ricevo la risposta dal server, se positiva, reagisco la posizione. Ma in tutto questo saranno passati, in caso di ping ottimo, diciamo 40ms.. almeno 80ms che a 200km/h sono piu' di QUATTRO metri! Praticamente vedrei il tizio che mi penetra ( a qualcuno piacerebbe ma io passo :sticazzi: ).. magari passa dall'altra parte.. salvo poi vederlo rimbalzare verso la mia macchina.. se questo sembra comico, prova a pensare cosa e' successo in quegli 80ms in cui stavamo in attesa di conferma della collisione.. intanto nkp si e' fatto altre 26 iterazioni della fisica.. avra' trovato altre 26 potenziali collisioni (mentre il tizio mi penetrava) e avra' richiesto 26 conferme di collisione al server.

Morale della favola.. in un FPS dove al momento della collisione uno dei 2 oggetti coinvolti (il proiettile) sparisce c'e' solo da pagare in termini di latenza.. in un racing game dove al contatto non e' che una delle 2 macchine sparisce questa soluzione e' assolutamente da scartare.

Questo e' solo un esempio.. qualsiasi altro esempio vi puo' venire in mente e' stato gia' analizzato, forse implementato, testato e scartato.. perche' sono quasi 5 anni che faccio questo a tempo pieno.

Se ci fosse l'AI e le gare offline allora avere una mesh di collisione precisa sarebbe imprescindibile.. in un prodotto online only con collisioni risolte sui client sarebbe tempo sprecato.

Il tuo discorso non fa una piega ed anzi, ti ringrazio della spiegazione precisa come sempre :wink:.

Per

post-10893-12520519157599_thumb.jpg

Link to comment
Share on other sites

ma sinceramente a me personalmente e' capitato rarissime volte una collissione fantasma ma ci convivo benissimo con la stessa

se si gioca su buoni server e tutti hanno un ottima connessione nn riscontro mai nulla

pero' se qualcuno inizia a tenere ping da 200 in su qualcosa la riscontro macchine che resta solo il cubo blu macchine che nn le vedo proprio

oppure che fanno ad intermittenza eccc.......

un mio parere a riguardo sarebbe questo

sono un pioniere di giochi on-line ho iniziato nel 99 e capirete che con quelle connessioni era davvero un casino molti finivano di giocare io sparavo ancora eheeheheheheh

nn si potrebbe mettere un opzione di accesso con limite di ping tipo server limite ping 100 pallina verde server limite ping 200 pallina arancione limite ping 300 in su pallina rossa

molti nn sapete giocano e scaricano contemporaniamente con emule oppure utorrent vagli a dire ahhhoooooo che casco fai o gioca oppure scarica il loro ping inevitabilmente sale moltissimo

con questa opzione nn possono entrare a rompere le pal a tutttiii

Link to comment
Share on other sites

riscontro macchine che resta solo il cubo blu macchine

questo non ha nulla a che vedere col lag. sono giocatori che sono entrati dopo di te; non appena fermi la macchina verr

Link to comment
Share on other sites

allora forse non ci siamo capiti.. non lo puoi fare NON perche' ci sono i box.. non lo puoi fare perche' online non riesci ad avere una certezza di posizione cosi' accurata da giustificare 20cm di differenza nel box. Sul tuo PC magari vedi il tipo che sta a 21cm dal tuo muso, non hai collisione e pensi "ammazza come sono bravo".. ma NESSUNO ti garantisce che il tipo dall'altra parte non veda la tua macchina a 19.5cm e si becchi una collisione mandandoti a quel paese.

E' la natura dell'online racing.. qualcuno, in maniera ERRONEA lo chiama "lag".. il "lag" e' un'altra cosa, questa si dovrebbe chiamare latenza.. ma ci capiamo lo stesso. Se sei su un server con 100ms di ping significa che il tuo client deve indovinare dove si trovano le altre vetture basandosi su dati vecchi del ping*2=200ms. Quei 200ms sono la "latenza". A 200km/h una macchina in 200ms fa 11 metri! Per quanto il sistema puo' fare i salti mortali per capire dove la tua vettura si trovi effettivamente non ci si puo' certo aspettare un'accuratezza di pochi cm quando hai circa 11 metri "potenziali" in cui l'altro puo' essere.

Quindi il virtuosismo di avere una collisione piu' corretta verrebbe cmq vanificata dal fatto che la collisione potrebbe essere rilevata da un client e non dall'altro.

O si accetta questo semplice limite fisico.. oppure iniziamo a mettere le firme lanciamo il partito del Lan Party di leva per il paese... altrimenti ci mettiamo in ibernazione criogenica fino al 2035 quando magari avremo interent a latenza zero.

Ovviamente esistono delle strategie per eliminare o aggirare il problema.. piu' o meno valide.. alcuni FPS di prima generazione ad esempio generavano il "fire" sul server in modo da avere piu' accuratezza.. ma al prezzo di una risposta in ritardo.. chi non ha giocato a Quake2 notando che, online, io premo fire e dopo tot tempo vedo partire il colpo?

In un racing game questo approccio si traduce in una richiesta di validazione del contatto da parte del server.. cioe'.. io vedo una collisione sul mio client.. non reagisco ma chiedo conferma al server " e' vero che tizio stava li al tempo tot?".. il server analizza la posizione di tizio e mi risponde se c'e' o non c'e' collisione.. quando ricevo la risposta dal server, se positiva, reagisco la posizione. Ma in tutto questo saranno passati, in caso di ping ottimo, diciamo 40ms.. almeno 80ms che a 200km/h sono piu' di QUATTRO metri! Praticamente vedrei il tizio che mi penetra ( a qualcuno piacerebbe ma io passo :sticazzi: ).. magari passa dall'altra parte.. salvo poi vederlo rimbalzare verso la mia macchina.. se questo sembra comico, prova a pensare cosa e' successo in quegli 80ms in cui stavamo in attesa di conferma della collisione.. intanto nkp si e' fatto altre 26 iterazioni della fisica.. avra' trovato altre 26 potenziali collisioni (mentre il tizio mi penetrava) e avra' richiesto 26 conferme di collisione al server.

Morale della favola.. in un FPS dove al momento della collisione uno dei 2 oggetti coinvolti (il proiettile) sparisce c'e' solo da pagare in termini di latenza.. in un racing game dove al contatto non e' che una delle 2 macchine sparisce questa soluzione e' assolutamente da scartare.

Questo e' solo un esempio.. qualsiasi altro esempio vi puo' venire in mente e' stato gia' analizzato, forse implementato, testato e scartato.. perche' sono quasi 5 anni che faccio questo a tempo pieno.

Se ci fosse l'AI e le gare offline allora avere una mesh di collisione precisa sarebbe imprescindibile.. in un prodotto online only con collisioni risolte sui client sarebbe tempo sprecato.

Il tuo discorso non fa una piega ed anzi, ti ringrazio della spiegazione precisa come sempre :wink:.

Per

post-10893-12520577097118_thumb.jpg

Link to comment
Share on other sites

allora forse non ci siamo capiti.. non lo puoi fare NON perche' ci sono i box.. non lo puoi fare perche' online non riesci ad avere una certezza di posizione cosi' accurata da giustificare 20cm di differenza nel box. Sul tuo PC magari vedi il tipo che sta a 21cm dal tuo muso, non hai collisione e pensi "ammazza come sono bravo".. ma NESSUNO ti garantisce che il tipo dall'altra parte non veda la tua macchina a 19.5cm e si becchi una collisione mandandoti a quel paese.

E' la natura dell'online racing.. qualcuno, in maniera ERRONEA lo chiama "lag".. il "lag" e' un'altra cosa, questa si dovrebbe chiamare latenza.. ma ci capiamo lo stesso. Se sei su un server con 100ms di ping significa che il tuo client deve indovinare dove si trovano le altre vetture basandosi su dati vecchi del ping*2=200ms. Quei 200ms sono la "latenza". A 200km/h una macchina in 200ms fa 11 metri! Per quanto il sistema puo' fare i salti mortali per capire dove la tua vettura si trovi effettivamente non ci si puo' certo aspettare un'accuratezza di pochi cm quando hai circa 11 metri "potenziali" in cui l'altro puo' essere.

Quindi il virtuosismo di avere una collisione piu' corretta verrebbe cmq vanificata dal fatto che la collisione potrebbe essere rilevata da un client e non dall'altro.

O si accetta questo semplice limite fisico.. oppure iniziamo a mettere le firme lanciamo il partito del Lan Party di leva per il paese... altrimenti ci mettiamo in ibernazione criogenica fino al 2035 quando magari avremo interent a latenza zero.

Ovviamente esistono delle strategie per eliminare o aggirare il problema.. piu' o meno valide.. alcuni FPS di prima generazione ad esempio generavano il "fire" sul server in modo da avere piu' accuratezza.. ma al prezzo di una risposta in ritardo.. chi non ha giocato a Quake2 notando che, online, io premo fire e dopo tot tempo vedo partire il colpo?

In un racing game questo approccio si traduce in una richiesta di validazione del contatto da parte del server.. cioe'.. io vedo una collisione sul mio client.. non reagisco ma chiedo conferma al server " e' vero che tizio stava li al tempo tot?".. il server analizza la posizione di tizio e mi risponde se c'e' o non c'e' collisione.. quando ricevo la risposta dal server, se positiva, reagisco la posizione. Ma in tutto questo saranno passati, in caso di ping ottimo, diciamo 40ms.. almeno 80ms che a 200km/h sono piu' di QUATTRO metri! Praticamente vedrei il tizio che mi penetra ( a qualcuno piacerebbe ma io passo :sticazzi: ).. magari passa dall'altra parte.. salvo poi vederlo rimbalzare verso la mia macchina.. se questo sembra comico, prova a pensare cosa e' successo in quegli 80ms in cui stavamo in attesa di conferma della collisione.. intanto nkp si e' fatto altre 26 iterazioni della fisica.. avra' trovato altre 26 potenziali collisioni (mentre il tizio mi penetrava) e avra' richiesto 26 conferme di collisione al server.

Morale della favola.. in un FPS dove al momento della collisione uno dei 2 oggetti coinvolti (il proiettile) sparisce c'e' solo da pagare in termini di latenza.. in un racing game dove al contatto non e' che una delle 2 macchine sparisce questa soluzione e' assolutamente da scartare.

Questo e' solo un esempio.. qualsiasi altro esempio vi puo' venire in mente e' stato gia' analizzato, forse implementato, testato e scartato.. perche' sono quasi 5 anni che faccio questo a tempo pieno.

Se ci fosse l'AI e le gare offline allora avere una mesh di collisione precisa sarebbe imprescindibile.. in un prodotto online only con collisioni risolte sui client sarebbe tempo sprecato.

Il tuo discorso non fa una piega ed anzi, ti ringrazio della spiegazione precisa come sempre :wink:.

Per

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.