Play Either: (1)Above; (2)Download; (3)Own Pico8? Copy/p code below. Options 2&3 have improved performance and support wasd controls.

Pico1k *PONG* (/ˌPˈico1:KONG/)  ~6mins/hard/1024chars

Controls (p0 1/2):

  • arrowkeys left/right to move side-to-side
  • enter/p for pause/reload; ctrl+r quick-reload; sidebar for fs

The Story so far... You lost your head in the war of 1812. Fortunately, the wiki of the future was poorly edited and you were able to resurrect due to the erroneous nature of the parallelograms wHO PLAN TO DESTROY THE WORLD!

Takeup arms once again, for the last time, in the first-ever epic battle known simply as *PONG*. 

Gameplay: Defeat the parallelograms by getting your timeball through their defenses 10 times. If they get theirs through yours 10 times...well then that's bad and time will forever render as slow as blender 2.0. 

Mechanics: Your paddle can be thought of as a flat surface with a center dividing it into a left and right side. The paddle will return the ball based on the location of impact on this flat surface. Hitting the exact center will send the ball straight-up (i.e. gamestart). Hits further from the center will increase the angle of reflection to a max of 45degrees in the right/left direction depending on the point of impact. *Note: The angle is always based on where the ball makes contact; the paddle's speed has no significant effect on the angle. Variables like the paddle hit-speed will increase as matches persist and you near closer to 10 points, be careful.

Score is '(score-enemy_score)/10'. A max-score of 10/10, and min-score of 1/10 may be achieved. Rendering time()<=blender_renderspeeds will yield a zero; SO SAY WE ALL!

The score to beat is 8/10. Post your best in the comments.

Techniques:

  • Instead of the surface you can also use the side of your paddle to hit the ball. These will always return maximum angles. Your paddle is very small and slow, so if your timing is off by even a bit you risk losing the point. The code is generous when it comes to saving balls, but not that generous.
  • You can propel your timeballs faster by making contact while moving, a technique called 'speed-boosting/speed-boost'. The longer you move for, without stopping/reversing, the faster the timeball will move after contact. The speed-boost multiplier resets to 0 the instant you stop moving or change directions, charges will rebuild immediately when you move again. i.e. You must hold a single key movement indefinitely to maintain the charge.
  • Using speed-boosting and hitting the ball in the opposite direction you are moving is a technique called 'dolphin-shot' (think dolphin tail). Its a tricky move that maximizes the speed-boost value while baiting the enemy.  

Tips: 

*Your points affect the gamestate (faster/harder), enemy points don't. 

Point 1:

  • This is the best-place to practice the game and learn the controls. Ctrl+R to restart as desired.
  • Firstpoint is a freebie if you twitter a bit then aim for a corner.

Point 2-5:

  • Speed-boosting with your paddle's corners, and striking corner shots on the enemy-side, is an easy-way to rackup points early-game since your opponent doesn't move very fast...yet. One strategy to achieve this is by paddling center shots with the opponent while moving the ball gradually to a wall. Get the ball as close and parallel to the wall as possible. You can then speedboost the ball into the wall at a hard angle, richocheting the ball off into the far enemy corner.
  • Advanced: the enemy usually focuses on moving with the timeball; you can lineup a dolphin-shot to quickly shoot the ball in their opposing direction. This requires a significant enough speed-boost+ball_speed combination, and expert timing. The dolphin-shot allows you to move past the ball, giving you a much higher speed-boost multiplier than if you hit it with the closest part of the paddle.

Point 6-8:

  • The enemy is much faster at the start of these matches and you should generally play more passively until the ball gains speed.
  • Hitting from ur paddle's center for a few hits in the early match will buildup speed and usually present opportunities for some sinister angled corner shots.
  • The ball respawns at increasingly sinister angles, be sure to move towards the center of your screen asap when a point is about to be scored. 

Point 9-10

  • The enemy has godly speed, and these matches can destroy your score and lose you the game if you lose your focus. Pause if needed.
  • The paddle-speed now makes the ball move very very fast, and unlike earlygame, it can prove fatal on the return to mess with these speeds earlymatch when the enemy can easily keepup. Aka Speedboosting can be a bad idea. The exception being if the ball spawns with a richochet (bouncing-off walls) and you are able to buildup a decent speedboost for a return like no other. Otherwise it's generally recommended to play passively and parry until the opponent makes a *mistake* (you may have noticed the enemy blinks sometimes), or there are 'better-positioned-risks' to take.


Code:

x=54y=124🐱=0😐=0s=0❎=54♪=1✽=0⧗=0q=62w=13k=0j=1h=0d=1o=0i=rnd r=rectfill

_set_fps(60)::g::b=mid(.125,atan2(q-x-8,w-y-8),.375)n=mid(.125,atan2(q-❎-8,w-♪-8),.375)p=1+s/7a=i(9)e=1+s/7

if(btn(0)and x>1)x-=1.3🐱+=1/90else 🐱=0

if(btn(1)and x<110)x+=1.3😐+=1/90else 😐=0

if(x<1)x=1

if(h>40)h=40

if ⧗<=0and j<0then

if(a>=.02)d=1else d=-1⧗=3o=28end

if(⧗>0)⧗-=1

if(q>(❎+8))❎+=e*d

if(q<(❎+8))❎-=e*d

if(❎>109)❎=109

if(❎<2)❎=2

if(q>124)q=124k*=-1?"\ag0"

if(q<3)q=3k*=-1?"\ag0"

if w<5then

if(q+2>=❎ and ❎+16>=q-2)w=5h+=1j=-(p+h/15)*sin(n)k=-(p+h/10)*cos(n)?"\a00#0c"

end

if w>123then

if(q+2>=x and x+16>=q-2)w=124h+=1j=(p+h/15)*sin(b)*(1+🐱+😐)k=(p+h/10)*cos(b)*(1+🐱+😐)?"\af-1"

end

if(w>128)w=63q=i(121)+5j=.5k=i(s)-s/2✽+=1h=0?"\a00#.dc"

if(w<0)w=63q=63j=1k=i(1)-.5s+=1h=0?"\a<<gat-9-gat"

q+=k

w+=j

cls(14)r(1,0,126,127,1)r(x,y,x+16,126,11)r(❎,♪,❎+16,3,8)?"★▒★",❎-3,♪-2,8

?"☉+☉",❎-1,♪-1,7

if(o>0)o-=1?"☉ ☉",❎-1,♪-1,8

?s,6,5,11

?✽,118,118,8

?"●",q-3,w-2,9

if s>9or ✽>9then::_::cls()?"◆"..mid(0,s-✽,10).."/10",50,61,8

flip()goto _ end

flip()goto g


Author Note: This game was a side-experiment to help me develop an accurate bullet-reflection method. I hope to implement this into the top-down rpg shooter I'm working on. To that end, it is also my 2nd game-entry in the Sept2021 #pico1k #gamejam https://itch.io/jam/pico-1k/entries

My favourite parts were writing these words and testing the game. Contract Offender 3, will be out in another week, maybe.

More free games on my dashboard/profile. 

Twitter: https://twitter.com/Cerbyo1.

My twitter is 14+/political/offensive/anime/swear-free.

Download

Download
pong.bin.zip 6 MB

Install instructions

Download the pong.bin.zip file. Extract. Open the folder with your operating system name. Run the .exe file to play. If you want to use normal arrow key controls instead of WASD (a and d specifically) delete the config.txt file. If you have any problems with game controls, delete the config.txt file. If you want to setup a custom controller see https://pico-8.fandom.com/wiki/Controllers.

Comments

Log in with itch.io to leave a comment.