CivOne - An Open Source remake of Civilization 1

Hi everyone.
I'm very, very sorry for not posting for over 4 months. Here's my update:
I became a father in January and it has kept me occupied. My wife has had some complications after childbirth. Nothing life threatening, but I had to take over most of the household tasks (besides the tasks I already had). Because of that, I've barely had time to use my computer.

The good news is: She's doing better.
The even better news is: I really want to get this project running. Please give me some time to figure out the code I've written so far. I was halfway through writing a change and I can't get it to compile at the moment. Once I've got a good version, I will release a new version as well as post the source up on Github. This project belongs to the public domain.

Again, really sorry for just leaving like that. I will try to check back here daily from now on. :)
 
Thank you for understanding. :)
I hope this year will bring us the first game of Civilization in a new engine.

I've decided to go with the name "CivOne" for now. It really fits. Thanks Darkpanda. Also, you're doing amazing work with JCivEd! Keep up the good great work!
 
I've decided to go with the name "CivOne" for now. It really fits. Thanks Darkpanda. Also, you're doing amazing work with JCivEd! Keep up the good great work!

Which makes me think: it is no secret I have been envisioning a re-creation of Civ 1 myself, but working on my own little project while I see you working on your own project makes me feel like effort is being somehow wasted here.

I am not saying that it is always better to have a group effort per se, but is this something you would be inclined to pursue ?
 
I am, at the moment, setting up a new development environment using Visual Studio Code. I'm going to host the source code on Github. VScode has native Github support and it's multi platform.

In the next release I will open the source for everyone (I'm thinking GPL licence) with the intention of finishing this project together with everyone who is willing to contribute. That's the only way it will ever get done.

Like I said before, I feel like this project belongs to the public domain. :)
 
Thank you, I don't know much about licences.
I've updated the licence file to CC0, that seems to fit best.

Edit:
The project compiles on Visual Studio Code now. I've tried running it on Windows and Linux.
Right now, it only shows a black window. I will be merging the old code into the new project during this week. The project should be up-to-date and open sourced soon.
 
I've commited a lot of code today. I doesn't do much yet.
If you compile and right now, you'll see this:



The code has everything needed to show Civilization graphics from the original data files. I will begin adding the gameplay code and add back all the screens that I had finished.

If you want to run the code as it is right now, you should copy the Civilization files to the ~/data folder (relative to the project root. If you have any questions, please let me know.

Edit:
darkpanda, I've added a header to some files for some code that I translated from JCivEd (java) to C#. The header looks like this:

/// <remarks>
/// This code is based on JCivED source code by darkpanda. <http://sourceforge.net/projects/jcived/>
/// </remarks>

Is this okay?
 
Edit:
darkpanda, I've added a header to some files for some code that I translated from JCivEd (java) to C#. The header looks like this:



Is this okay?

I don't mind at all, JCivED is public domain too, for a reason. But just note that I feel completely free to change the codebase (and do so regularly), including bug fixes and refactoring, so you may want to either indicate the version of the code you rely on, or we need to stabilize the common parts for the sake of consistency.
 
I don't mind at all, JCivED is public domain too, for a reason. But just note that I feel completely free to change the codebase (and do so regularly), including bug fixes and refactoring, so you may want to either indicate the version of the code you rely on, or we need to stabilize the common parts for the sake of consistency.

Great, thank you! I've based the RLE and LZW classes (in the IO Namespace) on version 0.0.16a, though I've already made a lot of changes so it might not even look like the original code anymore.

Today I've made a lot of progress. The game credits/title screen are now fully implemented. The game window is resizeable (in multiples of 320 x 200). I've added command-line parameters to show the demo screen or the setup screen.

Request to mods:
The project has a name now, and it's no longer limited to Windows. Could you please rename this thread to: "CivOne - A Civilization for DOS remake" :)
 
I've fixed threading issues, so the game doesn't lag anymore. Started working on the menu system, which should make it a lot easier to make in game menus.
I found my Raspberry Pi (B-model, 256MB ram) today. I'm going to try running CivOne on it. If it works, it'll be one of the goals of the project: To be able to run on the Raspberry Pi.

For those of you who are wondering why I don't just take all the source code I already had. I'm doing a major code cleaning/refactoring and at the same time I'm making the project compatible with Linux (and hopefully MacOS X). The old code is already no longer compatible with what I wrote a few months ago.
 
I've implemented menus into the game, and this time I've made them a lot smarter/easier to use than I previously did. I've also got full mouse support working on the menus. Tomorrow I will add the New Game intro and implement the map generation algorithm. After that I'll get back to the gameplay.
 
The "In the beginning..." intro is working. I've also made it easier to manage settings. On windows you can start "setup.bat". It will take you to the CivOne Settings: http://imgur.com/a/Opxyk

If you want to try CivOne, you should first build the project, follow the instructions on the wiki: https://github.com/SWY1985/CivOne/wiki/How-to-build-and-run-CivOne%3F
Please let me know how it went.

I'm now going to implement the new game menu (Edit: Done) and world generation algorithm. :)

For all non-developers: I will release a pre-compiled version once it's somewhat playable..
 
I'm almost done with implementing the map generating algorithm, I just need to finish adding rivers to the maps. Play on earth is already working. Customizing is also working.

I discovered something amazing in the progress! The map algorithm also works perfectly on huuuuge maps. I've created a map of 320x200 (normal size is 80x50). Here's the result: http://imgur.com/iOQ3mxA

This does not mean that I'm going to add bigger/smaller maps to CivOne just yet. That would break compatibility with the original game save games. I will probably create a patch in the future to allow bigger/smaller maps, but that would mean that we have to create our own save file format first.
 
Top Bottom