Re-examining Jack Attac(k)

reminisce about classic bbc micro and acorn electron games here
Related forum: adventures


Post Reply
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re-examining Jack Attac(k)

Post by joachim »

I've always thought that Jack Attack was an imaginative and engaging game that was understandably but somewhat unfairly maligned due to its slapdash coding (and let's not speak of its appallingly slow Electron "conversion").

And, perhaps, lack of coherent instructions. The rumours on previous Stardot threads were that it's "impossible to complete", but I'm sceptical of how anyone would know this for sure, I don't see a full explanation other than some mumbling about "impossible to get the green key", and I've been looking at the code trying to work out whether it's really true.

Specifically, it's clear why one would think the game is impossible from looking at the map. The giant's dining room (column 4, row 3, just below the room with the seven doors) is the climax of the game, where you obtain the green key that will unlock Jill's prison. But the only way to get into that room is from the room above, which requires you to pass through seven doors, including a green door. What I am now sure of, though, is that from the game's point of view there are two different doors which both happen to be green, and the one in the seven-doors room is unlocked not by collecting a matching key but by reaching a score of 83 (i.e. collecting 83 objects).

I have a vague recollection of actually doing this BITD once, using an infinite-lives cheat. Today with less patience but better tooling, I have been able to visit the dining room without collecting 83 objects (see cheats below). When you collect the green key in the dining room a timer starts ticking down and you lose the game if it gets to zero: this seems consistent with the vague game inlay instructions ("You'll have to collect all the fruits and bits and pieces on the way and finally when you've found THE key you will wake up that old meany, the Giant. He's down on you like a ton of bricks and you will only have 2 minutes to race back through the castle and out to freedom.") The existence of the timer code also seems to confirm that something is really meant to happen here and it's not just all the inlay-writer's fantasy.

However, I can't work out what to do next, because I still can't find any way out of the dining room. You can't jump high enough to get out the way you came in, and dropping through the otherwise-tempting hole in the floor seems to be a fatally long fall. So as of now, I'm still stuck.

References:

Screenshot map on stairwaytohell.com.

Sutty's posts fixing some crash bugs in Jack Attack: 1 (contains explanation of fixes), 2 (contains corrected version of game image).

Jack Attack on bbcmicro.co.uk (I am working from this image. It contains a version of Sutty's fix for the crash bug, but doesn't include Sutty's Master-compatibility fix.)

Inlay instructions on everygamegoing.com. Sorry Dave for deep-linking an image; I can't figure out how to navigate through the JS otherwise.

Appendices:

Cheats for the bbcmicro.co.uk version of the game:

Code: Select all

LO."SHFT"
161?&4976=&A5:   REM infinite lives
162?&4A7B=&FF:   REM unlock all doors except Jill's cage
163?&4A88=43:    REM start above the seven-doors room
164?&4ACF=0:     REM giant's timer speed (default value is 11)
165?&46C8=&30:   REM invulnerable to long falls
166?&4789=&10:   REM invulnerable to monsters and trees (warning, glitchy and you can walk into killscreens)
RUN
(Mostly for my reference) The code which unlocks the green door when you collect the 83rd object. Yes, it uses the D flag:

Code: Select all

1A76   F8                   SED 
1A77   AD FE 2E             LDA &2EFE
1A7A   18                   CLC 
1A7B   69 01                ADC #&01
1A7D   8D FE 2E             STA &2EFE
1A80   D8                   CLD 
1A81   C9 83                CMP #&83
1A83   D0 0A                BNE &1A8F
1A85   A9 00                LDA #&00
1A87   85 8B                STA &8B
1A89   A9 FC                LDA #&FC
1A8B   85 F3                STA &F3
1A8D   A9 10                LDA #&10
1A8F   4C 45 1A             JMP &1A45
Last edited by joachim on Mon Nov 06, 2023 1:29 pm, edited 8 times in total.
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

It was 'known' that Nightworld was unfinishable too until someone figured it out a few years ago. It'd be unusual if it was impossible (although I'm reminded of Wizzy's Mansion which does genuinely appear to be impossible due to an item being out of reach without some 'assistance').

We just need to hack out that timer and keep poking the game with a big stick until someone spots something! :D
MatthewThompson
Posts: 1872
Joined: Tue Apr 22, 2008 4:44 pm
Location: Oxford
Contact:

Re: Re-examining Jack Attac(k)

Post by MatthewThompson »

Jack Attac(K) as a great game - The colourful Mode 7 loading screen, noisy loud music, a great game which I played a lot, I'm not sure if it was actually impossible to complete - as I never got that far as the game would always randomly crash on me.
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

I've been playing my way through with infinite lives and map in hand (I would stand less than zero chance of beating this properly) and have hit a wall. Some of the items are glitchy to collect, particularly the computers, and this one is in a position where I can't keep approaching it from different angles to register it collected. Particularly as once you go on the platform above, there's no coming back. What a pain, so close to reaching the giant!
jackattack.png
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

Turns out there are quite a few more than 83 items, so it didn't matter. Here's a beebem save just before the final room. Haven't found a way out of it yet, surely you were meant to drop down through that hole, it has to be an oversight.
Attachments
jackfinalroom.uef
(129.26 KiB) Downloaded 15 times
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Re-examining Jack Attac(k)

Post by joachim »

WIth another modification to the game to allow long falls without dying, plus another small cheat (removing the time limit on the final section of the game), I was able to play from the giant's dining room back to Jill's cage and receive a win screen. (See updated list of cheats in the original post.)

So I believe we've established that the only part of the game which may be impossible is getting out of the dining room. And if it is impossible, we could definitely make a reasonable "fixed" version that's possible, by being slightly more lenient with falls or by modifying the dining room so that you don't have to take such a long fall.
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

Indeed, you could even just shift the left hand chair and the table one tile to the left. It's only the fact that you have to drop from the top of the chair instead of the floor that makes that jump impossible. Wonder if there's a way of catching the wall to slow you're descent somehow, probably not given how little jump room you've got but I'll mess around with it a bit.

Also, 99 seconds seems harsh to reach the bottom of the map, even if you know where you're going!
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

There are some neat little touches with this one, it definitely has potential. I like the fact that you can run off a platform with momentum or drop straight down by moving carefully, it makes the game much nicer to control. I also like the fact that the player has an idle animation, unusual on the beeb I would say.
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Re-examining Jack Attac(k)

Post by joachim »

A funny thing I've just noticed while looking at the way the map data is stored, is that the top five rows of screens are not stored contiguously to the lower four. There's also a major vibe shift between those two parts of the map, since the lower four rows (the beanstalk) are pretty calm and spacious with a moderately clear route, whereas the upper five rows are a chaotic mess of brickwork and nasties.

This makes me wonder if the original version of the game was just the beanstalk section, with the magenta door as the final door that opens when you've collected enough objects (this would explain why there's a massive pile of fruit in front of it) and the yellow key as the final key that starts the endgame and unlocks Jill (this would explain why the lifts at the left-hand edge of the map allow you to descend quickly from this height but no further).

Then presumably the publisher said that this game's too short and easy and people might actually complete it, so the giant had to get a massive new castle above the beanstalk, and his former modest purple residence was relegated to a … groundskeeper building? welcome centre?
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

I did notice a big difficulty spike there as well, you kind of have to go all the way up on the left, all the way up on the right and down the chimney bit in the middle and there isn't really an obvious way to do it all without heavy backtracking (not that I've route planned particularly hard).

Whereas I'd say the secondary map of tunnels is underutilised. It looks like it's going to be a sprawling network with entrances all over the place but in the end, you only enter in a couple of places, most of the routes are dead ends and there's a single bonus to collect in there (with I only managed to collect by glitching through the helicopter, not sure what the official solution is for that one).
Daisuke
Posts: 1
Joined: Mon Oct 30, 2023 7:17 am
Contact:

Re: Re-examining Jack Attac(k)

Post by Daisuke »

Just coming in with some notes on this one.

As a child, I did assume that this was impossible without cheats because - as noted - it appears that the green key is located in a room that can only be properly accessed beyond the green door.

However, by the early 00s with emulation and save states I did make the discovery as noted above that there are in fact two green keys - one for unlocking Jill's prison (which is unlocked by the key in the Giant's house) and one for the green door above the Giant's house which is simply awarded upon collecting your 83rd object. That then led to the second problem - you cannot escape the Giant's house correctly. There's a few design assumptions here as to what went wrong, I think the most likely is that the chair in the giant's room was subject to a late shift to the left by one tile for cosmetic reasons (to make the back of the chair distinct from the wall which uses the same pattern) but this led to the loss of a single safe tile at floor level from which you could simply drop down to the screen below. I did also wonder if there was some trickery where you do (or do not) do something with the apple on the table but this seems unfounded.

I have a suspicion (which may be wrong, I am not clever enough personally with coding that I can recreate the conditions to test) this may have led to a third problem where there still was not enough time to actually get from there to save Jill - it looks like it would be tight to do!

Every item in the game can be legitimately collected other than the telephone behind a helicopter in the underground, though collecting this by other means doesn't change anything. Another posted in the thread cited a computer positioned after a series of ladders. I can confirm that this CAN be collected from a pixel-perfect position underneath (and even then, it doesn't seem consistent so I don't know if the collision detection has something funny going on with how the routine works whilst jumping), but it's a pain which you need to abuse save states to collect.

It seems to be it would have been a more intuitive design decision for the game to not have the double green key confusion and instead just have the green key for the Giant's house just a regular collectable in the main game map and then simply have Jill's prison be what is unlocked from collecting X amount of objects (and the final object would have been the apple on the giant's table, necessitating entering that room to be able to initiate the "final chase"). It's an interesting observation from this chat that the upper half of the game was added at a later point but I think it probably has credence from some of the design when you look at it.

For what it's worth, I tried to track down the author a couple years ago and think I found him - a John Niblett who is the software development director at a UK computer consultancy firm who, from his LinkedIn, has been active with computers since the early 80s - but attempts to enter into engagement on Jack Attack were met with silence!
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

Regarding the computer on the ladders, I got it in the end by just jumping across the ladders like a maniac until I hit on the right pixel position and it registered. And I agree, I think the table leg was moved without checking the game was still finishable.

I did try a few tricks to get the player to stick to the wall so I could drop down safely. The closest I got was this little move, but there just isn't quite the angle to pull it off. I get the clip into the side of the chair, but I can't get past the table top from there to clip the wall underneath.
Attachments
jckatck.zip
(29.52 KiB) Downloaded 14 times
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Re-examining Jack Attac(k)

Post by joachim »

Daisuke wrote: Mon Oct 30, 2023 9:07 am Every item in the game can be legitimately collected other than the telephone behind a helicopter in the underground, though collecting this by other means doesn't change anything. Another posted in the thread cited a computer positioned after a series of ladders. I can confirm that this CAN be collected from a pixel-perfect position underneath (and even then, it doesn't seem consistent so I don't know if the collision detection has something funny going on with how the routine works whilst jumping), but it's a pain which you need to abuse save states to collect.
The collision detection is always intermittent when you're collecting computers, even just during normal horizontal walking (you do get them, but only once you're right in the middle of them, not as soon as you touch like with most objects). Picking up the red steam engine (in the bottom left corner of the map) and the strawberry are a bit dodgy as well.

I inferred from this behaviour that it's to do with the colours used in the computer sprite, and I partially confirmed this by looking at the code although I didn't work all the way through the details. Basically as I understood it, the code checks a few pixels to see if they're one of a couple of special "active colours", and only if so does it loop through the list of objects and their bounding boxes to determine what was hit.

There are separate active colours, and separate lists, for the monsters vs. the collectable objects. You'll notice that the monsters are largely red and cyan, and the ones that aren't (the helicopter) have very poor collision detection. IIRC the active colour for objects is green (and maybe something else, magenta perhaps?): note that the green tree which is fatal to touch is coded as an object, not a monster.

A "bug" that appears if you use my invulnerability hack upthread (not sure whether or not it's possible to trigger this in the unmodified game) is that if you touch a green part of a monster while standing in a position where an object originally was, then you get credited for collecting the object again.

One thing I didn't investigate is how the 16-colour palette is used: it would make complete sense, in this design, for the extra 8 colours to be redefined so that you could have "active" and "non-active" versions of the same colour. If so then this collision detection might be fixable without changing the appearance of the problematic sprites.
RichP
Posts: 124
Joined: Tue Jan 24, 2012 4:07 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by RichP »

I saw this game in a BBC Micro game compilation video and thought it looked one of the most interesting! It's not a game I knew about when I had my BBC Micro.
Steven666v2
Posts: 15
Joined: Sat Jan 06, 2024 12:16 am
Contact:

Re: Re-examining Jack Attac(k)

Post by Steven666v2 »

Can’t believe I’ve been playing this at the same time as some other people have been revisiting it to. Uploaded a video to YouTube of a kill screen at the top of the map on the Acorn Version. Not present in the bbc version. I stopped recording unfortunately when restarting from the beginning when the kill screen happened straight away instead of starting from your house.

https://youtu.be/9_s_xtsIsDg
Last edited by Steven666v2 on Mon Jan 08, 2024 1:57 pm, edited 1 time in total.
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Re-examining Jack Attac(k)

Post by joachim »

Interesting. This looks like data corruption (e.g. using a bad pointer to access the room data) and I know the Electron version crashes after a while in various unpredictable ways that bespeak of someone having randomly scribbled on memory.

I also thought that the BBC version did too, but was fixed as Sutty mentions in this thread:
https://www.stardot.org.uk/forums/viewt ... p?p=137817
(a version of these fixes is used in the Jack Attac on bbcmicro.co.uk, at least)

So is it possible that the BBC version you tested was a fixed version rather than an original? Or alternatively, is it possible that the bug you experienced was a random occurrence, and if you reboot and go to the same location again you will (probably) see the correct screen?
Steven666v2
Posts: 15
Joined: Sat Jan 06, 2024 12:16 am
Contact:

Re: Re-examining Jack Attac(k)

Post by Steven666v2 »

joachim wrote: Mon Jan 08, 2024 1:48 pm Interesting. This looks like data corruption (e.g. using a bad pointer to access the room data) and I know the Electron version crashes after a while in various unpredictable ways that bespeak of someone having randomly scribbled on memory.

I also thought that the BBC version did too, but was fixed as Sutty mentions in this thread:
https://www.stardot.org.uk/forums/viewt ... p?p=137817
(a version of these fixes is used in the Jack Attac on bbcmicro.co.uk, at least)

So is it possible that the BBC version you tested was a fixed version rather than an original? Or alternatively, is it possible that the bug you experienced was a random occurrence, and if you reboot and go to the same location again you will (probably) see the correct screen?
I played through again and got the same kill screen at the same point. The bbc version I played was the online one playing in the browser so likely I fixed version. I had forgot that you needed to collect 83 items so hit a literal brick wall (or green door). But I guess the next bit is impossible anyway!
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: Re-examining Jack Attac(k)

Post by bob147 »

Unless of course you can find a trick to get out of that room. I'd be well up for a beebjit assisted speed run if anyone ever figures something out for that bit :D
joachim
Posts: 325
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Re-examining Jack Attac(k)

Post by joachim »

The best I can suggest in that direction would be the "unlimited safe fall" cheat that I listed in the first post in the thread.

It would be possible to change the fall limit without making it infinite, but it's messier that you expect because dying after a fall is determined by the number of frames that you've been falling, and your y-velocity in each frame is determined by looking up this same frame count in a table. So to change the fall limit you either have to extend the table, or increase the table entries so that Jack falls faster.

(In fact one of my theories about how the fall-from-giant's-table bug came to be is that the table entries were reduced at the last minute, perhaps because the screen didn't change properly if Jack went off the bottom with a velocity of more than 8.)
Post Reply

Return to “8-bit acorn software: classic games”