I know I'm a bit late here, but just a note about the collision detection: the way that worked in JSW was that the game checked when it was drawing the enemy sprite to see if it intersected anything on the screen. Since the normal setup was that the enemies would never overlap the scenery this was fine--the only thing they could possibly touch was the player sprite. The corrupted guardian data could move the guardian into a position where they were overlapping something else as soon as you entered the room, though, which is why you instantly died.
@akumjh4 жыл бұрын
The title turned out to be far more literal than I expected.
@MaxOakland2 жыл бұрын
Same.
@globus197111 ай бұрын
As someone who didn't get any further than BASIC programming it was great to have this explained so simply - cheers!
@immortalsofar53144 жыл бұрын
My first assembler program on the C64 was a simple, petscii pong game - replacing the ball with a space for animation. Every now and then, this would knock a block out of the wall and, hitting that spot again, would send the ball ploughing through memory leaving a trail of spaces behind it, ricocheting off any bytes of memory that happened to coincide with a wall block. At this point, it would either hit zero page and crash the machine or hit the VIC chip, make a farting sound and crash the machine (a sound effect I used in my next game). That certainly became a feature - hitting that spot became the whole point of the game!
@Nephilim20384 жыл бұрын
That is cool!
@MajoradeMayhem4 жыл бұрын
"... what passes for the Speccy's GPU..." I love your snark, hah
@Tomsonic41 Жыл бұрын
As a 5 year old, I was absolutely TERRIFIED of the giant face in the Chapel and Priest's Hole, and remember my dad showing me how it had vanished one time when we were playing. Little did I know what would happen when I tried to get to the Kitchen...
@trippymchippy85864 жыл бұрын
I remember the days of typing 500 lines of basic from 'Sinclair Weekly' in order to land the 'V' on the '=' and avoid the '*''s... amazing stuff... And then came Zombie Zombie - mind blown ;)
@chrislambe4004 жыл бұрын
1984 - It is not a bug it's a feature. Love it.
@tomkrawec5 жыл бұрын
Extremely informative video, only drawback is not playing enough of the JSW intro music at the start.
@elektron2kim6664 жыл бұрын
I never forget my first game project with some ZX-Spectrum assembler. I let some Basic code run for making a road. The assembler was the car with keys for left and right movements, collision checks and drawing the road again. It was 20 lines of each and felt so speedy. A good road could be dumped to tape and reloaded. One mistake in the assembler gave a full crash and reset the ZX-Spectrum. Bad code would always send the execution address to ROM address 0 eventually with maybe 32768 instructions of random nature. At 7 MHz that's a split second.
@Domarius645 жыл бұрын
Jet Set Willy to Cave Story: "I used to be an indie game like you. But then I took an arrow to the code."
@theemeraldfalcon91843 жыл бұрын
Sorry for replying to your comment, but to anyone that sees this, do NOT listen to the comments above me, do NOT use Instapwn, it is a scam.
@ChrisWalshZX4 жыл бұрын
Great description of The Attic Bug. I knew a rogue arrow was the cause but not about the two areas of Guardian Data. Clearly, if you were to enter and leave when the arrow hasn't traveled much, the amount of "damage" would be less. Thanks
@LordmonkeyTRM5 жыл бұрын
"Our bugs are features" sounds familiar...great video as always.
@Becka_Harper4 жыл бұрын
The CPC version alongside Elite was my gaming life for a very long time. I still have very fond memories of hundreds of hours spent playing it.
@chonkypixel10064 жыл бұрын
Same, but on the Electron...
@hamburgercheeseburger79594 жыл бұрын
*ship docking flashbacks*
@nagualdesign4 жыл бұрын
1984 was the year I first learned how to program. Great days.
@matthewrease23762 жыл бұрын
When you said an arrow I thought it was going to be an issue with a pointer in memory but no you meant a literal around lol. That's fantastic...
@MrMegaManFan3 жыл бұрын
It’s lovely that home enthusiasts fixed it but absolutely horrid that the publisher lied to people about it being intentionally designed that way. These days that would bring on a massive lawsuit!
Жыл бұрын
Anyone else reading the words "Google" out of the worm at 7:40?
@crazytrain7721 Жыл бұрын
Well I am now, yes!
@PearFinch3 жыл бұрын
Fascinatingly, there’s a Jet Set Willy cameo on FL Studio.
@Mark-pr7ug5 жыл бұрын
A classic game which I never completed until decades later via a CPC emulator.
@MrDigiSpud4 жыл бұрын
Brilliant. I didn't know any of this history:)
@greenhowie4 жыл бұрын
This is what we call a Bethesda Move.
@paulmorphy61874 жыл бұрын
Great video....fascinating
@Sharopolis4 жыл бұрын
Thank you!
@trenchwarfare95184 жыл бұрын
This reminds me a bit of the stale reference manipulation recently found in n64 Zeldas except the other way around. Instead of the arrow (in Zelda) having its original code overwritten by making it point to a different address in memory (it points to game data but is read as graphics data and then whatever instructions it got by interpreting it as graphics data will be executed) whose code then properly executes, here the arrow's code is what stays the same and properly executes while an incorrect pointer causes it to overwrite game data with what was meant to be graphics data. I hope that made sense
@geminijinxies72582 жыл бұрын
I remember getting insta-killed in some rooms and now I know why. It was a visit to "The Attic". Not that it matters, I would never be able to finish this insanely difficult game anyways. Managed to reach the Skylab level in Manic Miner though.
@ashleykingston19804 жыл бұрын
Never knew about the bug! Thanks for the video.
@EmoryM4 жыл бұрын
The arrow's goal was defeating the player - great job!
@RetroRelixRestorer5 жыл бұрын
I knew about the game issues, but never why; but I do now - thank you 👍
@crazytrain7721 Жыл бұрын
So i played this at a very yiunf age when thr MSX version came out. I couldbt clear it but i tried for a rew years on and off. One day in my late 20s, i went to my parents house and found it. I set it up and started trying again. After a cou9ld of weeks i realised i should stop trying to collect all the items and instead go straight to the hardest levels and focus on one at a time until i got good. Soon after, i had a play through and to my amazement i finished the game. I didn't know it would be the end and he started walking by himself and threw up in the toilet. That was a special day for me because this game is the constant thread of my childhood. I felt happy I'd cleared it, but also a bit sad that i had to let go of childhood me, finally.
@Insommer9 ай бұрын
This game was my childhood, me and my brother would take it in turns 5 minutes at a time playing this when we were kids. Niether of us had a clue what we were doing but it was brilliant, i just liked going to all the different rooms to see all the different monsters. Used to be a hassle loading games on the Amstrad though, would take a good 10 minutes for it to load it felt like
@RufianEmbozado4 жыл бұрын
It didn't matter to me back in the day. I spent countless hours playing just to see the next room. Never tried to get all those pesky objects in a run. Still, maybe, my most beloved game. I started coding assembler and learnt a lot just by trying to replicate its mechanics. Happy times they were!
@djmobman17273 жыл бұрын
Amazing video
@SNARC154 жыл бұрын
Or as Sir Clive Sinclair would call it "JET SET FUCKING WILLY!"
@gamerillenium19744 жыл бұрын
Loved the game.... superb video
@heyhonpuds5 жыл бұрын
So would these errors have occurred because it was such a big project for one person in 1984 so it’s pretty understandable? Or are they quite easy to spot and Matt From Earth was just too high while Interstellar Overdrive played in the background for him to notice?
@OdaSwifteye4 жыл бұрын
Yes.
@NLynchOEcake4 жыл бұрын
@norman sword It would be like reading the newspaper in the morning and needing to find the one place somebody put a 'l' instead of an 'I'
@utrapzab4 жыл бұрын
epic game, we must perform a quirkafleeg
@GrOuNdZeRo77774 жыл бұрын
I remember the game on the MSX an even in the mid to late 80's it wasn't a game we adored, Boulder dash was one of my favorite titles along with Lazy Jones, Funny enough in this era Japanese games hadn't completely taken over yet, But I am surprised how few European games were released for the MSX2.
@vieuetcon4 жыл бұрын
Epic game. Was faster than that in my mind, way faster!! And the rope thing was WOW!
@WaltTFB4 жыл бұрын
Came for the content, subscribed for you sounding a bit like Stuart Maconie.
@Sharopolis4 жыл бұрын
Thanks!
@WaltTFB4 жыл бұрын
@@nigeldowsett8560 Guglielmo's brother?
@nigeldowsett85604 жыл бұрын
@@WaltTFB Nah I just can't spell properly.
@AcornElectron5 жыл бұрын
Yeah, it was a bloody difficult game.
@ExStepsister2 жыл бұрын
This was cool
@petemarr8243 жыл бұрын
"Under the roof" also had an error.. a big orange block in the middle shouldnt have been there. A POKE was put in one of the Speccy mags to clear it later on.
@wadsplash5 жыл бұрын
Another belter of a video, Sir!
@Sharopolis5 жыл бұрын
Thanks!
@TuxedoPanther4 жыл бұрын
Great video, thanks for sharing :D
@Sharopolis4 жыл бұрын
Thanks for watching!
@TuxedoPanther4 жыл бұрын
@@Sharopolis Cheers 😀👍
@wisteela4 жыл бұрын
Very interesting stuff
@danm31955 жыл бұрын
Still remember the poke all those decades later poke 35136,0.
@PaulyQ4 жыл бұрын
That was Manic Miner
@danm31954 жыл бұрын
@@PaulyQ jet set Willy .the sequel
@ceruleanblu31844 жыл бұрын
All I remember about “fixing” JSW was something called WRITETYPER.
@hadi961004 жыл бұрын
It's 2020 - I'm still playing JSW, and I still haven't beaten the game - I need to try those fixes ;)...
@majidskinnerkhan69604 жыл бұрын
Amazing game. Will always stay in the hearts of people who played it.
@dan_loup5 жыл бұрын
Must resist doing THAT joke.
@heyhonpuds5 жыл бұрын
I’m curious. What joke? Something about having a minor willy?
@dan_loup5 жыл бұрын
@@heyhonpuds "I used to be an.."
@FatNorthernBigot4 жыл бұрын
I have yet to perform a quirkafleeg.
@tegrah42574 жыл бұрын
Dynamite Dan 1&2 are similar. Good yet Hard to complete games
@YOURTECHFRIEND4 жыл бұрын
Haha - superb story :-D
@videopdstudio7 ай бұрын
It's JET SET WILLY 40th ANNIVERSARY - Let's jump on the Mega Tree! kzbin.info/www/bejne/hX_Ip2ueoa-Br8k #JETSETWILLY #MATTHEWSMITH #ZXSPECTRUM #CLIVESINCLAIR
@chattingesque3724 жыл бұрын
This was huge in New Zealand too
@daveloomis5 жыл бұрын
Nice!
@KillerBill19534 жыл бұрын
I remember typing in the code from a magazine but still could not complete it. I later but the expanded version for the CPC 464, one of those "just one more time" games.
@steely6663 жыл бұрын
The invincibility version I had on cassette was good. Jump off the Bow and walk on the water to go into a secret room.
@Sinn01004 жыл бұрын
Why have I heard of this? I grew up in the states and never really experienced the micro's until they were long gone. Although I did have a Commodore 128 but I was too young to know what I had. I was drawn in by the Nes and Master System like a moth too the flame. I have a question about this glitch, since this is being run on a computer could one simply erase the errant arrow from the code? Yes, you would have to know what you're looking for but finding the code that runs the arrow and clipping it should be effective. I'm guessing this game is made with some form of Basic? If true, you might have to reorder everything but still I'm thinking fairly easy now that you know what's causing the bug.
@gwishart2 жыл бұрын
No, the game wasn't written in BASIC, it would have been far too slow. It was written in Z80 Assembly Language. The end user only had access to the assembled Machine Code, so inserting or removing even a single byte would have caused all code and data that followed to be in the wrong place, so all absolute jump addresses, subroutine calls, data tables would need to be updated too. Without access to the source code or a detailed disassembly, that would be impossible to accomplish. The patch provided by Matt Smith (via the publishers) changes four bytes in such a way that no data or routines actually change their location in memory: POKE 59901,82 = Changes the Y pixel co-ordinate of the arrow in The Attic, so that its data isn't written to memory outside the screen buffer. POKE 60231,0 = Removes the nasty item from the Conservatory Roof so that the item at 6:09 can be collected. POKE 42183,11 = Moves the invisible item on the First Landing (6:37) to The Hall. The items stays at the same co-ordinates, and remains invisible, but there's now a platform under it, so you can collect it. By changing the item's room number to 11. POKE 56876,4 = Changes the wall block in The Banyan Tree (6:15) into a platform. Since you can jump through platforms from below, you can now jump up out of the top of the screen and reach the room above from the right hand side.
@BluffMunkey3 жыл бұрын
This was also the plot for Tron 3
@thecollector755 жыл бұрын
Christ..... after all this time I now find out it was a bug in the game lol... and not supposed to be like that to make the game ultra hard ... loved this vid
@Sharopolis5 жыл бұрын
Thanks!
@kasperchristensen84163 жыл бұрын
Leisure Suit Larry is offended!
@fgfhjfhjfbhfghf57713 жыл бұрын
Strange behavior caused by innocent object spawning were it shouldn't? Highly accessible mod scene? *It's not a bug its a feature* By any chance did any of the devs go on to work at Bethesda
@mfkman4 жыл бұрын
Merge "": Poke 35899,0 : RUN :)
@sarkybugger50094 жыл бұрын
This makes me feel very old.
@Barcrest5 жыл бұрын
Nice video sir.
@officernarc4 жыл бұрын
0:14 spoiler alert - probably not much. In fact, until I started following British youtubers I had no idea what a ZX spectrum was. Of course, Rare was a pretty big deal over here and I'd imagine that because of that JSW had influence on a fair few of their games but I feel like most of the games I played on the NES as a kid were predominantly made by japanese devs and I have to imagine the overlap between the 80s uk microcomputer scene and Japan in the 80s was pretty negligible
@alejandroalzatesanchez3 жыл бұрын
when an arrow is sus
@Astinsan4 жыл бұрын
I liked this.. how many platform’s were on the zx? We had a 5150 growing up so I missed all the fun. Did have sierra games.
@OlagGan4 жыл бұрын
Actually I have never seen that bug. I would have said the Banyan tree bug would have been the more important as it made the game unwinnable..
@wolftickets19694 жыл бұрын
One of the few games that permanently corrupts itself.
@barryhall74 жыл бұрын
I used to spend hours playing this 🙂
@bukster14 жыл бұрын
I always hated this game. Fans raved about it but it was over long and unbeatable. It was just frustrating.
@videopdstudio4 жыл бұрын
WILLY, 48k about a legend
@entropy-cat4 жыл бұрын
Wonder if Jet Set Radio had anything to do with this.
@klausgartenstiel45864 жыл бұрын
i used to be an adventure game like you...
@dukestt54364 жыл бұрын
not me then, that explains a lot
@WeSombreGhosts5 жыл бұрын
was a tuff game , never cleared it now i no why !
@werre24 жыл бұрын
britons are weird. Cool video.
@alexanderwingeskog7584 жыл бұрын
I got it with a (They sold a million bundle) when I bought my C64.... and Jet Set Willy was the just the worst game of the bunch, the other games was actually really really good (even with the Spectrum legacy).
@user-lv6qm3fj2z4 жыл бұрын
Not through a code, rather through a data.
@elmariachi51334 жыл бұрын
Still better than Mario.
@jbrady17254 жыл бұрын
This game looks exactly like VVVVVV...
@Demonskunk4 жыл бұрын
How many seizures did this game cause back in the day?
@gwishart3 жыл бұрын
None. Photosensitive epilepsy wasn't invented until 1992.
@david-spliso19285 жыл бұрын
Just save your game after each room 👌👍😉
@ianknowles3 жыл бұрын
Didn't realise it was made by a fellow wirralian!
@itnaklipse16693 жыл бұрын
Guess it's impossible to talk like a normal person.
@NemeanLion-4 жыл бұрын
A “classic” only in Britain, because the developers were British.
@mikeb25754 жыл бұрын
The 5 most amazing hidden secret rooms in JSW can be found here:- Once loaded on the ZX Spectrum type the following and then 'Run' 'Poke 40323,23' = "The Outer Space Room" 'Poke 38377,49' = "The Bat Cave" *Read more*
@gwishart4 жыл бұрын
Nice try, but: 40323 is in the middle of the sprite data for Willy, poking it with the value 23 will just make his hat look weird when walking right. 38377 is part of the sprite shifting routine, poking it with 49 will replace a RLCA instruction with LD SP,nn - corrupting the stack and crashing the game.
@MiniWarzone Жыл бұрын
Dislike all the upward inflections - very annoying.
@crazytrain7721 Жыл бұрын
Why are you telling people to dislike upward inflections?
@grex91014 жыл бұрын
Fond memories of JSW. All we have nowadays are SJWs.... Nowhere near as much fun.
@propername48302 жыл бұрын
And WJSN
@xflossx7 ай бұрын
to me it was crap as i wanted action and excitement not a game that was about as thrilling as a crossword but everyone goes on and on about jet shit wiily sorry but i was a kid when i first played this a few years after it came out and i turned it of after my cousin had played it saying it was a good game to me its like reading a book if you want to sleep its dull and broken to me but my first time playing games was the arcades and this was just a what the hell is this crap and played death chase or hell the best game at the time jet pack this as thrilling as picking up litter LOL sorry rough night at work but the game is still crap