Discussion in 'Civ1 - General Discussions' started by SWY, Oct 3, 2014.
I'm still updating this page everyday...hoping...waiting...
I am not gone, just really busy with other parts of life at the moment. Nothing to worry about... development of CivOne always comes in bursts of a couple of weeks. I will resume development within a couple of weeks.
Sid talking about Civ1 in postmortem if anyone's interested:
At around 40min he regrets not making it moddable. Also later talks about why he introduced corruption, why you couldn't load game from the game menu, etc.
That's interesting, thanks axx. Looking forward to watching this.
I've updated CivOne to .NET Core 2.0 and I'm getting ready to commit a large set of technical changes. I know .NET Core 2.0 is not finished (currently Preview 2) but there's some improvements that I couldn't wait use.
The coming week, I will be working on optimizing and simplifying the current code, and I want to try to standardize some API calls for modding support.
After that, here's the shortlist I want to get working on first:
Finish the city view
Implement corruption and civil disorder
Implement Civilization Score
Get 100% compatible load/save games
Get the new website up and running
I am not focussed on a 0.1.0 release at the moment, first I want to really get back to coding.
Expect a new build in about 3 weeks... I will keep this thread updated.
Status update: I've got the .NET Core 2.0 changes integrated, and I made some of the API standardization changes.
Then, I've added a much needed patch to the game: Allowing the game to be controlled on computers without a keypad. When the option is turned on, you can move units by pressing two arrow keys. After the first press, you'll get a visual 'helper arrows' on the screen, indicating which tiles you can move to. It looks like this: http://imgur.com/T4tebCw
You can then move in any of the three directions, or cancel by pressing escape.
The reason I implemented this is because my new laptop doesn't have a keypad, not even under FN keys, and playing with a mousepad is not the best thing in the world.
Several 'free' graphics have been implemented, making the game somewhat playable without the original files. Still a lot of work to be done in that area... and not a priority, I just felt like it for a bit...
More free graphics implemented. I will post screenshots of that soon.
Also, I've got building the palace (partially) implemented. It can be initiated through the debug menu for now... eventually it will be called through the Civilization score mechanism.
After this I will implement caravans and diplomats, which will be a lot of work. I need to figure out how the trade income is calculated, and how the costs of a revolt/buying units are calculated. If anyone has any pointers, please let me know.
So this means how much gold do individual units cost? What about the buildings? And how much gold does inciting a revolt in a city with a diplomat cost?
I will try to look into this.
Just one more thing, these 2 links might be of some help. They list all the stats of units and buildings including their costs.
Building, units and wonder costs have already been implemented.
The things I need to know are:
How much gold does a caravan unit get when entering a city?
How many shields does a caravan unit contribute when helping to build a wonder? (answer: 50)
How much gold does a diplomat have to pay to buy a unit?
How much gold does a diplomat have to pay for a revolt?
How much gold does a player receive when capturing a city?
Edit: Thanks tjs282!
Building the palace is largely implemented and accessible via the Debug menu.
The only question I know the answer to is the second: 50 shields per caravan. The other values aren't fixed, they're calculated. I don't know the exact formulae, but there are (EDIT: I was pretty sure I'd seen) threads covering all these items on this forum. The calculations are based on such variables as
Trade-routes: city ownership, size, distance between the 2 cities
Unit-bribes: unit-value, distance from the unit's capital(? Or home-city?), enemy treasury(?), relative culture(?)
Inciting revolt: city-size, happiness, relative distance from the 2 capitals, mission-type (subversion costs twice as much as revolution, IIRC)
Captured gold: city size(?), value (i.e. improvements built?), enemy treasury(?)
Going though some past theads on the forum but I haven't found anything specific on what you asked. Still here are some useful pages just for info:
Here's some info on caravans:
Wow axx, that's awesome. The Caravan formula is very useful indeed.
There's some stability bugs that I need to fix, but I'll try to get a new version online some time next week.
OK, bribes & revolts with diplomats (just scroll down the page):
Regarding how much gold does a player receive when capturing a city - I couldn't find anything on forums but best starting point would be:
gold received = total enemy civ gold * (captured city size / sum(sizes of all enemy cities))
(at least until the real formula is found)
BTW as you might have seen from forum discussion there is a book (Rome in 640K) that gives formulas on all this stuff. Sadly there is (apparently) no online version.
Thanks for the pointers, the caravan functions are implemented now, but the formula (or my implementation) seems to be off... it's decent enough for now though.
City trade routes have not yet been implemented... I'll do that later.
I've found a copy of Rome in 640K at Amazon.fr. I think I'll order it next month... thanks for the suggestion.
I'm still working on the new website, but I've got the new design ready.
What do you think? https://www.civone.com/
It's nice and simple. The old one was good just as well.
I've got a basic plugin system working, and I've started working on an API for CivOne (published on nuget.org).
Plugins right now don't do much, except that they get loaded when starting the game, but over the coming time I'll expand on the API and provide samples in C#, VB.NET and F# here: https://github.com/SWY1985/CivOne-Plugins
The website will soon be expanded to include a mod/plugin database, a community translation tool (to make the game support more than just English) and a font editor. Later on, as the game development continues, more functions will be added to the website.
Most importantly: There's going to be an autobuild system, so there will be daily builds (only if there's any changes to the code) directly from the website soon.
Edit: Lots of code refactoring today, and I've fixed two breaking issues that cause the game to crash. As a bonus, I think I may have managed to fix the annoying lagging issue that causes the game to slow down. At least, the game appeared to run a lot faster, smoother and more consistant when I tried it today.
I'll (finally) post a new binary tomorrow, but first I want to write some more code today.
New version, finally!
This version includes the beginnings of plugin support. The first plugin is also included as a download link at the bottom of this post. Screenshots of the plugin can be viewed here: http://imgur.com/a/5VdQQ
Here's the changelog since the last version:
Here's the download links:
Windows (32-bit): https://www.civone.com/Files/civone-0.1.0pre-alpha1-r1151-winx86.zip
Windows (64-bit): https://www.civone.com/Files/civone-0.1.0pre-alpha1-r1151-winx64.zip
Better menus plugin: https://www.civone.com/Files/better-menus.zip
To run the game, extract it anywhere and start one of the batch files.
To use plugins, extract the .dll file to the /plugins/ folder where you extracted CivOne.
If you run into any problems, please let post it here or report a bug to GitHub.
Edit: The (C#) source of the Better Menus plugin has been posted here: https://github.com/SWY1985/CivOne-Plugins/tree/master/Samples/C#/better-menus
great stuff. I'm not technically proficient in this field, are plugins similar to mod support?
Sadly my laptop is on repairs hopefully I'll be able to test this asap.
Hey all! It's great to see that you're still managing to find time for this project! I'm still as supportive as ever (at least in spirit) even if life has totally gotten in my way these past months.
I'm gonna find some time to give this latest build a go, SWY cos it sounds great!
EDIT: Download link returns a 404, but I can still find it in the downloads section. "files" in the urls of the link should be "Download" and "Plugins" for the plugin =]. I'll post this bug onto the Git lol!
Oops, I fixed the links, thanks. Looking foward to your feedback.
Yes, plugins and mods are the same thing. I am not sure what to call them... sometimes mod seems good, sometimes plugins seems better. I call them plugins for now.
I hope nothing bad has happened. If so, I'm just some random guy on the internet, but as someone who has been dealing with depressions, I know life has its ups and downs.
Keep your spirits up, you are a great person and things will get better.
Thanks, SWY for your progress. Despite the fact I'm silent I'm still updating this page everyday. I'll wait for fully functional version, thank you for your job!
Thanks for the support.
I've made a lot of changes since last friday, and I'm in the middle of some big changes. The current version (from source) is somewhat broken but it's all working towards something. I'm aiming at another (fully functional) release next Saturday. Here's the changelog so far:
Split game logic and runtime (this allows for different runtimes, like Android, GTK, QT, win32, web)
Implemented experimental win32/gdi+ (legacy) client
Fixed: Playing sounds was no longer working after runtime split (OpenTK runtime)
Fixed: Full screen toggle on Linux
Fixed: GoTo icon on units was not always visible, even though GoTo was active
Fixed: GIF files (for screenshots and map exports) were invalid and could not render correctly in Firefox. This has been fixed
Reimplemented screenshot function into Game Logic (ctrl+F5)
Reimplemented expanded screen size (non-16:10 aspect ratio)
Added startup parameter to skip data files check nag screen (allows the game to run without original files)
Added startup parameter to run the game without sound
Added startup parameter to skip credits screen
Added startup parameter to skip new game intro
Added save game map to image function (ctrl+F6)
Implemented expanded screen size for Credits and New Game screens
AI improvement: AI won't attack with Settlers, Diplomats and Caravan units
AI improvement: Smaller chance AI will use transport unit to attack
AI improvement: Smaller chance AI will attack if opposing unit has stronger defense
Several big code refactorings and namespace reorderings
Simplified map drawing code (work in progress)
Moved several drawing methods to become more accessible for future plugin development (work in progress)
More changes are coming... I want to try getting the following finished by Saturday:
Implement diplomat functions
Partially implement civilization score
Finish palace building code
Make AI build World Wonders
Edit: I've been doing a lot of code refactoring, simplifying code, removing old workarounds and reducing double code and optimizing existing code.
In the mean time, I've also added screen expanding code to several screens (like the credits and new game screen), so the game will scale up to non-16:10 monitors. This is what the game currently looks like on a 21:9 monitor:
The cleanup is useful because it will make future development easier. It also gives me good ideas on how to expand the plugin API, so future mod development will be able to change/modifiy/improve more aspects of the game.
Given the current path I'm on, the features listed above haven't been done (at all) yet. I will get to that later on. I think the next preview version might not be finished on saturday. Maybe sunday or monday.
I will keep updating the changelog, so keep watching this post.
Separate names with a comma.