In order to deal with the collision issue, we decided to make adjustments to the gameplay. The one thing that stood out from the meetup and the individual talks we had with other devs, is this: don't try to create a perfect smooth online experience create an online experience that seems smooth for the players. While every game comes with their own specific obstacles and needs, the limitations are the same for all of us. In general, it is nice to know you're not alone in this and that others have travelled the same bumpy road. Besides the big meetup, we also visited some of these studios for more in-depth one on one sessions. We shared our Team Racing League experiences and issues, talked intensively about possible solutions, and discussed general multiplayer issues. Over thirty devs from all over our little country attended, amongst others the networking specialists of Curve Fever, Besiege, Speedrunners, Tricky Towers, Volo Airsport and Awesomenauts. Together with Joost van Dongen (lead developer at Ronimo Games) we hosted a coders meetup at our hub. We are based in Haarlem in a gaming hub called Lvlfour, sharing the floor with several other game companies. Luckily, we have a very active and open developer community in the Netherlands. Also, due to the static camera, visual masking is also very hard pull off, compared to fast moving images from a 1st or 3rd person view.įinding ourselves in this predicament, we decided to look around for help. Since we don't have situations where some players aren't visible, we can't use tricks like these. This saves a lot of bandwidth and lets the game focus all of the GPU, CPU and network capacity on the stuff that is relevant for the player. In a lot of online multiplayer games like first person shooters, it makes no sense to send player data of players who aren't visible on your screen at that moment. This limits the way we can divide bandwidth. In Team Racing League, you see the complete race track from a fixed camera perspective. Even the smallest delay would give a totally different result on each of the player's screens. When trying to sync this behaviour in online multiplayer, it proved too accurate for proper results. A slight bump into the back of an opponent could change its racing line. The game we initially created had very accurate responses to collisions, almost Formula 1-like. In order to create a playable environment for supporting roles, collisions and timing needed to be very accurate. Not everyone needs to race to win trolling plays a big part of the fun too. Where lots of multiplayer games - like most shooters - avoid player collision, colliding into other players is a major part of Team Racing League's gameplay. (We use Unity 5 + UNET and its relay servers.) We designed the game to be as simple and pure as possible, but some of these design choices turned out to be killing for a smooth online experience. Even in the most ideal situation, a package or message still has to be sent from one player's PC to another. In an online game you are always confronted with latency, broadband limitations, jitter, etc. This is where we walked into a minefield (or a beach with mines, under constant artillery and machine gun fire). Because it's essential to know where all the players are, the whole track is always visible through a fixed camera perspective. When we were happy with the racing and drifting physics, we wanted to bring the prototype online. And winning a few tenths of a second making nicely rounded corner is worth little when you lose five seconds because of a well placed roadblock. In Team Racing League, only one racer is needed to secure a first place for the entire team. Racing individually doesn't pay off when your adversaries are working together. Even when they're up against a couple of solid racers. Teams that work closely together almost always win. It might in fact be more challenging.ĭevelopment of Team Racing League went quite smoothly, and playtesting gave us great confidence that we were onto something here. This is not to say that a non-racing role is easy. They can also choose to troll, block or obstruct opponents with various abilities. Players can connect their vehicle with a teammate to enable boosts or roadblocks (where two teammates connect their vehicles together to form a blockade). Lesser skilled racers can still play a huge role in the outcome of the game by supporting their team. We try to solve this by focusing on the team-based aspect. They tend to be less about racing skill and rely heavily on pickups, items and other artificial mechanics to keep everyone (including lesser skilled players) committed. The idea for a team-based racing game was however derived from a frustration we had with existing multiplayer racers. Team-based games are the cats' pyjamas nowadays.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |