Good way to implement tennis?

puubutt

Veteran
Veteran
Joined
Jun 18, 2017
Messages
39
Reaction score
6
First Language
English
Primarily Uses
RM2k3
So my rpg maker mv game is about tennis. But the thing is, I'm having a hard time finding a fun way to implement how the tennis matches should be played in the game. I don't know if it should be a quick-time-event using scripts, a battle where instead of losing health you're just bouncing the ball back and forth, ect. Both ideas not really being fun in the long-run.
Not knowing how to implement this has basically put my game-making at a stand-still, so any help will be greatly appreciated!
 

HankB

Veteran
Veteran
Joined
Mar 5, 2021
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
Interesting idea. You didn't mention what engine you're using, but if you're using MV or MZ, there is a plugin Galv's Map Projectiles. With it you can fire a projectile (like a tennis ball) from the player to an event or the mouse position. You can also fire an event to the player or another event or in one of the 8 cardinal directions. You can also control the speed and distance of those projectiles.

The way I sort of imagine it working for a tennis game is something like this: the player fires a tennis ball towards an event behind the opponent by clicking on that event. Your goal is to try to make sure the ball doesn't hit the opponent, because that would mean the opponent hits the ball. But it's not easy, because the opponent is moving back and forth, maybe in a somewhat random way.

More difficult opponents move faster and are harder to get balls past. When your tennis ball hits an opponent, then they fire a tennis ball projectile to an event behind you, and you must try to intercept the ball (i.e. get hit by the projectile). More difficult opponents fire off faster projectiles that are harder to intercept. Maybe as you win more games, you can move faster and fire off faster projectiles.

The layout would look something like this:


EEEEEEEEEEEEEEEE

O

---------------

P

EEEEEEEEEEEEEEE



The E's are events you are clicking on to aim where the ball goes, the O is your opponent, the P is the player, and the --- is the net.

I have no idea how to bring the net into it. You would also need a plugin that lets you activate an event by clicking on it, like Yanfly's Event Click Trigger. It would take a good bit of work to set up, but I could see it working.
 

Warilized

Random Encounter
Veteran
Joined
Mar 19, 2018
Messages
76
Reaction score
15
First Language
Indonesia
Primarily Uses
RMMV
The layout would look something like this:


Code:
EEEEEEEEEEEEEEEE

     O

---------------

          P

EEEEEEEEEEEEEEE


The E's are events you are clicking on to aim where the ball goes, the O is your opponent, the P is the player, and the --- is the net.

I have no idea how to bring the net into it. You would also need a plugin that lets you activate an event by clicking on it, like Yanfly's Event Click Trigger. It would take a good bit of work to set up, but I could see it working.
I think you could use YEP's Region block thingie, so that player or NPC can't pass that net. But making the shuttlecock sometime hitting the net is pretty difficult to implement.
 

HankB

Veteran
Veteran
Joined
Mar 5, 2021
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
I think you could use YEP's Region block thingie, so that player or NPC can't pass that net. But making the shuttlecock sometime hitting the net is pretty difficult to implement.

I didn't mention it, but I was thinking that the player and the opponent would be limited to left/right movement., preventing them from crossing the net. But, yeah, that would be a good way to allow them to move a little bit forward or backwards too.

OK, here's an idea. Let's say that when you are closer to the net, the faster your return ball will fire, but the higher the chance that your return will be blocked by the net. This brings in a "press your luck" mechanic, which is always fun.
Also, the closer you are to the net, the harder it is to intercept balls because you have less time to position yourself. So now you have a little more strategy to play with.
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
42,897
Reaction score
14,995
First Language
English
Primarily Uses
RMMV
I will leave this here for now, as you seem to be more interested in discussing what the mechanic should involve, rather than how to implement your chosen mechanic. But when you do come to a decision and need help getting it working, please post in either the Support forum for the engine you are using, or Script/Plugin Support if you have one and need help, or Script/Plugin Requests if you're trying to find one.
 

Aslanemperor

Mad Scientist
Veteran
Joined
Oct 14, 2019
Messages
116
Reaction score
86
First Language
English
Primarily Uses
RMVXA
Interesting idea. You didn't mention what engine you're using, but if you're using MV or MZ,
OOF! He said he's using MV in the opening sentence! LOL!
 

Aslanemperor

Mad Scientist
Veteran
Joined
Oct 14, 2019
Messages
116
Reaction score
86
First Language
English
Primarily Uses
RMVXA
So my rpg maker mv game is about tennis. But the thing is, I'm having a hard time finding a fun way to implement how the tennis matches should be played in the game. I don't know if it should be a quick-time-event using scripts, a battle where instead of losing health you're just bouncing the ball back and forth, ect. Both ideas not really being fun in the long-run.
Not knowing how to implement this has basically put my game-making at a stand-still, so any help will be greatly appreciated!
Hmmmm... This seems like a conundrum, but I could see a way to make this into a battle system, but it would be a really complex system I think. Possibly, you could make the "skills" in the battle system have "elements" that are based on decisions you might want to take. I'd also make HP be important in which skills could be chosen. (please keep in mind that this is an idea, not a fully fleshed out system):
You might have the elements Front-right, Front-center, front-left, back-right, back-center, and back-right. You would have two (or maybe 3?) skills for each position. Players would start with a certain amount of HP which they have to spend on skills. Being in a position effects elemental weaknesses to other locations. You fail to return a serve when you run out of HP, which will happen faster if the ball is hit to a side you're not expecting or if you've spent to much HP on "Hard" serves in order to get bigger damage on the opponent. In the end, each round of the game would be a battle in and of itself. There'd be a LOT of strategy and trying to predict what your opponent will do. The problem would come, of course, in the fact that you can't really predict an RNG's moves. Maybe have certain opponents PREFER a certain position (so put those skills on higher point values in the enemy skill list) and make it possible for players to learn about their opponents by talking to people around the game? "Oh, Jock Baller likes to get up close and spike the ball hard" would indicate that there will be a lot of "Front" elements and that he's more likely to waste HP on his attacks, making it better to play from the back and preserve HP with lighter serves in order to not take as much from his attacks and outlast him?
 

puubutt

Veteran
Veteran
Joined
Jun 18, 2017
Messages
39
Reaction score
6
First Language
English
Primarily Uses
RM2k3
Interesting idea. You didn't mention what engine you're using, but if you're using MV or MZ, there is a plugin Galv's Map Projectiles. With it you can fire a projectile (like a tennis ball) from the player to an event or the mouse position. You can also fire an event to the player or another event or in one of the 8 cardinal directions. You can also control the speed and distance of those projectiles.
.

I will actually try it out, using the ball as a projectile makes a lot of sense. I'll try fiddling with the plugin and see if having the match in game using projectiles vs as a battle will make it a lot more fun. I'd probably implement stamina and a stamina bar if so. Thank you!


Hmmmm... This seems like a conundrum, but I could see a way to make this into a battle system, but it would be a really complex system I think. Possibly, you could make the "skills" in the battle system have "elements" that are based on decisions you might want to take. I'd also make HP be important in which skills could be chosen. (please keep in mind that this is an idea, not a fully fleshed out system):
I actually tried making a similar system like so: Instead of health points you actually start off with zero HP- but the HP is now points. Everytime you land a successful hit you get 1 HP/Point added until you get 4- (which is how many times you need to score in a tennis game to win a match. Your skills are different serves if it's your turn to serve the ball- and then they get changed after the serve to defensive hits. You and the enemy both have very very low accuracy so the "hit" is changed to basically getting a point. Then your skill set gets changed again to serving, ect.

I made a really basic system off this idea but it doesn't really seem fun doing is staring at a static picture of your enemy and mashing the same 2-3 buttons if you get bored with it.

I also tried implementing enemy distance like in the rpg game 7th stand user, where the enemy changes his position to far, medium, and close so maybe different serves/hits have a better chance of getting a point when used on a specific position - which I think would be easier instead of using a grid system of the court like you suggested, but this kind of thing is pretty complicated for me since I never dabbled in fighting/battles in any of my previous rpg games and don't even know if it'd be any fun.
Your help is appreciated
 

Warilized

Random Encounter
Veteran
Joined
Mar 19, 2018
Messages
76
Reaction score
15
First Language
Indonesia
Primarily Uses
RMMV
I actually tried making a similar system like so: Instead of health points you actually start off with zero HP- but the HP is now points. Everytime you land a successful hit you get 1 HP/Point added until you get 4- (which is how many times you need to score in a tennis game to win a match. Your skills are different serves if it's your turn to serve the ball- and then they get changed after the serve to defensive hits. You and the enemy both have very very low accuracy so the "hit" is changed to basically getting a point. Then your skill set gets changed again to serving, ect.
What about instead of like that, it instead depletes HP from full HP to low?
 

puubutt

Veteran
Veteran
Joined
Jun 18, 2017
Messages
39
Reaction score
6
First Language
English
Primarily Uses
RM2k3
What about instead of like that, it instead depletes HP from full HP to low?
I 100% could do that, I could change HP to "points needed to win" or something similar. I just did it for myself since it's easier to understand filling up a bar (for me) instead of emptying it to "win" if that makes sense ^^
 

Aslanemperor

Mad Scientist
Veteran
Joined
Oct 14, 2019
Messages
116
Reaction score
86
First Language
English
Primarily Uses
RMVXA
I made a really basic system off this idea but it doesn't really seem fun doing is staring at a static picture of your enemy and mashing the same 2-3 buttons if you get bored with it.
I could certainly see that becoming an issue.
 

Latest Threads

Latest Posts

Latest Profile Posts

So Dad broke the blinds two days ago and he finally decided to try to fix them. I doubt he'll do very well without some help. And I can't help him myself--I don't know how the stink to fix those blinds. My knowledge is just plushies, mascots, computers, animation, and video game design. And also, I've had to stop family and friends from downloading viruses too many times to count.
IlluminaughtyStore.jpg
:kaojoy:
Welcome to the Illuminaughty store.
Yes... they are "wearing Illuminati branded everything, reclining on huge Illuminati body pillows. Occasionally they'll "teehee" at each other and have pillow fights with Illuminati branded pillows full of hundred dollar bills."
BCj
Working on Escalia again, feels good. Have this overwhelming urge to map as well, but need to get some extra tiles commissioned first :D
Lee Sang wrote on Bandito's profile.
Hi, I've just tried your plugin "Game is Active" and when I tested it on Android, it gave me an error, something about "Cannot read property 'underfined' of underfined.
With my project, I want the player to have access to all the tools they need to get from New Game to Credits as soon as possible; I want the player's progress to only be impeded by the player not knowing how to use the tools the game provides.

Forum statistics

Threads
113,869
Messages
1,078,067
Members
147,961
Latest member
Garnoct
Top