/OpenHoW

Open-source reimplementation of Gremlin's Hogs of War (PC/PSX).

Primary LanguageCGNU General Public License v3.0GPL-3.0

Hello! 👋

This project has been archived, for now. For those not aware, there is an official Hogs of War remaster currently in the works which seems likely to fulfil many of the goals this project set out to accomplish. Rather than compete with that, I've decided to move on to do my own thing.

This repository will remain, just on the chance that there's a reason to return to it or someone finds something here useful. Thanks to all that contributed and helped out too! ❤️

Regardless of whether or not I ever return to this, this was a really enlightening project to work on. I met a lot of great folks and learnt a lot about engine design and reverse engineering. That said, I've also learnt a lot since and if I do return to this particular project, much of what's here will probably be thrown out a window.

If you're interested to see what I'm working on next, feel free to check out my blog here, otherwise thanks for checking the project out! 😄


OpenHoW

Project Stats

FOSSA Status CodeFactor Build Status version

What's this? 🐷

OpenHoW aims to be an open-source reimplementation of Hogs of War, a turn-based strategy game produced by Gremlin Interactive.

The entire project is being built from the ground up, supporting content from the PC release of the game, and the end goal will be to produce a completely open and free version of the game, featuring completely new assets to replace those of the original (think FreeDOOM).

Features 📃

Consider this more of a wish-list at this point in time ;)

  • Support for Windows and Linux, with possibly more to follow!
  • An editor to allow for easy modification of game data
  • Enhanced graphics over the original game

Status 🔍

Screenshot

As of October 1st, 2019, the project is still in a very early phase of development. As we shift onto our next milestone (0.5.0) a lot of work will begin on actually getting the game into a basic playable form.

The current goal is to get the game into a rough playable state.

Contributing 🔨

Interested in contributing to the project? Know C/C++ and looking to get deep down into some code? Then what are you waiting for!?

The best place right now to get in touch is through our Discord, and makes things a hell of a lot easier to coordinate and collaborate as well. If you're interested then jump on in!

Otherwise if you're just simply interested in the progression of the project, you too are more than welcome to join us. 😏

Getting Started

Here's a rough guide to getting up and running.

There are several requirements in order to compile the project successfully, each of which have been listed below.

  • CMake (needed for project generation)
  • SDL2 (needed for input, window creation and audio)
  • OpenAL Soft (needed for audio)

At this time with these dependencies the project should compile for Linux (Ubuntu 19.10: apt install cmake libglew-dev libopenal-dev libsdl2-dev) but Windows needs some further care before it will be up and running correctly (see Windows section below).

Once compiled, you need to use the extraction utility: point it to your Hogs of War installation directory. The tool will then copy across and update any of the original Hogs of War's assets as necessary. If you want the files to be copied over somewhere else, add -<output-dir> after specifying your Hogs of War directory, but the default bin directory is required to get OpenHoW up and running.

Linux

git clone https://github.com/TalonBraveInfo/OpenHoW.git
cd OpenHoW
git submodule update --init
mkdir build
cd build
cmake ../

Windows

On Windows, the project has been successfully compiled against MinGW 64-bit. One additional step you may need to perform is to download a copy of the SDL2 development libraries for MinGW 64-bit.

After you've downloaded these files, place the 'include' and 'lib' directories under 'SDL2-2.0.9/x86_64-w64-mingw32' in a new 'SDL2' directory under 'src/3rdparty'.

This will be changing at a later point to make things a little easier.

C/C++ Style Guide

A style guide is available here.

At the moment the project is a mess of different styles, which is very much an unfortunate side effect of experimenting with different styles during earlier stages of development.