Public Group

beginners pong in unity

This topic is 1752 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

Ive just finished my attempt at pong using the 2d tools within unity:

Http://Www.welly-unity.net23.net/web.html

What I've done:
Single player or multi player.
Basic AI.
Scoreboard
Sound effects on ball collision.
Basic GUI.
Ball speeds up with every hit on the paddle.
The velocity of the paddle when it collides with the ball affects the rebound angle of the ball.

I'll post source code and exe when I get back in front of my PC. Any constructive criticism is always taken positively :)

The AI is a bit glitchy but tough to beat. I think the ball rebound works quite well. I originally wanted the 'single player/multiplayer' option to affect what script controlled player 2 - AI control script or player control script - but couldn't work it out so cheated a bit by having the buttons load different scenes instead.

Any suggestions on additions or mods before I move onto my next learning project?

Share on other sites

The AI is a bit glitchy but tough to beat

I might just be really bad at pong, but I played for probably an half an hour and only beat the AI once, maybe it follows the ball a bit to well? However other than sound affects seeming a bit loud, everything seemed to work fine and I experienced only a couple bugs, the AI kinda glitches up and down, but I think you already knew that one, however this is difficult to explain. http://puu.sh/7Ok2J/cd2b0f8f51.gif

The ball got moving so fast, I believe it pushed the AI off screen, eventually he was playing while off screen, and the game slowed down terribly bad.

If that doesn't download let me know, puush doesn't like gifs sometimes.

Share on other sites

wow, thanks for that feedback, really appreciate it! in regards to the ai, its glitchy and hard! i will make some changes and post it again once i have done them. changes i will try to implement are:

ai moves to center once the ball is returned to play - a human tends to do this.

once sped gets to a certain level the ai will hesitate before moving, much like a human

the code for the AI is as follows:

if (Ball.transform.position.y > transform.position.y && Ball.GetComponent<ballcontroller>().TowardsPlayer != 1)
{
rigidbody2D.velocity = new Vector2(0, 8f);
}
else if (Ball.transform.position.y < transform.position.y && Ball.GetComponent<ballcontroller>().TowardsPlayer != 1)
{
rigidbody2D.velocity = new Vector2(0, -8f);
}


i'll re-do the AI movement using transform.position instead of velocity and see if it stops the glitching

the bug where the paddle gets pushed back is now fixed. ive increased the mass of the paddles significantly.

Share on other sites

The first 2 games I played I got into a situation where the ball was going straight back and forth at the top of the screen. I couldn't get it to go at an angle at all so that was sort of boring :)

Share on other sites
You can put spin on the ball by moving on the y axis when the ball hit

Share on other sites

OK, I guess that didn't seem obvious to me. I was more trying to get the ball to hit on the corners of the paddle but that didn't seem to work. Isn't there normally a couple "zones" on a paddle? The center and 2 zones on either side that maybe effect the angle the ball goes in?

Share on other sites

OK, I guess that didn't seem obvious to me. I was more trying to get the ball to hit on the corners of the paddle but that didn't seem to work. Isn't there normally a couple "zones" on a paddle? The center and 2 zones on either side that maybe effect the angle the ball goes in?

I would just have the ball bounce off at a random angle regardless. Call it a range of degrees based on the position ("zone") hit on the paddle itself.

• What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

• 13
• 9
• 9
• 15
• 14
• Forum Statistics

• Total Topics
634067
• Total Posts
3015326
×