The purpose of the Hawkeye 2 website is to provide a diary of the development of our new game. As you can see, the site is still heavily under construction.

Currently we are looking for a another programmer to join our team to continue the development of this game.
Expressions of interest are very welcome, just send us an email

This is a mashing together of some of the more presentable parts of Hawkeye 2 that currently exist. There's also a lot of graphics and code that aren't yet fully integrated into the runnable engine.

While we did start from the original Hawkeye 2 development disks from the BWB/X-Ample guys, the code is a 100% rewrite, using far less memory and raster time to allow the game to go beyond just a simple shoot and collect.

We're all in full acknowledgment that good graphics do not cover bad gameplay; the gameplay has just as much design going behind it as the technical feature set.

  • Sprite plex
    • 32 sprites. Might be scaled back to 24, depending on final available rastertime. Player sprites are included in the plex, instead of the 2 fixed player sprites and 6 plexed sprites that the original code used. [Finished]
    • If there are more than 8 sprites on a rasterline, they alternate per frame, so that none of them completely disappear during gameplay. [Almost Finished]
    • Sprites are displayed as soon as the previous sprite is [Finished] drawing, and sorting happens immediately after the last sprite is drawn, leaving border time free for more time-critical color scroll and timer setup stuff. [Finished]
    • Status sprites are fixed at the top of the screen, since there is no longer a status bar. [To Do]
    • Textual messages render onto blocks of sprites, using a 4x7 font for 3x3 chars per sprite. [Finished]
    Hawkeye 2 player sprite WIP

  • Player sprite
    • Upper body is redrawn every 2 frames from different component pieces. [Almost Finished]
    • Delta sprite animation compression for long animation sequences of small pieces (think discharged bullets, muzzle flashes, reloading, etc). [Finished]
    • Separate hair animation engine, based on jumping, changing direction, and wind sources. [To Do]
    • Figure out what [To Do] with the gun. [To Do]
    • Handle jumping into the background. [To Do]

  • Playfield
    • Speedcode generators that continually rebuild the scroll code, based on what's currently on the screen. Supports 25-charline full color parallax in both NTSC and PAL, obviously with some (very flexible) restrictions. [Finished]
    • 1-cycle NMI timer based VSP for scrolling through all 40 chars in 38-column mode. This helps a ton with the parallax. Hopefully won't kill VSP-flaky VIC-II chips, since it only moves 1 column. [Finished]
    • NMI timer based color splits. Can split every charline if you want, doesn't interfere with the plex besides taking a line of rastertime.[Finished]
    • LZ-based foreground compression format that decompresses in both directions (left/right). No tile or color restrictions, no level width restriction, awesome compression ratio. [Finished]
    • More speedcode generators for continually rebuilding the decompress-to-screen code, based on what's currently visible. [Finished]
    • Animated backgrounds. [To Do]
    • Level scroll triggers. [Finished]
    • Tiny bytecode tags for performing common operations during triggers. Of course, you can JSR to your own ML code instead if want. [Finished]
    • Level chars can have different heights for each of the 4 multicolor pixel columns, for smooth slopes and uneven terrain to walk on. [To Do]
    • Game engine generates the parallax font. [Finished]
    • Cooperative round-robin background processing for all of the above that can't all happen in 1 frame, and tons more. Self-modifies JMP chains for maximum speed. [Finished]
    • Enemy spawning. [To Do]
    • Collision detection with chars. [To Do]
    • Triggers for where the player steps. [To Do]

  • Intro/Outro
    • True 16-colour full screen 160x96 square-pixel FMV. Can get 40:1 compression ratio or better. Import from Koalas, animated GIFs, and SWF, in any combination. It's also dirt simple to add more import formats. [Finished]
    • PAL/NTSC compatible playblack timing, with compensation for fast/slow frames and changing framerate mid-stream. [Finished]
    • Speech synth. [To Do]
    • Interlaced sprite upscroller. [To Do]

Xamox, a planet on the edge of the Milky Way, is home to an almost perfect civilization. But a race of Nomads concerned with Galactic pirate security - the Skryksis - found the Xamoxians too perfect.

In the time of Naron, the Skryksis forces invaded Xamox, viciously massacring its perfect race to create a base and construct radiation plants. A few Xamoxians survived the massacre and went into hiding in underground chambers, vowing to seek revenge against the Skryksis. Working for generations, the survivors developed a synthetic life form (SLF), half robot half human - specially designed to break through the heavily-guarded sectors leading to the radiation plants.

The SLF managed to break through all the defences of the evil Skryksis forces and claimed freedom. A hero was born on that day and finally the Xamoxians reinhabitated the ground level of the planet, having lived in fear deep under the ground for so long. Their race thrived once again and as the years passed they were further advanced in their technologies, all existing in a peaceful and prosperous environment.

But envious and vengeful eyes watched them from afar... the descendants of the Skryksis nomads...

Over the years they had also rebuilt their forces after their bitter defeat to the SLF defence cyborg. The nomads had waited long enough - preparations had reached there end and the reign of terror and revenge was to begin.

The day of the attack was chosen with care, the Xamoxians were having their annual celebrations of the liberation date of the planet. The scheming warlords of the Skryksis logically understood the planets defences would be lowered at this time, that the inhabitants would not expect anything unexpected, for they had lived for so long in peace.

Mobilising their forces they soon invaded the capital and major cities of Xamox. The Skryksis ships attacked the surprised Xamoxian defences, finding little resistance, they barbarically slaughtered many of the citizens, the remaining survivors managed to flee to their underground safe houses deep below the planet.

Whilst the Skryksis start establishing themselves on the planet, the Xamoxian survivors delved deeper into their underground cave complex to a special fortified area where they could hold council.

Looking at certain mass-genocide, the Xamoxian people assembled and out of the survivors several senior advisors and government officials were present, including the Xamoxian Chancellor Minox Wal Shox.

The Chancellor rallied the citizens, announcing that their people had defended the land before and that it could be achieved again!

Some Xamoxians scoffed at this suggestion while others just looked amused.

"How can we claim our right of freedom again when we don't have a SLF defence system, legend tells that it had taken generations to create the first Synthetic Life Form. We are all but a few." retorted someone.

The debate was starting to get out of control and the people were stirring in despair however the Chancellor Minox Wal Shox remained calm.

"My people, there is hope; I wish to show you something that has been kept secret and hidden for a long time."

The Xamoxians, led by their Chancellor and his aides, ventured further into the complex, past areas and sites that they had not seen or heard of before.

After quite some time, they came to what seemed a stoned wall with no exit. The Chancellor touched the wall in certain area and a section of the natural stone wall opened up to small hallway. When the people got to the end of the hallway they gaped in awe at the huge abyss that lay just before them. In the centre of this was a huge cylinder that stood as high and as low as could be seen, around the sides of the abyss was a huge spiral staircase carved of stoned.

The Xamoxians descended further and further down, at one point some of them felt like they were at the centre of their planet. At last they reached the bottom and once again all but a few of them were struck by wonder. They were all looking at the huge cylinder, they were finally at the bottom of it, and at the base were three figures, metallic figures that were held in a suspended animation case.

"These are the SLF, not only did our ancestors create more than just the original one, they also improved the weapons capabilities and made these SLF-II prototypes. Our true defences have been kept secret in order for them to remain protected and available for use." proclaimed the Chancellor.

He then motioned to one of his aides, who pulled a lever which was linked to the suspended animation cases.

The sound of rushing air broke the silence and one of the animated animation cases opened up. Standing beside the case was a large figure, shrouded in mist.

The SLF had arisen!


Hawkeye 2 team

Code: David Holz
Main menu code: Wolfram Sang
Level graphics: James Svard and Hein Holt
Loading screen: Simon Marson
Music: Reyn Ouwehand and Hein Holt
Sound effects: Hein Holt
Producer: David Simmons

Hawkeye (C) BWB/Thalamus

Original Hawkeye team

Code: Mario van Zeist
Graphics: Jacco van 't Riet and Arthur van Jole
Music: Jeroen Tel
Loading screen: Robin Levy

Mario van Zeist coding Hawkeye in 1987
Mario van Zeist coding Hawkeye in 1987

Currently we are looking for a another programmer to join our team to continue the development of this game.
Expressions of interest are very welcome, just send us an email