Log In  


Hi to all,

finally I decided to start coding my personal game, and as first PICO-8 project I will design a "Choplifter" style game. I am not going to make an arcade conversion but something a little bit different.

My goal is to enjoy while learning PICO-8 by doing, and in second place I need something special to do that will keep me alive in this particular moment of my life.

Choplifter is a game by SEGA where the player has to pilot an helicopter (Bell UH-1 Huey) to rescue hostages from enemy bases.

I will post all my work in progress steps of my "AP8kalypse" game here, meanwhile this is the gameplay from the arcade:
URL Choplifter gameplay

2


1

Since I love helicopters, which I think are one of the most amazing flying machines ever invented, I will start the work from the flight system.

In Choplifter the flight of the helicopter is beautiful and fun, and the simulation of the controls and inertia are not bad at all.

As a first step I am working on the engine and the collective pitch that tilts the blades of the helicopter to generate lift. The command that does this in the game is the UP direction, which progressively increases the throttle and then the lift of the helicopter. But when the player lets go of the controls, the throttle gently loses power, so the helicopter loses altitude.

To connect the speed of the blades animation to a hypothetical engine force, I used a counter that increases at every frame, and at every screen update a logical 'AND' operation is performed between the counter and the value of the throttle.

By pressing the UP button the throttle is progressively increased, and from time to time this value Well used as an Index To extract from a table the second value for the AND operation. The values ​​present in the table are nothing more than values ​​for bit shift calculations.

Every time a frame for the blade animation is Changed, an event is generated to play the blade sound effect.

From the example given the technique is easily understood.

Cart #ap8kalypse_tst_0-0 | 2025-04-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

For now I'm happy with the general effect, but as always, any critic or suggestion is appreciated. See you next time.


1

neat!


1

I have drawn the "AP8kalypse" title very quickly, just to have something nicer than a simple text in these posts.

Cart #ap8kalypse_tst_1-0 | 2025-04-07 | Code ▽ | Embed ▽ | No License


2

Another step ahead on the helicopter flight. A simple system to generate a lift while increasing the throttle, and some gravity effect applied to the helicopter when no enough lift is generatded.

Cart #ap8kalypse_tst_2-0 | 2025-04-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Give it a try and tell me what do you think.


1

Lookin' good!


1

Thank you so much, I will fine tune the parameters later with the final graphics.


1

I have drawn a preliminary graphic for the helicopter. It's not really a Bell UH 1 but it just reminds me of military trooper helicopter. The dynamic of the flight probably must be fine tuned but for now I think it's nice.

Cart #ap8kalypse_tst_3-0 | 2025-04-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

[25x9]

I decided to separate the graphic of the helicopter from the animation of the blades. This lets me use a single row of 3 by 8x8 pixel sprites. Using three tiles for this bright lets me use a trick to lin the helicopter Instead of having multiple sprites.

When the helicopter moves the angle of the rotation is very little, So I can simulate the affect by showing the three sprites at different y like this example:

The blades instead are drawn as "lines", simple as that.

I am now working on the manoeuvres that this helicopter is capable to do, like the game choplifter. It's a little bit tricky to implement the sequences according to the buttons pressed, but I think that a good finite state machine can fit the bill.

I will be back with a new update soon, for now just drop me a line about what you think about this graphic.

Thank you


1

Here I am with another update on "Ap8kalypse".

I have worked on the animation of the helicopter, and it has been a bit tricky. I used a FSM to handle how the helicopter is shown according to its direction.

            Button pressed
Current     None Left        right
            0    1           2
frnt        frnt frnt_linlft frnt_linrgt            
frnt_linrgt frnt frnt        rgt_linrgt
frnt_linlft frnt lft_linlft  frnt

lft         lft  lft_linlft  lft_linrgt
lft_linlft  lft  lft_linlft  lft
lft_linrgt  lft  lft         frnt

rgt         rgt  rgt_linlft  rgt_linrgt
rgt_linrgt  rgt  rgt         rgt_linrgt
rgt_linlft  rgt  frnt        rgt

for example, if the helicopter is in front, and left button is pressed then the helicopter lins to the left but still in front, else if right button is pressed the helicopter lins to the right. Otherwise leave the helicopter in front. etc.

Cart #ap8kalypse_tst_4-0 | 2025-04-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

I would like to have a feedback from you about the flight and the helicopter.



[Please log in to post a comment]