You are definitely rightClearly the answer is to first use unsafe code to write a sufficiently crash-prone reimplementation of NTVDM and then then run the game code on that![]()
It's nice to know thatSeriously though, keep up the great work - I've watched a lot of Civ history and this is a very cool recreation of the start of the history. I was a bit skeptical when the thread started but am very happy to see how this has turned out so far!
The above scenario i something I have seen a lot of times.I'm going for a despotic conquest in this game (only one city as well). When I destroyed the French, the German settler spawned next to one of my units. Again not 100% but I thought the spawn rules avoided placing new settlers right next to the player but I could be wrong.
View attachment 695484
EDIT - when you destroy a civ by getting their settler it says "German civilization destroyed by !". In v05 of the DOS game it was "German civilization destroyed by barbarians". No actual difference in gameplay, just the text.
Yes, it's what I see in assembly codeThe above scenario i something I have seen a lot of times.
A few times the settler was spawned on the very same square as one of my units, and my unit became invisible.
But I was able to move my unit and it become visible again together with the spawned settler. Using Civ1/1
Hi,Ahah, system date and time during the opening credits!
Civ1 exploit: design flaw in randomness
Randomness in CIV While looking at how CIV manages randomness (see this post), I discovered a design flaw that could be leveraged to bypass randomness. To get started, let me re-state some initial findings on randomness, posted in the thread linked above: CIV uses a very classic "seed"-based...forums.civfanatics.com
Edit - I see it's more complicated than that as the seed is reinitialised in various places including on the city screen based on city name. The question is, do any of the reinitialisations use date and time or is it only the initial value.
If they don't, we could pull the initial seed from dosbox and perhaps as a debug feature, force it to be the same in openciv. Then we could play side by side and hopefully get the same results.
Hm, not necessarily. Sometimes, if the city grows in the last second you will capture the city. It's also possible that this is a bug.Something I've immediately noticed on my current playthrough.
World map start as Romans, on chieftan after 20ish turns
Version is latest master branch
The French only had Paris, it was completely undefended and size 1. I would expect them to have at least a defensive unit by now but that's not necessarily a bug on such a low skill level.
What is a bug is that I was allowed to capture the undefended size 1 city with no improvements or wonders. I believe it should have been razed/removed from the game. I'm sure someone will have posted the rules for that somewhere, I'll dig them up.
Save attached (after the city capture)
I know that this project already lasts a long time (almost 1.5 years already), but I just need a little more time until I'm satisfied with the quality of the code to tell people to seriously begin testing OpenCiv1.Something I've immediately noticed on my current playthrough.
I have never come across any DOS reassembly, perhaps because people were reluctant to share such assembly code for a fear of breaking the copyright law.Understood! You can count the number of successful DOS reassemblies on one hand, so you're doing extremely well to have basically made it to the point where the game is playable.
Ah, so it's not a Civilization, but the other game. Yes, I have seen many games reconstructed in a similar way, but never the working disassembly of Civilization.Off topic but the best I've ever seen is Duke 2 Reconstructed (Duke Nukem 2). If you compile with the correct compiler you get a byte for byte identical binary!
The same author has also done a 'modern' reimplementation called Rigel Engine.![]()
GitHub - lethal-guitar/Duke2Reconstructed: Reconstructed source code of the game Duke Nukem II
Reconstructed source code of the game Duke Nukem II - lethal-guitar/Duke2Reconstructedgithub.com
Oh yeah, you're definitely on your own there (unless someone has been doing it in secret and avoiding pretty much all publicity). As you know, people on here have disassembled specific routines to extract game rules, but all the other modern clone attempts have either been done by eye or just ended up using completely different rules. I think people lose interest when they realise just how tough it is to implement a good AI from scratch. Even good old civ 1 has a lot of rules to consider.Yes, I have seen many games reconstructed in a similar way, but never the working disassembly of Civilization.