beginners pong in unity

Started by
5 comments, last by MuTeD 10 years ago
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?
Advertisement


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.

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.

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 :)

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

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?

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.

“You may be disappointed if you fail, but you are doomed if you don't try.”Beverly Sills

This topic is closed to new replies.

Advertisement