Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/rajko-horvat/OpenCiv1

Open source rewrite of the original Civilization Game designed by Sid Meier and Bruce Shelley in year 1991
https://github.com/rajko-horvat/OpenCiv1

4x 4x-strategy-game civilization civilization-games game remake remake-games retro retro-game retrogaming sid-meier-civilization

Last synced: 15 days ago
JSON representation

Open source rewrite of the original Civilization Game designed by Sid Meier and Bruce Shelley in year 1991

Lists

README

        

## About

OpenCiv1 project is an open source rewrite of Civilization game designed by Sid Meier and Bruce Shelley in year 1991.



  • The OpenCiv1 uses .NET 8 and Avalonia UI framework and is OS independent. It is currently compatible with desktops: Windows, Linux and MacOSX.


  • Windows OS
    Linux OS
    MacOSX OS


  • The game logic is Based on original DOS Civilization game version 475.05 disassembly.

  • The game is still very popular and easy to play. But the obsoletness of DOS or Windows 16-bit platform and the bugs that have never been fixed are hindering the popularity of the game.

  • The news, discussions about this project and releases are published regularly on Civilization Fanatics Forum page

## Copyright considerations

The available code is not a full working copy of the game. To run OpenCiv1 you are legally required to own your own copy of the DOS Civilization game.
This is the reason that not a single file from the original game is included in this GitHub repository as they are copyrighted.

The part of the game assembly code is emulated with Virtual CPU, and the rest of the code has been rewritten from scratch until all of the code is replaced with new copyright free code. The other resources (like graphics, music and text) will also be completely replaced with copyright free resources before publishing the complete game.

## Dependencies


  • .NET 8

  • Visual C++ 2015-2019 redistributable (on some Windows machines)

## How to install release version of OpenCiv1

The files from the Release should be copied directly into installed and working DOS Civilization game directory.

## How to compile the code (.NET 8 SDK required)
If you want to compile the code, it is assumed that:


  • You are using Visual Studio 2022 (or equivalent).

  • For debugging you have installed DOS Civilization game at 'c:\Dos\Civ1\', or at '~/Dos/Civ1/' if you are using Linux (uppercase files!).
    It is where its home directory resides (Images, palettes, text and save games are loaded/saved there, for now).

  • For Release mode it is expected that OpenCiv1 and it's dependencies (for simlicity) are put directly into directory with resource files,
    for example: 'c:\Dos\Civ1\', '~/Dos/Civ1/' or any other path.


Compile with CLI method:

  • git clone https://github.com/rajko-horvat/OpenCiv1 (To clone a specific branch use: git clone -b [branch] https://github.com/rajko-horvat/OpenCiv1)

  • cd OpenCiv1

  • dotnet build -c Release

## Current status

The game is in working state, but you have to legally own the Original game (the .txt, .pic and .pal files have to be present).


Keyboard shortcuts:


  • Alt + D - Enable / Disable the Debug mode (Shift-56)

  • Alt + P - Pause / Resume game

  • Alt + 1 - Show / Hide Screen 1

  • Alt + 2 - Show / Hide Screen 2

  • Alt + 3 - Show / Hide Screen 3

## Help needed

All contributions are welcome.


For this stage of code rewrite, the programmings skills needed are:

  • Moderate knowledge of assembly language,

  • Knowledge of C# language.

  • For details see: https://github.com/rajko-horvat/OpenCiv1/wiki/Introduction-to-code-translating

## Project milestones

The goal is to completely rewrite the code (first stage), fix the bugs and port the code to a modern platform (second stage).

### Milestones for a first stage


  • Reaching the initial playability of the game (passed),

  • Rewrite of the game code, functionalities and features (in progress...),

  • Archive the game code.

### Planned milestones for a second stage
What will change in the new version:


  • Porting to HTML5 platform (Web interface, online gaming),

  • Graphics (the new graphics will be as close as possible to the spirit of the original version),

  • Music/Sounds (the new music/sounds will be as close as possible to the spirit of the original version),

  • Some text where appropriate,

  • Design (Map zoom functionality, some small updates, also some dialogs will be slightly different),

  • Multilanguage capability,

  • Multiplayer capability,

  • Cheat capability,

  • Plugin capability (can override rules, graphics and music/sounds).


What will stay the same:

  • Original game rules and logic (except for established bugs),

  • Overall look and feel of the original game.

## Screenshots of the OpenCiv1 game


Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Screenshot 10
Screenshot 11
Screenshot 12
Screenshot 13
Screenshot 14