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

Proto:Syndicate Wars (DOS)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Syndicate Wars (DOS).

There are at least three demos of Syndicate Wars released: A very early pre-alpha rolling demo, and two different versions of the same playable demo mission.

Pre-Alpha Demo

Syndicate CorpWars PreAlpha-title.png

A pre-alpha self-running demo of Syndicate Wars (called Syndicate: The Corporate Wars) from late 1995 was released as part of an official Bullfrog Christmas Demo CD in 1996. Notably this can be found on the coverdisc of PC Zone issue 37. The demo can also be downloaded from the Syndicate Unofficial Site. Note this download is missing the SNDINST.EXE that had to be run first from the Bullfrog CD, so is missing the sound drivers that program installs to the shared bullfrog.cd directory to make sound effects and music work.

General Differences

  • Only one map is present.
  • A .bat file is included to run the demo. If one tries to run the program with just syn2 -p1, debug text is shown on the screen. The .bat file puts that text into a debug file.
  • By default, the camera constantly rotates. First press of rotation keys disables that auto-rotation.
  • The game uses packet01.gam to control the demo.
  • Loading the executable without any arguments will cause the game to load the built-in editor. The game will complain about a missing file named textwalk.dat, but pressing Escape will skip this error. However, the demo will end on a black screen due to the editor being deliberately prevented from loading in the executable.
  • No HUD is present, possibly except for two purple bars.
  • A limited range of weapon sound effects play, none of which survived to the final game. The in-game music from the original Syndicate also plays throughout.
  • Shadow effects are present on the characters, but moving the camera around reveals that everyone is using the default player sprite as a placeholder for their shadows.
  • Explosions are incomplete. The debris left behind is just a squashed model of the building destroyed. In the final game, there's more debris and fire left behind after explosions.
  • Buildings don't become transparent when the player walks in front of them.
  • All characters turn into bloody corpses when killed. This includes the mechanical spiders.
  • Some of the giant displays are playing part of the intro movie to Magic Carpet 2.
  • The demo creates a folder called bullfrog.cd in the C directory. This is the shared directory created by the Bullfrog Christmas Demo CD and includes a debug file used to track any errors and the demo control files.

Packet mode

The demo does not allow user control of agents, because it starts in packet replay mode. The game translates user input into actions stored within packets; these packets can be exchanged between computers, making multiplayer possible. But since these packets are all that's needed to re-create previous gameplay, they can also be stored on disk, and replayed later. As long as no changes were introduced to the game logic and level data, the game will play out exactly the same from the packet file.

Demo Weapons

If the demo is hacked to allow player control[1], it reveals that there are five playable weapons:

  • Laser
  • Electron Mace
  • Nuclear Grenade
  • Launcher
  • Pistol (according to the editor this is actually the Uzi, despite it being a low power single shot weapon)
  • Minigun

The laser and Electron Mace can be charged by holding down the mouse button to do more damage on release. The Nuclear Grenade destroys buildings but oddly seems to do no damage to NPCs yet. It also bounces back when it collides with objects. Both it and the Launcher have no sound effects yet.

Command line parameters

  • -c - toggles a variable which does not seem to do anything
  • -d - initialize alternate DOS keyboard handler
  • -h - run in hi-resolution mode (640x480)
  • -m<n> - start map number <n>
  • -n<n> - start network game, with <n> players
  • -p<n> - play packet file number <n>, ie. packet01.gam for n=1
  • -q - generate DAT/TAB files from LBM images
  • -r<n> - record packet file number <n>
  • -s<name> - network session name (for multiple games over same network)
  • -t - recompute and save colour tables
  • -u<name> - user name used for per-developer level files

Note: While the above arguments do actually work, they are deliberately overridden by the executable for the demo to only run in packet replay mode (-p).

Controls

  • Arrow Keys - Control camera.
  • I - Zoom in. Shift works as a modifier to speed this up.
  • O - Zoom out. Shift works as a modifier to speed this up.
  • G - Stop demo.
  • R - Increase draw distance.
  • Shift+R Decrease draw distance.
(Source: Reverse engineering by Mefistotelis])

Frames.h File

The file frames.h is present in the DATA folder, comprising of definitions of the game's animations. Surprisingly nearly all final game characters already have definitions here, with the likes of Police and male Unguided defined despite the actual graphics not being present in the demo files. The file also has some interesting additions that are not in the final game:

  • There are definitions for a female version of the "Shady Guy" (the uncommon NPCs with the big Chinese-style hats on) that never made it to the final game.
  • There's also an NPC defined with the shortened name "Off". It's after the NPC "Army" (presumably the generic soldiers seen in the final game), so possibly these were some kind of cut military officers.

Fungus

There are debug strings for a function that say "adding new fungus thing". The fungus thing definition shows it had an activation radius. In the final game's item descriptions, the Psycho Gas has a lore entry that says it is based on fungus recovered from the planet Creation. As such it may have worked as some kind of naturally occuring Psycho Gas bomb. The Bullfrog game Dungeon Keeper also had such an object that was also cut.

(Source: Mefistotelis])

Vehicles

The editor allows placing of vehicles on the map. This reveals there seem to be three types of vehicles in the game at this point - the Back to the Future style Delorean car found in the final game (originally an asset from the game Hi-Octane), an angular version of the civilian car seen in the original Syndicate (visible in some pre-release screenshots and cut from the final game), and some kind of hover bike similar to the one seen in the final game, only in this version a crude 3D rider is seen. None of the vehicles seem to be operational and merely act as solid obstacles if inserted into a map. They also seem to use early textures (and some appear not textured at all). They also cannot be destroyed. As with the buildings in the pre-alpha they have an odd scale and seem too small compared to the size of the game's characters.

Editor

The pre-alpha demo contains the code for much of the game's editor system. In fact it loads to this editor if run without any arguments, but is deliberately blocked from starting. A hacked build has been created[1] that allows access to the editor's functions, which are mostly complete. The editor functions with a series of Deluxe Paint style buttons down the left hand edge of the screen, some of which can be clicked and held on to reveal further menu options that pop-out to their right. The editor assumes the operator wants to perform operations on the nearest object to the centre of the camera, and this will flash to indicate the highlighted object. Objects can also be clicked on to confirm this. The D key deletes an object from the map.

Lights Editor
At this stage of development the game had a surprisingly advanced lighting system for its time, allowing a huge number (in the thousands) of light sources in a level. This was greatly toned down in the final game, presumably for performance reasons.

Editor Menus

Load Map
It's possible to save maps and load them using the editor. Maps that exist appear blue on the load screen and can be loaded. They can also then be loaded with the respective number using the -m[n] commandline argument. The editor cannot load final game maps, they can be loaded but appear as gibberish. The final game also cannot successfully load maps created from this editor.

SynPAlpha-EditorLoadMap.png

Load Levels
It's not clear if the load level functionality is working or not. In the final game a level file defines the objectives and NPC placements of a mission. The save level function does not seem to work. However, if levels from the final game are moved here, they seem to be loaded, but no NPCs are placed. The executable also knows these files exist as they appear blue in the list. There are some levels included in the final game that appear to be in a different format to those of the others that may have been created with this version of the editor. The demo seems to be hardcoded to always load a pre-created level file on startup, which is not in the final game format as seen in the menu here.

SynPAlpha-EditorLoadLevel.png

Things Menu
Top level menu for creating NPCs and defining related parts of a level such as their groups.

SynPAlpha-ThingMenu.png

Init Thing > Init Person
This menu allows the creation of a character. Note the Agent graphic is offset here above the box, it should actually appear inside the box in the space next to "person group", where it slowly rotates. The mood allows basic behaviour outside of a specific defined objective, e.g. wander around (for civilians), defend an area, or "psychotic" to simply attack the player or enemy groups on sight. Weapons and Mods bring up drop down menus to grant specific weapons and modifications to the character.

Set Group
Here characters can be added to a group and then told how to behave in relation to members of other groups. The boxes can be clicked on to define these relationships, whereupon they turn red. However it's not understood exactly what these represent.

SynPAlpha-DefineGroup.png

Mission Objectives
These menus allow the definition of mission objectives, to pass or fail a mission. Objectives can both take place at X and Y coordinates, but also at points in time after a level starts. The final screen is the setup for a mission, which of the groups defined is the player's characters, and what map the mission is supposed to take place on.


(Source: Reverse engineering by Mefistotelis])

Pre-Release Demo

SynWars-DemoTitle.png

This is the first release of the playable demo. It seems to have been released in November 1996 on the cover of several games magazines such as PC Zone issue 44 and PC Gamer (UK) issue 36. As with the later second version it features a single Eurocorp mission named "Tokyo Fuseki" ("Fuseki" referring to a type of opening move strategy in the Japanese board game Go). It also uses the same introduction screen and briefing, with no briefings or information for any other game levels included.

The demo level is unique; while it's actually included in the files of the final game, and defined in the final ALL000.MIS file (as mission 104), it's not playable in the final game during normal play. It involves cleaning up Tokyo from gangs of Unguided killing civilians, and then persuading a Church of the New Epoch scientist.

Oddly, if you try and play the demo by loading missions directly from the command prompt (i.e. main /m104) the game crashes on start. This is also the case with the later demo. If the executable is copied to the final game's directory, it works fine however. Therefore there must be something else (probably missing) in the demo files that stops this from happening.

Build Date

The demo executable contains the following text that appears to be a build date:

Jul 30 1996 18:20:55 

Demo Changes

  • While the demo supports the high res 640x480 mode, it does not include the HUD graphics for the corresponding second higher resolution design that both the second demo and final game include. It simply stretches the 320 x 200 assets to be twice as big. However, if the demo executable is copied to the final game directory it will use the final game high resolution HUD assets correctly, demonstrating full support must have already been written at this point and confirming Mike Man's assertion that the game was designed to be run in high resolution mode first.
  • When enemies are approaching (which would trigger the "danger" music in the final game), a red text indicator saying "DANGER" appears over the top of the first agent health bar
  • The way limited munitions like explosives are represented is slightly different. Each useable bomb is represented with a red dot instead of a turquoise one as in the final game. Consumed explosives also appear as grey here, whereas they are black in the final game.
Demo Final Game
SynWars-Demobombs.png SynWars-bombs.png
  • Dropped explosives use the generic briefcase icon when hovered over with the mouse
  • Adjusting an agent's mood changing fluids makes a kind of electrical buzzing sound, unlike the water bubbling effect used in the final game.
  • Completing a mission displays a message "AGENTS GAINED X DAYS RESEARCH COMPLETE X" with the relevant numbers filled in instead of simply "Mission Complete" as in the final game.

Audio Differences

This demo has a few sounds not found in the later demo or the final game.

These include the following Policeman messages that are missing from the final game:

Sample Message
"Go about your business"
"Nothing to see here"

The demo also features "spot effects" - random atmospheric sounds that would play as the environment was explored. These were completely cut for the final game. As with other Bullfrog games the sound effects are highly annotated, and the comments are preserved below:

Sample Comment
"Spot Effect 001"
"Spot Effect 002"
"Spot Effect 003"
"Spot Effect 004"
"Spot Effect 005"

Cut Video

SynWarsDemo-DEMO-13.gif

The file QDATA\DEMO-13.FLI is a totally different in-game advertising video to the one used in the final game. Both are adverts for the unreleased Bullfrog game Creation, but this is a different video that rather than containing what was presumably that game's CGI intro, instead shows footage of real coastline, a girl nodding, and then actual footage of the game.

Debug Functionality

The most significant and interesting part of the demo is that its executable includes debug functionality that was removed from any other release of the game, including the second version of the same demo. This can be seen during play, most notably when dismounting vehicles, where a green box with a message in will very briefly display. Attempting to use the executable with the assets of the final game seems to work fine, and results in various error messages displaying before levels that crash the final game, listing the problems with the level. Instigating a Simulated Level with this version of the game also results in a very different behaviour compared to the final game (see main game article). Looking in the executable there is a huge amount of text for debug purposes, most of which are often amusing but also give stern instructions to contact "MD" or "Mark" - presumably programmers Mike Diskette and Mark Adami.

Selected text examples:

add node off map, not bloody likely Tell MD

not player person in myagent Not a player is a player??? MARK!

navigate.c Tell Mark! Serious shit1 navigate.c TELL MARK! SERIOUS SHIT.2

things.c  search too many people Funny face pulled in find_bezier_nav_point 

implement random externally tri_path_init8: Why the hell don't you want the best route? Finding path from %d,%d in triangle %d

VNAV_do: Crap encountered in search! vnav.c We are going from %d to %d

VNAV: Its not a bezier road stupid! vnav.c vnav.c  VNAV init veh %d 

vnav.c Oh dear VNAV_goto is up the creek! From %d to %d is turning %d

Too many nodes cars come into the city on Too many nodes ships come into the city on  dist = %d
 RUN OUT OF ARCS. SHIT. SHIT. SHIT. Bad scanner colour scheme Invalid scanconvert triangle scanner.c scanner.c scanner.c scanner.c What the hell! scanner.c scanner.c scanner.c Strange shit going on in scanner Strange shit going on in scanner scanner.c scanner.c scanner draw transparent x wrong scanner draw transparent y wrong What the hell! NO OBJECTIVE   bad phwoar 

In-game non-fatal errors can actually be bypassed by pressing the escape key. It's clear from the above text that there was at some point far more granular debugging information than what is offered by default in the demo, but it's not obvious if it can still be enabled.

Breakout Minigame Changes


The final game has a secret Breakout style minigame that can be played on mission in London by walking on the podium on the map in front of the big screen and using a Persuadertron. An earlier version of the minigame exists in the demo. No levels take place in London in the demo, but if you copy the demo executable to the directory of the final game and run it using main /m8, this will start a mission that begins on the podium. The minigame will begin straight away, without use of the Persuadertron. In the demo, the minigame has slightly different levels, the second level "Just One Chance!" is not seen in the final game, and it seems there are other different levels later on as well. The text in the executable for the minigame is also different and exposes what seems to be a joke that was only half complete in the final game: "CHEAT CODE GRANTED TYPE MARK IS GREAT FOR ALL WEAPONS".

Demo Final Game
ENTERING LEVEL : %d %s BAD LUCK! GAME OVER CONGRATULATIONS CHEAT CODE GRANTED TYPE ARG!!! SHITE BAT STATE MARK IS GREAT FOR ALL WEAPONS DESTROY THE BRICKS JUST ONE CHANCE! FORTIFICATION FACE OFF BRICKY RAINDROPS KEEP... UP THE TUBE LESSER OF TWO EVILS EUROCORP THE BULLFROG CHALLENGE
ENTERING LEVEL : %d %s BAD LUCK! GAME OVER CONGRATULATIONS BONUS GAME COMPLETE BONUS ITEM AWARDED MARK IS GREAT FOR ALL WEAPONS DESTROY THE BRICKS FORTIFICATION BULLFROG FOREVER BRICKY STIFF UPPER LIP RAINDROPS KEEP... DOWN THE SPOUT UP THE TUBE EUROCORP THE BULLFROG CHALLENGE

The demo minigame also uses slightly different sound effects to the final game. They are actually the same sounds, but without the various post-processing effects (echo, etc) applied yet.

ALL000.MIS File and Mission Data

The ALL000.MIS and ALLTEXT.WAD files are somewhat interesting. The former is a very early file, the second oldest known version, beaten only by ALL000.BEN from the final game (which is also from July 1996). It has 107 missions defined, so "The Shining" (mission 108) likely did not exist at this point in time (it can be run successfully on this version of the code if hacked in, however).

ALLTEXT.WAD only has the briefing for the single demo mission, it does not include the briefing for The Shining like the second version of the demo does. In this file (and the demo itself), Bahrain is named Al Manamah. This is also the case in the second version of the demo, and the Official Strategy Guide, but not the final game. This is odd and likely a mistake in the final game - the format of all other locations is a City name rather than Country name (Al Manamah being a City in Bahrain). A similar situation is visible in the final game's files with Honolulu, which is frequently referred to as "Hawaii" only throughout the game files and seems to have been changed to match the format of the other areas late on.

Level Files

Strangely the game features two versions of the same level:

c070l011.dat and c070l011.d1

The game actually only uses c070l011.dat. c070l011.d1 is in fact an older version of the same level. Most notably it does not include the lengthy introduction cutscene of the final mission. The demo runs on a slightly bigger (in file size terms) version of what seems like the same Tokyo map as the final game. This demo version of Tokyo is actually included with the final game files anyway. The demo includes the corresponding .scn file for map 70 (demo version of Tokyo). This is used for the small scanner map on the briefing screen (without this file a map cannot be used in the single player campaign). This file is missing from the final game even though the demo map of Tokyo is included.

The demo has very poor performance compared to the final game.

Post-Release Demo

This is the second release of the playable demo. It was released after the game was finished on Bullfrog's website as "netdemo.zip". As such it includes newer versions of some files than even the final game. It uses the same title screen as the pre-release demo.

The demo is identical content-wise to the first one, with the same "Tokyo Fuseki" mission playable. However, it seems it was orignally intended to have two playable missions, one for Eurocorp, the other for the Church of the New Epoch. To this end it actually includes a briefing for a second mission, set in Bangkok, for the Zealots in its files. The actual map and level for this mission are missing from the demo files. the ALL000.MIS and allltext.wad files includes this new mission (108), giving it the official name of "The Shining" (and indeed the cut briefing references the player "shining" so it must be the same mission).

  • This version of the game's executable has the debug mode removed.
  • Has proper 640x480 support with the higher detail redrawn HUD for that mode included like the final game.
  • Causing a Simulated Level to play shows that this executable behaves like the final game, including the constant rain and instability.


Cut Church of the New Epoch Mission "The Shining"

This demo includes parts of what would surely have been a second mission that would let players experience the Zealot's faction. The briefing for this mission (called "The Shining") is included in the ALLTEXT.WAD file and defined in the ALL000.MIS file in the demo, but the actual level itself, and the map it would take place on (03 - Bangkok) are not included in the demo's files. It's also not possible to choose Church of the New Epoch from the menu in this demo even if the files are restored.

The demo mission is actually included with the final games' files, but its briefing is missing there. By combining the two it's possible to recreate the mission in totality. The demo seems hardcoded to only allow Eurocorp as the faction choice, but overwriting the entry for mission 104 in ALL000.MIS with the entry for mission 108 (030B) will cause the game to load the correct mission (naturally the map files for Bangkok and level c003l010.dat must be copied to the levels folder). One more step must be taken - the briefing text for the Eurocorp mission will still be loaded, so if the Church briefing is copy pasted over it in ALLTEXT.WAD, then it will show up in its place instead.

The mission seems to work fine in the demo, but its performance is even worse than that of the Eurocorp demo. Also by using the above method, the Zealots will have incorrect loadouts, they will still inherit the one intended for the Eurocorp demo. As such it's easier just to play it in the final game using main /M108.

Issue 42 of PC Zone magazine, from September 1996, has a preview of the game that mentions a two-level demo. It's said to include two levels including one exhibiting a Church of the New Epoch mission. There was therefore a further demo of the game given only to press that likely contained this second mission.