Log In  


Cart #mot_chopper-2 | 2022-12-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
45

WARNING: This game attempts to emulate old 8-bit flight simulators from the 80s and 90s. The flight model leans towards realism rather than easy-to-pickup arcade gameplay (even if it's somewhat primitive compared to serious modern-day flight simulators). As such it's not an easy to pickup game - controlling the helicopter is challenging and takes practice. In combat, even more so.

Welcome to Combat Chopper, an 80s helicopter combat flight simulator for Pico-8!
Pilot your P8 64k Apachi armored attack helicopter on a series of missions destroying key targets in enemy territory.

Getting started

Training mode

Use the "Training" mode to practice controlling the helicopter before trying to take on any missions. You will need to be comfortable with keeping low, stopping and hovering, and landing, before attempting to engage in combat.
Training mode is exactly like career mode, except there are no objectives, and you cannot be shot down.

Flight controls

The helicopter and weapon systems can be fully controlled using a single controller.

When no button is held:

  • Up/down -> Pitch
  • Left/right -> Roll

When the circle button (Z) is held:

  • Up/down -> Collective
  • Left/right -> Tail rotor

To take off, hold circle (Z) and press the up arrow until the helicopter starts climbing.
A little bit of collective will make the helicopter hover just above the ground (due to the "ground cushion effect"). Adding more collective will cause the helicopter to continue climbing.

Once airborne, press the arrow keys (without holding circle) to tilt the helicopter, which will cause it to accelerate in that direction.

The cockpit gauges help you control your flight:

Player 2 controls (optional)

Although the game can be played with just one controller you can use a second controller for extra precision.
The player 2 arrow keys control the collective (up/down) and tail rotor (left/right).

Stopping

Being able to stop and hover is a useful skill.
Essentially this involves raising the nose and tilting backwards until your speed reduces to zero.
However, keep in mind that the helicopter has momentum and it takes some distance to brake from 100mph down to zero.
Also tilting backwards at speed will cause the helicopter to climb rapidly making you an easy target for SAM launchers. To avoid this, drop the collective down first before lifting the nose. Try to balance the collective and pitch angle to keep the vertical speed as close to zero as possible. When your speed is close to zero, quickly add collective to avoid dropping quickly.

Landing

Landing is tricky to master, but is an essential skill.

Use the map view to locate your base.

It will be at the coordinates you took off from! Alternatively look for the orange dot on the map.

Come to a hover next to your base, then turn to face it using the tail rotor controls.

Approach the the helipad slowly (~10mph) using the collective and vertical speed indicator to control the rate of descent.

As you reach the helipad, tilt the nose up slightly to come to a hover and lower the collective until you touch down onto the helipad.

Combat

As well as piloting your helicopter, you will also need to destroy enemy units.
This involves locating the enemy, targeting them, and selecting and firing the appropriate weapon.

Weapons and targeting

Hold cross (X) to access the weapon systems.
While held:

  • Up/down -> Cycles through available targets.
  • Left/right -> Select the weapon/countermeasure to fire.

Tap X to fire the selected weapon at the targeted unit.

From left-to-right the weapons are:
- No weapon. (I.e. safety on)
- Cannon. Effective against all unit types, but has limited range.
- Laser guided missile. Seeks the targeted unit. Ineffective against camps and outposts.
- Rockets. Fly straight forward. Effective against camps and outposts , but not other targets.
- Countermeasures. Used to counter surface to air missiles (SAMs).

In order to be targeted, an enemy unit must be visible (i.e. in front of you) and in range.
Range depends on your altitude - the higher up you are the greater your targeting range. Beware that this works both ways - enemies can also target you from further away when you are higher up.

When a unit is targeted a square reticle is displayed around it, and the unit is displayed in the targeting camera view. Enemy units have a red reticle and an "E" displayed in the bottom left corner of the target camera view. Friendly units have a blue/gray reticle and an "F" displayed.

Enemy fire

The main threat will be surface-to-air missiles (SAMs). Most units will fire these at you when they spot you.
Beware of SAM launchers as they fire more quickly and their missiles do greater damage.

The IR and SAM dashboard lights tell you when an enemy is aiming and firing at you.

If the IR light is lit an enemy is targeting you and getting ready to fire.
The SAM light means a missile has been fired and is actively seeking you, and you should take action to avoid being hit.
This might mean:

  • Dropping a countermeasure. This is the most effective way to avoid getting hit, but you only have a limited supply. Each countermeasure lasts for 10 seconds.
  • Dropping behind a hill is occasionally effective, if you have enough time.
  • Attempting to evade by turning tightly or rapidly dropping altitude. This is risky but can work.

The other threat is anti-aircraft (AA) guns.
These fire shells at you which, unlike SAMs, do not seek and have a shorter range. However there is no warning indicator for AA guns and they are particularly dangerous if they catch you at close range moving slowly, or if you try to take them head on.

Damage

Damage is displayed in the mission objective display as a red bar. If the bar is fully red then you have been shot down, and your helicopter will crash to the ground.
Damage also affects your engine and the amount of lift your rotors can generate.

You can repair your helicopter by landing at a friendly helipad, and dropping the collective down to zero. This will also restock your weapons.

Missions

In career mode you will be given missions.
Each involves destroying one or more enemy units at a specific location, then returning to and landing safely at your base.

The mission objective is displayed at the top of the dashboard.
Use the map to find your way to the objective coordinates. The objective is displayed as a red dot.

Once enough units have been destroyed at, or close to, the mission coordinates, the mission objective will change to "Return to Base", and display the base coordinates.

Tips

Some tips to help keep you in the air.

Keep low

Flying low is challenging. However keeping under 100 feet prevents you from being lit up like a Christmas tree to every SAM capable enemy unit.

Friendly space is to the west

If you need to retreat, head west.

Use the mountains

This is particularly important for missions deeper into enemy territory.
The basic approach is:

  1. Fly to a mountain, keeping low, and come to a hover beside it. Ideally keeping it between you and enemy units.
  2. "Pop up" to 200-300 feet and look around for enemy units. Then drop down again before they can fire at you.
  3. Choose the next mountain.
  4. Decide which enemy units to destroy or avoid in order to reach the next mountain.
  5. Destroy the chosen units.

Repeat the process until you are within range of your objective.

Watch out for AA guns

Getting close to an anti-aircraft gun can quickly spoil your day.
Destroy them from range or avoid.

45


this is awesome, again.

One minor issue, don't know if it's me or not, but the z+dir key comb only register once. if i keep z pressed, then press and release up several times, the 2nd press will crash my nose. z don't act as a shift dead key.


@m_b I haven't seen that before.
Are you playing in browser? Or in Pico-8?

If you're using a keyboard, you can use E/D (player 2 up/down) to control collective as a workaround.


using latest pico-8 client (0.2.5e)

while true do
	if btn(🅾️) then
			print("x")
			if(btn(⬆️)) print("up")
			if(btn(⬇️)) print("down")			
	elseif not btn(❎) then
		print("no x")
	else
		print("nada")
	end
end

if i stay put on x, it's keeping x pressed forever
when I add a keypress (up or down) keeping x down, it registers for a 1/3 of a second, then x is released (still down on my keyboard).

At a fast pace, i can 'shift'-up (x-up), but as soon as x stays pressed alone for more than say 300ms, it clears itself.
I checked with an old version, same.

so, x-up fast, ok
x-up slow, fail


ms               /50\       / 300 \       
x_key   _|''''''''''''''''''''''''''''''''''''''''''''
up_key  ________||__||_||_||_____________||________||_

x_out   _|''''''''''''''''''''''''|___________________
xup     ________||__||_||_||__________________________

                                   ^ too long, x unregistered

approx delays.


@m_b Sorry I'm not sure I quite follow that code.

I use this for testing out buttons:

function _draw()
	cls()
	local c="⬅️➡️⬆️⬇️🅾️❎" 
	for p=0,1 do 
		print((p+1)..":",1,50+p*10,1) 
		for i=0,5 do 
			print(c[i+1],i*8+10,50+p*10,btn(i,p)and 7or 1)
		end 
	end 
end

Holding down Z seems to work for me.


it might be a keyboard issue. mine is a ps/2 converted to usb1 using a dongle, plugged into a kvm (pretty old one).

i could try with a modern gaming keyboard with rolling keys.

shift is working fine though. x can't work as a dead key. that might explain also why i'm bad at platform games, missing jumps all over the places.


yup, that's it, my gaming keyboard is working fine. I should get rid of my ps/2 one, but that's a very long road.


@m_b that sounds plausible.

I unfortunately have no excuse for being bad at platform games... :)


I love this so much :)


@Logarhythm thanks. I was worried nobody would try this, as it's not exactly easy to pick up and start playing.


This is awesome!!!! The best game on Pico8!!! Awesome job! One question: is there the chance to have multiple choppers to choose from the one to pilot?Or a new designi, more futuristic, for the green one we have yet?


I just "beat" the campaign after all this time. What a fun little sim! The flight model felt very good for a Pico-8 title, and successfully bringing back my heavily damaged heli is extremely gratifying to me. This really deserves more attention.


@Truncana sorry I missed your comment before.
No plans to add any more helis or other content, because the cart is 100% full.

A sequel in Picotron may not be out of the question (someday).


@hwd2002 I'm slightly embarrassed to admit that I never completed the campaign, so you may be the first. Congrats!

Also I was worried nobody would play it at all (it's kinda niche), so this made my day :-)


So, I just tried to run this on FAKE-O8 on my PS Vita and it's getting some kind of [String "..."] error. Then it says "No Lua to Load." and aborts the cart. Not sure how to proceed, but I wanted to let you know.


Yeah, sorry. I don't know anything about FAKE-08 I'm afraid.



[Please log in to post a comment]