MULE Q's

Talk about everything related to general reverse engineering of computer games!

Moderator: Kroah

MULE Q's

Postby aralbrec » 26 Mar 2007, 11:40

First of all, that was probably the toughest image code verifier in the registration I have ever seen -- I almost didn't pass and was about to claim to be visually impaired :-)

I have a few questions about the MULE decompilation document:

- Do you know the probability that a round event (pest attack, pirate, etc) will occur? The document doesn't list that but details how to decide which round event occurs once it's already been determined that a round event will occur.

- Do you have the text associated with each of the round events available? If a fire in the store occurs, text scrolls across the bottom of the screen, eg.

- Finally, what are the odds you'll get around to completing the AI analysis? :-)

I should say thank you very much for doing the legwork and writing this document. Finding it has led me to write a new MULE port for another 8-bit computer that never saw a port in the '80s; this project is now well underway but of course there's still some info missing in the document. I really hope you have interest in completing it now that you know of several people making good use of it (besides me there are the new PC ports that you're probably already familiar with).
aralbrec
 
Posts: 5
Joined: 26 Mar 2007, 11:28

Postby xot » 27 Mar 2007, 12:32

I believe it does a random event every round except the last one. From what I can see in the code, the only other reason it wouldn't do a random event is if it used up all remaining potential events ... which would normally be impossible.

Code: Select all
; -------------------------------------------------------------------------------------
; PRD_EVENT_TRK - countdown tracks production events, each event can happen 2-3 times
; -------------------------------------------------------------------------------------
LB342    .BYTE $03,$02,$03,$03,$03,$02,$02,$02
;       0 = PEST ATTACK (3)      4 = SUNSPOTS (3)
;       1 = PIRATES (2)          5 = METEOR (2)
;       2 = ACID RAIN   (3)      6 = RADIATION (2)
;       3 = PLANETQUAKE (3)      7 = FIRE IN STORE (2)



As for the messages, they don't actually scroll at the bottom (at least in the Atari version). For each group of one to three lines below, the first line is displayed at the top of the screen, the next two lines are at the bottom. The PIRATES message depends on which level of game you are playing, substitute _____ with SMITHORE or CRYSTITE as appropriate. There is no message at the bottom for PEST ATTACK.


=============================================================
RANDOM EVENTS (PRODUCTION)
=============================================================


PIRATE SHIP
PIRATES TAKE ALL
_____ !

PLANETQUAKE
MINING PRODUCTION
HALF OF NORMAL.

ACID RAIN STORM
FOOD OUTPUT UP,
ENERGY REDUCED.

PEST ATTACK

SUNSPOT ACTIVITY
ENERGY OUTPUT IS
INCREASED

METEORITE STRIKE
METEOR MAKES NEW
CRYSTITE DEPOSIT.

RADIATION
MULE GOES CRAZY!

FIRE IN STORE
ALL THE STOCK IN
THE STORE IS LOST!
xot
 
Posts: 51
Joined: 11 Feb 2006, 00:04

Postby aralbrec » 28 Mar 2007, 09:25

Thanks xot. It does look like an event happens every round -- I just hadn't noticed this. A friend of mine had MULE for his c64 when I was growing up so we'd play it occasionally. It's a great game but I never became an expert so reliance on the documentation is pretty high for me.

And thanks for the text! I'm sure I'll have more questions later on, particularly when I tackle the AI. I have the majority of the rest of the logic completed, so now it's on to the graphics.
aralbrec
 
Posts: 5
Joined: 26 Mar 2007, 11:28

Postby xot » 28 Mar 2007, 10:11

Good luck with your project. If you don't mind me asking, which 8-bit platform you are working on?
xot
 
Posts: 51
Joined: 11 Feb 2006, 00:04

Postby aralbrec » 28 Mar 2007, 10:18

One thing that was bothering me but forgot to ask: in computing the player score (section 12 status summary) it says players should get 35 points per mule. Does this basically mean an extra 35 points per exploitation (where a mule was installed on a plot)? I'm just a bit confused why the list has 500 points for land w/o exploit, 525 for land with food, etc instead of 500, 560, etc.

xot wrote:Good luck with your project. If you don't mind me asking, which 8-bit platform you are working on?


It's the spectrum, but as I am writing the game in C using this sprite engine http://www.z88dk.org/wiki/doku.php?id=l ... prites:sp1 the code should be portable across several 8-bit platforms. I intend to use it as a porting example for other z80 8-bits as the sprite engine is ported to other z80 machines.
aralbrec
 
Posts: 5
Joined: 26 Mar 2007, 11:28

Postby xot » 30 Mar 2007, 00:19

I don't get that either. I haven't look into this part of the code very closely yet. I'm looking at one of my recorded games and I don't see the number 35 ever playing into it, the land scores seem to always be multiples of 25. And doing the math behind the scores seems to show that the plots are always worth 500, 525, 550, 575, or 600 depending on how they are exploited (no mule, food, energy, smithore, or crystite).
xot
 
Posts: 51
Joined: 11 Feb 2006, 00:04

Postby aralbrec » 30 Mar 2007, 11:11

The little questions keep coming...

In the production phase the 2nd economic bonus (economies of scale) has 1 EPC added if at least 1 exploitation of the same type is adjacent to the plot. Does adjacent mean above, below, left and right or does it also include diagonals? I'm pretty sure it doesn't include diagonals but I want to be sure.
aralbrec
 
Posts: 5
Joined: 26 Mar 2007, 11:28

Postby xot » 01 Apr 2007, 11:21

I believe you are correct. I think the part of the Atari code that handles this is at L4DCF (the unrolled loop) and L4E0C (the bonus calculator). It looks like it checks only the four plots left, up, down, and right (in that order).
xot
 
Posts: 51
Joined: 11 Feb 2006, 00:04

Postby Kroah » 01 Apr 2007, 21:22

Thank you Xot for your help. I'm on Holiday at Tignes where i practice snowboard :)

aralbrec wrote:First of all, that was probably the toughest image code verifier in the registration I have ever seen -- I almost didn't pass and was about to claim to be visually impaired :-)

Because of mass spamming, i was constrained to add this tough captcha. On 20 tries, I missed 3 of them. I think it's a good alternative to spams even if it's no clean the forum and the users. Thank you for you effort :)

aralbrec wrote:Do you know the probability that a round event (pest attack, pirate, etc) will occur? The document doesn't list that but details how to decide which round event occurs once it's already been determined that a round event will occur.


As stated in the document:
Code: Select all
A random event always occurs after the production phase (even if visually, the event appears before the production like the Acid Rain Storm, Sunspot Activity and Earthquake).

At the last game round, the event is the return of the colonial ship. Otherwise, a random event is chosen.


A random event always occurs after the production phase in the Atari version. And the last round event of the game is the colonial ship.

aralbrec wrote:Do you have the text associated with each of the round events available? If a fire in the store occurs, text scrolls across the bottom of the screen


Xot has well explained the Atari version.

aralbrec wrote:Finally, what are the odds you'll get around to completing the AI analysis?


Wow, i think when i'll have time. I'm actually writing a document about Alternate Reality on Atari ST and building some levels for Time Bandit.

I think i'll never finish (or maybe someday) the auction AI, i hate spaghetti code... Concerning all the other AI (land grant, development, assay, ...) it's done in the document.

aralbrec wrote:I should say thank you very much for doing the legwork and writing this document. Finding it has led me to write a new MULE port for another 8-bit computer that never saw a port in the '80s; this project is now well underway but of course there's still some info missing in the document. I really hope you have interest in completing it now that you know of several people making good use of it (besides me there are the new PC ports that you're probably already familiar with).


Glad to hear it!

If you have any questions (beside the auction AI), let me know here.
I've completed 99.9% of the english version of the mule document. I'll finish it really soon for you.

aralbrec wrote:One thing that was bothering me but forgot to ask: in computing the player score (section 12 status summary) it says players should get 35 points per mule. Does this basically mean an extra 35 points per exploitation (where a mule was installed on a plot)? I'm just a bit confused why the list has 500 points for land w/o exploit, 525 for land with food, etc instead of 500, 560, etc.


- the "Land" score is equal to: "500 points + Outfit price" for each land owned
- the "Goods" score is equal to the sum of the values of all the units in the player stock (the value is equal to the current price of the good) AND added by the value of each mule owned (this value is always 35).

Be aware, the current price is equal to:
- the "Buy price" (bottom price) for Smithore and crystite
- the "Buy price + 15$" for Food and Energy (that's why one should never sell at the last round if the price is not higher than 15$ to the buy price)

If you have a game which don't verify this, i'll have a look at it (Atari 800 win savestate only).

aralbrec wrote:In the production phase the 2nd economic bonus (economies of scale) has 1 EPC added if at least 1 exploitation of the same type is adjacent to the plot. Does adjacent mean above, below, left and right or does it also include diagonals? I'm pretty sure it doesn't include diagonals but I want to be sure.

You're right, it does not include diagonals.

Regards
Kroah
Site Admin
 
Posts: 414
Joined: 07 Feb 2006, 01:01
Location: France

Postby aralbrec » 02 Apr 2007, 09:33

Kroah wrote:Be aware, the current price is equal to:
- the "Buy price" (bottom price) for Smithore and crystite
- the "Buy price + 15$" for Food and Energy (that's why one should never sell at the last round if the price is not higher than 15$ to the buy price)


And the crystite as well? Since the buy price for crystite is floored to the next multiple of 4?

Kroah wrote:If you have any questions (beside the auction AI), let me know here.
I've completed 99.9% of the english version of the mule document. I'll finish it really soon for you.


Cheers Kroah -- this will actually help a great deal. My French is really weak and the online translators aren't any better :-)

Thanks to both of you for your help thus far. I will have more questions the further along I get and I'll be sure to air them here.
aralbrec
 
Posts: 5
Joined: 26 Mar 2007, 11:28


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests

cron