CivOne - An Open Source remake of Civilization 1

The first focus is to recreate the original game as much as possible. In a future release, I will probably implement modding the battle outcome, which should make it possible to make a mod that uses hitpoints. Low priority though...

Hi SWY

I have played on the latest version (64bit on Windows 10), and it is pretty much the old CIV. This is quite extraordinary, I could say it is the same game.
In my playthrough I have found 5 huts. The result was 2x gold, 2x mercenaries (legion) and one scroll (tech).
Regarding the hit points suggestion, you could make it so in the CIV 1 clone gameplay, each unit has 1 hitpoint. Later we could change this via ini or mods to greater hitpoints or whatever.

In my opinion you should create ways to mod the game even in these early stages. It will take years until you will recreate the whole game in all of its aspects. Testing will take a lot.
Modding would take place in paralel, and this might bring more people to this project.

In this early stage, by modding I mean cosmetic or simple issues such as improved graphics for tiles and units, maybe with time improved graphics for the city screen and "NPCs" (advisors, leaders, etc). These things shouldn't have an impact on AI, resources, etc.

If you don't plan ahead for mods, it will be hard in the end to change stuff, or you will be drained by the effort, and not do it.

The gameplay in this game is the foundation of most civilization like games. It is simple, fun and rewarding. So modding this could bring it back in the 21st century :)

I am grateful for your effort to bring back this classic! Great work!
 
In my opinion you should create ways to mod the game even in these early stages. It will take years until you will recreate the whole game in all of its aspects. Testing will take a lot.

Hi Laterego, thank you very much for testing.
I've had plugins in mind from the start, but always thought it would only start to be logical when I've got a working game (which, I think, is the point I'm almost at right now).
I had simple modding implemented a few versions back but the plugin support stopped working when I switched to .NET Core. However, the code making it possible is still pretty much untouched and available in the current code base. For the first Alpha version after 0.1.0-alpha.1, I am planning on adding back the plugin support and provide extensive samples on how to create plugins. This will open the possibility for the following types of mods:
  • New/Modified leaders
  • New/Modified civilizations
  • New/Modified advances
  • New/Modified city improvements and world wonders
  • New/Modified units
  • New/Modified terrain types
  • New/Modified government types
  • Custom map generation plugins
  • Custom AI logic
  • Custom menus/screens
  • Modifying existing screens (examples: A modified city manager or a map viewer that allows you to zoom in and out)
  • Etc...
Additionally, I'm working on a new website. The first version is almost finished. The website will feature several modding tools as well, including a translation tool (that will allow the community to translate CivOne to other languages), a graphics editor (that allows you to create custom unit mods without any programming experience).
The first version of the website will not include most of these tools, but I'm already working on these tools. Once the first alpha version is released and some of the tools are complete, I will start a crowd funding campaign to raise about €200,00 so I can keep the website running for the next 3 years.
My hope is that we'll be able to build a small community of CivOne players and modders, and that together we might one day see a free graphics project like OpenTTD has.

Other future extended features that I want to add are:
  • Multiplayer support
  • Possibility to play on smaller and larger maps
  • Support for HD textures

So yeah, I've giving modding support some thought... so don't worry about that.
I want to finish the first alpha version first though... and we're still at 25 open bugs. Thankfully, most of these issues are relatively easy to fix. Hopefully they will all be fixed before the end of the month. :)

Edit:
Also, I've got CivOne running on both UWP (Windows/Windows Mobile) and Android. I'll be posting previews to the Windows and Play stores as soon as I've got the touch screen controls working well.
 
A lot of changes and bug fixes in this preview version. Most importantly: It's now possible to win the game by conquest and the end game animation is also included. Thanks to all the bug reports, CivOne is getting better and better, thanks everyone for testing!
I've also made several improvements to the debug menus.

Here's the list of changes since the last version:
  • Changed unit destroyed animation speed
  • Implemented original sprite animation for destroying units
  • Added patch to choose between sprite and noise animation for destroying units
  • Implemented end game: It is now possible to win the game by conquest, and you'll get to see the conquest animation
  • Optimized AI code to speed up the time between turns
  • Added fade out to New Game, Tutorial, Civilopedia and Main Menu screens
  • Made several additions to the Spawn Unit debug menu item
  • Improved Set Player Advances debug menu
  • Added decorated border to Save Game screens
  • Fixed: Show correct number of pictures on stack in New Game Setup
  • Fixed: Menu item clickable area was 1x1 pixel too large
  • Fixed: Zone of control was no longer working
  • Fixed: Land unit penalty when moving from or onto ocean tile (boat)
  • Fixed: Apply Lighthouse/Magellan's Expedition effects on units first turn
  • Fixed: Player destroyed check was incorrect
  • Fixed: Rounding issue in city trade to gold/science/luxuries
  • Fixed: Do not allow land units to attack from sea tiles (boats)
  • Fixed: Center on unit near the edge of the screen depends on view range
Here's the download links:
  • Download links removed, new version below...
 
Last edited:
Hooray, more than 1,000 commits already, and lots of bugs solved since the previous version. I'm finally down to 20 bugs since for version 0.1.0-alpha.1. Here's the list of changes:
  • Added fade out to Customize World screen
  • Added Reveal World Debug Menu Item (same as Shift 5+6)
  • Added support for Home, End, Delete and Numpad keys in Input boxes
  • Added confirmation dialog to save game screen
  • Load civilization leader picture on demand, this fixes the delay when selecting number of Civilizations
  • Implemented new method of hiding/showing mouse cursor
  • Implemented remembering load/save game item
  • Implemented trade, food and production bonus for RailRoad tiles
  • Fixed: Always update the map after spawning a unit
  • Fixed: MarketPlace increases luxuries by 50%
  • Fixed: Prevent spawning a unit on top of a hut
  • Fixed: Allow sea and air units to attack from ocean tiles
  • Fixed: Caravan units are free of maintenance
  • Fixed: Thousands seperator no longer depends on computer culture settings
  • Fixed: Minimap blinking units on top of cities
  • Fixed: Period and comma keys in input box when using Dvorak keyboard layout
  • Fixed: Do not use terrain penalty for unit attacks
  • Fixed: Correct gold price for buying buildings and wonders
  • Fixed: City resource tile checking algorithm now works a lot better
  • Fixed: Delay between unit moves has been reduced considerably
  • Fixed: Do not destroy whole stack when attacking unit loses
  • Fixed: Do not allow resource tiles on top of other cities
  • Fixed: Trade and food resources no longer overflow (unless the city is very large)
  • Fixed: Removed extra frames from movement animation
  • Fixed: Building cities on top of RailRoad tiles
  • Fixed: Do not show destroyed cities in the status reports
  • Fixed: Never show enemy unit information in the sidebar
  • Fixed: Visual glitches in city manager and popup messages appear to have been resolved
  • Fixed: Pressing ENTER on conquest screen skips only part of the animation
Here's the download links:
  • Download links removed, new version below...
Update:
I've updated the download links to version 0.1.0pre-alpha1-r1002 because there was a breaking bug in the previous version.

Update 2:
I'm down to 13 open bugs, I'll post a new preview build later today or tomorrow.
 
Last edited:
Just 10 more open bugs for version 0.1.0-alpha.1. Here's the list of changes since the last version:
  • Migrated project to .NET Core 1.1.1
  • Render mouse cursor seperately from the canvas
  • Update mouse on render instead of update (should minimize cursor lag)
  • Implemented proper shield stacking in the city manager
  • Improved city view new building animation
  • Implemented awarding Veteran status to units
  • Fixed: Some report screens were invisible
  • Fixed: Screen update of Attitude Survey could leave artifacts when there are multiple pages
  • Fixed: Do not change the active unit after attacking
  • Fixed: Incorrect calculation in Attack code
  • Fixed: End Bomber turn after an attack
  • Fixed: Palette glitches/Yellow and white lines
  • Fixed: Screen update after copying files to data folder
  • Fixed: Always show defending unit, even in a city
  • Fixed: Don't end a land unit turn when moving on a boat
  • Fixed: Always show thousands seperator on population count
Here's the download links:
  • Download links removed, new version below...
Edit:
The CivOne engine is now capable of playing sound files, although it's not doing so anywhere yet. I'm adding support for playing the Civilization for Windows sounds in game, on the condition that you copied the .wav files to the ~/sounds directory.
If the files are missing, the game will function normally without sound.
I hope that I'll be able to decode the original Civilization for DOS sound files, but that's going to take some time so I thought this was a nice alternative for now...
 
Last edited:
I'm sorry, this thread is turning into a monologue with changelogs... if I'm breaking any forum rules, please let me know.

I've made a lot of changes since last Thursday. I've even implemented some features that I originally didn't intent to implement yet. The problem is that fixing load/save games is a very boring task so I'm working on some other features in between fixing load/save games to keep myself entertained.

There's 13 open issues now left for 0.1.0-alpha.1 now, but I've closed 14 bugs since last Thursday, so I hope that counts as proof that I'm still working on making the game better.

Here's the changelog since last Thursday:
  • Added hidden settings (for debugging purposes): ExpandWidth and ExpandHeight
  • Added patch to enable selecting Deity difficulty from new game menu
  • Enabled ingame Sound option
  • Rewritten city tile resources logic
  • Made several improvements to load/save game logic
  • Moved WonderObsolete code to Game logic
  • Implemented support for playing .wav files (added support for CivWin sounds)
  • Implemented happy and unhappy citizens (no noticable effects yet)
  • Implemented building effects for: Temple, Colosseum and Cathedral
  • Implemented wonder effects for: Hanging Gardens, Oracle, J.S. Bach's Cathedral, Shakespeare's Theatre and Cure for Cancer
  • Implemented Goto function
  • Improved AI to make use of Goto function (sort of less random looking AI movement)
  • Fixed: Do not count destroyed cities as player cities
  • Fixed: Correct tax/science/trade for each government
  • Fixed: Game crashed when cancelling input boxes in debug menus
  • Fixed: RailRoad movement with less than 1 turn remaining ended the turn
  • Fixed: Saving on case sensitive file systems
  • Fixed: Trade value for rivers was incorrect
  • Fixed: Mouse drag is working once again
  • Fixed: Incomplete drawing in conquest victory animation
  • Fixed: Save game created corrupt files when the game had destroyed cities
  • Fixed: Correct spacing between citizens in city manager and attitude survey
Here's the download links:
  • Download links removed, new version below...

Please, if you've played this version, let me know what you think. If you find any bugs, you can either report them here or on GitHub. Thank you!

Edit:
I forgot to mention something. Here's the instructions if you want to play the game with Civilization for Windows sounds:
  • Copy all *.wav files from the Civilization for Windows installation folder to {civonepath}/sounds/*
  • Download and install OpenAL from here: https://openal.org/downloads/
  • After starting the game, it should now play the CivWin sounds
Adding the CivWin sounds is a temporary solution to being able to play the game with sound. Eventually, when the original files have been decoded, I will add the original sounds to the the game.

Edit 2:
There's a number of annoying bugs in the latest preview build. I will post a new preview build later today.
 
Last edited:
The previous build was a bit buggy, so I've created an update. Some of the reported bugs have been solved, and some may have been solved but I couldn't reproduce them so they require testing.
Here's the list of changes since the previous build:
  • Make AI start building Settlers units sooner
  • Implemented Wonders of the World screen (F7)
  • Implemented Save Game header error detection (hopefully fixes the Save Game crash)
  • On Chieftain level, do not allow building Settlers units in cities of size 1
  • On Warlord and higher levels, when player only has 1 city of size 1, do not delete city if Settlers is produced
  • Implemented Nuclear explosion and destroying all surrounding units
    (pollution has not and will not be implemented for now)
  • Fixed: Do not close Options menu when toggling an item
  • Fixed: A city that contains a Palace cannot build a Courthouse
  • Fixed: AI players produced too many Phalanx units
  • Fixed: When moving into a city that belongs to player, do not show units in the city
  • Fixed: Game crash when clicking on the border of the City Manager mini map
  • Fixed: Always show mouse cursor when browsing for (data) files
  • Fixed: Colossus effects only apply to the city where the wonder was built
  • Fixed: Correct spacing between citizens in City Manager and Attitude Survey (again)
  • Fixed: When loading a game, mark all used city names so they don't show up again
If you want to use the Civilization for Windows sound files, please read the post above.

Here's the download links:
  • Download links removed, new version below..
 
Last edited:
...
  • On Chieftain level, do not allow building Settlers units in cities of size 1
  • On Warlord and higher levels, when player only has 1 city of size 1, do not delete city if Settlers is produced
...
... is there still a way to remove a city 'yourself' - and get a settler back?

The "AI"/gameplay_of_CivDos didn't/do not use this,
so it (still) would be a nice feature for the human player - anyway if 'chieftain' or higher levels.
 
... is there still a way to remove a city 'yourself' - and get a settler back?

The "AI"/gameplay_of_CivDos didn't/do not use this,
so it (still) would be a nice feature for the human player - anyway if 'chieftain' or higher levels.

Yes, that's possible with the current implementation: If you're playing on Warlord or higher level, once you have more than one city you can remove a city by building a Settlers unit in a size 1 city.
 
Hey all, sorry I've been away for ages but, you know, life and all!

Sounds like amazing progress has been made in that time though and I'm super keen to get testing again, though as my knowledge only went as far as the look and feel of Civ, and by all accounts CivOne is now pretty much indistiguishable for the original, I don't know how much help I can be from now on! That and I'll probably have to disappear on and off as life continues to get in the way, but even if all I can do is support the project in a sporadic fashion, that's what I'll do!

Loving some of your other ideas, SWY, re the website and online CivOne! I don't think you'll have any problem crowdfunding, especially when the first alpha is out!

Simply great work!
 
Hello!

I don't know how to thank you for this great work! Being able to play DOS-Based Civilization on top of Windows is awesome!

I have a problem though. When I try to run it, I get lots of errors indicating files are not found.
I'm using original four-disk floppy disk images of Civilization to install it.

Game Start
File not found: SP257.PIC
Warning: Character width larger than bytes per character. (ID: 95, Width: 9)
File not found: ICONPG2.PIC
File not found: ICONPG3.PIC
File not found: ICONPG6.PIC
File not found: ICONPG5.PIC
File not found: ICONPG1.PIC
File not found: ICONPG4.PIC
File not found: ICONPG8.PIC
File not found: ICONPG7.PIC
File not found: CITYPIX2.PIC
File not found: SP299.PIC
File not found: SP257.PIC
Warning: Character width larger than bytes per character. (ID: 95, Width: 9)
File not found: BIRTH1.PIC
File not found: LOGO.PIC
Checking data files...
- Done, all files exist
Checking data files...
- Done, all files exist
Civilopedia: Preloading articles...
File not found: ICONPG4.PIC
File not found: SP299.PIC
File not found: ICONPG5.PIC
File not found: ICONPG8.PIC
File not found: ICONPG6.PIC
File not found: ICONPG1.PIC
File not found: ICONPG3.PIC
File not found: ICONPG2.PIC
File not found: ICONPG7.PIC
File not found: ICONPGD.PIC
File not found: ICONPGB.PIC
File not found: ICONPGA.PIC
File not found: ICONPGA.PIC
File not found: ICONPGB.PIC
File not found: ICONPGE.PIC
File not found: ICONPGD.PIC
File not found: ICONPGB.PIC
File not found: ICONPGC.PIC
File not found: ICONPGD.PIC
File not found: ICONPGC.PIC
File not found: ICONPGC.PIC
File not found: ICONPGA.PIC
File not found: ICONPGB.PIC
File not found: ICONPGA.PIC
File not found: ICONPGE.PIC
File not found: ICONPGE.PIC
File not found: ICONPGC.PIC
File not found: ICONPGC.PIC
File not found: ICONPGA.PIC
File not found: ICONPGD.PIC
File not found: ICONPGE.PIC
File not found: ICONPGD.PIC
File not found: ICONPGB.PIC
File not found: ICONPGD.PIC
File not found: ICONPGC.PIC
File not found: ICONPGA.PIC
File not found: ICONPGB.PIC
Civilopedia: Preloading done!

-----------------

When I check it, the files are there, but the CivOne does not detect it. Version problem maybe?

Thank you!
 
Hi, were the files copied to the CivOne data directory?
How did you start the game? You should run the .bat file in the game directory, do not run the .exe file directly: It will get the path wrong.
Can you make a screenshot of your CivOne data directory?

---

BTW: I'm sorry about the lack of development again the past couple of weeks. I will get back to coding soon...
 
Yes, it currently runs on Windows 10. I'm also working on a UWP and Android version (so it will also work on Windows Mobile), but those have a lower priority and there's some weird issues. I'm not ready to put them in the store yet. (they will be free, of course)
 
So what will be the difference between the recode and the normal
 
The first goal is to have all the functionalities of the original game, but eventually CivOne will:
  1. ...run natively on Windows/macOS/Linux
  2. ...run on any screen resolution
  3. ...allow for modifications to the original game
  4. ...not have city/unit limits
  5. ...have support for hotseat/network multiplayer games
  6. ...allow playing on larger maps, and with more than 7 players
 
I've been wanting to play the original Civ, and just stumbled on this. Can't wait to give it a try!
 
Top Bottom