Homeworld SDL
🚧📢 PROJECT MOVED: HomeworldSDL is now Gardens of Kadesh !
This repo is only a mirror. You have been warned.
Gardens of Kadesh
📣 Play the demo in your browser! (Will download ~70MiB of data. You need a good internet connection.)
Source port of Homeworld 1 to modern systems (Linux, Windows, macOS, and web browsers).
Homeworld is a 3D space real-time strategy game released in 1999. It's source code was released in 2003 by Relic Entertainment, allowing a small but dedicated community of fans to port it to SDL, enabling native versions for Linux, MacOS, and more recently, web browsers.
💬 Join our matrix space
Requirements
This repository contains only the source code for Homeworld's engine (metaphorically, the skeleton). In order to have a playable game, you will need the original assets (artwork, textures, sounds, meshes, ... Metaphorically again, the flesh).
To be clear: You need to have bought the game to use this project.
So make sure you either have:
-
The original Homeworld game from 1999 (It is not sold anywhere anymore, so either you have a CD dusting on your shelf, or you'll have to get one second-hand). In that case, you should also download the official 1.05 patch.
Asset checklist
This section is intended as a quick checklist to make sure you have everything needed for the game to run. If you don't know where to find one of these files, see the appropriate section below. (Most of them can be found in the game's installation folder.)
Original (1999)
Homeworld.bigsha256: af9dcc06e3f99404334a0a8ec17e399876080e85feb5b47858382dc715136040
Update.bigProvided by the official 1.05 Patchsha256: c71b07758ee7696b3a19c1d75c946cbd68830e03b30cd3c2888f2f6d22b7c976
HW_Comp.vcesha256: 15c4b988adb09b0969b0dc288b21ddc10ca9d42a2064d15b46b53dcf02fc2e44
HW_Music.wxdsha256: b909c2cdbc8c8db67be168f6005bf8e8facaa9857263b16d186c824a0c4eed4f
Movies(This folder is optional, you will simply not have the pencil-style cutscenes in the campaign)
Remaster (2015)
homeworld.big(You might have to rename it toHomeworld.big, with a capitalH)sha256: e38c0528c1d4bd9d9195d26d5231ae29bef18f57d9bd1fe2eed33fb2b9b172a8
HW_Comp.vcesha256: 15c4b988adb09b0969b0dc288b21ddc10ca9d42a2064d15b46b53dcf02fc2e44
HW_Music.wxdsha256: 48f93c07bf718c56c20727aba12f06baf13d4d11d1c7185d2d2153543834e454
Movies(This folder is optional, you will simply not have the pencil-style cutscenes in the campaign)
Setting up the assets folder
You should choose an installation folder where you will put (copy|move|symlink) all the required files. This will be refered to as $ASSETS_FOLDER from here on out. (For example ~/Games/HomeworldSDL/)
Extracting the assets
Original (1999)
Install the game and patch with wine (tested with wine 4.1)
wine HWSetup.EXE
wine si_homeworld_update_105.exe
Open the game installation folder (usually ~/.wine/drive_c/Sierra/Homeworld). This is where you'll find the required files. Put them to $ASSETS_FOLDER.
Remaster (2015)
Steam
After installing the game, you should find the required assets in ~/.local/share/Steam/steamapps/common/Homeworld/Homeworld1Classic/Data. Put them to $ASSETS_FOLDER.
Compiling from source
Linux
Please refer to Linux/BUILD.md
Game is slow/crashes
By default, the game is compiled with debugging tools which can slow down the game and crash it when it is trying to fit round pegs in square holes.
If you experience any crash, please, send us the log!
But if the game is too slow or you encounter a crash that you cannot work around, you can compile an optimised version with:
meson setup --buildtype=release -Db_sanitize=none build.fast
More info on compiling the game with meson in
Linux/BUILD.md
macOS
Please refer to Mac/BUILD.md.
To setup either the data from the original or remaster. Please place the data assets into 'Library/Application Support/Homeworld' or, if you are using Raider Retreat, place them in the same destination folder except to use 'Raider Retreat' instead of 'Homeworld'.
Running the game for the first time
The first time you run the game, you will have to point it to the directory containing the required assets. For example, if you have compiled the game from source:
HW_Data=$ASSETS_FOLDER ./homeworld
where ./homeworld is the path to your HomeworldSDL binary executable.
Once the game starts, you should then configure the OpenGL renderer.
The game stores its configuration in ~/.homeworld, and will remember the asset directory and graphics configuration for later runs, which means you don't need to provide the HW_Data dir the next time you run the game, and you can safely move the executable around.
Configuring the OpenGL renderer
The first time you run the game, you'll have to configure the renderer to use OpenGL. This will be saved in your ~/.homeworld, so you won't have to do it every time you run the game.
Once the game has launched, you need to:
- Select "Options" from the main game menu.
- Select "Video" from the available option sub-menus listed on the right side of the screen.
- Select "(GL) Default OpenGL" from the "Rendering System" box.
- Choose a resolution from the "Resolution" box (any resolution you choose will do fine).
- Click on the "Accept!" button in the bottom-right corner of the screen.
The game will now attempt to switch to the OpenGL renderer.
If everything goes okay, you should be presented with a confirmation that the settings you requested were changed. Select "Yes", and you should be ready to go!
About
If you want to know more about this project (and see some screenshots!), please head over to the wiki.