Created by mstfmrt07 on 7/4/2024 in #🤝ask-a-question
What is the best way to get the exact time a room is created?
Is there a way to find the room start time?
6 replies
Created by mstfmrt07 on 5/8/2024 in #🤝ask-a-question
Handling Ownership Requests that are older than the newest requests
Hello! In our multiplayer soccer game, we are facing an issue about ball ownership which causes the ball to constantly change the owner and make the game unplayable at some times. (we are presuming that it is caused by players those have high latency) For that matter, we came up with this idea: Keeping the ball ownership history in a realtime array with a server timestamp; if the newest one is older than the last element in the array; we just simply ignore that and keep the last owner. This may also fix the problem with "real quick" ownership changes which often happen when there are too many players around the ball. So, the question is whether Normcore already applies this technique without any hassle from the client (like ignoring the ownership requests that are older than the newest request) or it performs the request no matter which time did it happen. Is that so, it will invalidate the idea we came up with, it won't make too much sense. What do you guys think about it? Maybe you have a better idea that resolves the issue way easily; we'd much appreciate it. Thanks in advance!
10 replies
Created by mstfmrt07 on 3/11/2024 in #🤝ask-a-question
Syncing Sounds?
Hey everyone 🤟🏻 In our multiplayer soccer game, we need to synchronize sound clips and and some values that are needed for those sounds to be played (such as power of a kick, or a random index of from bunch of audio clips) Actually most of the settings (such as Pitch/volume over power, list of possible random audio clips for a single action) are set in a ScriptableObject; so all I need to have is "name of the sound to be played, random index(if there are multiple clips), and power of the action" We've experienced kind of a similar issue with animations; and our solution was to synchronize a set of so-called "Animation Packages". Whenever an animation is triggered by a player, an anim package (consists of animationType enum, intensity, value and a selector value) is added to the realtime set, and other players would "simulate" that animation on their side. My question to y'all is whether it sounds logical to pass around those data for playing a single shot audio clip. I'm also considering to use the values from animation sync, player's rigidbody speed, plus a float variable called "actionPower" which can have value between 0-1 (but this option leaves me with having only one action power at a time) This way I can easily assume that if a player plays an animation, he/she is most likely to perform the action of that animation. Anyways, what do you guys think about it? Has anyone experienced a similar challenge before?
13 replies