![]() Online presets a lot of technical challenges, and because I'm the only person working on this game, it's important I decide where time is best spent. It's difficult to find players to play against automatically unless the game takes off and has a huge player base. It's built around the idea of a couch-multiplayer game, and at this point online can't really be shoe-horned in without a major rework of the game, gameplay mechanics, and the underlying code - and while I'm not opposed to doing this, online easily doubles the amount of work that needs to be done.Įven if there was some way to make all these issues disappear, unless you were to set up an online game with specific friends, the game would need active players for you play against. Party Panic has also grown and changed a lot since the prototype that I implemented online with months ago, it's become more fast-paced, and lots more physics-based interactions between players. Additionally, since each minigame only lasts 30 seconds, if one player does begin to lag it doesn't have very much time to try and catch up and correct itself, These kind of things begin to happen even when there is a slight drop in network latency, and snowball pretty quick. This is just a few examples of what happens, it makes the game feel unfair, and it's not fun. You end up trying to punch a character that you see in front of you but miss because they're not actually there, or get punched by someone who is all the way across the map on your screen - all because the game is out of sync. If two people see your character getting up from ragdoll in two different places because the physics are out of sync, and then try to go punch them, frustrating things begin to happen. ![]() But in Party Panic when you get ragdolled, you get back up on your feet and get back in the game. In some games (like a FPS) ragdolls are not synced over the network because it doesn't matter if two players see the ragdoll land in different places (and they will because non-deterministic physics), and it doesn't affect gameplay. Trying to sync physics online makes things worse. PhysX is NOT deterministic, which means if you run the same simulation with the exact same parameters twice on same computer, it's not guaranteed to have the same outcome, even when the simulation is super simple. Party Panic is built with Unity, which uses PhysX. Because the physical state of the game is tightly related to the outcome, it's important to keep the physical state of the game as in-sync between clients as possible, and this is hard. Regardless of the server structure (central servers, private servers, p2p, etc) because data transmission isn't instant, issues arise trying to keep the players sync-ed fast enough, especially in a game like Party Panic which relies heavily on physics, ragdolls, has fast gameplay and lots of physical interaction between players (e.g., punching them in the face). ![]() Months ago, when Party Panic was in a very early state and only had a few games, I spent some time networking it so I could see if there was a possibility to have online multiplayer, but because of a few issues (outlined below) the game became more frustrating than fun, and that conflicted with the core ideas I was after. I know for many people this is difficult, and sometimes online is the only way they can play together. My goal with Party Panic was to create first and foremost a really solid local multiplayer party game, one that you can get together with your friends and have a good laugh on the couch. Unfortunately there are no current plans for online multiplayer.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |