Multiplayer positie berekenen

Uther, Nov. 13, 2015, 17:35
Hallo,

Nu ik (eindelijk Tongue) mijn server een beetje fatsoenlijk heb opgezet is het tijd om het idee dat ik wil realiseren een beetje uit te werken.

De basis is heel simpel; een multiplayer platformer, de rest van het idee is weinig van belang voor de vraag die ik ga stellen.

Wat ik graag wil weten is, wat de beste manier is om de posities van de spelers te berekenen.

Nu zijn er o.a. de volgende manieren om dit te doen:
  • De client bepaalt de positie en stuurt deze door naar de server, nadeel hiervan is dat het makkelijk is om zelf posities te gaan verzinnen en deze door te sturen.
  • De server bepaalde de positite a.d.h.v. keyDown en keyUp in de client, nadeel hiervan is dat dit volgens mij niet lekker werkt met lagg (ook al is dit maar heel weinig).

Ik weet dat er meerdere manier en/of combinaties zijn van deze manieren, maar wat is volgens jullie nou de beste en meest cheat-proof manier om dit aan te pakken?

- Uther
Maarten, Nov. 13, 2015, 17:40
Beide? De client stuurt zijn locatie naar de server en de server controleert of dit mogelijk is.
blacksmid, Nov. 13, 2015, 17:49
Meestal combineer je het. Je stuurt de ingedrukte keys op, en de absolute positie. Je moet eens zoeken naar Dead reckoning
Uther, Nov. 13, 2015, 17:51
@Maarten: Hoe kun je dat het beste controleren?

Zelf dacht ik dat het op de volgende manier kan, maar ik ben er niet zeker van of dat gaat werken;

Stel iedereen loopt met een snelheid van 2 pixels per tick, en elke tick wordt de nieuwe positie, mits deze niet gelijk is aan de vorige positie, door naar de server. De server controleert of het verschil tussen de huidige en vorige positie niet groter is dan 2.

@blacksmid: Ik zal hier naar kijken, dankjewel.