Making a Clone of Civ II

Of course, all potential changes, even definitely for the better, should be left for future versions. The first version should be an exact imitation of civ2. JPetroski is certainly optimistic about the possibility of increasing the civ2 gaming audience by new players who have never played this game. I prefer to think cautiously that the main target audience after all is the old players in civ2. There are quite enough of them.

So, my question is purely theoretical in nature. The point is not only in the speed of movement of units. Namely, in the geometry of movement. Reducing the speed of movement by 2/3 in high latitudes will help simulate the realistic route of the Titanic, I agree. But let's say modeling the trajectory of the flight of nuclear missiles through the North Pole is unlikely to help ... The biggest error of the Mercator projection in civ2 is the incorrect transfer of the area of the territory. When Greenland is monstrous several times larger than India. The population growth of a city in civ2 directly depends on the number of squares that it can “process”. Of course, one can also make an artificial “crutch” here - by making special “highly profitable” resources for India. But, it seems to me that an excessive amount of “crutches” unnecessarily complicates the game.

Once again, these are just theoretical thoughts, or, as we say, “bidding for the best parts over the skin of an as yet unkilled bear” ...)
 
At this stage, I would humbly suggest that keeping the initial clone very close to Civ2 mechanics without getting bogged down in monomania over minute details.
We can later make mods and Lua upgrades to cover features to suit obscure Colonization fans and those who want to simulate climates, etc. ;)
 
Interesting...and way over my head. My 2 cents: keep it as simple as you can. Avoid 'mission creep' at all costs. Or you'll never finish it.

I'd say duplicating what can currently be done should be the first objective. Only after that could new things be added. But, it would be good to grasp at least what we eventually want so that things can be organized in such a way that adding stuff later is achievable... so, no "127" caps for anything... I think we need capacity for "darn near infinite" units, civs, terrain, improvements, etc. Even if we start with what the base game has.

I just really want to see what Curt comes up with if we can give him a map 4x larger than now and infinite (or at least 999) units and civs to play with.
 
Just don't ask and start doing. Then you will see the real scope of work. Be prepared for 2-4 years of work. Make it open source so if you drop it or pause for some time others who interested would continue the work.
For inspiration, I always cite projects like OpenTTD or OpenXCOM as an example.
OpenTTD was reverse engineered from 2003 to 2004 by single Swedish programmer Ludvig Strigeus. Later, the project became very popular and expanded.
OpenXCOM was started at 2009 by one single programmer SupSuper from Portugal and later picked up by many others. You can read this little story and watch this cute visualization of version control system.

Civ2 MGE/TOT is very simple Win32 application based on core Windows API with minimum external dependencies. So actually it should work on modern computers as long as Win32 will be supported. All technical problems running the game on modern systems are result of errors in code. It happens a lot in big projects. Also there are two main legacy dependencies: Indeo 4 for video and DirectPlay library import in XDaemon.dll. Both problems are easily solved.
So for me the best way to achieve 100% accuracy in reproduction is to decompile the whole game and work with this codebase. My investigation showed that civ2.exe was build using Visual C++ 4.xx. Without optimizations and with debug info. Sadly, without debug symbols, so you have to guess what variables are responsible for what stuff. Catfish's resources help here a lot! You could clean this code and port it to new Visual Studio version. Later may be porting some parts to SDL.
I already tried this total decompilation and with some variance it gave me about ~5000 procedures. About 10% didn't decompile at all because of stack pointer errors. After that I have to manually clean this results. Approximation is 10 procedures per day will give total 500 days. At this point I stopped.
I use IDA Pro disassembler with Hex-Rays decompiler. I am a self-taught amateur. May be with some more knowledge especially Python scripting to automate decompilation process it will be easier. But not now.
And yes, it all resembles walking in a minefield of law.
1) IDA Pro is payed version and it costs a lot of money witch I don't want to spend just for hobby projects. So I do use pirated version. Blame me for that.
2) Reverse engineering is always prohibited by developers in their agreements.
3) Using original art is automatically falls under copyright issues. Here you can just provide alternative art with option of using original from owned copy of the game like other similar projects do.
 
@FoxAhead

Just don't ask and start doing. Then you will see the real scope of work.

Thank you very much for taking the time to respond.

I don't intend to decompile, fix, and recompile the game. Rather, I'll follow the OpenXCOM route and build from scratch in Lua. Well, not exactly from scratch. I'm hoping to find that most of the 'hard' work is done by the Love2d game engine, and I "just" have to tell it what to draw and implement the internal logic. An awful lot of the game has been investigated and documented over the years, so most of the game mechanics are known. However, the decompiling might prove a useful way to find out what some of the logic is, say for diplomacy. Or, maybe not, if it would be too hard to figure out what part of the code refers to what.
 
Good luck with the project. I think you're going to find the graphics part very, very tedious - I looked at a Love2d tutorial on YouTube and it gave the appearance you have to micromanage the display to get it to do what you want. The computer player is also going to be a big undertaking. I strongly suggest you start out single player only - Multiplayer is going to be a highly painful endeavor, and is not necessary to the basic functioning of the game.
 
I just came here to say, "DO IT!!!" I would LOVE a new version of Civ 2 with better graphics/art, online play (maybe with crypto wagering built in?), and massive multiplayer. Imagine a giant map with 100 internet players on it, winner take all.

I'd also love a version I could play on Android when I'm stuck in the elevator.

But in general, just having an exact clone gameplay wise of Civ 2 would be much preferable to all the newer versions that are just not as fun to play.
 
Your project will involve volunteers and the temptation will be great to allow anything that's proposed as an option, to safeguard personal sensitivities.

Shall we keep the key civ mechanic, or implement the designer's original intention more intelligently -> differing views added as options
AI aggresiveness, Classic or MGE -> more options
Partial rush buying, yay or nay? -> more options
options options options options options

DON'T DO THAT!!!

The player should not feel like he's designing a game. You absolutely have to set some standards so that:

- new players are hand held to their first game
- community has a consistent game experience to allow comparison games & MP

Make some decisions and stick to them. Code with Despotism. If you make it a sandbox, everyone will play their own game in isolation.

It happened with Freeciv; it happened with OpenTTD; it happened with OpenGeneral. It sucks.
 
  • Like
Reactions: rhy
everyone will play their own game in isolation.

Is it bad? This is normal. The game is good - it has a large community, you can always find a partner with coinciding interests. Bad game - people will play it once (“walkthrough”) and forget about it forever.
Playing for sports is the worst thing that can happen to a game. Running faster than anyone in supermario should be fun. But running through the fastest in civ is a very, very strange incentive for strategy.

You absolutely have to set some standards so that:

- new players are hand held to their first game

It is reasonable.
 
Your project will involve volunteers and the temptation will be great to allow anything that's proposed as an option, to safeguard personal sensitivities.

Shall we keep the key civ mechanic, or implement the designer's original intention more intelligently -> differing views added as options
AI aggresiveness, Classic or MGE -> more options
Partial rush buying, yay or nay? -> more options
options options options options options

DON'T DO THAT!!!

The player should not feel like he's designing a game. You absolutely have to set some standards so that:

- new players are hand held to their first game
- community has a consistent game experience to allow comparison games & MP

Make some decisions and stick to them. Code with Despotism. If you make it a sandbox, everyone will play their own game in isolation.

It happened with Freeciv; it happened with OpenTTD; it happened with OpenGeneral. It sucks.

Thanks for this comment, it raises some points I had not thought of.

Now that you mention it, there are a lot of options when starting many open source games. I'm inclined to think that something like the Civ II rules file is the best way to go. Lots of stuff can be changed for scenarios or just personal preference, but the barrier to entry is just high enough that the 'regular' game was most prominent, and was the focus of discussion. Perhaps a 'customize rules' menu option could be a reward for winning a few games.

I think having everyone play the 'same' game (at least by default) is important for having a community that discusses the game. If everyone plays a slightly different game, then it is very hard to have discussions about the game. If a game's value to a person has two components, one being how much they like the game, and the other being how many people they can talk to about the game (or play against in multiplayer), then having everyone play the 'same' game by default might reduce how much they like the game by a small amount, but increase the 'discussion group' by a large amount, and be a net positive. Especially, since the game can still be customized to suit someone if they don't care about community discussion, or just want to try a cool scenario.

Your point about personal sensitivities suggests that the 'options' question should be settled when only a couple people are involved. If, for example, I say that only four default game settings will be presented to players, one of which will be the classic clone, and another optimized for very quick turns (e.g. for multiplayer), then refusing to add a feature to one of the two remaining default games is much less personal. It becomes clear that you can't please everybody, so some sort of consensus must be developed.
 
Great Idea, hope that it will see the light of day. Would play and mod this all day long.
 
I'd much sooner want to see something similar done with Colonization. I think FreeCol died years ago, and Civ4Col always fell short. I'd kill for a direct, moddable remake of the original and its chunky low-res pixels. Room for better quality music, an expansion beyond the independence war... one can dream.

You'd be thinking wrong then mate haha. FreeCol never died, they just suck at advertising lol. I've been trying to help them out lately with their public image as they've been doing new 'nightly' releases every few weeks or months for years.

More details here..
https://sourceforge.net/p/freecol/discussion/719661/thread/2d0063a3bc/

Shot I took a year or so ago just before finishing the game...




Oh and back on the main topic.. this has probably already been said earlier so apologies if I'm repeating but FreeCiv is structured in a very Civ2 way and you can select to use Civ2 rules which makes the game very similar. If not enough then there's also a Civ2 modpack for Freeciv that makes it play even more similar. That just leaves the graphics which has also been sort of taken care of. I haven't tested this graphics mod pack made by a Russian group but it looks pretty cool, not sure if it works with latest version though.

https://forums.civfanatics.com/thre...-civilization-2-on-the-freeciv-engine.625553/

 
Last edited:
Comrade_Oleg guy from Ukraine. He did an excellent job of porting civ2 graphics to Freeciv (this is his full work). I played this mod. Despite the resemblance, Freeciv is still a different game. We even had to use old versions of Freeciv in order to achieve maximum resemblance to civ2.

But complete identity could not be achieved. There are a number of significant differences in the interface (which of course is not very important), and differences in the gameplay (which is just important). The most significant advantage of Freeciv over civ2 is its relatively problem-free multiplayer, as well as some additional modding capabilities not available in civ2 (for example, the ability to edit the properties of wonders of the world). But in general, the civ2 modding capabilities (including TOTPP) are significantly superior to Freeciv.
 
Comrade_Oleg guy from Ukraine. He did an excellent job of porting civ2 graphics to Freeciv (this is his full work). I played this mod. Despite the resemblance, Freeciv is still a different game. We even had to use old versions of Freeciv in order to achieve maximum resemblance to civ2.

But complete identity could not be achieved. There are a number of significant differences in the interface (which of course is not very important), and differences in the gameplay (which is just important). The most significant advantage of Freeciv over civ2 is its relatively problem-free multiplayer, as well as some additional modding capabilities not available in civ2 (for example, the ability to edit the properties of wonders of the world). But in general, the civ2 modding capabilities (including TOTPP) are significantly superior to Freeciv.

So he's done no more new versions since the one he posted here? If not then that's a shame. I PM'd him asking this very question but he hasn't been here in years sadly.
 
So he's done no more new versions since the one he posted here? If not then that's a shame. I PM'd him asking this very question but he hasn't been here in years sadly.

I think he did not make new versions. For the last 2-3 years he has not been interested in civ2.

Why does he need to do some new versions? Even this version did not arouse much interest, although the is as close as possible to civ2 on the freeciv platform. For example, although you praise this mod, you have not played it. )

Make an effort where they are in demand. Doing work just for the sake of work is pretty weird. )
 
Use the old version of freeciv 2.1 for the game if you want to get the gameplay as close as possible to civ2. In new versions there are differences in the gameplay, which “improve” the game, according to the developers.
 
First, such an ambition should never be halted by others. If you believe in your idea, go forth !

A civ2 clone "forever playable" should be designed with java ? Otherwise, it would be hardly forever playable, and loose its sense ?
Still, personnal point is it's still rather easy to retro game it if you put some thought into it. Tutos and ressources are plentyfull on the web and allows the most noob yet curious one to make it works.

On the other hand, i'd say what i've been dreaming of these last ten years would be a combinaison of both civ2 and civ4 strong* point :
on the civ2 side, well, what I see as, indeed. Would be an incredible amount of work.

Anyway, have faith in your own goal !
 
Inspired by CivONE, years ago I also started a pet project of my own, remaking Civ2 in c# using WinForms. This is a screenshot:

I was quite satisfied with the progress but I stopped last year as I was mentally occupied with my real-life.
Anyway whoever tries to do this, good luck to him!
 
Top Bottom