OpenCiv1 – Civ1的开源重写
OpenCiv1 – open-source rewrite of Civ1

原始链接: https://github.com/rajko-horvat/OpenCiv1

## OpenCiv1:文明1的现代重塑 OpenCiv1是一个开源项目,旨在用现代代码重现席德·梅尔的《文明1》(1991年)。重要的是,它**需要合法拥有原始DOS游戏**才能运行,因为它不包含原始游戏中的任何受版权保护的文件。 该项目是完全重写——而非模拟——使用C#来实现平台独立性和避免版权问题。原始汇编代码通过虚拟CPU进行模拟,而其余部分则被替换为无版权的代码,包括计划中图形、音乐和文本的替换。 目前可玩,OpenCiv1欢迎通过测试、代码翻译(从伪汇编到C#)以及视觉/音频主题设计(保留原始感觉)来贡献。未来的计划包括高质量的图形和音频、基于Web的游戏、多人游戏功能和插件支持,所有这些都将保持原始游戏的核心规则和精神。目标不仅仅是复制,而是创建一个现代化、易于访问且可扩展的经典版本。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 OpenCiv1 – Civ1 的开源重写 (github.com/rajko-horvat) 9 分,来自 caminanteblanco 2 小时前 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

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

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 Civilization 1 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.

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).

How to Contribute to this project

Anyone can contribute to this repository in accordance with these Contributing guidelines

Currently, you can contribute to this repository in one of the following ways:
  • By testing the game functionality and submitting Issues,
  • By translating the part(s) of the code from pseudo assembly language to native C# language (for details see Introduction to code translating),
  • By designing parts of a 'Default' Visual and Audio theme (which must preserve original Game appearance and feel as much as possible, SVG and MIDI/SoundFonts would be the best),
  • By designing parts of a 'Custom' Visual and Audio theme(s) (SVG and MIDI/SoundFonts would be the best).

Frequently asked questions

Q: Why did you use C#, instead of C and x86 assembly in which the original game is written?

A: I have chosen C# becase it's platform independent, secure, flexible, managed, popular, modern and API rich language.

Q: Why does the OpenCiv1 differs, in some aspects, from the original Civilization 1 game?

A: There are numerous reasons:
  • Simply replicating all of the functionality to skip the DosBox emulation to be able to run the game natively is not a good enough reason (for me) to start a project of this magnitude.
  • Copying the game Code, Functionality, Graphics and Audio would be considered a Copyright volation and that is prohibited by current Copyright laws.
  • To make the OpenCiv1 available to anyone who wishes to play the game, and that means Copyright free Code, Graphics and Audio.
  • To add additional functionalities (features) to the game (like online gaming, scalable HQ Grahics, HQ Audio, plugins, etc.).
  • To make OpenCiv1 platform independent, popular, appealing and easy to play, to the older, as well as to the younger public, as was original Civilization 1 game popular back in the day.

Q: Will OpenCiv1 source code be indentical to the Original Civilization 1 game source code?

A: No. The OpenCiv1 source code does not contain any original Civilization 1 source code. The rewritten code performs the same function (as the original code does), but the code is completely different and under MIT license. The Microprose and its successors never released the original source code which remains protected under copyright laws to this day.


Q: Does that mean that the OpenCiv1 will be completely different from original Civilization 1 game, like, for example FreeCiv?

A: Absolutely not, the goal is to keep all of the original rules and functionalities, as well as much as possible of the original Visual and Audio appearance.

Q: You know that Civilization 7 will be published soon, doesn't that make First Civilization game in the series completely obsolete?

A: Based on some stats, many people think that the first Civilization offers as much fun as the other sequels do.

Q: Are there any additional or different keyboard shorcuts (apart from the default ones)?

A: Yes, these are additional keyboard shorcuts that you can use during the game:
  • Alt + D - Enable / Disable the Debug mode (previously, 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
  • You can't scroll the map with Shift + NumPad keys, instead use Shift + Navigation Keys (Up, Down, Left, Right, Home, End, PageUp and PageDown)
  • .NET Core 8
  • Visual C++ 2015-2019 redistributable (on some Windows machines)

How to run the release version of OpenCiv1

The files from the Release should be copied directly into installed and working DOS Civilization game directory. The game can be run by running the OpenCiv1 executable.

How to compile the code (.NET Core 8 SDK required)

If you want to Debug (or Compile) the code with Visual Studio 2022 Community Edition, it is assumed that:

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

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 Razor platform (Web interface, online gaming),
  • HQ Graphics (the new graphics will be as close as possible to the spirit of the original version),
  • HQ Audio (the new Audio 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.

Current 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

联系我们 contact @ memedata.com