CivOne - An Open Source remake of Civilization 1

Well you've made impressive progress. I've been busy replaying the original to see how the cityview changes appearance over time. It seems that changes in huts/tents/houses ... are not triggered by particular advances but perhaps by the number of advances you research. I got skyscrapers with conscription and not electricity for example. But I can confirm that automobiles change roads to asphalt and the look of some buildings (marketplace, bank e.g.). Industrialization changed the appearance of citizens. And medicine changed wise men--> scientists. I will look further into this...

Does anyone know what affects white and cyan text in the science report screen?
 
@axx
Thanks for finding out more about the appearance of houses etc. I'm going to launch a game and see if I can get exact numbers...
Automobiles changing roads and Industrialization changing citizens has already been implemented.

The white and cyan text in the science report screen has to do with the origin of the tech. If you're the first to discover it, the text is white, otherwise it's cyan.

Edit:
Moved changes from previous post to here for more visibility.

Changes since last version (growing list):
  • City view: Reviewed city drawing algorithm
  • City view: Implemented car/asphalt roads when player has Automobile
  • City view: Implemented the following buildings: Library, Courthouse, Bank, Cathedral, University and Colosseum
  • Implemented Find City screen
  • Implemented Leader classes (huge change)
  • Implemented Unit combat (unfinished and buggy)
  • Changes to Meet With King debug menu
  • Fix: Removed lightbulb debug message in Set City Size screen
  • Fix: Fixed Meet With King debug menu title
  • Fix: Barbarian unit no longer destroy random Human unit
  • Fix: AI waits for attack to finish: No more strange glitches during attack
New version download, thank you for testing:
  • Download links removed, new version below..
 
Last edited:
The debug menu is a great idea. I won't be posting some issues related to saving/loading games since it's still probably work in progress.
BTW I've posted an update regarding the way cities are drawn, if it interests you. I have yet to figure some things out regarding this, I'll just be posting it in the Github.
 
Running fast, but nice. Although very dependent on what else I'm doing on my system. Seems to run extra fast for a little while after an improvement is built.

That could be an minor issue in the gameplay screen. Can you try whether it also runs faster if you just open a city and close it again?
No change there, also noticed that it happens sometimes after discovering a tech.

Also, tax/science is set to 50/50, but I have a skew towards tax in the window of my (only) city. I have marketplace and library, but selling either does not affect. Normal or bug??
Not sure about that one... I thought I had it working correctly but I need to review the tax/science mechanism. I know that if there's 3 resources to divide, the game chooses to prioritize tax, resulting in 2 tax resources and 1 science resource.
Hm, the level 23 city I had had way more tax than science so I dont think it was a rounding issue - again, I'll keep an eye. I noticed that resource shields now stack but tax/sci/lux don't yet - is there an open issue on the github for this?

EDIT::Resource allocation seems to be correct now - maybe something i missed...

Advance bulb disappears after last tech discovered but i suppose thats to stop the future tech crashes atm?

Future techs have not yet been implemented, but that's not too difficult. I will create an item on Github for that to make sure I won't forget it.
Yes, I figured this was something you were aware of.

Can I ask what the specs of your computer are? And are you running the 64-bit or the 32-bit version?

You can =]. Not amazing - 1st gen i3 at 2.53Ghz, Intel HD Graphics, 8Gb Corsair Vengeance RAM, 500Gb Samsung EVO SSD. Win 7 Ultimate 64 bit. Hardly a gaming machine =p I'm running 64bit CivOne.
 
Last edited:
@axx
Yes, I've noticed the GitHub thread and it's very, very useful. I will probably implement most of your findings this week.

@DracoNoir
I noticed the speed change as well, though I haven't been able to find out what causes it yet.

The stacking didn't have an open issue yet, but it is related to this issue: https://github.com/SWY1985/CivOne/issues/167

I have decided to move future techs to a later version, because the only use they have is Civilization Score and I don't plan on implementing that yet.

Decent machine, the game should run pretty well on that.

---

My current focus is going to be able to capture enemy cities. The most important feature I want to get implemented for the first version is end game by conquest.

Edit:
There's two open issues that I haven't been able to reproduce lately. Can someone please check if they are still relevant?
Edit 2:
Woohoo! Actual CivOne screenshot:
capture00047.png


It's now possible to capture enemy cities.
 
Last edited:
Do you know how many units could share a tile?

Also, there was an unit limit in the game. I remember playing a despotism civ a long time ago, with lots of military units, and at one point I couldn't create more. I think there were 50 units or so in the army.

What is the largest possible city? 30?

One thing that annoyed me in Civ, was that I could not cancel existing trade routes (because they were poor). Also there were only 3 possible per city.

Do you plan to add such limitations? I hope you are not hard-coding such limits.

It would be interesting to play variations with no tile sharing, max 3 units stack, or having lots of cheaper to build units.
 
There's a unit limit of 128 per civ (excluding units in cities, if I recall correctly), a total city limit of 256.

I don't know how many units can share a tile.

The limits are currently not in place, but they will be enabled by default for savegame compatibility.
I will need to invent a new save game format eventually, if we want to get larger maps, more than 8 civs and (other) mod support.
 
There's two open issues that I haven't been able to reproduce lately. Can someone please check if they are still relevant?

You can delete #187, newer versions don't have this issue anymore.
But #195 is still an issue. Build a lighthouse then build a trireme in any city. The moment you build it, it will have 3 turns and in the next year 4 turns.

EDIT:

@SWY I have updated https://github.com/SWY1985/CivOne/issues/258
https://github.com/SWY1985/CivOne/issues/258
Also I've made the following issue in Github:

From several playthroughs I have discovered this:
  1. discovering Invention changes advisors' screens from old to modern (e.g. from ancient egyptian to victorian setting in monarchy)
  2. next advance (after invention) you make changes "wise men" to "scientists"

  3. I am not entirely sure what triggers the change in the screen with Sid in roman dress to Sid in scientist robe with a blackboard when you make an advance. In my three playthroughs it happened with 47th advance (genetic engineering), 43rd advance (industrialization) and 45th advance (electronics). So it's probably a combination of advances you make that triggers this change (or something similar).
Anyone is highly welcome to comment on this.
 
Last edited:
Hi, the change to modern scientist happens with the discovery after Electricity.
The wise men thing still needs to be confirmed. I've seen Navigation, Medicine and the discovery after Invention... I will try all three advances and see which one it is. :D

Thanks for all the research, you truly a wise man scientist.

Edit: Confirmed, it's definitely Invention.

Edit 2:
Moved changelog to this post for visibility.

Edit 3:
New version.
I've started adding some issues to the next version, the current list of issues/features will be what's in the first official Alpha release. Of course, I will still fix breaking bugs before the release. Please keep testing and reporting bugs, it's very useful!

Here's the changelist since the last version:
  • Allow unit to move to a tile within the Zone of Control if the target tile already has a friendly unit
  • City view: Made building appear closer to each other
  • Destroying a unit not in a city or fortress destroys the entire stack
  • Improved user experience when data files are missing
  • Implemented fallback mouse cursor type
  • Added setting to switch between default (original) mouse cursor, built-in (fallback) mouse cursor or the Operating System default mouse cursor
  • Changed wise men to scientists upon the discovery of Invention
  • Allow land units to capture enemy cities
  • Set Advances menu (debug): Allow removal of advances
  • Spawn unit menu (debug): Only allow spawning units on valid tiles
  • Fixed: Show file browser dialog when data files are missing
  • Fixed: If currently researching advance is added via debug menu, show next research dialog
  • Fixed: Game crash when boarding a boat unit
  • Fixed: City manager would open multiple times
  • Fixed: Show new advance dialog immediately after discovery
  • Fixed: Do not center on unit or city when clicking on it
New version download, thank you for testing:
  • Download links removed, new version below...
 
Last edited:
There are currently 20 bugs open, two of which are related to each other.

This is the list of features that I will need to finish for the first official alpha release: https://github.com/SWY1985/CivOne/milestone/1
I will still fix bugs, but other new features will be moved to the next alpha version or later. Here's a list of things that will be moved to the 0.1.0-alpha.2 version:
  • Implement Goto
  • Implement disasters
  • Implement pollution
  • World Wonders screen
  • Fixes to the credits screen
  • Basic plugin/mod support
  • (Optional) new save game format (break compatibility with the original game, needed for expanded features like larger maps, more civilizations and mods)
Things planned for later versions:
  • Happiness/Unhappiness
  • Top cities, Civilization Score and Demographics
  • Larger maps
  • Map editor
  • Building the palace
  • Implement meet with king
  • Implement AI
  • Sound/music
  • Multiplayer (hot seat, and over the internet)
  • Support for more languages
  • Free graphics
It's still going to take me a while to fix the current list of open bugs, but I believe loading/saving games and being able to at least winning game is very important for the first version. I also prefer to not have any graphical glitches in the first version.

I have started working on a more advanced and better looking website, which will go live in a couple of days. I want to turn the website into a non-programming development tool, with online tools that help with creating alternative graphics mods, language packs and the ability to create basic mods (like new Civilizations, advances and units) without any programming experience.
Also, once I get multiplayer working, I want to use the website to manage online games.
In order to run the website, I will need some money and I'm thinking about starting a kickstarter or indiegogo project (or something like that). The goal would be € 200,00, which would allow me to keep the website running for 3 years.
I believe that, in order for such a campaign to be successful, I will first need to finish the first Alpha version and get the new website online. My hope is that the first alpha version will create enough interest for this idea. If anyone has any good ideas, please feel free to share them with me.
Also, if my plan seems over ambitious, please tell me now before it's too late. :shifty:
 
Great news!

For me it is exciting to hear the planned support for mods and graphical enhancements!

The original game should be recreated as much as possible, but the framework to create conversions in the original Civ style is the best thing this game will offer!

I don't think that keeping a save game compatibility with the old game is really necessary. In my opinion keeping that compatibility will be a handicap for development.
In the alpha you should have an uncompressed save format, something like xml or easy to edit. When everything is set, you could make a compressed, protected, save format.

My opinion is that you should get the basic stuff running smoothly first, and do the rest later. I mean stuff like city management/unit production, map, exploration, combat mechanics, tile improvement, etc.

I will contribute to your kickstarter project!
 
There are currently 20 bugs open, two of which are related to each other.

This is the list of features that I will need to finish for the first official alpha release: https://github.com/SWY1985/CivOne/milestone/1
I will still fix bugs, but other new features will be moved to the next alpha version or later. Here's a list of things that will be moved to the 0.1.0-alpha.2 version:
  • Implement Goto
  • Implement disasters
  • Implement pollution
  • World Wonders screen
  • Fixes to the credits screen
  • Basic plugin/mod support
  • (Optional) new save game format (break compatibility with the original game, needed for expanded features like larger maps, more civilizations and mods9
Will you also be implementing the 'GoTo on rails' bug(?) that I always experienced with CivDOS (v475.4, IIRC)?

Basically, if I moved a unit manually -- and provided I didn't accidentally send it through a town -- it would get unlimited movement from one end of my rail-network to the other, regardless of distance (as it was supposed to, according to the Civilopedia). Conversely, if I used a GoTo order, my units treated rails as if they were only roads, and hence ran out of movement after they'd crossed a distance of 3*MP tiles (regardless of whether they'd gone through any towns on the way).
Spoiler :
When playing as a King-level Eurasian civ on the Earthmap, and going for a Space-win (before I learned most of the tips, tricks and exploits detailed here on CFC!), fighting off AICiv-invasions from the Americas in the late game thus often got rather tedious, usually requiring me to manually shuffle my long-since unit-limited (and/or crash-built) Armor+Mech.Inf forces ~30 tiles from western Europe over to Siberia, eastern China or western/southern Africa. The vastly improved unit-pathfinding in Civ III was just one of the (many) reasons I stopped playing CivDOS...
 
Goto is not currently implemented, but this seems like a patch that I will implement, making it optional to use improved path finding. So yes, I will try to implement improved path finding, and it will also be moddable.
 
Last edited:
Raising €200 to keep the website going shouldn't be a problem. As for the rest you wrote I agree with you. The project also needs some promotion, I'm sure there are gamers out there that are willing to contribute to the project but aren't aware it exists. As soon as you release an alpha I'll mention this on some forums at the very least.
 
@axx
I too, will start promoting the game once I get the first Alpha version finished. I'm doing lots of bug fixes every day, and the first Alpha version is getting closer to completion. Hopefully I can get a lot of issues resolved over the weekend.
It seems like I got the macOS and Linux versions working, so that's a pretty big step. My next focus will be the end game animation, and getting the city manager rendered correctly.
Also, hopefully, I will put the first version of the new website online this weekend.

Lots of changes today, including some changes that should improve performance. Please let me know if you notice a difference...

Here's the list of changes since the latest preview:
  • Rewrote the drawing code, should fix several graphics glitches and improve overall performance
  • Nuclear unit requires Manhattan Project
  • In the main game, block any keyboard input when another task is running
  • Implemented introduction help screen when choosing Chieftain difficulty
  • Destroy the Palace in captured cities
  • Reduce city size on capture, destroy city if city size is 0
  • Fixed: Cruiser visibility should be 2
  • Fixed: Right click on production item on page 2 shows the correct Civilopedia page
  • Fixed: Graphics glitches (white lines etc.) appear to have been fixed
  • Fixed: Deal movement penaly after leaving a city connected to RailRoads, rather than upon entering
  • Fixed: Switched back to OpenGL 1.0 compatibility, this solved the black screen issue for some Windows, macOS and Linux users
  • Fixed: Prevent the City Manager from opening more than once
  • Fixed: Immediately center on human starting unit when starting a new game
  • Fixed: There's was a problem with the Shift 5+6 cheat crashing the game
Download here, and thank you for testing:
  • Download links removed, new version below...
Edit:
Updated version r900 to r902, because there was a pretty annoying bug in r900.

Edit 2:
Didn't have a lot of time last weekend, but I've done some work on the website and I managed to make the Linux version run nearly as well as the Windows version. From the next version, I will attempt to also post .deb files so people running (debian, ubuntu, mint, etc) Linux can test it as well.

I had 20 open issues a couple of days ago, but now there's 33 open issues once again. Looks like I'm not done yet. :lol:
I'll try to get back to around 20 open issues before posting a new version.
 
Last edited:
Well... I've done 31 commits since the last version and I've got a bigger changelog than I've had recently. I'm not down to 20 bugs yet but I feel it's time to release a new preview version.

There's a lot of bugfixes and overall improvements. Hopefully, the game will run a little smoother once again.
I've started working on the end game feature: Making it possible to win the game by conquest. You can now destroy other civilizations, and I will soon implement the end game animation.
I've also made the AI behave a bit less passive. The AI units still move around a bit randomly (goto code will be implemented in the next alpha version) but the AI will now build city improvements, settlers and military units. It will keep the defense of the city up to date with the latest technology. That should make it a bit more fun to destroy them once and for all, again and again.
Last but not least: The city view can now render more buildings and wonders, and all different home types have been implemented. There's still some errors in the drawing order of the city view, I am aware of that, but it's starting to look more and more like the original game.

Here's the complete list of changes:
  • Added native (GTK3) folder browser to the Linux version of CivOne
  • Render modern city improvements after Invention
  • Added the following buildings/wonders to City view: Factory, MfgPlant, SDI Defense, Recycling Center, Nuclear Plant, Lighthouse, Hanging Gardens, Oracle, Darwin's Voyage and Hoover Dam
  • In the city view, added progressing (wood/stone/industrial/modern houses) buildings depending on city size and number of advances
  • Made AI capable of building tile improvements, defensive units, city
    improvements, Settlers and wander around aimlessly
  • Improved Window timing (should solve some temporary game speed ups)
  • End game: Implemented %civ% destroyed by %other civ% dialog
  • End game: Register players as destroyed when no cities and Settlers are left
  • Workaround: Made the mouse cursor work correctly with Linux
  • Workaround: On some computers, the keypad enter key was not recognized, made a workaround
  • Fixed: Make Ironclad unit obsolete upon discovering Combustion
  • Fixed: Cursor hotspot was off by 1 pixels horizontally and vertically
  • Fixed: After building a Settlers unit, don't overflow the city food storage
  • Fixed: Only land units can occupy a city
  • Fixed: Air unit movement/fuel handling after attack
  • Fixed: In the tutorial screen: Show missing lines, correct label size, show game info
  • Fixed: Do not show message when enemy Settlers, Diplomat or Caravan is built
  • Fixed: Do not show '%city% can't support %unit%' message for enemy cities
  • Fixed: Properly set size of canvas on focus change; this solves problems with alt+tab when the game is running full screen
  • Fixed: AI units can make more than one move
  • Fixed: Handle AI player turns at the start of the game
  • Fixed: Clear city food and production stores and disband enemy units on capture
  • Fixed: Yellow artifacts in game map and City Manager
  • Fixed: Clicking on the minimap updates the game map
  • Fixed: Unit was still visible after being destroyed
  • Fixed: Boats containing land units were sometimes invisible
Please, let me know how the game runs for you.
The game now also runs well on Linux, I will soon start posting Linux builds as well, but I believe everyone here is using Windows?

Here's the download links:
  • Download links removed, new version below...
 
Last edited:
Game runs fine.
Just an idea - perhaps you could make a 'give all advances' in the debug advances menu, makes it easier so that I don't have to click through all the list.
 
It's now possible to win the game via Conquest, one of the main goals for the first Alpha version. You'll even get to see the portraits animation.
Thanks to good testing, a lot of bugs were reported to GitHub so I'm still not down to 20 open bugs. I'll try to post a new version by Friday.

Edit:
Change list moved to later post.
 
Last edited:
Any chance of having a Civ2 (and later) battle system with unit HP? The tank vs spearman problem is pretty much the worst part of Civ 1.
 
Any chance of having a Civ2 (and later) battle system with unit HP? The tank vs spearman problem is pretty much the worst part of Civ 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...
 
Back
Top Bottom