Skip to content

dkfans/keeperfx

Repository files navigation

KeeperFX

KeeperFX Logo

PRs welcome Release Downloads Discord

Visit our website | Join our Discord (Keeper Klan)

Intro

KeeperFX (Dungeon Keeper Fan eXpansion) is an open-source project that aims to fix up, enhance and modernize the classic dungeon management game, Dungeon Keeper. This project is dedicated to providing an improved and customizable gaming experience while staying true to the spirit of the original game.

KeeperFX is a standalone game but requires a copy of the original game files as proof of ownership. These files can be automatically copied from your old CDs, or from a digital edition like the ones from EA or GOG.

Originally, KeeperFX started out as a decompilation project, where we took the original game executables and reversed them back into usable code. Currently the whole codebase of Dungeon Keeper is remade and all code has been rewritten.

Features

  • Windows 7/10/11 support
  • Higher screen resolutions
  • Increased FPS, decoupled gfx and game logic
  • Improved and modernized controls
  • Many bugfixes
  • Map, campaign and modding customizability
  • Improved AI
  • Modern multiplayer protocol
  • Additional campaigns, maps, creatures and other content
  • ...

How to play

Installation instructions and a FAQ can be found on the Github Wiki.

You will need the original Dungeon Keeper files, either from an old CD or from the digital edition available on EA, GOG or Steam.

Development

To get started with KeeperFX development, refer to the Development Guide for detailed instructions on setting up a development environment and building KeeperFX from source.

If you wish to discuss development, you can join the Keeper Klan discord and ask to be added to the KeeperFX development channel.

Components

Component Language Info
KeeperFX C, C++ -
Launcher C++ Official Launcher to edit settings and start the game with run options.
FXGraphics - Sources of KeeperFX graphics files.
FXSounds - Sources of KeeperFX audio files.
Masterserver PHP (CLI) Multiplayer masterserver. Allows players to easily find public lobbies of others.
Website PHP https://keeperfx.net

Tools

Tool Usage
sndbanker Makes usable ingame sounds from SFX archives.
po2ngdat Converts .po files (language) to .dat.
png2bestpal Decides the best in-game color palette for an image and creates a .pal file.
png2ico Converts .png files to .ico.
pngpal2raw Creates a .raw image file that can be used by the game from a .png and a .pal (palette) file. The palette file can be created with png2bestpal.
rnctools Handles the RNC compression of many original DK data files.
dkillconv An unfinished tool to convert a map to a text based format.

Further Improvements

KeeperFX could be further improved in these key areas:

  • Multiplayer performance and features
  • Expand and improve AI / Computer player behavior
  • Improve pathfinding performance
  • Expand creative freedom for modders even further
  • Native cross-platform support
  • Improve code readability and maintainability
  • Lua support
  • ...

Contributing

We welcome contributions from the community to improve and expand KeeperFX.

  • Report bugs by opening issues.
  • Submit feature requests and discuss potential improvements.
  • Contribute code by creating pull requests.

License

This project is licensed under the GNU General Public License v2.0. Feel free to use, modify, and distribute it according to the terms of this license.