If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Lemmings 2: The Tribes (DOS)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Lemmings 2: The Tribes (DOS).

Lem2DosDemo-TitleScreen.png

This interesting pre-release demo was actually created a month after the Amiga demo of the game (December 1992 vs November), and is an odd mixture of things that show progress ahead of the Amiga demo but also some that are clearly behind.

Unique Maps

The demo contains four levels, only one of which was included in the final game:

Circus Tribe

WELCOME BACK! Lemmings2AmigaDemo-WelcomeBackMap.png



DO ANYTHING!      Lemmings2AmigaDemo-DoAnythingMap.png

Medieval Tribe

The medieval levels feature a black background rather than the slightly purple one used in the final.

A HOLE IN THE GROUND    Lem2DosDemo-AHITGMap.png


What shall we do now? - this level was actually repurposed for level 8 of the final game, but with substantial changes:

Demo Final
Lem2DosDemo-WSWDNMap.png Lem2Dos-WSWDNMap.png

The Amiga demo includes both the circus levels, but does not feature either of the medieval levels. It does however, include a unique polar tribe level "So Cool".

Graphics

Title and Map Screens

The Title screen has a different layout. Each option has a red light next to it (which turns green when clicked) that was removed in the final, and there's also no Practice option.

Demo Final
Lem2DosDemo-TitleScreen.png Lemmings 2 The Tribes (PC)-title.png

The map screen is an early version, but noticeably more developed than the version present in the Amiga demo. It's now almost the same as the final game and is animated, but is still missing detail in the circus lemming area with the different grass shading still present as in the Amiga demo. It also functions differently from the final DOS version, with the name of the tribe overlaid each slice of the map as the cursor moves, rather than in the fixed box at the bottom of the screen used in the final, which is missing here. Instead the bottom area is used to indicate whether a level is "Not available yet" or can be played. This functions correctly and the circus and medieval tribes don't report they cannot be played and can be clicked on like in the final game. However clicking on them has no meaningful effect as the demo always forces the player to play the levels in the same fixed order.

Demo Final
Lem2DosDemo-MapScreen.png Lem2Dos-MapScreen.png

Menus

The level selection menu is very different. A different font is used with all text in orange rather than green as in the final game. The tribe name/graphic is also a different set of graphics that look like poorly retouched scanned artwork that was completely redone for the final. There's also a different background pattern. Rather than the geometric patterns the final game uses, the demo uses the same textured background style as the original Lemmings. These were almost certainly generated by the same Hisoft Basic script created by Scott Johnston for the original game and Hired Guns.

Circus Level Select

Demo Final
Lem2DosDemo-CircusMenu.png Lem2Dos-CircusMenu.png

Medieval Level Select

Demo Final
Lem2DosDemo-MedievalMenu.png Lem2Dos-MedievalMenu.png

The preview window for the level is also different in functionality. The player cannot scroll their mouse cursor outside of this small window as in the DOS final (in the Amiga final the player can move their mouse anywhere on the screen here), and scrolling to the left or right edge advances to the preview of the next/previous level, the progression for which is made clear with an arrow between the stages (this arrow is missing in the Amiga demo). The skills list and level name then update to correspond with those of the selected level, but the way this works is very crude, as it takes a while to update and a black outline of the text box for each piece of text overlays the background rather than being transparent as in the final game. The layout is slightly different compared to the earlier Amiga demo, the lemmings to save appear centred below the level preview and the tribe name is aligned with the top edge of the tribe picture. The text is also a paler shade of orange compared to the bright orange used in the Amiga demo. Overall, it seems the DOS version of this menu system is a more advanced iteration than the Amiga demo.

Animation Changes

In the demo, each tribe has a unique "nuke" animation. Instead of simply counting down from five and exploding like in the final game (and the original Lemmings), here they each have their own special death animation that plays instantly when the nuke button is pressed.

Circus - As in the Amiga demo, all lemmings blow up like balloons and then pop. However, in the DOS version they float upwards a little before popping

Lem2DosDemo-CircusNuke.gif

Medieval - All lemmings faint to the floor, dead

Lem2DosDemo-MedievalNuke.gif

Unused Classes

User

The most crucial difference between the DOS and Amiga demo is the "User" lemming skill. In this version of the demo, they are required to make lemmings use the background objects (such as the cannon and catapult). If a lemming is not a User they will simply walk past these objects and will not get in them. Also of note is that the skill assignment only allows one-time use of an object. This makes the game harder, as if the player has got the positioning of a cannon or catapult wrong, they will have to consume another use of the user skill to try again after repositioning. The User was likely reworked because of how tedious it is to have click on 40-odd lemmings just to make them get in a cannon. Another change of gameplay this results in is that runner lemmings can use objects once made a user, whereas in the final game they move too quickly to trigger them.

Lem2DosDemo-UserIcon.png

Readme File

The DOS demo includes an odd Readme file. Rather than containing instructions on how to play the demo, it's in fact some kind of internal memo describing an aborted attempt to making the original Lemmings game work with CD audio tracks. Presumably this exchange was written from Tony Williams to lead programmer David Jones.

		Tandy Gryphon Audio drivers			19.10.92

	(c) 1992 Tony Williams / Sound Images


			LEMMINGS
			--------


David ,
	I have tried to make the drivers for the Gryphon version identical to
the ordinary PC ones , but there are some major differences - CD audio for
instance . This means that I have allowed for any audio CD to be inserted ,
and tracks played from it . The problem with this is that the CD-rom device
driver ( I wish I could do it at low level , but I can't ) takes a pretty
hefty amount of processor time to read the Table of Contents from the disk .
This is where the start of each track is stored , and I read them into a
table and calculate the lengths . It is obvuiously nice for the punter to
be able to put his favourite CD in to accompany the game , but there are some
drawbacks - The Lemmings tunes all loop after about one or two minutes , so
when the track ends , I have to start it again . This will also happen on any
other audio CD . Also , there are two versions of the Lemmings title tune on
the disc , and I only use one of them , making it necessary to use a lookup
table ( especially as the title tune wasn't used on the Adlib+Tandy versions .)

I decided to add a function whereby you could pass the driver a lookup table if
necessary , so Motorhead or The Carpenters could be played if the punter desired .
The will mean a small menu program , asking the player which track should
accompany each level , and whether it should loop .


before calling the functions ( blindingly obvious ) , load the driver -
gryphsnd.dat at offset 0 within a segment . The entry point is at 0 and
Russell preferred to use a software interrupt , so all routines end with an
IRET instruction . The sample file - lemsamp.bin also needs to be loaded at
offset zero within a segment , and that segment address is passed to the driver .


There now follows a list of the driver functions . You will notice ( I hope )
that the first six functions correspond to those in the Adlib/Tandy drivers
and the rest are added just for the CD audio .


WARNINGS :-

Do not try and start a sound effect before 1) initialising the driver or
2) loading the sample file , which is a separate file . The sample file needs
to be loaded at offset 0 within any segment , the address of which is passed
to the driver on initialisation .


In all cases , expect ax to be corrupt , except where values are returned .

Function 0 - Refresh
--------------------
entry	:	ah = 0

exit	:	nothing much of importance


On most drivers , this function needs to be called by a vbl or timer , but due
to the CD audio and samples , an irregular call at any reasonable rate should
suffice ( 50-60 hz maybe ) The refresh handles looping of tunes and a perculiar
twist to the sample playback which is needed where a sample crosses a 64k page .
Most processing is done within this routine , and in the case of the Gryphon ,
it can take a hell of a long time , because it has to be done via the device
drivers .


Function 1 - Initialise
-----------------------

entry	:	ah = 1
		dx = segment address at which samples file is loaded(offset 0)

exit	:	al = 1 if CD audio present , else 0
		ah = 1 if sample playback available , else 0


Function 2 - Kill all sound
---------------------------

entry	:	ah = 2

exit	:	none


Function 3 - Start a tune
-------------------------

entry	:	ah = 3
		al = tune number 1-22 ( corresponding to keys a-v on demo )

exit	:	none

This function only 'cues up' a tune to start , the processing is done during
the next refresh .


Function 4 - Start an effect
----------------------------

entry	:	ah = 4
		al = effect number 1-21 ( corresponding to keys A-U on demo )

exit	:	none

This function only 'cues up' an effect to start , the processing is done during
the next refresh .

Function 5 - Get tune
---------------------

entry	:	ah = 5

exit	:	al = number of current tune


Function 6 - Get effect
-----------------------

entry	:	ah = 6

exit	:	al = number of current effect


Function 7 - Set track table
----------------------------

entry	:	ah = 7
		ds:si = segment:offset of track table

			format of track table is simple :
			db	CD track number for each tune number
				as used by the driver ( e.g. tune 1 - awesome )
				bit 7 is set if tune needs to be looped

			N.B.	entry zero is NEVER USED


exit	:	not a lot


Function 8 - Play next track
----------------------------

entry	:	ah = 8

exit	:	nothing



This function has been added after today's conversation ( Mon 19th ) and all
track play lengths have been extended , so basically they will play until the
end or until you stop them . The device driver function which is supposed to
read the current track number and CD play position randomly gives back crap
and if the track number is greater than the number of tracks , I go back to
the beginning . As usual this isn't desirable , but it's getting late and I've
arrange for the machine to be picked up in the morning ............

Control Differences

  • The space bar does not work as a shortcut for the fan as in the final game
  • Clicking on the fast forward button naturally puts the game in fast forward mode, but clicking it again does not turn it off. Instead, a lemming skill must be pressed to stop it. This is also the case with the Pause button.