ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Introduce yourself. Pimp your website, competition, event or other activity here, as long as it's Spectrum related.
Post Reply
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Image

Code: Select all

ALIEN by Mindgames for the Sinclair ZX Spectrum - BUGFIX & IMPROVEMENT
Version 1.1 by Ersh 2018-04-12

The following bugs are fixed:

[BUGFIX] THE RANDOM NUMBER GENERATOR USED DATA BEYOND INTENDED MEMORY.
 The Random Number Generator stepped through the entire memory instead of being
localised to ROM $0000-$1FFF as intended. This had many side effects.

[BUGFIX] A MISSING PIXEL ON THE MAP OF THE MIDDLE DECK OF THE NOSTROMO.
 There was a missing pixel in the northeast corner of the map of the middle
deck. :)

[BUGFIX] INVENTORY BUG WHEN SWITCHING CHARACTERS DURING AN 'ATTACK'.
 If the player chose to attack and then switched to another crew member, when
the attack was executed the second crew member could use the 'Leave Item'
command to drop the first character's item. If the first crew member only held 1
item then that would be dropped, if he/she held 2 items then the second item
would be dropped.

[BUGFIX] INVENTORY BUG WHEN SWITCHING CHARACTERS DURING AN 'ATTACK' WHEN USING
THE NET OR BREAKING A TRACKER.
 If the player attacked with the Net or a Tracker and then switched to another
crew member, when the attack was executed the second character's first item
would disappear. The game would also remove the menu text for the item, even
when not in a character's menu, erasing anything that was in the same location
in any other menu.

[BUGFIX] 'LEAVE ITEM' COMMAND WAS NOT DISABLED AFTER USING THE NET OR BREAKING A
TRACKER.
 If a crew member only had 1 item when the Net was used or when breaking a
Tracker, the game removed the item from the character's inventory but did not
remove the 'Leave Item' command from the menu. Hence it was possible to use that
command to drop the item and pick it up again.

[BUGFIX] PLAYER COULD USE THE NET OR TRACKER TO ATTACK WITH OVER AND OVER AGAIN.
 If the player used the Net or a Tracker to attack, the item would be removed
from the inventory, however it was still possible to use the 'Attack' command
and the the crew member would then be able to attack with the Net/Tracker again.
This could be repeated over and over, though if the player changed character, it
would no longer work.

[BUGFIX] THE GAME SOMETIMES READ DATA BEYOND INTENDED MEMORY.
 The 'Carry out an Action' routine didn't PUSH/POP the IX registers holding the
pointer to the current character's variables when calling an Action to be
performed. Some Action routines destroyed the register pair, thus IX would hold
the wrong pointer when returning from those routines.

[BUGFIX] 100% COMPETENCE RATING.
 Getting a Competence Rating of '100%' would be displayed as '1:0%. Also the
hundredth digit was never cleared so getting a '85%' Competence Rating on your
second go would be displayed as '185%'.

[BUGFIX] THE MESSAGE VARIABLE WAS NOT RESET ON RESTART.
 If the player began a new game, then immediately restarted and the Alien
hatched from the same crew member as in the first game, no "The Alien has
hatched from..." message would be displayed. The message variable was not reset
and the game doesn't allow the exact same message to be displayed twice in a
row.

[BUGFIX] IF YOU HOVERED ON 'REMOVE GRILL' WHEN IT TURNED TO 'ATTACK' THE GAME
WOULD NOT LET YOU ATTACK.
 If you had the menu marker on 'Remove Grill' and then the Alien (or Android)
entered your location, the command would change to 'Attack', but if you didn't
move the menu marker and instead directly selected 'Attack', the crew member
would remove the grill instead of attacking.

[BUGFIX] CORRUPTED GRAPHICS IN THE ALIEN ANIMATION.
 There were two corrupted bytes in the Alien animation, one in the first frame
and one in the second.


The following improvements are also implemented:

[IMPROVEMENT] ATTACK IS NOW ONLY AVAILABLE IF NOT ALREADY IN PROGRESS OF
ATTACKING.
 Normally, when selecting 'Attack' the option to do so again would disappear
until you had executed the attack. However if anyone went through a door, opened
a grill or if you selected another crew member and then switched back, the
'Attack' command would be available again even though the attack had not yet
been executed. This would get really confusing when you were trying to attack
with more than one character at a time. I've modified the game so that the
'Attack' command is never available when already in progress of attacking.

[IMPROVEMENT] NEIGHBOURING ROOM/VENT GRILL REMOVAL.
 If anyone removed the grill in your room but from the airduct location (and
vice versa), the game wouldn't update the menu indicating that the grill was
removed. I've modified the game to refresh the menu whenever that happens.

[IMPROVEMENT] KILLING THE ANDROID WITH ANOTHER CHARACTER.
 If two crew members were attacking the Android and the one that was not your
current character killed it, the 'Attack' command for the second character
didn't disappear even though there was no one left to attack. I've modified 
the game to remove 'Attack', check if the grill is removed and if not, give the
option to 'Remove Grill'.

[IMPROVEMENT] WHEN SELECTING ATTACK, THE GAME NOW SHOW 'REMOVE GRILL' IF NOT
ALREADY REMOVED.
 Normally when you selected the 'Attack' command, it would be replaced with
nothing. I've modified the game to check if the grill is removed and if not,
give the option to 'Remove Grill'.


Changelog:

Version 1.1 (2018-04-12)
[BUGFIX] THE RANDOM NUMBER GENERATOR USED DATA BEYOND INTENDED MEMORY.
[BUGFIX] A MISSING PIXEL ON THE MAP OF THE MIDDLE DECK OF THE NOSTROMO.
Added 'Bugfix' text and version number to the loading screen.
Rewrote the Readme.

Version 1.0 (2016-10-29)
Initial release.

I've released a new version of my bugfix and improvement for the game Alien by Mindgames. I've tested it pretty thoroughly (completing the game 17 times in at least 5 hours of playing) and hopefully that's all the bugs sorted.

Grab a copy here.

Enjoy! :)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ast A. Moore »

My, that’s pretty thorough.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ralf »

Definitely for connoisseurs but generally a great job ! ;)
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by RMartins »

That's wha I call dedication :D

Nice work and very good detailed descriptions of the issues.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Thanks guys! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

ALIEN (Mindgames) Bugfix and Improvement. Version 1.2

Image

Bugfixing the game further, 7 new fixes in total, mainly focused on the Morale (Mental Condition) this time. I haven't had time for fieldtesting, but I setup and tried over 50 test-scenarios (everything I could think of) and it all seems to check out fine.

Here's what's new:

Code: Select all

[BUGFIX] WHEN USING THE NET OR BREAKING A TRACKER THE PLAYER COULD LOSE MORALE.
 If the player had an item that gives a morale bonus in item slot 2 and used the
Net or broke a Tracker when attacking the Alien, the player permanently lost
Morale. This is because the game did not recalculate the character's Morale in
those cases, so when dropping (or putting the morale bonus weapon in slot 2)
the game would deduct the bonus that was never given. I've further modified it
so it updates the mental condition text as well when using the Net or breaking
a Tracker, as the game did not do this.

[BUGFIX] IF THE ALIEN ESCAPED, A MORALE INCREASE WAS NOT PROPERLY GIVEN AND
THE MENTAL CONDITION WAS NOT UPDATED.
 If the player managed to make the Alien escape from an attack, 'base morale'
was increased by one, but 'current morale' was not. This is now fixed and the
mental condition text is updated when that happens as well.

[BUGFIX] CATCHING JONES DID NOT GIVE AN INCREASE IN MORALE.
 When catching Jones in the Catbox or Net the player did not get a morale
bonus. In fact the crew member that caught the cat would get a permanent
deduction of morale as leaving Jones or even having him in slot 2 decreases
morale by 1. 

[IMPROVEMENT] THE GAME NOW UPDATES THE MENTAL CONDITION WHEN COMPANY ARRIVES.
 The game did not update the mental condition text for the current character
when another crew member came into the same room.

[IMPROVEMENT] THE GAME NOW CALCULATES MORALE BONUSES WHEN STARTING A NEW GAME.
 The game never properly calculated the morale bonus each character gets from
having others in the same room when a new game began. This is now done.

[IMPROVEMENT] IF A CHARACTER DIES IN THE SAME ROOM AS YOU, YOU'LL GET NOTIFIED.
 The game now updates the 'ALSO HERE' text when a character dies in the same
room as you. (ex. Also here Body of Dallas)

[IMPROVEMENT] IF THE ALIEN DEVOURS A COLLAPSED CHARACTER, YOU'LL GET NOTIFIED.
 There is a small chance that the Alien could completely devour a collapsed
character. If that happens, the game now updates the 'ALSO HERE' text if the
current character is in the same room. (i.e. removing the devoured character
from the text)
Grab a copy here.

Enjoy! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

ALIEN (Mindgames) Bugfix and Improvement. Version 1.3

Image

Another update, fixed an additional 2 bugs which brings us up to 24 fixes in all.

Here's what's new:

Code: Select all

[BUGFIX] WHEN A BODY WAS FOUND, CURRENT MP WAS NOT DECREASED.
 When a crewmember found a body the game decreased base MP for all characters
but not their current MP, this is now fixed. I also made the game update the
character condition text when this happens.

[IMPROVEMENT] IF SOMEONE DIES IN COMPANY OF OTHERS THE BODY IS NOW FOUND
 If a crewmember died while there were others in the same room, the body was
not found. You had to leave the room and reenter to 'find' the body and get
a deduction of MP. I've made the game automatically find a body if a crewmember
perishes in company of others, decrease base/current MP for all characters with
an additional deduction of 1 from the current MP for those that are in the same
room. The character condition text is also updated.
Grab a copy here.

Enjoy! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Image

Here's what's new:

Code: Select all

[BUGFIX] THE TRACKERS AND JONES SIXTH SENSE DID NOT WORK IN THE AIRDUCTS
 Due to a bug the 2 trackers and Jones sixth sense (when in the CATBOX or NET)
didn't work inside the airducts. This is now fixed.

[BUGFIX] JONES SIXTH SENSE GAVE FALSE 'READINGS'
 Getting a 'Jones is uneasy' message while carrying him in the CATBOX or NET
means that a connecting location contains either someone from the crew or the
ALIEN. Every time the player moved from a location with neighbouring occupants
to a location with none; Jones would still give the player the message. This is
now fixed.

[IMPROVEMENT] IF SOMEONE ENTERS HYPERSLEEP IN COMPANY THE 'ALSO HERE' TEXT IS NOW UPDATED.
 If a crewmember enters hypersleep while another character is active in the
CRYO VAULT the game now removes the sleeper's name from the ALSO HERE text
without having to switch menus.
Another update. Three new fixes, with one being a major one when it comes to gameplay. For some reason I never questioned why the Trackers didn't work in the airducts. They would ping constantly even though they shouldn't and sometimes they were dead silent when they should give you a reading. I decided to examine how it all worked and it turned out it's simply a bug. The game correctly used the Airduct Connecting Locations Table but failed to mask the Current Location to stay within said table, which meant the game read data waaay out of intended memory.

I noticed someone had uploaded v1.1 of this BUGFIX to the Spectrum Computing database, don't know how to upload things myself so it would be really nice if someone could replace it with this latest release instead. [mention]R-Tape[/mention]?

Anyway this year is the 40th anniversary of Ridley Scott's excellent Alien movie and the 35th anniversary of this awesome game. So now would be an excellent time to load this puppy up and have a go! :)

Grab a copy here.

Enjoy! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Image

ALIEN (Mindgames) Bugfix and Improvement. Version 1.5

Here's what's new:

Code: Select all

[BUGFIX] IF THE ALIEN SURVIVED THE AIRLOCK; THE TRACKERS WOULD NO LONGER WORK
 When the player opens an Airlock while the ALIEN is inside, it either dies
or re-enters the ship via the Shuttlebay, the player gets a message from
MOTHER if the latter is the case. However due to a bug, if the ALIEN survived
the Airlock the Trackers and Jones' sixth sense would no longer pick up any
readings from it for the duration of that game. This is now fixed.

[BUGFIX] CREWMEMBERS WEREN'T LISTED AS 'DEAD' IF BLOWN OUT OF AN AIRLOCK
 If the player for some reason decided to blow any crewmember out of an
Airlock, they weren't listed as 'Dead' on the Competence Rating screen at the
end of the game. This is now fixed.

[BUGFIX] THE 'CONDITION' AND 'ALSO HERE' TEXT COULD ERRONEOUSLY ERASE TEXT
 If the Condition text was exactly 32 characters long it would erase the
'Also here:' text on the next line when updated. Likewise if the 'Also here:'
text was exactly 32 characters long it would erase any message from MOTHER on
the next line when updated. There are only certain conditions when these texts
are exactly 32 characters long, so it was rare, but it's now fixed
nonetheless.
Yet another update bringing us up to a total of 30 fixes, hopefully this is the last of them.

Grab a copy here.

Enjoy! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Image

ALIEN (Mindgames) Bugfix and Improvement. Version 1.6

Here's what's new:

Code: Select all

[BUGFIX] THE ALIEN COULD TELEPORT FROM THE NARCISSUS TO DIFFERENT PARTS OF THE
NOSTROMO
 The Narcissus lifeboat has a grill that's opened from the start (which is a
table-bug in itself). Although the player can't access the duct themselves, the
Alien can. When the Alien entered this air-duct and tried to move to a new
location within the ducts, it was teleported to seemingly arbitrary air-duct
locations around the ship. This was because the table used didn't account for
the Narcissus being a 35th room and so read data from the table that followed,
which happened to be the table of character names. "ALIEN, $FF, Dallas, $Kane,
$FF...". The ASCII values of the word "ALIEN" are by luck all acceptable
air-duct locations. I've made it so that, if the Alien goes up that grill, it'll
set its Action to go down again. Since the Narcissus now, basically, is a dead
end for the Alien, I've also reduced the risk of it damaging the lifeboat by
20%, just to be a bit more fair to the player.

[BUGFIX] WHEN JONES ENTERED A ROOM WITH MORE THAN TWO PEOPLE, THE ACTIVE
CREW-MEMBER WAS NOT ALWAYS GIVEN THE OPTION TO CATCH IT
 If Jones entered a room where your active crew-member was, the option to catch
it wasn't made available if there was a lower numbered crew-member in the same
room. For an example if the active character was Ripley (3) and you had Dallas
(1) in the same room when Jones entered, Mother would report "Dallas sees Jones
the Cat" but the active Ripley wouldn't get the option to catch Jones in the
menu. That's now fixed, Dallas will see the cat, but Ripley will get the option
to catch it.

[BUGFIX] WHEN JONES ENTERED A ROOM WITH ALIVE CREW AND A DEAD BODY, THE MESSAGE
AND OPTION TO CATCH IT WERE NOT ALWAYS GIVEN 
 If Jones entered a room where your active character was, the option to catch it
wasn't made available if there was a lower numbered DEAD crew-member in the same
room. No "...sees Jones the Cat" message would appear at all neither.

[BUGFIX] IF THE ALIEN SCARED JONES, THE CAT WOULD TELEPORT TO THE UPPER DECK
 If Jones entered the room where the Alien was, he was supposed to pick another
random connected room to flee to. However, the game had a small bug that made
Jones always pick a room from the neighbouring-locations-table of room 0
(Airlock 1). Hence, if the Alien scared Jones he would always teleport to
Airlock 1 or Corridor 6 on the Upper Deck.

A new update and four more bugs fixed!

That "teleporting" Alien is something I've come across quite a few times while playing but had no idea what caused it, or if it indeed was bug at all, glad to have it sorted.

The first two Jones issues may sound similar, but did require different fixes. I ended up doing a rewrite of pretty much half of the Jones routine, but it all works like it should now.

I noticed that the Spectrum Computing database only has an old version (1.4) of the bugfix, could someone be kind and replace it with this update. [mention]R-Tape[/mention]? Thanks! :)

Grab a copy here.

Enjoy! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Thanks Ale! :)
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Image

ALIEN (Mindgames) Bugfix and Improvement. Version 1.7

Here's what's new:

Code: Select all

[BUGFIX] THE PLAYER COULD ENTER AN INACCESSIBLE GRILLE; CRASHING THE GAME
 The Narcissus has a Grille that is normally inaccessible to the player.
However if both the Alien and a crew-member are in the Narcissus, and the
player switches to that character from another, the option to enter the
Grille would then be available. If the player then decided to flee from 
the Alien through that Grille the game would crash. That's now fixed, the
Grille is permanently unavailable to the player.

[BUGFIX] THE PLAYER COULD MAINTAIN CONTROL OF AN ACTIVATED ANDROID
 The Android activates when the Alien has been damaged a certain amount.
Let's say that the Android was not yet activated and the player ordered a
crew-member to attack the Alien, dealing enough damage for activation. But
then switched over to the Android while waiting for the attack to be
executed; the player would then maintain control over it. As long as the
player didn't change character they could issue orders that would override
all of its actions, move it where they pleased, even put it in hypersleep
or simply follow its automated rampage around the ship. I've now made it so
that the player properly loses control of the Android upon it being
triggered.

[BUGFIX] THE WRONG MESSAGE WOULD BE DISPLAYED IF THE SHUTTLE BAY WAS DAMAGED
 Mother would erroneously report "Narcissus status RED" if the Shuttle Bay
was damaged; not if the damage was done to the Narcissus itself. Easy fix.

[IMPROVEMENT] THE GAME NOW ALLOWS THE PLAYER TO ATTACK AGAIN AFTER CANCELING
 If the player ordered a crew-member to Attack the Alien or Android but then
selected another Action before the Attack was executed, the option to order an
Attack again was not given. The player had to use 'QUIT' and select the
character again in order to be able to select Attack anew.

[IMPROVEMENT] ALL ACTIONS NOW CANCEL THE PREVIOUS ONE
 Most Actions cancel the previous one, like selecting a location to move to,
grabbing Jones, entering hypersleep, getting/leaving an item, opening a grill
etc. Though some Special Actions didn't cancel any previous Action, like using
the Airlocks, Scuttling the Nostromo, attempting to launch the Narcissus etc.
For consistency I've now made it so all Special Actions cancel the previous
one. Also clicking the first equipment-slot will now cancel any Action as well.

[CORRECTION] OPEN GRILL WILL NOT APPEAR IN THE NARCISSUS WHEN ATTACKING ANYMORE
 Two of my fixes from v1.0 regarding giving the option to open a Grille after
selecting Attack (if not already opened) has been modified so they won't do that
if the player is fighting in the Narcissus.
Another update. A game crashing bug was squashed, a controllable Android was deactivated, also made a comprehensive overhaul of the Action/Cancel system amongst a few other things. The bug-testing was exhausting, hopefully it all works fine.

Grab a copy here.

Enjoy! :)
akeley
Dynamite Dan
Posts: 1025
Joined: Sat Feb 01, 2020 5:47 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by akeley »

I thought I'm the only person in the world who appreciates this game :) Glad to see there's another person who shares that feeling.

Amazing work!
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: ALIEN (Mindgames) Bugfix and Improvement. Version 1.1

Post by Ersh »

Thanks akeley! Yeah, it's a brilliant game. :)
Post Reply