Skip to content

Pyrdacor/freeserf.net

Repository files navigation

Freeserf.net

Freeserf.net is an authentic remake of the game The Settlers I by BlueByte.

To avoid copyright issues I won't provide any copyrighted data from the original game like music or graphics. To play the game you will therefore need the original DOS or Amiga data files.

Freeserf.net is a C# port and extension of freeserf.

Build status

Download the game

Windows Linux
v2.1.1 v2.1.1

Builds for other platforms will follow later. Only recent Ubuntu versions are tested for Linux version.

Note: For now you need the DOS data file 'SPAx.PA' to run the game, where x stands for the language shortcut. You can also use the Amiga files (either the disk files "*.adf" or the extracted files like "sounds" and "music" will work). Amiga music and sounds work well but the map tiles are not displayed properly.

You can combine DOS and Amiga data (e.g. music from Amiga and graphics from DOS). See configuration for more information about the Freeserf.net configuration.

For Ubuntu make sure you have installed libgdiplus via command sudo apt-get install libgdiplus.

Audio is provided by BASS. The assemblies are contained in the releases but they are for 64-bit systems only. If you have a 32-bit system you have to download them on your own or from here.

Support development

If you want to support this project or other projects of me you can do so here.

Become a patron Sponsor Donate Flattr
Thank you very much!

You may also be interested in my other projects:

  • Ambermoon.net - a C# rework of the Amiga classic Ambermoon
  • Ambermoon - a research project to track findings of Ambermoon data decryption

Current State

Currently I am working on multiplayer support.

All the code from freeserf was ported or re-implemented. AI logic was added in addition.

The renderer is using Silk.net and netcore 3.1.

Things that are missing are some minor parts of AI logic and tutorial games.

The game is playable for most parts. If you find any bugs please report it in the Issue Tracker. You can also look for open issues there.

Normal Game Mission Ingame Menus Map

Roadmap

Phase 1: Porting (100%) - [Finished]

The first step is to port everything from C++ to C# and ensure that the game runs. There may be some quick&dirty implementations or things that could be done better.

Phase 2: Optimizing (100%) - [Finished]

This includes bug fixing and C#-specific optimizations. Moreover this includes performance and stability optimizations if needed. Also the plan is to make everything cross-plattform as much as possible.

Phase 3: Extending (15%) - [Active]

This includes:

  • New features
  • Better usability
  • Other things like mod support, tools and so on

Future Goal

At the end this should become a stable and performant game that runs on many platforms and can be easily compiled and extended by .NET developers.

I am not sure how far this project will go as my time is very limited. I can not promise anything at this point.

Implementation details

The core is implemented as a .NET Standard 2.1 DLL. The renderer is also a .NET Standard 2.1 DLL and uses Silk.NET for rendering. The sound engine is using BASS and is capable of playing MIDI, MOD and SFX/WAV on Windows and Linux.

The main program is based on netcore 3.1 and should run at least on Windows and Ubuntu.

Contribution

If you need help or want to help developing, just contact me. You can also contact me via Issue Tracker by adding a new issue and tag it as question.

There is a more or less up-to-date list with open issues of several relevances and importances.

Ingame key shortcuts

Key Description
DEL Demolish active building, road or flag
ESC Abort road building, close ingame windows
TAB Open notification
Ctrl+TAB Return to last map position after notification
Shift+M Toggle music
Shift+S Toggle sound effects
0 Reset game speed to normal
9 Maximize game speed
P Pause or resume game
+ Increase game speed
- Decrease game speed
> Zoom in
< Zoom out
F11 Toggle fullscreen mode
Ctrl+F Toggle fullscreen mode
F5 Quick save
F6 Open save dialog
Shift+Q Open quit dialog
Shift+P Open player overview
B Toggle possible builds
H Go to your own castle
J Jump between players (AIvsAI and spectators only)
M Toggle minimap