1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

CivOne - An Open Source remake of Civilization 1

Discussion in 'Civ1 - General Discussions' started by SWY, Oct 3, 2014.

  1. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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. :)
     
  2. kirkham7

    kirkham7 Chieftain

    Joined:
    Dec 22, 2012
    Messages:
    288
    Location:
    Hayward, CA
    It's all good man. Family comes first. But, it's nice to have you back. :)
     
  3. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
    Great news :)

    From experience, it's good to have a fresh look on old code, as this usually leads to great improvements...
     
  4. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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!
     
  5. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
    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 ?
     
  6. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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. :)
     
  7. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
  8. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    I've created a GitHub repository and registered a domain: www.civone.com

    I will soon update the page, create a wiki and upload the source. :)
     
  9. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
  10. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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.
     
  11. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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:

    Is this okay?
     
  12. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
    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.
     
  13. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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" :)
     
  14. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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.
     
  15. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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.
     
  16. Renergy

    Renergy Chieftain

    Joined:
    Nov 2, 2010
    Messages:
    197
    Location:
    Czech Republic
    All this sounds good, all this sounds really good! :):goodjob:
     
  17. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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..
     
  18. darkpanda

    darkpanda Dark Prince

    Joined:
    Oct 28, 2007
    Messages:
    597
    Great effort!

    I am setting up a dev environment right now, see if I can be of any help... I don't know any .NET - yet - but I guess it'll be quick to catch, especially with a Java background.
     
  19. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    Great! If you run into any problems, please let me know. :)

    Edit: Thanks for testing, I've fixed the issues you reported.
     
  20. SWY

    SWY Chieftain

    Joined:
    Oct 3, 2014
    Messages:
    329
    Gender:
    Male
    Location:
    The Netherlands
    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.
     

Share This Page