PDA

View Full Version : Circular Pong



liquid.silver
20-10-2008, 12:03 AM
Play pong in a circle. The controls are in the readme.txt. The game is best played with about 4 players. This is actually my programming project, due early the coming week. Any comments would be appreciated

version 0.01: http://www.gamedev.za.net/filecloset/download.php?id=664
version 0.02: http://www.gamedev.za.net/filecloset/download.php?id=665

Fengol
20-10-2008, 09:01 AM
very cool, reminds me of "The People's Pong" I made at a devlan, but yours has a lot more awesome!

Cyberninja
20-10-2008, 09:22 AM
Sweet dude! Are you planning on adding any power-ups to the game? That would be rad.

liquid.silver
20-10-2008, 10:42 AM
Thanx. As of the moment i was gonna leave power ups out of it. The reason is that i want a clean and simple look. But i'm open to the idea, i just can't think of many possible powerups to use. Any ideas?

I have to demo my project tomo. So i was just planning on adding in settings, sounds, a score limit and stats. You'd be able to change sound options, controls and reset stats. That should give a well rounded mini game. Anything i'm missing?

Pseudonaja
20-10-2008, 11:55 AM
Very nice!
The only thing I would add is a 3..2..1.. go before the game so everybody can get ready.
And then maybe things like high score and 3 ball limit...

liquid.silver
20-10-2008, 12:17 PM
Thanx :) The 3...2...1 thing is a good idea. But i don't think highscores are needed. How would they work? And what do you mean by a 3 ball limit? I'm also thinking of adding a computer player, but probably won't have time before i have to hand in.

Pseudonaja
20-10-2008, 02:01 PM
But i don't think highscores are needed. How would they work? And what do you mean by a 3 ball limit?


You set the game to allow a certain number of balls. I think 3 is a little low so make it 10 or something. Every time the ball leaves the ring it counts as 1, so when it leaves the last time the game is considered over. Then you declare one of the players the winner.

High scores can be for single player. When the game is over you add the score to a highscore board. Allow a user to type their name or something... For this to work you'll need to set the number of balls as a constant, or they can get a higher score by using more balls.

I guess you can also make a multiplayer co-op pong? Where all the players contribute to a single score?

hth

liquid.silver
20-10-2008, 04:28 PM
hm... very interesting ideas. i will definitely look into those. thanx. was gonna make it once a certain score is reached, but seen as there are negative points, the game can go on forever. a certain number of balls sounds good. maybe a little more than 10 tho, but that can be tuned. i think i'll just have highscores for single player, it'll just make life simpler. at the moment single player is kinda pointless. thanx pseudonaja

Anteejay
20-10-2008, 04:44 PM
at the moment single player is kinda pointlessI had fun in single player, i just keep loosing... AND I CAN'T WIN! DOH!!!

Anyway, i noticed the action is a bit jerky, if you are limiting the FPS i recommend reading this (http://www.gamedev.net/reference/articles/article753.asp). If you did it to save time, then is cool.

Soul Flow would look way sweeter running at +100 FPS ( If it too was limited :) )

liquid.silver
20-10-2008, 05:28 PM
Soul Flow was limited because it is very cpu intensive. I will look into a higher fps for circular pong tho. I just set it to a max of 30 fps for the moment, but i think about 60 should be better. Will change that

dislekcia
20-10-2008, 05:34 PM
I had fun in single player, i just keep loosing... AND I CAN'T WIN! DOH!!!

Anyway, i noticed the action is a bit jerky, if you are limiting the FPS i recommend reading this (http://www.gamedev.net/reference/articles/article753.asp). If you did it to save time, then is cool.

Soul Flow would look way sweeter running at +100 FPS ( If it too was limited :) )

Um. Whut?

I'm pretty sure LS, being the assembly whiz he iz (har har) knows about timing.

Anteejay
20-10-2008, 05:55 PM
Ya well, the idea behind the article is to create smooth ingame movements that depend on the time elapsed instead of frames elapsed to create the motions. Frames elapsed can cause problems for slow computers and speeds calculated based on time elapsed will always equate to roughly the same overall distance after a second or more with very slight (negligible) differences, this won't be true for motions on a frame based game running on two different computers where one makes the cut either 30/60fps and the other makes say 23/45 etc.

dislekcia
20-10-2008, 05:58 PM
Ya well, the idea behind the article is to create smooth ingame movements that depend on the time elapsed instead of frames elapsed to create the motions. Frames elapsed can cause problems for slow computers and speeds calculated based on time elapsed will always equate to roughly the same overall distance after a second or more with very slight (negligible) differences, this won't be true for motions on a frame based game running on two different computers where one makes the cut either 30/60fps and the other makes say 23/45 etc.

Yes. I am aware of timing too... Especially seeing as one of my specialisations is multiplayer syncing. SpaceHack is completely frame rate independent.

I just didn't see why it was relevant to link to that article, that's all. It seemed like you were telling LS to get a clue when he's rather known for having quite a few.

Anteejay
20-10-2008, 06:19 PM
Oh, my apologies then, i just assumed he didn't know about timing (which would be odd, *drooling at Soul Flow* ) or he just did it to save time.

liquid.silver
20-10-2008, 06:41 PM
Thanx dis :) And to clarify, I do know about timing and I do know how to make movement independent of framerate.

Currently in both soul flow and and circular pong, there is just a cap on fps, movement isn't independent of framerate yet. i just haven't gotten to that yet, it's not a very important bit of the game, and i kinda forgot to do it. (so you're at least partially right anteejay) but as said, i have made a note to change that in future, especially with circular pong.

On the other hand, soul flow is hugely cpu intensive and wouldn't get much of an increase, i first need to make that threaded, that would help much more. If you look at your cpu usage when you run soul flow, i'm sure you'll notice the huge usage, and that's with only 30 particles (the more the merrier) some of the optimizations i had to do were actually quite interesting, but that's another story.

On a separate note: any other ideas for names besides "circular pong"? (the length is getting to me slightly)

liquid.silver
20-10-2008, 06:46 PM
Oh and something else that i thought of: if anyone is interested, the source code is available from me on demand. I programmed both circular pong and soul flow in C using SDL. Also both procedurally generate gfx (not much of an achievement in circular pong tho, but might be interesting for soul flow's gfx)

Anteejay
20-10-2008, 07:33 PM
On the other hand, soul flow is hugely cpu intensive and wouldn't get much of an increase, i first need to make that threaded, that would help much more. If you look at your cpu usage when you run soul flow, i'm sure you'll notice the huge usage, and that's with only 30 particles (the more the merrier) some of the optimizations i had to do were actually quite interesting, but that's another story.

On a separate note: any other ideas for names besides "circular pong"? (the length is getting to me slightly)

My CPU usage is lowest- 4% and highest - 14%. I'm using an E6750, what processor are you using? I take it the GPU isn't doing much.

As for names, well, i keep thinking radial pong or diameter pong... i'll post if i think of anything less crappy.

[Edit] Circumference pong? ... no.

liquid.silver
20-10-2008, 07:42 PM
I'm using a T7500 (mobile) but i would have thought it would be very close in performance to a desktop variety. Oh well. Soul flow uses one core fully on my pc if i set it to anything more than about 30 particles. I'll run some more tests on friends' pcs at some point tho. The GPU isn't really used at all. I do software rendering, cause soul flow isn't suited to hardware rendering.

Tr00jg
20-10-2008, 08:59 PM
On a separate note: any other ideas for names besides "circular pong"? (the length is getting to me slightly)

"Circle Pong"?

liquid.silver
20-10-2008, 09:01 PM
I was actually thinking more along the lines of a one word name... but that's really not so important.

liquid.silver
21-10-2008, 04:51 PM
So i've decided to leave the name as-is. I've also decided not to add highscores for single player (or multi for that matter) for technical and time reasons. Firstly, there is no simple way to read in text with sdl, i have to write my own mini driver to handle input, which is in itself not difficult, just time consuming. Secondly, i have to demo my project tomo.

I have made some changes, not sure if i can remember all the changes i've made, but so far:
-sounds
-show how scores are affected
-a 3...2...1... countdown
-specific colors
-a summary after each game
-set keys before you start playing

will put the next release up some time tonite

liquid.silver
22-10-2008, 02:14 AM
So i decided to just bite the bullet and write a text driver. Seems i over-estimated the difficulty. So i think it's about time for a new release. Just some minor changes left before i demo tomo.

Version 0.02: http://www.gamedev.za.net/filecloset/download.php?id=665

dislekcia
22-10-2008, 03:06 AM
What are you demoing for? Uni project?

liquid.silver
22-10-2008, 08:34 AM
Oh ya, sorry. It's my project for CS143 at Stellenbosch Uni. Way more than i needed to do for a first year project, but whatever, it was fun. The actual project was to write a simple pong version, but they gave us most of the code to work with, we just had to implement highscores, "friction" between the ball and paddle and random bounce with the walls. Not much of a project if you ask me, but it is first year and they gave us three weeks (circular pong was started on saturday the past weekend so i can't really relate) Then there were marks for extra features, so i started from scratch and wrote a whole new game. We have to demo our project to help with the marking process, show our program is working, and show any extra features. I'm expecting maximum marks :)

Tr00jg
22-10-2008, 08:12 PM
More fun than I thought, especially with more players.

liquid.silver
22-10-2008, 08:22 PM
if you have another keyboard you can plug that in so you don't have to sit on top of each other

Gazza_N
22-10-2008, 09:13 PM
That's pretty neat, Liquid! Nice twist on the vanilla formula, and it plays well. :D