We just released a prototype of the cancelled SNES port of Puggsy! Take a look!
As always, thank you for supporting The Cutting Room Floor on Patreon!

Duke Nukem II

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Duke Nukem II

Developers: Apogee Software, Cygnus Software
Publisher: Apogee Software
Platform: DOS
Released in US: December 3, 1993
Released in EU: 1993


DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
PiracyIcon.png This game has anti-piracy features.


So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?
Hmmm...
To do:
Document duplicate boss rooms.

Duke Nukem II is a game where you wear a red vest and fight aliens in space. Also, this game runs in EGA, not VGA. Notice how limited the colors are (even for 256 colors) during gameplay?

Unused Ending Image

Dn2lostendingframe.png

For some unknown reason, this frame of the ending is skipped over. Coding error? Deliberate cut? We may never know.

(Source: Hendricks266)

Unused Text

text.mni contains a message that would have appeared in in-house beta versions of the game:

Beta_Only

//FADEOUT
//LOADRAW MESSAGE.MNI
//XYTEXT 0 0 ï28100
//PAK
//XYTEXT 5 9  This is a BETA COPY of Duke
//XYTEXT 5 10  Nukem II. Do not distribute.
//XYTEXT 5 11  This game is work in progress
//XYTEXT 5 12  and should not be viewed
//XYTEXT 5 13  by anyone outside Apogee!
//XYTEXT 5 15  Please report any illegal
//XYTEXT 5 16  use to Apogee Software at
//XYTEXT 5 17  1-214-278-5655.
//FADEIN
//WAIT
//END

help.mni contains several messages related to disabled debugging features:

God_Mode_On

//SETCURRENTPAGE
//SHIFTWIN -3
//CENTERWINDOW 5 5 24
//SKLINE
//CWTEXT Tec mode ON.
//DELAY 30
//WAIT
//END

God_Mode_Off

//SETCURRENTPAGE
//SHIFTWIN -3
//CENTERWINDOW 5 5 24
//SKLINE
//CWTEXT Tec mode OFF.
//DELAY 30
//WAIT
//END





Weapon_Select

//FADEOUT
//LOADRAW MESSAGE.mni
//XYTEXT 1 2 óCHOOSE YOUR WEAPON
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER
//MENU 10

//PAGESSTART
//XYTEXT 4 7 ñDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER
//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 ñBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 òFLAME THROWER

//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 ñROCKETS
//XYTEXT 4 16 òFLAME THROWER
//WAIT

//APAGE
//XYTEXT 4 7 òDEFAULT
//XYTEXT 4 10 òBLUE LASERS
//XYTEXT 4 13 òROCKETS
//XYTEXT 4 16 ñFLAME THROWER
//WAIT
//PAGESEND
//END

Warp

//FADEOUT
//LOADRAW MESSAGE.mni
//XYTEXT 8 2 ÷WARP MODE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//TOGGS 8 4 7 1 9 2 11 3 13 4
//MENU 11

//PAGESSTART
//XYTEXT 8 7 óVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 óVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 óVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 óVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 óL1òL2òL3òL4òL5òL6òL7òBOSS
//WAIT

//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1óL2òL3òL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2óL3òL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3óL4òL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4óL5òL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5óL6òL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6óL7òBOSS
//WAIT



//APAGE
//XYTEXT 8 7 òVOLUME 1
//XYTEXT 8 9 òVOLUME 2
//XYTEXT 8 11 òVOLUME 3
//XYTEXT 8 13 òVOLUME 4
//XYTEXT 8 15 òL1òL2òL3òL4òL5òL6òL7óBOSS
//WAIT
//PAGESEND
//END
(Source: Hendricks266)

Anti-Piracy

The registered version of Duke Nukem 2 uses a simple anti-piracy method that was in common use at Apogee at the time: The game checks for a FILE_ID.DIZ file (commonly used as an archive description on BBSes) that contains the following:

████▓▒░ ALERT THE SYSOP IMMEDIATELY! ░▒▓████
████████████████████████████████████████████
THIS FILE IS NOT SHAREWARE -- it is ILLEGAL
and forbidden to upload this copyrighted
software to bulletin boards. If you see this
message on a BBS, please request that the
Sysop remove this software IMMEDIATELY!!!
█▓▒░ OR CONTACT APOGEE: (214) 278-5655 ░▒▓█
IT IS ILLEGAL TO GET THIS FILE FROM A BBS!
████████████████████████████████████████████

This effectively labels pirated copies of the game on BBSes so that SysOps could quickly remove them. Upon completing any level, the game will unceremoniously end as if you had chosen to quit. After the high score display, a message will appear before taking you back to the main menu.

Dukenukem2 antipiracy.png

Hmmm...
To do:
Examine the exact details of how the checksum is, well, checked.