Log In  

Cart #airwolf_pico-3 | 2023-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

At the command of the Airwolf, you must rescue a prisoner scientist in an underground complex.
Your time is running out.
Destroy the buttons to open the path.

  • cursor keys to move
  • z to fire (w on ascii)

About the game:

This game is inspired by the amstrad airwolf game released in 1985.
At that time I was a kid and I expected a lot from this license.
Unfortunately, the game was far too difficult.
A legend even said that the destruction of the last switch of level 1, crashed the game and prohibited going to the next levels. No one had ever seen level 2.
Last year, I thought about it and said to myself: this mystery must be solved.
So I completely reversed the assembly code of the game.
In doing so, I noticed that the crash of the last one came from an infinite loop which seemed voluntary.
There is only one level and no code to handle the end.
Everything in the sources suggests that the game was released too quickly and not finished.
When you spend hours studying someone else's code, you end up bonding with their ghost.
Since then I have the impression of guessing what the author (Richard Chappels) wanted to do at the time.
So, I wanted to push the concept to the end.
Here is the airwolf game of my childhood; rewritten to follow through on its original concept.

P#127229 2023-03-16 15:16 ( Edited 2023-04-10 11:41)


A real blast from the past!

P#127230 2023-03-16 16:32

Hi @65c02:

How do you pick up the package ?

P#127240 2023-03-16 18:49

There is no package and there is nothing to pick up except the scientist at the end. but in the level, there are some switches to destroy. And it's true that they look like packages :)

P#127243 2023-03-16 19:36

This menu music is so fire

P#127252 2023-03-17 03:04

Hard game, good music is the least that I can say about this game

P#127263 2023-03-17 18:43

Thanks for the history! Super interesting.

P#127265 2023-03-17 20:12

Wow, this game is hard. I love what you did though, chasing your childhood ghosts...

P#127297 2023-03-18 19:01

Really nice remake 👌
It is luckily relatively easy to get to the end.
I tried to finish it twice since I was pressing fire and I skipped something in the end. Still the last message disappears when I'm trying to read the last paragraph 😅 (maybe wait a few secs to avoid fire-skip and then finally make it disappear only when the user presses a key?)
At second attempt I had 7+ secs and 30007 (maybe useful to save permanently hi-score? see dset() )
Trying once more to finish reading the last part of the final message 🤭

P#127326 2023-03-19 15:49

At the 3rd time I directly started reading the last part of the message aha nice reference to that original loop 👌
7:41 - 32185
(hmm I see the score riskily gets near to the maximum 32768 I wonder if...)

@65c02 edit:
4th attempt, scoring as much as possible (it would've been around 33000 or less but for sure more than the max number 32768) so this happened:

it overflowed

P#127328 2023-03-19 16:03 ( Edited 2023-03-19 16:11)

You are right. I made some corrections.
Thanks for your feedback.

P#127334 2023-03-19 17:33

OMG I loved/hated that game. I'm so impressed that you got to the bottom of that rumour.
Your version is mercifully easier than the original (probably because of the smaller pixel count) but I'm only just realising I dont think I ever got past that first screen cause I'm not sure I knew how to shoot down (half turning the heli).
Thanks soooooo much for making this, I can't wait to see what the rest of the level/game looks like :D

P#127768 2023-03-29 11:39

Thanks for making this. Airwolf on the amstrad CPC was one of the two most hated titles I played on the machine (Ghouls being the other one).
My understanding at the time was that it was a badly cracked version where the trolling author designed the game to be as frustrating as possible for players of the pirated version : invincible enemies, useless life bar that doesn't replenish, only one shot on screen at the same time, walls that auto repair when changing screens, abysmally bad controls where aligning the chopper to the breakable blue pixel of boxes while frantically tapping up was absolutely rage inducing, broken timer that is both way too short and skips 10 seconds along the way...
I can't believe this was actually a WIP sold as is.

Your version is actually playable and nice to play.
I actually said "NO WAY!!!" when turning the chopper to the other side without moving. Even 35 years later, the trauma of the CPC controls was still very vividly remembered and you brought closure and peace to the inner frustrated completionnist child that was traumatized by this game.

P#135697 2023-10-10 12:59

After finishing the game multiple times, there was still one mystery left : the switch box on the map screenshot.
The laser can't be deactivated but it looks like you could damage boost and hit it. After a few tries, it became clear that the bullets despawn when exiting the screen so that was not the solution.
On the map, that switch is suspiciously the only one visible, the other switch-boxes are added at runtime.
To be extra sure, I deleted the walls over the switch and confirmed that shooting that box does nothing, it's just a passive tile on the map.

A final troll with missing code, the ultimate homage to the original.

P#135738 2023-10-11 06:55

Ahah, that's exactly the idea ;)

P#135743 2023-10-11 08:42

I’m wondering about the feasibility to port your remake back to the CPC.
A 128x128 16 colours screen is doable : using mode 0, 32K video memory (2 continuous pages among the 4 base ones) and doubling the lines (1 pico8 pixel implemented as two mode 0 CPC pixels.
Using hardware scrolling only to reduce redraws, scrolling would be per pixel on the vertical direction, and a painfull 4 pixels at a time horizontally.
Time and health indicators could also be implemented as vertical bars on the sides of the screen by just changing the border colour during display, so the hud does’t need cleanup during scrolling.

Sprite sheet and map could fit as is in the upper 64K (no un-extended CPC 464 support), so the main question is if a playable fps could be achieved :
In effect, worst case scenario is diagonally scrolling. Where both rows and columns would have to be drawn on top of the game logic during a single frame.
At full speed, how many pixels per frame does the chopper move ?

Other problem aside from speed might be memory : squeezing the code into 32K of Z80 assembly seems reasonable, given the LUA source size, but I’m not used to your programming style and have no idea how much memory the game objects are taking, things like damage to the pillars for example.
What do you think ?

P#135753 2023-10-11 14:28

This seems possible to me.
The most difficult subject is collision testing.
I overused it on the pico8 version :)
Perhaps it will be necessary to downgrade the shots by passing their display and their collision tests in a grid system.
This will greatly speed up the game.
This seems entirely doable to me on a 6128 (maybe even on a 464 with a lot of work)

P#135763 2023-10-11 16:41

It seems to me that the bullets are kind of already in a grid system : the screen . For each bullet in spawning order, repaint old coordinates in blue, add vélocity vector to coordinates, despawn’ bullet if out of bounds and check color of destination pixel, if blue paint white and update coordinates, otherwise de spawn bullet and handle collision.
Except when an enemy moves into a bullet stream where a few frames dropped might pass for a cool dramatic pause, there shouldn’t be more than one actual bullet collision to handle per frame.

If not enough we could make the bullets invisible with infinite speed, so only one shot to handle per frame and you only show the impact, drawback is that you have to un-draw the previous impact every frame. When shooting into a corridor, some feedback would still be needed, like sound or some flashing pixel on the chopper to indicate it’s firing.

P#135768 2023-10-11 20:26

I like your idea of invisible bullets.
It is a modern and perfect idea

P#135789 2023-10-12 08:09

[Please log in to post a comment]