Author Topic: Por detrás dos simuladores (as físicas e não só)  (Read 6677 times)

0 Members and 1 Guest are viewing this topic.

Offline Nuno Basto

  • TheBigOne014
  • ArmA Staff
  • Lenda
  • ****
  • Posts: 14390
  • Liked: 516
  • Twitter - @TheBigOne014 | Twitch - TheBigOne_014
    • View Profile
  • Simulation Hardware: MOMO RACING RULES!!!!!
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #15 on: September 18, 2009, 10: 44 »
Mas Luis,... A ideia que eu tenho e corrijam-me se estiver errado é a seguinte:

Vou dar como exemplo o Campeonato GT3, em que temos BMW Z4, Seat Cupra, Gillet Vertigo e Viper. Penso eu de que o cada Computador/Piloto calcula as físicas do seu próprio carro e envia "o resultado" ao servidor que coloca os "resultados" de todos os pilotos em ordem e reenvia para os todos os pilotos "o resultado final".

Ao ler os teus posts fico com a ideia que cada computador/piloto faz os cálculos de todas as físicas de todos os computadores/pilotos de forma a conferir os "resultados" feitos pelos outros computadores/pilotos sendo que o servidor confere os "resultados", colocando-os em ordem e reenvia para os todos os pilotos "o resultado final".

É assim que funciona!?

Offline Luís Branco

  • Team Manager
  • Lenda
  • *****
  • Posts: 5722
  • Liked: 446
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #16 on: September 18, 2009, 13: 12 »
Desculpa-me a preguiça e ser em inglês, mas vou citar outros sobre este assunto.

Quote
Client-side prediction is a network programming technique used in video games intended to conceal negative effects of high latency connections. The technique attempts to make the player's input feel more instantaneous while governing the player's actions on a remote server.

The process of client-side prediction refers to having the client locally react to user input before the server has acknowledged the input and updated the game state.[1] So, instead of the client only sending control input to the server and waiting for an updated game state in return, the client also, in parallel with this, predicts the game state locally, and gives the user feedback without awaiting an updated game state from the server.




   
Quote
* We can't depend on input in order to reproduce behaviours:
          o We need the input of all vehicles in order to re-compute physics locally (think of car-to-car collisions). This means that physics will get computed so late as the latest input is received (global lag).
          o It may get very cpu costly to do that. Depending on the physics engine cpu hungry-ness, we may not be able to recompute the last half second in 0.1 secs in order to display it on screen fast enough to be a reasonable accurate representation of current physics status.
          o We need to have a deterministic simulation, which may not be possible if there are different platforms out there (32bit vs. 64bit, etc.). The ODE wiki has extensive info about this and how complex things can get.


If we want a smooth online experience, we have to figure out what remote players are doing while we receive the next chunk of data (we should avoid having cars jumping every 0.3 seconds when packets arrive). We can assume the input is kept constant (or the input variation is constant, or any kind of prediction we decide) and do physics computations locally for them, until we get the updated data.

Alternatively, or in conjunction with, sending input data, we can also send snapshots of vehicles state, in order to make sure things are synchronized. 1nsane and Driver replay system was based solely in input data, which led to many problems when the replays were lenghty. 5 min were sometimes enough for the re-simulation to drift enough from the original one to make the replay go wrong (crashing against a tree instead of passing 1cm away from it, etc.).

Ideally input should be used, but it can be very hard to do that. Currently no sim that i know of is based solely on it.


Quote
another problem with using only input, is that, even though wear/damage of a remote vehicle could be calculated on our side, we do not know what was the context in which it happened.
the remote player may have had a lag of 0.3 instead of 0.2 like us, so his world was very different to ours when the accident/wear happened.

which means that the remote player has to send us his whole world status. or the last time of update of all of his world objects on his computer.

in the end, this means, at least, a lot of lag, and probably killing the cpu. imagine having to recompute physics for a grid of 30 players:

    * 30 players x 30 vehicles in each of the players computer = 900 vehicle physics to compute. not to mention possible track variations, which may not necessarily be static (rubber on the racing line, bent armcos, cones, broken tire walls, etc.).

Fonte: http://www.motorsport-sim.org/index.php?go=taskView&tsk=858

Link onde encontrar mais desenvolcimentos sobre o assunto: http://www.gamedev.net/reference/list.asp?categoryid=30

Offline Marco Rosas

  • Experiente
  • ***
  • Posts: 534
  • Liked: 0
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #17 on: September 18, 2009, 15: 42 »
sem me imiscuir na conversa, e querendo apenas esmiuçar o post do Nuno relativamente ao programador da MS.
tem razao em muita coisa, mas o que transparece é que apenas o Forza tem fisicas que simulam a realidade.
ora somando os dados...CH9 é da MS, o programador é da MS, o Forza é da MS... a credibilidade fica um pouco abalada ;)

Offline Nuno Basto

  • TheBigOne014
  • ArmA Staff
  • Lenda
  • ****
  • Posts: 14390
  • Liked: 516
  • Twitter - @TheBigOne014 | Twitch - TheBigOne_014
    • View Profile
  • Simulation Hardware: MOMO RACING RULES!!!!!
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #18 on: September 18, 2009, 15: 48 »
Bem,... já percebi o pq então de todos os computadores calcularem as físicas de todos os carros... é mt física,...

Offline Nuno Basto

  • TheBigOne014
  • ArmA Staff
  • Lenda
  • ****
  • Posts: 14390
  • Liked: 516
  • Twitter - @TheBigOne014 | Twitch - TheBigOne_014
    • View Profile
  • Simulation Hardware: MOMO RACING RULES!!!!!
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #19 on: September 18, 2009, 15: 52 »
Marco ele apenas referiu ter trabalhado no FORZA,... não referiu essa coisa q disseste CH9...

Offline Luís Branco

  • Team Manager
  • Lenda
  • *****
  • Posts: 5722
  • Liked: 446
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #20 on: September 18, 2009, 16: 00 »
Marco, imiscui-te à vontade :biggrin:

Até estive para mencionar o teu nome e atirar para ti a resposta à pergunta do Nuno sobre o funcionamento dos simuladores no aspecto multiplayer. ;)

Offline Nuno Basto

  • TheBigOne014
  • ArmA Staff
  • Lenda
  • ****
  • Posts: 14390
  • Liked: 516
  • Twitter - @TheBigOne014 | Twitch - TheBigOne_014
    • View Profile
  • Simulation Hardware: MOMO RACING RULES!!!!!
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #21 on: September 18, 2009, 16: 08 »
Estava a rever o vídeo graças ao marco e no minuto 30 do vídeo ele começou a falar da falha das formulas nos simuladores a baixa velocidade,... e lembrei-me da minha experiência em AIA com o MOD enduracers nas curvas 2, 4 e 7 onde se nota isso perfeitamente,... qnt mais depressa executar a curva + grip tenho (estamos a falar de velocidades entre 60 e 80Km/h), se faço a curva lento demais é peão quase na certa, mesmo com TC!

Offline Tiago Lapa

  • Experiente
  • ***
  • Posts: 771
  • Liked: 98
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #22 on: September 18, 2009, 16: 17 »
(...)
Pelo que tenho lido sobre o assunto, já não se utilizam tabelas de lookup ou, pelo menos, tenta-se cada vez mais deixar de as utilizar, optando pelo cálculo em tempo real das fórmulas físicas que o software utiliza. Segundo dizem os entendidos ou se opta por tabelas de procura e isso engorda o software e obriga a mais memória por parte do hardware, ou opta-se por cálculo em tempo real e para isso é necessário potência, o que obriga a processadores mais potentes.
O processamento em tempo real permite que a simulação seja mais refinada que aquela que tem já uma solução predefinida e constante numa tabela mas a utilização de  valores predefinidos também permite simulação. Dizer o contrário e negar a génese da própria simulação em PC.
(...)

Lol criei esta thread sem saber.

Bem muito bom post Luís, sublinho esse parágrafo que para mim define o mais importante num simulador actual. O que acontece num sim não pode (não devia) ser pré definido mas sim acontecer com naturalidade, dependendo da interacção entre os vários componentes constituintes do veiculo e também do circuito. Já era tempo de passarem com as tabelas lookup à história, pois cada vez temos computadores mais potentes.
Por exemplo, a aderência dos pneus costuma ser calculada recorrendo a tabelas desse tipo onde se podia ler a aderência para cada slip angle, mas está na altura de começarem a desenvolver algoritmos que calculem a deformação em tempo real dos pneus, que provocam o aquecimento da borracha e consequentemente aumenta a pressão dos pneus e logo altera a forma como os pneus deformam em curva. Os pneus funcionam como uma mini suspensão e todos estes factores, e outros que eu não faço ideia, influenciam o comportamento.

Eu gosto da condução do LFS porque consigo sentir os pneus a trabalharem e a deformarem em curva. É uma mais valia muito importante na minha opinião. No iracing já não consigo sentir tanto isso. Mas em contrapartida o detalhe da superfície dos circuitos deste aumentam muito a experiência de condução, ao contrário do LFS que tem circuitos quase planos que não evidenciam tão bem o modelo físico.

Offline Luís Branco

  • Team Manager
  • Lenda
  • *****
  • Posts: 5722
  • Liked: 446
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #23 on: September 18, 2009, 16: 31 »
Falando de memória, julgo que ele também diz que utilizou outra fórmula para calcular o nível de aderência dos pneus e que permite ultrapassar essa limitação, que resulta da utilização da fórmula
http://phors.locost7.info/contents.htm

Indíce do documento http://phors.locost7.info/contents.htm

Offline Tiago Lapa

  • Experiente
  • ***
  • Posts: 771
  • Liked: 98
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #24 on: September 18, 2009, 16: 33 »
Mas Luis,... A ideia que eu tenho e corrijam-me se estiver errado é a seguinte:

Vou dar como exemplo o Campeonato GT3, em que temos BMW Z4, Seat Cupra, Gillet Vertigo e Viper. Penso eu de que o cada Computador/Piloto calcula as físicas do seu próprio carro e envia "o resultado" ao servidor que coloca os "resultados" de todos os pilotos em ordem e reenvia para os todos os pilotos "o resultado final".

Ao ler os teus posts fico com a ideia que cada computador/piloto faz os cálculos de todas as físicas de todos os computadores/pilotos de forma a conferir os "resultados" feitos pelos outros computadores/pilotos sendo que o servidor confere os "resultados", colocando-os em ordem e reenvia para os todos os pilotos "o resultado final".

É assim que funciona!?

Penso que o computador local tem sempre de fazer cálculos para os restantes veículos, provavelmente simplificados, mas minimamente aceitáveis para não parecerem caixotes flutuantes :biggrin: também pensava que o servidor só estava lá para se encarregar de fazer as trocas de dados entre os clientes.

No entanto tenho lido no fórum iracing que eles utilizam o servidor para calcular também a física dos carros, isto com a finalidade de impossibilitar cheats no computador cliente.
Mas pelos vistos ainda não é muito fiável porque em momentos de lag provoca muitas inconsistências, quando há acidentes por vezes leva-se com penaltys mesmo sem ter tocado em nenhum carro acidentado :shok: mas deve ser eficaz contra cheats.

As cheats é do pior que pode acontecer a um sim :bad: houve uma altura que andavam uns mitras pelos servers de LFS que faziam o carro ganhar uns km/h a mais nas rectas sem dar muito escândalo, são uns frustrados. Penso que foi corrigido mas eles arranjam sempre maneira de dar a volta de certeza :(
Cumps

Offline Tiago Lapa

  • Experiente
  • ***
  • Posts: 771
  • Liked: 98
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #25 on: September 18, 2009, 16: 43 »
Falando de memória, julgo que ele também diz que utilizou outra fórmula para calcular o nível de aderência dos pneus e que permite ultrapassar essa limitação, que resulta da utilização da fórmula
http://phors.locost7.info/contents.htm

Indíce do documento http://phors.locost7.info/contents.htm


Eu já conhecia esses documentos. Boa leitura, mas às tantas começo a ficar de olhos em bico com tanta matemática :lol:

Offline Tiago Lapa

  • Experiente
  • ***
  • Posts: 771
  • Liked: 98
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #26 on: September 18, 2009, 17: 01 »
Como se deve notar, estes assuntos interessam-me.
...o que vale é que no fórum oficial LFS há muita gente informada que não se importa de partilhar.

Também me interesso por estes assuntos mais técnicos e complicados.
Também já sou Fã dos teus textos Tiago HeHe  :biggrin:

1hora e 13min imperdíveis! RECOMENDO 5*!

Sem dúvida Nuno, há uns meses quando o vi na totalidade fiquei pasmado com o saber daquele homem, é "pena" é ele andar mais virado à Xbox HEHE

lol os meus comentários são pobrezinhos, normalmente esqueço-me sempre de meter pontos importantes e expor correctamente algumas coisas que levam a mal entendidos :blush: só depois é que fico a pensar que não devia ter escrito certas coisas ou devia ter dito de outra forma :(

Offline Filipe Chaves

  • Experiente
  • ***
  • Posts: 936
  • Liked: 7
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #27 on: September 18, 2009, 17: 36 »
Como se deve notar, estes assuntos interessam-me.
...o que vale é que no fórum oficial LFS há muita gente informada que não se importa de partilhar.

Também me interesso por estes assuntos mais técnicos e complicados.
Também já sou Fã dos teus textos Tiago HeHe  :biggrin:

1hora e 13min imperdíveis! RECOMENDO 5*!

Sem dúvida Nuno, há uns meses quando o vi na totalidade fiquei pasmado com o saber daquele homem, é "pena" é ele andar mais virado à Xbox HEHE

lol os meus comentários são pobrezinhos, normalmente esqueço-me sempre de meter pontos importantes e expor correctamente algumas coisas que levam a mal entendidos :blush: só depois é que fico a pensar que não devia ter escrito certas coisas ou devia ter dito de outra forma :(

No problem, eu entendo.
Isto na internet é mesmo assim, seja em fóruns, IRC, MSN, ICQ etc etc, basta uma pessoa não estar de bem com a vida ou chegar a casa mal disposto para interpretar sempre (ou quando lhes apetecem...) mal o que por vezes é dito (por escrito).

Offline Marco Rosas

  • Experiente
  • ***
  • Posts: 534
  • Liked: 0
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #28 on: September 18, 2009, 17: 51 »
costuma-se dizer que por tras de um grande simulador esta sempre uma grande mulher
ainda estou pra ver...

Offline Luis Silva

  • Experiente
  • ***
  • Posts: 610
  • Liked: 0
  • ttrace.forumeiros.com
    • View Profile
Re: Por detrás dos simuladores (as físicas e não só)
« Reply #29 on: September 18, 2009, 18: 11 »
Bons post ,para quem não percebe nada disto que é o meu caso, começo a perceber algumas coisas,podem continuar :biggrin: