Jump to content

Photo

Fixing E.T. The Extra Terrestrial

hack et

87 replies to this topic

#1 recompile OFFLINE  

recompile

    Space Invader

  • 30 posts

Posted Sat Jan 5, 2013 9:32 PM

Everyone complains about E.T., but no one does anything about it.

30 years after its release, with some time off for the new year, I took a shot at fixing some of the problems like accidentally falling in to wells and the punishing difficulty. It turned out really well, and makes for a much better experience. I have a quick write-up about the hack here: http://www.neocomput...g/projects/et



- E.T. is Not Green                       
-------------------------------------------
 17FA: FE FC F8 F8 F8
 1DE8: 04

- Difficulty Fix  (Walk, Run, Hover)     
-------------------------------------------
 0707: A4 F8
 071B: A4 F8
 0685: A4 F8
 0FEF: AD 82 02 29  08 4C 4E BB
 0B4D: 60 4A 4A 4A  49 01 85 F8
 04F0: A5 81 29 1E

- Falling Fix                            
-------------------------------------------
 002A: 4C F6 BB
 0BF6: A5 9C 69 07  85 F6 4C AB  BC
 1013: 05 D9 65 E3  65 F6 85 8B  4C 4B F0
 101E: 08 E4 8B D0  06 24 13 70  02 85 2C  E4 9E 08 E8
 102D: A4 86 8A
 1034: 85 02 84 1C
 1060: A5 87 85 1B  A5 88 85 06  8A A8 B1 BA  85 0E B1 BC
 1070: 85 0F E4 9F  4C 1E F0
 18F3: 2E F0
 0B40: A9 EF
 07ED: E9 04
 0BA5: 22


 - BUG FIXES
 - Don't Fall Leaving Forest on Left
 -------------------------------------------
 0D54: 4A
 0D6C: 01

 - Ship Shouldn't Crush Elliott 
 -------------------------------------------
 07BD: 4C D9 BA

- FIX SCORING TO MATCH MANUAL
-------------------------------------------
 058E: 85 F4 A5 DD  85 F5 65 F4  85 DD 69 10  EA EA
 1382: 4C 9D F3
 1395: A9 99 85 D3  85 D4 D0 09  A5 F8 D0 02  AA A8
 13BD: A9 01 05 DE  85 DE A2 07  A0 70 20 41  F3 EA
 1341: A5 D2 C9 0A  F0 08 E9 10  85 D2 A2 04  A0 90 A5 DD
 1351: F8 4C E9 F7
 17E9: C9 1F 90 0A  8A 09 10 AA  A5 D3 E9 07  85 D3 D8 60
 13FD: A9 99 85 D3  85 D4 A9 00  85 F4 85 E3
 147A: A9 00 85 DD  85 D9 85 94  A5 29 C5 DC  B0 02 A5 DC
 148A: 4C A5 F4

 Note: If you don't include the difficulty fix, make
       the following change to the scoring fix:
       139D: EA EA EA EA  EA EA


- Easter Egg - Ninja E.T. 
-------------------------------------------
 148A: A5 F4 C5 F5  D0 0C C9 03  D0 08 A9 AA  85 D2 85 D3
 149A: 85 D4 4C A5  F4 EA EA EA

 - Add Extra Game Option - Scientist Only
--------------------------------------------
 0471: E0 05
 02ED: 29 01 F0 09


Here's what the game looks like with all the changes applied:

Posted Image

If you actually step on a well, you'll fall in -- just not when you're clearly on solid ground, as in the image above. I've attached the full version. You can download a ROM with any combination of the above changes from the article.

Let me know what you think.

::UPDATES::
(1) Thanks to Nukey Shay's suggestions, sprites are no longer "blocky".

(2) Thanks to Random Terrain's bug report, the hovering sound works properly. I've attached the new ROM (ET_Fixed_v2.bin).

(3) Fixed Elliott's shirt and made it easier to pickup candy (most of the time). I've attached the new ROM (ET_Fixed_v2a.bin).
I haven't updated the write-up yet as there are a few things l'd like to try out and a new feature I plan to add before hand.

(4) Wow, that's a lot of changes. The write-up has been updated, but here's a list of changes off the top of my head: You can pick-up Candy easily regardless of the circumstances. Items in wells are kept at their original positions. There are no graphical hickups near the edges of the screen. Elliott's shirt is striped, the FBI agent is no longer bald, and E.T. doesn't get "blocky" near the right-edge of the play area. The difficulty fix can now be enabled and disabled with the color switch. The most important change, of cousre, is that Elliott can now revive you (how did I miss THAT bug?!).

(5) The scoring has been fixed to match the manual. If the difficulty fix is enabled, no points are awarded for remaining energy. Ninja E.T. is back as an easter egg. A few bug fixes and that's all, I think. The write-up has been updated.

Baring some strange bug, I'm ready to call this version 'final'. Give it a try and let me know what you think. If it's good to go, I'll submit it to the "hacks" section.

Thanks again to everyone.

Attached Files


Edited by recompile, Sun Feb 17, 2013 4:46 PM.


#2 TrekMD OFFLINE  

TrekMD

    River Patroller

  • 2,376 posts
  • Location:Coral Gables, FL

Posted Sat Jan 5, 2013 9:44 PM

I've never hated ET but it is cool to see someone improving it. :)

#3 PhantomDJ OFFLINE  

PhantomDJ

    Space Invader

  • 12 posts

Posted Sat Jan 5, 2013 11:19 PM

As someone who has done a fair share of bugfixing classic games, I was pleasantly surprised to see this post. I also read the the full article. This is very cool!

Don Hodges
http://www.DonHodges.com

#4 NE146 ONLINE  

NE146

    Dumbass Atari Fan

  • 13,251 posts
  • Location:Seattle, WA

Posted Sat Jan 5, 2013 11:44 PM

Played it and like it. One thing though is it also makes the Reeses Pieces a little more hard to pick up. You have to hit them with your feet as well apparently. Still though, I dig it.:)

#5 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 24,309 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Jan 6, 2013 1:18 AM

Did you mean to mess up the look of the Interplanetary Phone Pieces and put an H on top of the Wilted Flower?

#6 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Sun Jan 6, 2013 1:56 AM

Did you mean to mess up the look of the Interplanetary Phone Pieces and put an H on top of the Wilted Flower?


Those are both unfortunate consequences of the changes at 1060. I mention that in the write-up. It may have been a good idea to change the sprite data to make the phone parts look more like the originals, and the flower more flower-like. (The flower does look a bit odd.)

I don't think I can avoid changing the look altogether, but I'll see if I can improve their appearance. That is, unless another enterprising ROM hacker wants to contribute.

BTW, I love your site. I have two separate links to it in the write-up! :)

#7 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 24,309 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Jan 6, 2013 2:07 AM

Thanks. I just added a link to your page.

#8 KevinMos3 OFFLINE  

KevinMos3

    Stargunner

  • 1,153 posts
  • Founder of the Timothy Dalton as Bond fan club
  • Location:Behind YOU!

Posted Sun Jan 6, 2013 3:05 AM

Very interesting hack. I'd like to share a couple of thoughts.

Can you make it so the collisions are about the bottom 1/2 or 1/3 of ET instead of just his feet? That would make it easier to pick up candy and still be easier to avoid wells than in the original game.

Is there any way to keep the original pixel height? If it's a matter of ROM space for the extra code, I think it would be worth increasing the ROM size to keep the higher resolution sprites.

Thanks for sharing. ET has always been one of my favorites for the 2600.

#9 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,921 posts
  • Location:The land of Gorch

Posted Sun Jan 6, 2013 4:22 AM

Plenty of romspace available if you use a proper disassembly ;)

Dennis Debro reverse-engineered this game (and commented much of it). That would be a good starting point for any hacks. So there's no need to overwrite and break working code when a disassembly will shift stuff around on it's own to accomodate your additions. Not enough free cycle time to do that check as they are drawn, but there is some unused ram to put the scanline difference at...then just CPX when drawing.

http://www.bjars.com...assemblies.html

#10 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Sun Jan 6, 2013 6:22 AM

Can you make it so the collisions are about the bottom 1/2 or 1/3 of ET instead of just his feet? That would make it easier to pick up candy and still be easier to avoid wells than in the original game.


Yep, just change 1015 from 08 to 06 and 1063 from 07 to 05

I've been thinking about a way to make it easier to pickup candy. It shouldn't be too complicated, just a regular "is this point inside this box" type check and some changes to make use of that result instead. There's tons of time, just not where we need it for ...

Is there any way to keep the original pixel height?

Sadly, no. Space isn't the issue, there just isn't enough time.


Plenty of romspace available if you use a proper disassembly ;)

Yeah, but it wouldn't have been nearly as fun!

Dennis Debro reverse-engineered this game (and commented much of it). That would be a good starting point for any hacks.

Wow, that would have saved me a lot of effort! I don't know that it would have saved our sprites, however, as time was at a higher premium than space.

Edited by recompile, Sun Jan 6, 2013 6:22 AM.


#11 KevinMos3 OFFLINE  

KevinMos3

    Stargunner

  • 1,153 posts
  • Founder of the Timothy Dalton as Bond fan club
  • Location:Behind YOU!

Posted Sun Jan 6, 2013 10:44 AM

Is there any way to keep the original pixel height?

Sadly, no. Space isn't the issue, there just isn't enough time.


Not enough free cycle time to do that check as they are drawn, but there is some unused ram to put the scanline difference at...then just CPX when drawing.


Sorry, that still sounds like Swahili to me, but are you saying it is possible to keep the original pixel height if written a little differently?

#12 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,921 posts
  • Location:The land of Gorch

Posted Mon Jan 7, 2013 7:30 AM

Notice how you are subtracting a known value from the scanline counter (TXA,SBC#07,CMP$9C). Rather than do that, you could take $9C and add 7 (storing the result into a byte of ram unused by the kernel) before the display is drawn. That automatically saves 4 cycles in the kernel routine...just CPX with that byte.

Also, unused romspace can lead to free cycles within the display. Through redundancy/dedicated subkernels, unrolling loops, etc.

But doing the above and skipping over the WYSNC might be enough cycles on it's own. ET really isn't my bag :P

#13 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Mon Jan 7, 2013 10:35 PM

Notice how you are subtracting a known value from the scanline counter (TXA,SBC#07,CMP$9C). Rather than do that, you could take $9C and add 7 (storing the result into a byte of ram unused by the kernel) before the display is drawn. That automatically saves 4 cycles in the kernel routine...just CPX with that byte.


A fantastic idea. That was enough to save our sprites!

I've already updated the article, giving you credit, of course. Thanks!

#14 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 24,309 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Mon Jan 7, 2013 11:39 PM

Even the flower is back to normal. The only problem I have found so far is if you stop yourself from falling all the way into a well, there can sometimes be an irritating constant tone until another sound is made.

#15 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Tue Jan 8, 2013 2:29 AM

Even the flower is back to normal. The only problem I have found so far is if you stop yourself from falling all the way into a well, there can sometimes be an irritating constant tone until another sound is made.


Good catch. Thanks for that.

Apparently this is an artifact of the hovering / floating part of the difficulty fix. I was able to fix it once I puzzled out why such a simple seemingly unrelated change could cause such a huge problem. The ROM is updated in the write-up along with a description and a credit to you. I'll update the ROM attached to the first post in a minute or two.

#16 KevinMos3 OFFLINE  

KevinMos3

    Stargunner

  • 1,153 posts
  • Founder of the Timothy Dalton as Bond fan club
  • Location:Behind YOU!

Posted Wed Jan 9, 2013 10:41 PM

Pretty cool. Elliot's colors are screwed up in the latest version though. Do you have a fix for that?


Also, I wanted approximately the lower 1/3 for collision detection, so I tried decreasing those 2 locations you mentioned in the 1st hack. That made the humans go back to being blocky, so I tried changing just the 1st location at 1015 and that seemed to work fine. I didn't play it much though to see if it harmed anything.

Edited by KevinMos3, Wed Jan 9, 2013 10:45 PM.


#17 Schizophretard OFFLINE  

Schizophretard

    River Patroller

  • 2,778 posts

Posted Thu Jan 10, 2013 2:23 AM

Is there a way to fix navigating the cube? I think that is a bigger issue than the pits. When you navigate on the equator it makes sense but from the poles it doesn't. North shouldn't always be located at the top of the screen and south shouldn't always be located at the bottom of the screen. The screens should change directions. How it is now there are three cubes. In other words, it takes more than six screens to create a six sided cube.

#18 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,921 posts
  • Location:The land of Gorch

Posted Thu Jan 10, 2013 9:58 AM

In other news...
Stock prices plummet in the midst of a rumor that Atari's "E.T. The Extra-Terrestrial" video game may contain more than 6 screens.

#19 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Thu Jan 10, 2013 11:59 AM

Is there a way to fix navigating the cube? I think that is a bigger issue than the pits. When you navigate on the equator it makes sense but from the poles it doesn't. North shouldn't always be located at the top of the screen and south shouldn't always be located at the bottom of the screen.


I couldn't find any problems navigating the cube. It seems to work correctly. Here's a crude map with the screens rotated correctly, as though unfolded from a cube. The red lines indicate the top of the screen:

Posted Image

Sorry it's not nicer looking. I don't have a lot of time in the middle of the week for fun stuff. I hope that helps anyway.

Pretty cool. Elliot's colors are screwed up in the latest version though. Do you have a fix for that?


Sadly, not yet. You can add a red stripe if you want by changing 1AAD to 34 but it's not the same.

Also, I wanted approximately the lower 1/3 for collision detection, so I tried decreasing those 2 locations you mentioned in the 1st hack. That made the humans go back to being blocky, so I tried changing just the 1st location at 1015 and that seemed to work fine. I didn't play it much though to see if it harmed anything.


Here you go: ET_Fixed_v2_KevinMos3.bin

On the red stripped shirt and the candy piece pickup, I have a few ideas, but I don't know if I'll get a chance to work on it until the weekend. I'll let you know how it goes either way.


In other news...
Stock prices plummet in the midst of a rumor that Atari's "E.T. The Extra-Terrestrial" video game may contain more than 6 screens.

I hope not! With any luck, only France will be affected. They seem to have the most invested in E.T. for the Atari 2600:

http://www.retrotaku...lle-par-un-fan/
http://mag.mo5.com/a...evu-et-corrige/
http://www.gamopat.c...-114166084.html

#20 Schizophretard OFFLINE  

Schizophretard

    River Patroller

  • 2,778 posts

Posted Fri Jan 11, 2013 6:22 AM

I couldn't find any problems navigating the cube. It seems to work correctly. Here's a crude map with the screens rotated correctly, as though unfolded from a cube. The red lines indicate the top of the screen:

Posted Image

Sorry it's not nicer looking. I don't have a lot of time in the middle of the week for fun stuff. I hope that helps anyway.


Starting from the four pit screen on the far left, if you go up to the forest you should be able to continuously hold up to end up on the screen with the most pits. From there you should be able to keep pushing up and get to DC. Then from there you should be able to keep pushing up and end where you started. What happens instead is you push up to the forest, then up to the two big and two little diamond pits, then back to the forest, then back to the two big and two little diamond pits, then back to the forest, then back to the two big and two little diamond pits,..... You should be able to go either left, right, up, or down continuously and circle the cube. You can only do that going left or right on the equator. Also the tops of the screens should change. For an example, DC and the forest only has one top.

#21 iesposta ONLINE  

iesposta

    Stargunner

  • 1,442 posts
  • Retro-gaming w/my VCS
  • Location:Pennsylvania

Posted Fri Jan 11, 2013 6:57 AM

Thanks for this! Much more playable. I phoned home 3 times, something I never did with the released game.

#22 nanochess OFFLINE  

nanochess

    Stargunner

  • 1,674 posts
  • Coding something good
  • Location:Mexico, Mexico

Posted Fri Jan 11, 2013 8:02 AM

By some reason the website has the text twice!

#23 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Tue Jan 15, 2013 10:51 AM

Starting from the four pit screen on the far left, if you go up to the forest you should be able to continuously hold up to end up on the screen with the most pits. From there you should be able to keep pushing up and get to DC. Then from there you should be able to keep pushing up and end where you started.

To be honest, I'm not sure how that would work with the rectangular screens (they'd be a bit distorted when rotated) You'd also need to add another bank (or two). It's not a change I'm going to make.

Don't let that stop you from trying -- there's room enough in the world for another E.T. hack.


By some reason the website has the text twice!

Thanks! It's been fixed.


Okay, I've updated the ROM. The stripes on Elliott's shirt and the FBI Agent's hair have been restored and it's now easier to pick-up candy (it works just like it does unmodified). The only hitch is that the candy-pickup still requires you to touch it with your feet if the candy, E.T. and another character are on the same line. This may be something that I can fix, so hang on.

I'm also planning a new feature. I'll see if I can work out those things this weekend, if I can find a few hours.

#24 KevinMos3 OFFLINE  

KevinMos3

    Stargunner

  • 1,153 posts
  • Founder of the Timothy Dalton as Bond fan club
  • Location:Behind YOU!

Posted Tue Jan 15, 2013 7:14 PM

Sounds great! I look forward to the new ROM.

#25 recompile OFFLINE  

recompile

    Space Invader

  • Topic Starter
  • 30 posts

Posted Tue Jan 15, 2013 7:57 PM

Sounds great! I look forward to the new ROM.


Thanks! I put up a new version earlier today if you want to give it a go. I'd like to hear what you think of the current candy setup (you only need to touch it with your feet when you're in line with another character). I'm going to try to fix that (I have an idea), but still curious as to what you think, just in case I can't!




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users