I’m using Unreal Engine and Blueprints to make a Volleyball game prototype, but when it comes creating the game loop and testing it I feel like I’m missing something fundamentally or I need to add something to make it a workable prototype.
Here is the basic game loop that I need to prototype out.
Checks with Player is serving the Ball.
Serving Player Serves and Bumps the Ball to start the round.
Check if the Ball Collides with the Player.
If Yes, The Player can Bump the Ball toward the Opposite Side
If Not, Checks if the ball landed on either side of the of the court.
If It hasn’t landed, keeps checking, if it has landed add score for what player’s side had landed.
Reset Positions and start the game over.
Does this make sense or there are things missing from this design?
Welcome Rashad, overall you’ve described a typical volleyball game, so this makes sense. You might look at videos on the different types of loops (game/core/etc.) I think you might just let Unreal physics and events to do a lot of the work for you.
Until you get the gameplay right, keep the visuals ultra simple. Flat ground, capsules for the players, a thin wall for a net.
Basically, the key actors are:
Players (moved by player, or AI)
Ball (moved by physics or pseudo physics)
Net (just a thin vertical wall)
Ground (just a horizontal wall, with an event if the ball collides with it)
Score
I’d start in the following order:
player moving and jumping with keys/joystick/mouse
ball bouncing off the net and player according to the physics values you enter
getting the player to serve
events triggered by the ball hitting the ground (score, reset player positions, reset ball)
AI to move opponent
Once it all plays well, you can add in all the animation and ‘juice’ (yes, it’s a technical term) to make it feel really good.
There are lots of videos on YouTube etc. that will help you with this. Good luck!
OH FANTASTIC! I’m on the right track then. All I need to figure out is getting the AI and Triggers to work.
But when it comes to player serving the ball, I set a boolean to check if the player is serving, would it be wise to randomly assign who is serving or set a system to set who is serving? I ask because since in Volleyball there is usually two people on both ends of the court and the rear person is usually the one serving the ball and can rotate after completing a round.
Thank U for nominating the solution… it sounds like this is beach volleyball (which I used to play a lot in Los Angeles) so in the final product U’d aim to follow the latest rules of the version U are simulating (Olympic, professional, etc.) especially with regard to:
service order (usually the team that wins the last point winner serves, but may have changed)
net touches by players
number of ball touches allowed (three on each team, but may vary if the ball bounces off the net, etc.)
out of bounds
logos, graphics and whatnot (watch out for copyright here though)
Honestly though, I’d just get the ball bouncing around and the players moving in response to controller and AI… in a playable way… before worrying too much about the specifics. Then watch some videos of games, and review the main rules.