Project Dreamland

Project Dreamland is a PC port of Area 51 that aims to make the game playable on modern systems.

README

Area 51 (2005) Source Code

Welcome to the unofficial release of the Area 51 (2005) video game source code! This project aims to resurrect and preserve a piece of early 2000s video game history for enthusiasts, historians, and developers alike. Below is a brief overview of the source code details, its origin, and guidance on how the community can help bring this game into the modern era.

How to Contribute

The main goal is to get the source code into a buildable state on modern systems. Whether you're interested in game development, historical preservation, or simply a fan of Area 51, here's how you can help:

  1. Building the Project: Assistance is needed to compile and run the game on contemporary hardware. If you have experience with game development, legacy systems, or cross-platform development, your expertise is invaluable.
  2. Documentation and Research: Insights into the original development environment, including compilers, libraries, and tools, would greatly assist the restoration effort.
  3. Debugging and Porting: Once buildable, the project will require debugging and potentially porting to newer platforms to reach a wider audience.
  4. Forking and contributing: Make changes in your forks, and submit a pull request with your updates.

Join our Discord

Join our Discord

Building Code

The following prerequisites are required to build the source tree:

  1. CMake
  2. GCC or MSVC

Visual Studio solutions is deprecated

Running Build

  1. Download last asset pack from releases
  2. Download last executable from github actions
  3. Unzip the archive and place your binary file into the unzipped folder
  4. Run game

CMake Target Selection

CMake portability

CMake configures the complete target graph, but a build target only builds its own dependencies. The regular build presets build A51 only.

cmake --preset linux-gcc-x64
cmake --build --preset linux-gcc-x64-debug

To build an individual application or tool, pass its target name:

cmake --build build/linux-gcc-x64 --config Debug --target xbmptool
cmake --build build/linux-gcc-x64 --config Debug --target GeomCompiler

The aggregate targets are available when needed:

cmake --build build/linux-gcc-x64 --config Debug --target a51_selected_apps
cmake --build build/linux-gcc-x64 --config Debug --target a51_tools

Running a build without --target uses the generator's default all target and can build every non-excluded target.

Additional info

Valid platforms
PlatformStatus
WindowsWorking
LinuxWorking
macOSNot planed
AndroidWorking
iOSNot planed
Compiled apps

Attention: During the migration from VS 2004 to VS 2022, many tools are not functioning. Please use LEGACY branch.

NameStatus
AnimCompilerWorking
Art2CodeWorking
ArtistViewerUNDER CONSTRUCTION
AudioEditorUNDER CONSTRUCTION/Lib for: Editor
BinaryStringUNDER CONSTRUCTION/Lib for: Editor
BitmapEditorUNDER CONSTRUCTION/Lib for: Editor
DecalCompilerWorking
DecalEditorUNDER CONSTRUCTION/Lib for: Editor
DFSToolWorking
EDRscDescWorking
EditorDEAD
EffectsEditorUNDER CONSTRUCTION
ELFToolDELETED
EventEditorUNDER CONSTRUCTION/Lib for: Editor
FontBuilderWorking
FontEditorUNDER CONSTRUCTION/Lib for: Editor
FxEditorUNDER CONSTRUCTION/Lib for: Editor
FXCompilerDEAD
GameAppWorking
GeomCompilerDEAD
LocoEditorUNDER CONSTRUCTION/Lib for: Editor
MeshViewerUNDER CONSTRUCTION/Lib for: Editor
PropertyEditorUNDER CONSTRUCTION/Lib for: Editor
SoundPackagerWorking
StringToolWorking
ViewerDELETED
WinControlsUNDER CONSTRUCTION/Lib for: Editor
WorldEditorUNDER CONSTRUCTION/Lib for: Editor
XBMPToolWorking
XBMPViewerWorking
xCLDELETED
XSCCDELETED
xToolDELETED
Custom tools
NameDescription
Engine-51Area-51 Asset Viewer.
Inevitable-MATX-ToolkitBlender plugin for exporting .matx models for GeomCompiler.
Json-Playsurface-ProcesserScript for importing .playsurface maps into blender.
DAT-ToolCommand-line interface (CLI) utility for working with Tribes: Aerial Assault DAT archive format.

Building XBOX Code

Select the Xbox branch and follow the instructions.

Historical Overview of Area 51

  • Initial Release: Area 51 was originally released on April 25, 2005, for PC, PS2, and Xbox. It has become a memorable cult classic.
  • Air Force Sponsorship: In a unique turn of events, the game was sponsored by the United States Air Force and released as freeware for PC.
  • Abandonware Status: Despite the game's initial success and the novel sponsorship, it eventually fell into obscurity, becoming abandonware. The game's support and distribution were discontinued, leaving it in a state where it was difficult for fans to access or play on modern systems.

Source Code Snapshot Details

  • Snapshot Date: The source code is a snapshot from 2005-03-31 10:40:19, just before the game's official release.
  • Discovery: It was found at a garage sale of a former THQ developer.
  • Contents: This release includes the source code for the Entropy engine, game logic, and targets for PC, PS2, Xbox, and an early version for GameCube. Additionally, debug symbols for various platforms are available in the release. Assets are not included, but those can be recovered from the retail game files.