• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
vitali kotik

Racing game: multiplayer networking with physics

3 posts in this topic

I'm curious how multiplayer networking with physics is implemented in racing games. We have a physical world with multiple fast-moving vehicles controlled by different people. Let's say that vehicles have weapons and can shoot each other (Twisted Metal, Vigilante v8)

I'm anxious about hits and collisions. Authoritative server or a better alternative?
0

Share this post


Link to post
Share on other sites
Take a look at my little multi-player version of Asteroids, the mechanics are actually quite similar to a racing game where the cars have weapons:

[url="http://mmoasteroids.wildbunny.co.uk/"]http://mmoasteroids.wildbunny.co.uk/[/url]

If there's anyone else playing when you try it you might be able to see the mechanics you're after working.

My server is authoritive over everything except the position of each player; but to mitigate the inherent problems with that, the server simply clamps the maximum speed of each player so no cheating is possible.

I simulate on client and server - the only thing I don't do that you'll require is collision between players.
0

Share this post


Link to post
Share on other sites
Racing and fighting games are the hardest, because of the latency involved.
The "easiest" option is to accept the latency of fully server-authoritative systems, so the effects of your actions aren't seen until you have a roundtrip from the server.
If you can't accept that latency, then you have to fake it. For example, you may detect a collision client side, and play the collision reaction on the client, and send a "I collided with object O at time T" message to the server, so the server knows to apply that collision behavior to that player, even if the server doesn't detect the collision.
Similarly, when the server detects a collision, it sends data to the client about it, and the client applies that behavior, even though the collision may not be visible client side.
What's extra hard is that players can move pretty far in the time of a RTT, when it's a racing game. On my screen, it may seem as if I'm winning; on your screen, it may seem as if you're ahead. Forward extrapolating displayed objects may help, but you have to use "smart" extrapolation that uses "plausible" behavior (breaking before a curve, turning with curves, accelerating out of a curve, etc) for it to work alright. And it still won't be perfect.

You could make the rule that just touching a player means you flip over and crash. Just add smoke to cover up the unavoidable correction :-)
0

Share this post


Link to post
Share on other sites
Yeah latency can be a killer for high speed online games. 100ms latency can mean five to ten meters discrepancy at very high speeds (which fortunately, often means a more linear path and easier prediction, since the vehicles become less twitchy at high speeds). It's a bit weird to picture, but on two machines, both players see themselves leading the race, for example, with the other player behind by a car length.

prediction is also tricky, if you have lots of overtaking and chaotic behaviours.

Unfortunately there isn't much you can do, apart from doing a balancing act between interpolation and extrapolation methods. The best you can hope for is minimise the latency as much as you can (for example, peer to peer where each player directly broadcast their position to other players, with all the caveats attached). Whereas a client-server first has to go through a server to relay the player position. It's even worse in a peer to peer game if you have connectivity issues and 'forwarders' have to relay information between two or more unreachable players.

If the speeds are not so great, then it's less noticeable. Or you just may not be that bothered about accuracy and having cars 'behind' a little bit has no noticeable effect on the gameplay.

Games like Counterstrike mostly run on interpolation, with extrapolation thrown in for edge cases. It means the players are 'behind' their real position at any given moment in time, which can lead to some problems of its own. As for weapon management, the problem is not so difficult in the context of a client server. Google 'lag compensation source networking', which is fairly self-explanatory. That will give a reasonable accurate hit detection, albeit 'laggy', but is fairly resilient to cheating and adjustable to balance the playing field (players with high or low latency connections gets advantaged differently depending on which way you go with the compensation factor).

At the end of the day, you just cannot beat latency completely and you just have to deal with it. Edited by papalazaru
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0