Description by Paul R. Stevens: This program is a very exact translation of the original Atari ST program, “Chaos Strikes Back”. This game, and its predecessor, “Dungeon Master” were remarkable games. They fit on a single floppy disk (before ‘high density’ was invented) and could be played very nicely on a machine with only 512K bytes of memory. The monsters, setting, and puzzles made it one of the best games of its type. Ever. Games like “Eye of the Beholder” attempted to duplicate the effort but came up short, in my opinion.
I played CSB on the Atari 520ST until it died. Then I was out of luck. I wanted to know how the game worked internally. I wanted to play the game to its conclusion. But I had no computer on which I could do these things.
Finally, after many years, I got my hands on the binary executable for the game. I wrote a disassembler to turn it into human-readable op-codes and proceeded to translate it to C++ using the Microsoft Version 6.0 C++ compiler. Eight hours a day for six months. About 120,000 lines of pseudo-assembly language. Crazy thing to do. But it works.
The game and the source code are free to do with as you please.
Paul also developed a dungeon editor to enable the use of the advanced features he added to the game engine: CSBwin tool - CSBuild.
The game recording feature was used for competitions aiming to finish Dungeon Master and Chaos Strikes Back in the shortest amount of time: Chaos Strikes Back for Windows Competitions.
The DM wiki contains loads of information about CSBwin. You may find the latest versions of CSBwin on Paul Stevens’ web site.
Here is a screenshot of the Linux version:
Credits
Chaos Strikes Back was orginally developed for the Atari ST by FTL Software:
Director ~ ~ ~ ~ Doug Bell
asst.director ~ Dennis Walker
2nd unit director ~ Mike Newton
graphics ~ ~ Andy Jaros
graphics ~ ~ David Simon
producer ~ ~ Wayne Holder
Backengineering from Atari ST code and port to Windows: Paul R. Stevens (prsteven@facstaff.wisc.edu) Port to Linux: Erik Svanberg, Rebecka Svanberg Port to MacOS X: Tomas Zahradnicky (chaos@24uSoftware.com)
Contact and Support
A discussion forum is dedicated to this game. If you have suggestions or find any bug, please post a message in the Cowsmanaut’s Dungeon Master Forums (there is a forum dedicated to this program), or write an email to Paul R. Stevens (prsteven@facstaff.wisc.edu).
Features
The game includes the following additional features that are not in the original:
Runs on PCs under Windows or Linux, and on Macintosh with Mac OS X.
Multiple modules support: the game includes both the DM and CSB dungeons and graphics, all from the original Atari ST versions. However, it is possible to add custom modules (dungeons, graphics and Hint Oracle files). Under the ‘Modules’ folder, there is a subfolder for each module. You have to specify which module you want to play on the command line (or use the supplied batch files).
Keyboard control: party movement, spells, and combat can be done with the keyboard. Once you are used to it, it is much faster than mouse. The file config.txt contains the key mappings between Atari ST and PC. Open it in a text editor to view or customize the controls.
Four levels of zoom for screen size (x1, x2, x3, x4) are available in the ‘Misc’ menu so that you can adjust the window to your screen. In 1x screen size, you can monitor skill increases and some other values.
You can record / replay your games (like movies). This is useful to debug the program and to show other people how fast you can play the game (see the Competitions section below) Here is how to enable recording: When standing in front of the prison doors, select “Record” from the “Misc” menu, then resume your game and play. If you find a problem while playing, you can send the recording and the saved game file to Paul R. Stevens (prsteven@facstaff.wisc.edu) so he can reproduce the problem on his machine. To replay a session, rename the appropriate record file to “Playfile.log”. Then, when standing in front of the prison doors, select “Playback” from the “Misc” menu (the original save game file must still exist). Although record files are not very large, a new file is created each time you enable recording. It is possible to splice several recordings with CSBwin tool - SpliceCSB.
The game includes a ‘Move Counter’ which records the actual number of moves (turns, punches, spell selection, etc.). This is intended as an alternative measure of how quickly you can play the game.
Adds a different way to win the game: if you want to explore every corner of the dungeon and learn all the tricks it has to offer then try the ‘Items Remaining’ option in the ‘Misc’ menu.
Command Line interface to play recorded games: try the DemoDM.bat file for an example.
A ‘Speed’ menu allows you to play the game much more slowly.
Ability to trace Timers, Attacks and Functions in log files (in ‘Misc’ menu).
Ability to dump in a text file (HINTDUMP.TXT) the contents of the Hints file used by the Hint Oracle. This feature is available when you run the Hint Oracle. This data has been used on the Chaos Strikes Back Hint Oracle (English Release 1) page.
Ability to dump in a text file (ASCIIDUMP.TXT) the contents of any saved game. This feature is available when you load a saved game.
The following features were not ported from the Atari ST version because they are not mandatory:
You can also download Conflux III - The Undercity, the latest available version of one of the best custom dungeons ever made, which is based on CSBwin.
CSBwin v10.0 for Pocket PC with the original Chaos Strikes Back dungeon. If you want to use the direction pad on your Pocket PC, you need to add the following lines to the config.txt file: mscan 1 000026 113 87 L ; up = move forward mscan 1 000027 130 9e L ; right = turn right mscan 1 000025 f8 9e L ; left = turn left mscan 1 000028 113 9e L; down = move backward mscan 1 00000d 113 9e R; enter = show inventory/show dungeon view
CSBwin for MacOS X with the original Dungeon Master dungeon. This archive contains a port to Mac OS X made by Tomas Zahradnicky (zahradt@1stplugins.com). Note that it is not based on the latest version of CSBwin.
CSBwin for MacOS X with the original Chaos Strikes Back dungeon. This archive contains a port to Mac OS X made by Tomas Zahradnicky (zahradt@1stplugins.com). Note that it is not based on the latest version of CSBwin.
Chaos Strikes Back for Windows ++ Executable Version 3.0 This ++ version (based on Chaos Strikes Back for Windows v3.0) was made by DjArcas. It adds a cheat menu to the game (check the CSBwin++ topic at dungeon-master.com forums for details).
Chaos Strikes Back for Windows and Linux Version 12.100 Source code You don’t need this last archive to play the game. Download it only if you want to look in the source code to understand how the game engine works, or if you want to compile the game yourself.
How to run the game
For the Windows version, run one of the .bat files to play the game with the dungeon of your choice. For the Linux version, run one of the .sh files to play the game with the dungeon of your choice.
History
This section contains the release notes of all the versions of Chaos Strikes Back for Windows.
Version 12.100 (December 6, 2011)
Corrects a hint oracle bug. Earlier versions crashed, if too many “hint items” were present.
Version 12.0 (November 27, 2011)
Updated from Windows version 11.067
Minor changes to make it compile on Linux (x86) out of the box again.
Sound is half-broken, as well as window-resize.
Version 11.x
Bug fixes
Version 10.0 (December 22, 2006)
Help PocketPC work on 240x240 screen
Changes required for Conflux III. All quite technical and not used by DM/CSB.
This is a kind of ‘final’ version. I don’t anticipate a lot more work.
Linux: The possibility to pipe sound to stdout has been added in Linux. This is an experimental option to support various sound servers without actually write code to each one of them. But you have to format the sound output yourself first before you send it to the soundcard. In our testing this works bad with Esound, but quite decent with aRts.
Linux: Martin has added support to Nokia 770.
Version 9.9
Lot of tweaks and changes, mainly with DSA. Check the ReleaseNotes.txt file supplied with the source code for all details.
Version 9.8 (September 26, 2004)
Improvements are listed in the file ReleaseNotes.txt (Windows package).
Linux: Sound has been improved: now uses 16 channels to prevent sound lagging.
Version 9.7 (July 4, 2004)
Improvements are listed in the file ReleaseNotes.txt (Windows package).
Version 9.6 (August 11, 2003 for Windows version, September 8, 2003 for Linux version)
Fixed one error that caused record/playback to crash.
Added DM rules for reincarnation (in the Misc menu).
Ability to use full-screen (add “size=full” to the command line) and move the pieces of the viewport around (in config.txt, add a line like “Place A 2 0 21 e0 88 100 100”).
Other miscellaneous stuff too numerous and boring to mention.
A “Movie” is included for beginners to get a feel for the dungeon.
Linux: The linux client should be a little faster now.
Linux: Unfortunately fullscreen is not working.
Version 9.5 Re-Release (May 1, 2003)
Linux: Fix a small error with the command line handling, and includes new .sh files.
Version 9.5 (February 1, 2003)
Linux: The Linux version earlier had some trouble with the directory structure. This has been fixed, and it’s now possible to specify several different directories for CSB to search in.
Linux: The internal callback-timer can be changed from the cmd line. If the game is awfully slow, then different timer settings might improve this.
Windows: Fixed several problems that caused the game to crash.
Windows: There is a demo included that demonstrates a solution to the problem of creating a puzzle that requires switches to be pressed in a particular order. See if you can find and solve it!
Version 9.4 (December 7, 2002)
Directories were rearranged a little bit so that multiple modules could share a graphics.dat.
Massive change in the way data is handled within the runtime engine. The 1024 item restriction has been removed. Now the restriction is that there can be no more than 65000 items total. (Anything is possible with an additional layer of indirection!)
Each item type has been artificially restricted to 8000 (like 8000 monsters, 8000 weapons, 8000 pieces of clothing, etc) but this, too, can be relaxed by being a bit more clever. Let me know if the 8000 is a problem.
Other, relatively minor, changes have been made but I can’t remember what they are.
The Linux version now has working sound support (using esound).
The release contains a DEMO version of the CSB dungeon.dat which demonstrates a way to play Chaos Strikes Back without the necessity of going through the Utility Program. This was possible because of the larger number of actuators allowed by version 9.4. And the Hall of Champions is on level 15.
You enter the Hall of Champions, select your party, then proceed directly to the Worm Room. Of course it ain’t that simple. Try it to see what I mean. Along the way you may encounter some familiar names. See TOADROT for example. And getting out of the Worm Room is not going to be quite the simple task that it was in the past. Without the editor you will encounter quite a bit of difficulty, I think. If you know the tricks then it is not much harder than the original.
Version 9.3 (September 29, 2002)
The Linux version is now available in addition to the Windows version. It is fully playable, but it lacks sound and it has some minor ‘beauty flaws’. Update on October 5, 2002: sound support has been added to the Linux port, but source code is not yet published.
Version 9.2 (September 8, 2002)
All file names are lower-case to make unix people more nearly happy.
Has both DM and CSB dungeons and graphics. All from Atari.
Ability to specify directory on command line or in config.txt file. More-or-less as specified by Christophe. Not too well tested but better than what we had.
Crack switch in DM still jumps to ceiling when pressed. Don’t know what that is all about.
Version 9.1 (August 14, 2002)
Fixed problems with items disappearing from chests and non-replayable games when monsters are teleported or fall to the same level as the party and drop items.
Fixed several problems with Fusion attack. The original Atari code was just plain wrong, or at best incomplete, IMHO.
Improves compressability of recordings.
Adds screen sizes x3 and x4 thanks to the help (and persistence) of Karl Maritaud.
Comes with a Dungeon Master dungeon named dungeonDM.dat and a DEMO.BAT that plays a complete game of Dungeon Master.
You can play Chaos Strikes Back without changing anything. To play Dungeon Master, simply rename dungeonDM.dat to dungeon.dat. (You will have to delete or rename the CSB dungeon.dat first.)
Version 9.0 (July 7, 2002)
This is the first release since I lost my hard disk and had to try and recover. I hope I got everything restored but I am not sure.
I added a ‘Speed’ menu to allow you to play the game much more slowly. If, for example, you choose ‘Glacial’ speed and check the ‘Player Clock’ option then the game becomes almost indistinguishable from a ’turn-based’ game. You can press the shift key to say that you want to pass and the shift key does not count as a move. (You need the new config.txt).
I added a ‘Move Counter’. It records the actual number of moves (turns, punches, spell selection, etc.). This is intended as an alternative measure of how quickly you can play the game. It is very different from the time…..for example, sleeping is quite inexpensive, amounting to only two moves. Those of you who (like me) are a bit limited in our eye-hand coordination can ompete on this basis with cleverness rather than quickness.
I needed to release a new source code for Tomas Zahradnicky who is having a good deal of success porting the program to the macintosh.
Version 8.0 (May 10, 2002)
I upgraded the “Smart Discard” feature from experimental status and moved the tables from the config file into the executable.
I updated the “Items Remaining” to show the contents of chests and the possessions of monsters. This is rather helpful when you are trying to locate an item in the dungeon that is in the possession of one of those pesky gigglers.
The “Record” files now contain the version of the executable that produced them. This helps me when someone sends me a bug report with a “Recordxxxx.log” file.
A couple other very minor changes that I don’t remember.
The executable release contains a demo - probably the longest game ever recorded. In it, Itza wins the game the hard way….by cleaning up the dungeon. Every last monster has been killed and every important object in the dungeon has been collected and safely stored away. See the “Misc” menu “Items Remaining” at the end of the game to confirm that the task has been accomplished.
Version 7.2 (January 27, 2002)
Allows right mouse clicks to be specified in config.txt. By request.
Allows concatenation of Record files. For example, you can record a session, save the game, continue the game, die, restart the game from the save-point with recording and later splice the two recordings into a single file to be played back. Don’t try this at home without writing me for hints.
Fixed what I remember as a significant but improbable bug. I forget what it was.
All necessary graphics files, etc. are included in one .zip file.
A Readme.txt file.
A demonstration game that shows one way to win and an example of the use the new command-line options.
An ‘Easy Start’ saved game so beginners need not go through the ‘Prison’-‘Utility’ hassle.
Reference to dmweb.free.fr in the Help/credits dialog.
Version 6.0 (November 7, 2001)
Fixed the update of Mana which occurs about every ten seconds. I had a test backwards but since it happened about fifty percent of the time it seems to make little difference.
Fixed a very bad problem that caused my program to corrupt other windows on the Desktop and even the Desktop itself.
I added a Command Line interface. To demonstrate it I have included the following files: Demo.bat, Playfile.log, CSBGame.dat. Run the Demo.bat for a demonstration. The CSBGame.dat and the Playfile.log are designed to allow players who have never reached the endgame to achieve this lofty goal. The CSBGame.dat has four heros who have scratched and clawed their way to second-level master of everthing. (Lots of dead Oitus!) All the necessary keys, weapons, and food have been obtained. Even the diabolical Demon Director area has been tamed. It remains only to grab the Corbum and pitch them into the pit. A piece of cake. The Playfile.log shows how. Demo.bat will run the Playfile.log. Let it run at least ten minutes to get the full effect.
Version 5.0 (October 21, 2001)
Fixes the problem of Reincarnated Characters receiving too few skills points. Fixing this should result in faster times in the speed contest.
Adds a different way to win the game. If you want to explore every corner of the Dungeon and learn all the tricks it has to offer then you should try this. The ‘Misc’ menu has a ‘Items Remaining’ choice that explains how to win the game. The .ZIP file also contains a CSBGAME.DAT file that is an example of a game that came very close to winning. (A fatal mistake was made on the DDD level).
Version 4.2 (October 1, 2001)
Fixes an error that prevents Replay of a Recorded session if the player attempts to interchange Champion’s positions and makes some other move (like spell casting) at the same time using the keyboard.
Fixes the effect of Ya Potion. The older versions caused a random number, usually rather large, to be assigned to the Shield Value and made that value more-or-less permanent. The number could even have been a large negative number.
Version 4.0 (September 23, 2001)
Major memory leak when the player asked that the databases NOT be expanded. This is nearly a show-stopper.
Added debug trace to help users remap the keyboard shortcuts. The trace is shown along with the various counters when in ‘small-screen’ mode. (Uncheck ‘double-size’ in the Misc menu)
Made the Firestaff work. Michael Hutton (beowuuf) put one in the dungeon with DMute and it crashed the program.
Coded around a Microsoft Compiler error (Yes, they admit it is their error). It caused minor difference between Debug and Release versions of the program. The relase version was wrong.
Several cosmetic bugs noted by users.
Version 3.0 (July 29, 2001)
Fixes 3 or 4 significant (but not really important) bugs
A lot of changes to make it more compatible with the Macintosh compiler and operating system. (Yes, someone is currently porting the game to Macintosh!)
Notes:
All files are perfectly backward and forward compatible.
All known bugs have been fixed.
Version 2.0 (June 2, 2001)
No debug code. One-third the size and faster.
Many significant bug fixes.
Ability to monitor skill increases in small screen mode.
Version 1.0 (May 15, 2001)
Several bug fixes
The game starts in double-size mode.
Version 0.81 (April 17, 2001)
You can now compile the program yourself from the source code
Some more bugs fixed.
Version 0.8 (April 16, 2001)
You can use the keypad to move in the dungeon.
There is a “Double size” option in “Misc” menu, to play in 640x480 resolution.
This version allows larger object lists at the player’s option. Like 1023 Worm Rounds instead of 365 (Original CSB limitation).