Jump to content
IGNORED

Fixing E.T. The Extra Terrestrial


recompile

Recommended Posts

Okay, I think I understand. To get the most points per round and play for a high score I can't buy every phone piece because that will give me the penalty. What I must do on round one is buy 1 phone piece, collect the other two, and then give Elliot any extra pieces with the total being at least 16. If not I must try again on the next round. What I must do on round two and up is buy 2 phone pieces, collect the other one, and then give Elliot 3 extra pieces. After I give Elliot the 21 pieces I must eat any pieces I grab after that before getting on the ship. Once I get to this point I don't have to worry about the +/- 3 because no round would be less than the maximum of 21 I need unless I grab less than 16. Is that all correct so far?

Sounds about right.

 

So, I only have to worry about the -3 before I get my first 16? Also, on the first round of the game there is no +3? So, round one would be between 13-16 depending on how I pick them up? Assuming I already collected the first 9 and bought my phone piece, how do I collect each piece after that to make sure all 16 spawn?

Yep. You can get the +3 on the first round by staring a new game, waiting for the candy to appear, then restarting. To guarantee that you collect all 16 pieces on the first round, after you collect 12 pieces, collect only one at a time, letting the candy replenish in between.

 

A scan of "How To Win at E.T." is at the bottom Atarimania's E.T. page. The Sunday Afternoon strategy is on the page with a church. It describes it with the penalty being after 31 which allows all pieces to be collected without using the pits. It's an interesting read. It even comes with a cut out to make your own cube. Here is the link:

 

http://www.atarimani...trial_7300.html

Thanks! With the scoring fixed in the hack, you should be able to use all the strategies in that guide. If you want, I can make a ROM for you with just the scoring fix applied this weekend. (Edit: Er, and the bit that keeps Elliott from getting crushed by the ship!)

 

I thought I read somewhere that there are only 16 different set ups to the game. If that is so then how can the flower be in any if there are 20 pits? Does that just apply to the power zones?

The phone parts and flower can only appear in 16 of the wells. Each above-ground screen is divided in to 16 squares for the power zones.

 

 

There's plenty of romspace that can be reclaimed in pretty much any game from BITD. Hacking has the advantage of working from a finished product, so it's simple to find where optimizations can be done following disassembly. Esp. since Dennis already commented the game so well.

Okay, I get it! I should have been working from the disassembly. By the time you pointed it out, of course, my own notes were more useful to me, I was happy with my workflow, and didn't feel like fighting to get dasm to work in Windows 7. I did make a few annotations to the disassembly in preparation for updating it to reflect my changes, but it was getting awful tedious and didn't seem worth the effort as i didn't intend to use it. If someone actually wants an updated disassembly, I might go through the trouble.

I'm really enjoying this thread and also playing the new version. One of the things that has always bothered me about this game is that HSW ordered the three game variations from hardest to easiest. In what universe does that happen?

I can reverse the order, but I've got to agree with Nukey Shay, the hardest to easiest order seems to make sense in the case of E.T. I can make an updated ROM for you with the order reversed if you want this weekend.

 

I feel pretty good about the current version. I'm going to update the write-up and do some extra testing. If anyone notices any bugs or has an opinion on Ninja E.T., my interpretation of the scoring in the manual, or anything else, I'd welcome the feedback.

Edited by recompile
  • Like 1
Link to comment
Share on other sites

...and didn't feel like fighting to get dasm to work in Windows 7
This had me stumped for a bit too...since M$ apparently killed off the ability to manage file extensions directly in the Explorer window. But you can edit the registry file (carefully!) to provide this function.

 

First, setup Dasm as an installed application:

 

Right-click an assembly file (i.e. extension .asm or .s), and point at the "open with..." option. In the dialog that opens automatically, click on "Choose default program...". If Dasm is not listed at the top under Recommended programs, use the lower button to browse to it. You might want to deselect the "always use the selected program..." box so Dasm isn't always run as the default program for left-clicking. You'd probably want to use an installed viewer for that box.

 

Anyway...with the Dasm executable now known to Windoze, it's time to update the registry:

 

In the lower box from the Start menu, type in regedit.exe to update how Dasm opens files.

 

Follow the path to Dasm's data...

 

>HKEY_CLASSES_ROOT

->Applications

-->dasm.exe

--->shell

---->open

----->command

 

With "command" selected in the left panel, you'll see Dasm's default data in the right panel.

 

Right-click the word (default) to the right panel and pick Modify. In the Value data field, type "C:\Atari\dasm.exe" "%1" -f3 -o"%1".bin and click OK. Use all the quotes shown. Alter the word "Atari" to the correct folder name you have Dasm residing in.

 

Exit regedit, and now you have a right-click operation to build assembly files whenever you pick Dasm as the "Open with..." program from Explorer.

Link to comment
Share on other sites

  • 2 weeks later...

Sorry for the late reply. I've had a very busy few weeks.

 

The FBI agent and the scientist don't seem to stay at their buildings for long, is their a timer that keeps them their for a bit?

Can a change be made to keep them their longer?

The FBI Agent heads out as soon as he can. There's no timer or anything like that.

 

The Scientist is a bit different. He won't leave the lab until E.T. attempts to uses one of his powers. This is similar to the scene in the movie when E.T. uses his powers for the first time (to make the solar system float) Elliott get's scared, and the investigators finally locate E.T.

 

 

And the color of the pits, just to add some more color to the game can the color be changed?

Instead of black, how would blue look?

 

You can change the well colors to be anything you like. Change 1DE8 for the background and 1DDF for the foreground. I've resisted making those sorts of changes, and I'm still uneasy about changing E.T.'s color. I agree that The game could look nicer with a better set of colors, the wells being particularly dull. Some input from the community here would be very helpful.

 

A quick note for Schizophretard, it is +4 or -3 to the amount of candy that appears during a round.

 

Yet another update: I've finally updated the write-up and pushed out a new version (it's attached to the first post). Everything seems to be working correctly. Let me know if you find any problems.

 

Some fun news: This project was featured on a local French TV program, LMTV, channel 23 on TNT Sarthe. You can view the program here:

 

http://www.retrotaku.com/category/le-jt-du-retrogaming/les-episodes-du-jt/

 

The segment starts about a minute in. If anyone can translate the rapid-fire French, I'd be grateful.

  • Like 1
Link to comment
Share on other sites

The phone parts and flower can only appear in 16 of the wells. Each above-ground screen is divided in to 16 squares for the power zones.

 

Which 16 wells?

 

The presence of the wells and the power zones being invisible gives an appearance of randomness instead of 16 squares. Are you able to do a hack of the regular game with the power zones visible? I'm not asking for it to be a hack for actual play but to use to be able to take screen shots to map out all 16 variations. People could use them to make 16 cubes, maybe be able to detect which one they are on by checking the placement of a few zones, and memorize the path they want to take in each variation.

Link to comment
Share on other sites

Yep. You can get the +3 on the first round by staring a new game, waiting for the candy to appear, then restarting. To guarantee that you collect all 16 pieces on the first round, after you collect 12 pieces, collect only one at a time, letting the candy replenish in between.

 

A quick note for Schizophretard, it is +4 or -3 to the amount of candy that appears during a round.

 

So, restarting after candy appears adds 4 pieces as if it is a new round instead of a new game? That kind of reminds me of the double shot trick in Space Invaders. Does that mean without the trick I would get 13-16 but with it I would get 17-20? With that you could buy two phone pieces on the first round and are guaranteed to get your 16 pieces. If that is correct then that is a pretty good cheat code for something that is probably a bug.

 

With the +4 is this still correct to get all 20,"after you collect 12 pieces, collect only one at a time, letting the candy replenish in between."?

Link to comment
Share on other sites

Which 16 wells?
Four on each "equator" screen. That's all of them on every screen except the screen with 8 wells. On that screen, phone parts will only appear in the four wells forming a diamond pattern in the middle, never in the four wells that appear "cut-off" at left and right edges of the screen.

 

Are you able to do a hack of the regular game with the power zones visible?
Not if you want a playable game that looks even a little bit the the original. It's just not possible.

 

I'm not asking for it to be a hack for actual play but to use to be able to take screen shots to map out all 16 variations.
It's not 16 variations per game, or even 16 variations per screen. There are 16 locations per screen in which the different power zones can appear. I suppose I could work out the exact number of possible variations, but it should be sufficient to simply say that there would be too many to meaningfully map. For example, a rather naive calculation gives (8^16) possible power zone combinations per screen. That's an obscenely large number, and it excludes the phone-home and landing zones! Remembering that our massive figure is incomplete and that any one of those combinations can appear on any screen, the word "impractical" doesn't even begin to describe the idea of making a set of cubes!

 

(Really, because of the way the power-zones randomized, it's actually much less than that -- But it's still an impractically large number of combinations.)

 

 

So, restarting after candy appears adds 4 pieces as if it is a new round instead of a new game?

Well, starting a new game DOES start a new round, after all. If there's any candy left at the end of a round, or left on the ground when you start a new game, that candy will be immediately available in the next round. That's why starting a new game, letting candy appear, and immediately starting a new game nets you +4 to the amount of potential candy available per round.

 

Does that mean without the trick I would get 13-16 but with it I would get 17-20?
Yes. Er, and No. You don't need the "trick" to get extra candy, just leave some candy on the ground before starting a new round -- either by starting a new game or by completing the current round. Whatever candy is left on the ground from the previous round is immediately available on the next round.

 

With that you could buy two phone pieces on the first round and are guaranteed to get your 16 pieces. If that is correct then that is a pretty good cheat code for something that is probably a bug.
It is a bug. I can fix it, but thought it was better to leave it in as it adds a bit or "randomness" to the amount of candy per round.

 

With the +4 is this still correct to get all 20,"after you collect 12 pieces, collect only one at a time, letting the candy replenish in between."?
That will still work. If you know there are 20 pieces, however, then you can start single-candy-collecting at 16 collected candies instead. (The candy counter will be 4 at that point, so you'll want to collect one at a time.)
Link to comment
Share on other sites

This website gave me the impression that there are only 16 different set-ups with this paragraph:

 

"There are a total of 16 different set-ups, and the set-ups depend on which frame you press the button (also known as B) on the title screen. Believe it or not, we actually TASed all 16 set-ups! No, not really. We didn't. But we did deep calculations, number crunching and called in a few favors to be able to utilize the Higgs Boson only to find out that the first set-up was the optimal. Boo! Major bummer. What that means is that holding the button during power-on gives you the optimal RNG. That's a fuckaton if I ever heard one."

 

I was under the impression that that was how they beat the round in about 30 seconds. I understood it as being 16 set-ups and they memorized the first one you get when holding down the button during power-on. I thought it worked something like this:

 

Depending on when you press the button on the title screen determines which of the 16 set-ups you get and then at the end of a round depending on when you press the button at Elliott's house determines which of the 16 set-ups you get on the next round.

 

Instead of it being completely random, I thought it was like the "randomness" in Press Your Luck that Michael Larson memorized. I thought it was just scrolling through all 16 and pressing the button selects one. That's why I thought it would be possible to make 16 cubes with the locations of each power zone.

Link to comment
Share on other sites

This website gave me the impression that there are only 16 different set-ups with this paragraph:

I wouldn't put too much stock in that site. The author also says "The addresses 004A, 004B and 004C determine where the three items spawn." which is beyond ridiculous as user memory ranges from 80 to FF. I haven't bothered with the rest as I suspect it's just as absurd.

 

Depending on when you press the button on the title screen determines which of the 16 set-ups you get and then at the end of a round depending on when you press the button at Elliott's house determines which of the 16 set-ups you get on the next round.

 

Hmm... I may have made things worse for you. I wanted to emphasize that 16 power zone locations per screen doesn't mean 16 power zone variations per game. (I thought that was where the confusion was.) I should have just taken the time to just explain how it works. Let's give it a go.

 

Before I cause even more confusion, let me make clear that there are WAY more than 16 possible game variations.

 

A bit about the randomness: 82 increases by one every 63 frames, 81 increases by one every frame. These are used for randomization. So, yes, when you start a new game or new round determines the setup. If you can guarantee 81 and 82 have specific values when the game starts, you can guarantee a specific game. That caps the maximum number of possible game variations at 65,536, regardless of what should be otherwise possible.

 

For the phone parts and flower locations:

The flower is located at whatever pit is identified by the lower four bits of 81. The lower two bits of 82 are used to as an index to a very short table with some "random" numbers which are then added to the value of 81, the lower four bits are masked off, giving the id of the well for one of the phone parts. The value from the table is added in again for the next part, and so on. In short, for any one of the 16 positions that the flower can be in, the phone parts can be spread out in one of four patterns, giving 64 possible starting positions.

 

For the power zones:

Three bytes are used to store the random bits for identifying the locations of the various power zones, E7, E8, and E9. E7 is set to the value of 82. The lower two bits of 81 are used as an index to the earlier mentioned (very short) table of "random" numbers. That value is added to 82 and stored in E8, added in a second time and stored in E9.

 

It's a bit hard to follow and the details are very tedious, but essentially what happens is the current screen, E.T's position, and E7-E9 work together and index in to a 128 byte table (used as a 256 nibble table) to determine the current power zone. (Excepting, of course, if a power zone can't appear on a specific screen in which case it's changed on-the-fly to not be a power zone.) The initial offset in to the big table (from the current screen) can be one of only 16 possible values (8, 16, 24 ... 112). That means 16 possible arrangements for any given screen (excluding special things like the phone home zone) which naively leaves us with 16,777,216 (166) possible power zone arrangements for any given game.

 

Of course, that won't actually happen as we're bound by an upper limit of 65,536 possible games. There can't be more, but there can be less. So, how many variations are there really? All I can say with certainty is that there are more game variations than you can identify for any practical purpose. Working out *exactly* how many is certainly possible, but would take more effort than I think I'm willing to invest. If I had to guess, without putting in the actual work, I'd venture something like 24,576 possible games (64*64*6). In any case, it's going to be a whole lot more than 16.

 

Instead of it being completely random, I thought it was like the "randomness" in Press Your Luck that Michael Larson memorized. I thought it was just scrolling through all 16 and pressing the button selects one. That's why I thought it would be possible to make 16 cubes with the locations of each power zone.

John Von Neumann famously quipped: "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." Computers just can't make random numbers. (They're deterministic, after all!) You'll be disappointed to know that even today just about every "random number" is just as fake, even in fancy modern games. It's popular to seed PRNG's with the system clock or otherwise introduce entropy by some user action, like pressing a button.

Link to comment
Share on other sites

Yeah, I'm definitely confused. I got the idea of 16 set-ups from that site. Also, Nukey Shay responding in this thread with,"16 power zone setups. The phone parts and flower are not part of that." and his response in RT's thread"How were the Power Zones done in E.T. and can it be done with batari Basic?". In that thread he said,"The "power zones" in E.T. aren't random. Just the pointer to a 128-byte data table is. IIRC, larger zones exist when the program is instructed to ignore specific zones on certian screens (such as the landing zone on non-forest screens)...but it's really just 1 of 16 different setups based on the initial value of the pointer. There's less than 16 different types of power zone too, so each byte holds 2 zones." I'm clearly misunderstanding it. It is much more random than I thought. I keep getting things confused because I'm misunderstanding and/or people are contradicting each other. For an example, you make it sound like the four half wells aren't used and RT says that the wilted flower can appear in any well. If you are correct then there are only 16 wells used and there are 16 squares making up each screen. This number 16 makes it seem like there are 16 set-ups.

 

I understand that random numbers in games aren't really random. The weather isn't really random. Random mutations aren't really random. Bingo isn't really random. The roll of a die isn't really random. The flip of a coin isn't really random. Probably nothing is.

Link to comment
Share on other sites

Each screen has 1 of 16 setups. It's not uncommon to see the same setup map shared between 2 screens, in fact.

 

Imagine that the zones of a screen are identifed like this...

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

 

The game gets it's zone info from one of the 8-byte sections of the zone map. Upper and lower refer to which nybble it's reading from...

.byte 1(upper)+0(lower)

.byte 3(upper)+2(lower)

.byte 5(upper)+4(lower)

.byte 7(upper)+6(lower)

.byte 9(upper)+8(lower)

.byte B(upper)+A(lower)

.byte D(upper)+C(lower)

.byte F(upper)+E(lower)

 

If the zone info is invalid for this screen (such as a landing zone on anything BUT the forest screen), the program changes it to be blank. So even when 8-byte sections are shared between screens, some zones may be different.

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...

This hack is great! Thank you for doing it and providing it. It had me playing E.T. all night for the first time in decades.

 

I know I'm late to the party, but I have the following feedback:

  • Any way to make the B/W toggle for original difficulty be 7800 friendly?
  • Removing ALL movement energy costs makes the game extremely easy even on GV 1. Any chance of restoring energy cost for running? Or maybe boosting energy cost for using powers?
  • Despite it being clearly mentioned in the manual, I never realized that successfully escaping was the end of a round. I always thought it was the game over victory screen. With this new realization, is there any way to cap the number of rounds or perhaps give the player successively less and less energy on later rounds to make score chasing a valid pursuit?

Once again, great hack. After playing quite a few rounds, it made me want to try my hand at the original again. Thanks the to "training wheels" and practice provided by the hack, I wasn't anywhere near as frustrated by the constant energy drain of the original. This hack is a rare one which is great by itself but also enhances appreciation for the original.

Link to comment
Share on other sites

I wish Atariage could make this fixed version available on the Atariage store along with the other hacks. I plan on getting the Berzerk EV cart. would be nice to also get E.T v1.1.

Forget Atari, Spielburg is the one you have to worry about issuing a C&D request. That said, an "ET Arcade" or "ET Improv" would make a nice addition to the "hacks" category in the store. Despite this, many of the improved graphics hacks don't really change the game enough to warrant the purchase, but ET might be different. If it's okay with the Albert and the author of this hack, the back door custom cart order form is always an option and would prevent a potential C&D request.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

I had never looked into what some of the hacks took. Overall I'm quite impressed with how simple some of the changes seem to be. One possible bug, I was able to get the Ninja ET by collecting a large number of candy pieces (around 45). ET changed duing the end cutsceen during the Eating phase I think it's called. I don't know if that's what you were going for, but I got the impression that you weren't from the writeup.

 

I did also note some issues when Elliot is comming to get or give. He seems to have slightly more trouble touching ET.

 

 

All in all though, a vast improvement over the original.

 

I'm still seeing what I can do to break it though. :)

Link to comment
Share on other sites

Nice fix. I never really hated ET as a game. It was a pain and had a few problems that really should have been addressed. Many of the worst ones now have been with this hack.

 

I'm trying to see what I can do to break it since I discovered it a couple of days ago. So far I've found a couple of things.

 

You said that you changed the Ninja ET to happen with 3 candy pieces in ET's posession and 3 in Elliot's. I was able to get ET to go ninja by collecting a large number of candy pieces (over 45). In that case it didn't give me the 10 pieces as noted with the "official" way to do the ninja easter egg listed in the writeup.

 

A second bug seems to be an issue with the humans, particularly Elliot actually connecting with ET, possibly something with collision detection. It isn't that big of a deal since all you have to do to get Elliot to connect is move down one notch.

 

Finally there's one other minor thing that always annoyed me about ET. The game select screen is slow. It takes far too long to go to the next game variation when holding select. Any other Atari game would be on about 15 when ET is just getting around to go to 2

 

I have had some minor exposure to assembly, but never done anything much with it. I was impressed with how little code was needed to make signifcant changes.

Link to comment
Share on other sites

  • 9 months later...

I wonder if someone would be kind enough to make a PAL version of this. I've always wished for a fixed ET game and now there is one... but not for me. :(

 

Thanks in hope. :)

before i start hacking a cartridge and installing an eprom, can anyone tell me if the final fixed rom works with a PAL console?

Link to comment
Share on other sites

  • 4 months later...

I found this ET bug when I was a kid and I don't see anyone talking about it on the web, so I made a video showing how to trigger it...

 

https://youtu.be/8Pli4-pZ9ww

I LOL'ed... :P

 

Also ET port for the NES is a thing apparently. Khan did a couple bug-fixes when he ported it. To get the game, you need to send in a mail order form included with the boxed Larry homebrew from retrousb.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...