OneBit Jetpack released

Hi all!
Just uploaded to itch.io "Onebit Jetpack", my new finished game for PlayDate console. A humble and little game inspired by Ultimate's Jetpac for ZX Spectrum computers.
You can download it from:
OneBit Jetpack (Playdate) by oscarbraindead
Thanks!
Best regards!

video2

video1

img1

img2

img3

2 Likes

the jumping looks really smooth. love the retro vibe achieved with the "Credits"

do they serve a function or is that purely aesthetic? either way, looks great. definitely will play when i get my playdate

Thanks for the comments. They are not really jumps but the vertical push of jetpac and gravity acting on the player :slight_smile:

1 Like

i see the action clearly now.

i like the eyes and their animation. looks great

1 Like

Nice one! The Particle effects are really nice!
Any tips or code how you have achieved it?

Sure!
When I create a new enemy I spawn some particles too with:

for p=0,5 do
	add(particula,{ang=rnd(0,359),x=item.x,y=item.y,vel=rnd(1,3)})
end

Where ang is a random angle between 0 and 359
x and y are the new enemy center coordinates and the point where the particles begins
and vel is the initial velocity of each particle, a random value between 1 and 3

Then, in the main game loop, I call to actparticula() function:

function actparticula()
	for id,item in pairs(particula) do
		item.x=item.x + (math.cos(math.rad(item.ang))*item.vel)
		item.y=item.y + (math.sin(math.rad(item.ang))*item.vel)
		
		item.vel=item.vel*0.85
		
		playdate.graphics.fillCircleAtPoint(item.x, item.y, 2)
	end
	for id,item in pairs(particula) do
		if item.vel<0.2 then del(particula,id) end
	end
end

It iterates through particle list and for each element:
-compute the new x and y position keeping in mind the particle angle (that needs to be converted to radians) and the particle velocity
-we decelerate the particle speed with item.vel=item.vel*0.85
-draw a circle in the new coordinates with a radio of two

Once updated all the particles, it iterates again and destroy the particles that are almost stopped (with a velocity less than 0.2).
It's needed to do in another loop to avoid flickering when destroy a element during list iteration.

I hope it helps.

Best regards!

1 Like

Many thanks for your help!

1 Like