Classic Pong v1.0
Community Forums/Showcase/Classic Pong v1.0| 
 | ||
| This is my final Pong version featuring : - SinglePlayer - 2 Player - MultiPlayer - GhostMode Added ScreenFX GameSkins and heaps more. Some Screenies of the Blue Skin.   download here | 
| 
 | ||
| cool thanks darklordz ! feedback comin' soon ! | 
| 
 | ||
| Imma Waitin... | 
| 
 | ||
| Just played it ! It's slick ! :) It's very 'new agey' with the circles and music ! cool ! :) better than i thought it would be ... I thought it would be cool if you could control the paddle with your mouse as well, it seems tight to have to use the keyboard ... did you do the music yourself ? i like the sounds and the wavey effects ... usually i'd say pong was a boring game, but this is a cool new spin ! :) | 
| 
 | ||
| @Sunshine Dreamer > look @ ur start menu there is a link to a config.exe tool. Use that to configure gfx, sound, controll and multiplayer options..... l8tr. so mouse / joystick / keyboard all = possible.... | 
| 
 | ||
| I really like the overall look of it, although I wish that config stuff was inside the game.  Feels hokey to be in a seperate EXE like that. I had some massive slowdowns whenever the ring effects would be playing. Whenever they play, the game just bottoms out the framerate, even at 640x480x16. I have a dual processor Athlon machine with 1GB of RAM and a Radeon 9700 ... not sure what the deal is. :P Cool game concept though ... | 
| 
 | ||
| 2.45 MB for a pong game? *Grisu takes out his C64 and plays a round of classic pong* | 
| 
 | ||
| thanks darklordz :) | 
| 
 | ||
| @Grisu > Most of it is music.... @EpicBoy > I coded the CFG Util because it makes it much easier to code. SO i don't need to code an entire interface witch is a tedious task. Manu games nowadays have a external cfg util... | 
| 
 | ||
|  I coded the CFG Util because it makes it much easier to code. SO i don't need to code an entire interface witch is a tedious task. Manu games nowadays have a external cfg util...   I understand that it's easier, but that doesn't mean it's the right thing to do. :) BTW, which games are you playing that require external config programs? I've only played a handful over my entire gaming life and it was annoying every single time. Now, if you aren't planning on selling this shareware or anything then I agree, the external config program is fine. But if you're going to try and sell this eventually, an in-game GUI is really required. | 
| 
 | ||
| I havent tought of selling games as sutch but with my TTT project comming soon im thinking of trying to get that published. Eventough it's a small and non-conventional simplistic game... | 
| 
 | ||
| some games these days do have external configs. i think it's ok if it makes the main program smaller. alot of things you only need to set up once anyway so an external config would be good. other things that people would want to fiddle with alot could be used in the main program. that's my 5 cents worth ... lol | 
| 
 | ||
| I like the stylish presentation a lot! HOWEVER. ;) I have the same problem as what EpicBoy described above; the game slows down very much when the circle effect is happening. My guess would be that there are simply too much particles being created and moving away at that moment. It is especially bad when the ball gets stuck behind a pad, which sometimes happens; it collides continuously and thus an enormous amount of dots is created! Maybe make the dots smaller, reduce their amount, and make them disappear after a very short while. The effect will be less spectacular but it will not slow the game down as much. Or maybe, if you didn't have this problem on your own computer, include an option to switch the effect off or to turn it down a little bit. Good work completing a game! | 
| 
 | ||
| @Foppy, You are right. I was hoping someone might helo me create a 2d water like effect. (Like your ball was searing over water...(realistic)). If that could be done. Then... well then wow... | 
| 
 | ||
| I don't know if this is of any help, but I once wrote some code to get a (what I thought was a) sonic boom effect. It also looks a bit like a water ripple effect. It is done by using copyRect to copy a piece of the background to a spot a bit further on, giving the ripple effect. This is done for a number of spots that move outwards in a circle. However I noticed in my own game that this effect is also quite heavy (probably because of all the calls to copyRect). (The trick is to make the objects move fast or restrict their life time, and especially their size.) Otherwise just see it as a funny demo. The code still needs a bitmap (with some image on it) as large as the screen ("somebitmap.png"). 
; "sonic boom" effect demo by Foppy
Const SCREENWIDTH  = 800
Const SCREENHEIGHT = 600
Graphics(SCREENWIDTH,SCREENHEIGHT)
SetBuffer(BackBuffer())
Global g_gfx_background = LoadImage("somebitmap.png")
; this is the distance used when copying from source to target location (see sonic draw function)
Const DISPLACEMENT = 4
;#####################################################################################################
; SONIC TYPE DEFINITION AND RELATED FUNCTIONS
;#####################################################################################################
Type SONIC
	Field f_x#
	Field f_y#
	Field f_size
	Field f_dx#
	Field f_dy#
	Field f_life
End Type
Function SONIC_launch (p_x#,p_y#,p_size,p_dx#,p_dy#,p_life)
	sonic.SONIC  = New SONIC
	
	sonic\f_x    = p_x
	sonic\f_y    = p_y
	sonic\f_size = p_size
	sonic\f_dx   = p_dx
	sonic\f_dy   = p_dy
	sonic\f_life = p_life
End Function
Function SONIC_actionAll ()
	For sonic.SONIC  = Each SONIC
		sonic\f_x    = sonic\f_x + sonic\f_dx
		sonic\f_y    = sonic\f_y + sonic\f_dy
		sonic\f_life = sonic\f_life - 1
		If (sonic\f_life <= 0) Then
			Delete(sonic)
		End If
	Next
End Function
Function SONIC_drawAll ()
	For sonic.SONIC = Each SONIC
	
		; using copyRect() we copy what is under the sonic object to a
		; spot a bit further away, in the direction the object is moving
		
		sourceX# = sonic\f_x
		sourceY# = sonic\f_y
		targetX# = sourceX + sonic\f_dx * DISPLACEMENT
		targetY# = sourceY + sonic\f_dy * DISPLACEMENT
		
		CopyRect(sourceX,sourceY,sonic\f_size,sonic\f_size,targetX,targetY)
	Next
End Function
Function SONIC_launchWave (p_centerX,p_centerY,p_count,p_size,p_life,p_speed#)
	x# = p_centerX - p_size/2.0
	y# = p_centerY - p_size/2.0
	
	; here we launch a collection of sonics from one location, each of them
	; moving in a different (calculated) direction, so that we get an outwards
	; moving circle
	
	For i = 1 To p_count
		angle# = 360.0/p_count * i
		dx#    = Cos(angle) * p_speed
		dy#    = Sin(angle) * p_speed
		
		SONIC_launch(x,y,p_size,dx,dy,p_life)
	Next
End Function
;#####################################################################################################
; MAIN LOOP
;#####################################################################################################
Color(255,255,255)
While(Not(KeyHit(1)))
	; move all "sonics"
	SONIC_actionAll()
	
	; check user input
	If (MouseHit(1)) Then
		; launch wave of "sonics" when left mouse button is hit, use random values
		SONIC_launchWave(MouseX(),MouseY(),Rand(100,200),Rand(5,10),Rand(20,50),Rnd(1,2))
	End If
	Cls
	
	; draw background
	DrawImage(g_gfx_background,0,0)
	
	; draw all "sonics"
	SONIC_drawAll()
	Plot(MouseX(),MouseY())
	Flip
Wend
Delete Each SONIC
End
 | 
| 
 | ||
| Thanks Floppy i'll check it out l8tr 2night... |