IndieCiv Updates

Jimmyh

Prince
Joined
Nov 20, 2001
Messages
452
Location
Sheffield
I'm going to use this thread to keep every one updated on what I've been doing with IndieCiv.

11th Novemeber 2012

So I've recently spent a lot of time getting unit graphics to a point where it's usable. To start with I was flat out trying to loading all the unit graphics into memory. The BIC i'm using, World War II European Front, has hundred's of units and even loading just the default animation with all 8 directions each with multiple frames filled up the memory pretty quickly.

For each default anim I was opening the file, and for each frame I was reading from the file, it was being turned into an image which the graphics engine could use, that was then being turned into a directx texture. Using this method I ran out of graphics memory quite quickly.

I then turned my attention to only loading default anims for unit that appeared on screen. So scrolling around the map a unit would come into view on the map, this would then do the process of opening the flc, reading in each frame, turning each frame into an image and then into a directx texture. Units that then went off screen would remove them self from memory, unless it needed the same flc for another unit currently visible. This worked but was very slow and not usable and in some cases on the map it would still run out of memory.

This method albeit slow was kinda working, so I started to look into speeding it up. I added a thread every time a flc needed to load and apart from the memory issue I was still having, adding a thread was working perfectly. Well almost, it ran perfectly on my windows xp 32bit work machine, but at home on my windows 7 64bit pc the editor would freeze when exiting a thread. I spent a number of days looking into this but never came up with a fix. So back to the drawing board.

I started to realize that the act of opening the file from the hard drive was very slow, so now every flc is opened and the compressed contents are loaded into memory before the map is displayed. When a map tile is displayed that has units, the unit flc is then read from memory and turned into an image and then a directx texture. This method is a lot quicker and usable, I'm also much happier with how this is working now.

There still loads todo around this area as it still slows down a bit when loading quite a few flc's.

I've created an updated version which you can download here http://indieciv.codeplex.com/releases/view/97584.

I've also uploaded a video to show the importing of a BIC file.

Link to video..



31st October 2012

So at the moment I'm working on the functionality around being able to import BIC files, and to do that I'm currently using this scenario World War II European Front as test.

A few things have popped up during this, most notably was the need to get the unit graphics. And to be able to do that I've added a dialog window which during import will ask you for directory path where it can search for the unit flc files. You are able to add global paths, which all projects will use. So for example you might add the default Civ3 paths here if you have it installed.
You can then add paths for the mod you are trying to import.
Spoiler :
searchfolders.png

During import you also get the option to only import select areas of the BIC file. This still needs work doing to it and is not fully working yet.
Spoiler :
importoptions.png

I've also added this dialog when you start the editor, you can enter a mod name, select either a new blank project, import a bic or load an already existing project.
Spoiler :
startup.png



18th Feb 2012

Civs now have colors!!!
Spoiler :
civcolors.png


17th Feb 2012

I've updated the files on drop box. It's now possible to save and load mods into the editor.

Added the ability to change the map size.
Added a tile properties window, clicking on a map tile will update the properties.
To use the paint method for making a map just press left control at the same time as clicking on the map.

There is a known issue when after using the map it wont then let you use any of the editor. Tabbing to another application and back should fix it.

8th Feb 2012

Right so I like had a baby, well not me specifically. My lovely wife gave birth to a baby girl on the 27th Jan weighing 9lb 2.5oz :O Unfortunately I not been able to spent much time on IndieCiv in the past 2 weeks, but I am now back at work and once things settle down there I should be able to get back to some IndieCiv coding :)

I did however did get to add the properties windows so that you can edit a tiles properties. My next goal is to get the editor to know about mods/scenarios.

25th Jan 2012

Since the last update I've been working on being able to add cities and territory borders to the map. There are a few things I still need to add like being able to remove them from the map and a few other things. I also started work on the rules and scenario editor.

A few more days until I can upload a version to drop box.

Spoiler :
cityandterritory.png

Spoiler :
scenarioprops.png

Spoiler :
civrules.png


20th Jan 2012
Over the past few days I've been moving the editor into a standalone windows app. Having the editor in game was proving to be quite a pain and very slow going, so having a proper stand alone app allows me to quickly add new features.

Current Features:
  • Create Maps
  • Select terrain types via a right click on the terrain icon
  • Clear Map
  • Load and Save a map
  • Zoom in and out using the mouse wheel, also using the +/- keys on the numeric keypad
  • Right click on the map will allow the map to move around
  • Left click will perform an action on the map, depending on what mode the editor is it (currently you can only place terrain)

The editor is uploaded to dropbox for those that want to have a play around. I'll add more features over the next few days.


Spoiler :
image2de.png
 
Hey, good.

Remember not to limit yourself to CivIII, that's ten years old, current hardware can support larger maps and better graphics.
 
My comp's three years old. Still better than what was around in 2001.
 
Hey, good.

Remember not to limit yourself to CivIII, that's ten years old, current hardware can support larger maps and better graphics.

Maps will be unlimited size, of course the larger the map, the more memory it takes and the slower it runs.

What do you mean by better graphics.

I'll add what I think is needed, if you need some thing adding or changing then I shall do it.
 
Better than Firaxis' graphics of course, actually appropriate to tiem and age and so forth! No more using the Chinese Rider instead of Cataphracts while wasting a lot of time on dinosaur units for one.
 
Looking good!

Would I be right in saying that it'll already be possible to add all the civs and terrain/relief we need as we go, through the XML and .pcx files?
 
Looking good!

Would I be right in saying that it'll already be possible to add all the civs and terrain/relief we need as we go, through the XML and .pcx files?


Yes that is correct, but the editor doesn't know about mod/scenarios at the moment, so the only XML files you can edit that would have an effect in the editor are the base files.

Things that need to be done:
Ability to remove cities
Ability to remove territory
Save/Load cities/territories
Civilization/Player colours
Ability to add/remove relief on the map
Ability to add/remove resources on the map
Load/Save scenario/mods
 
We should have something that edits each tile individually so we can assign cities, ownership, units, relief, etc. to each tile individually.
 
We should have something that edits each tile individually so we can assign cities, ownership, units, relief, etc. to each tile individually.

You can add cities to tiles and set the territory/ownership, did you have some thing else in mind?
 
Yes, full tile edition. Changing the tile's terrain type or the resource(s) and improvement(s) there, from the tile's own tab/window instead of having to select a resource and then paste it on top of the tile as if it were MSPaint.
 
Yes, full tile edition. Changing the tile's terrain type or the resource(s) and improvement(s) there, from the tile's own tab/window instead of having to select a resource and then paste it on top of the tile as if it were MSPaint.

Ah perfect answer :D

So some thing like this?



Spoiler :
tileproperties.png
 
Yes! Like that but with even more options.
 
A few ideas (Existing/Proposed)
  • Tile Properties
    • Terrain add a transformation terrain type: what it transforms into. Could include a default form for vanilla games and be changed tile-for-tile for specific scenarios
    • Resource(s)
    • Tile Owner
    • Relief/Height
  • Tile Improvements
    • Irrigation
    • Mine
    • Road
    • Railroad
    • City
    • what about all the other improvement types plus other improvements such as, for example, a drawbridge or a commercial factory that modders might think to make up?
  • City Properties
    • Name
    • Owner
    • Size
      [*]Improvements already built in the city[*]Amount of resistors
      [*]Culture/Status/Influence
      [*]Religion (s) of inhabitants
      [*]Pollution/contamination
      [*]Starvation
      [*]Other assorted items that I'm just thinking about like amount of queues and similar vagaries I've been thinking of for some time
    [*]What about the properties on the units in that tile? If you're including the city properties tab (which is a good step) then we should also include the unit properties while we're at it.

To name a few just before lunch.

I believe we could have an even wider scope of editing and more flexibility if this was just the graphical interface for editing some sort of text-based script file -.txt? .xml? another format? your pick- and people could just open said script -even with NotePad just like we edit PediaIcons.txt, scripts.txt and Civilopedia.txt in CivIII- and check if something's not right or add something of their own there, say like items owned by a unit, make it start with only one hit point, and such conditions.

P.S. I supposed that in tile properties we could include whether the tile is a regular one or an objective for one or several factions to control. CivII had that, I think. Maybe I should borrow the game manual from my neighbour, assuming he still has it.

(Editing finished)
 
A few ideas (Existing/Proposed)
  • Tile Properties
    • Terrain add a transformation terrain type: what it transforms into. Could include a default form for vanilla games and be changed tile-for-tile for specific scenarios
    • Resource(s)
    • Tile Owner
    • Relief/Height
  • Tile Improvements
    • Irrigation
    • Mine
    • Road
    • Railroad
    • City


    • For resources could you actually see a good use for a tile to have multiple resources?

      [*]what about all the other improvement types plus other improvements such as, for example, a drawbridge or a commercial factory that modders might think to make up?

    The options available can be easily added based on what's in the XML, so they won't be hard coded :)

    [*]City Properties
    • Name
    • Owner
    • Size
      [*]Improvements already built in the city[*]Amount of resistors
      [*]Culture/Status/Influence
      [*]Religion (s) of inhabitants
      [*]Pollution/contamination
      [*]Starvation
      [*]Other assorted items that I'm just thinking about like amount of queues and similar vagaries I've been thinking of for some time
    [*]What about the properties on the units in that tile? If you're including the city properties tab (which is a good step) then we should also include the unit properties while we're at it.

Yes units will be included as well.

To name a few just before lunch.

I believe we could have an even wider scope of editing and more flexibility if this was just the graphical interface for editing some sort of text-based script file -.txt? .xml? another format? your pick- and people could just open said script -even with NotePad just like we edit PediaIcons.txt, scripts.txt and Civilopedia.txt in CivIII- and check if something's not right or add something of their own there, say like items owned by a unit, make it start with only one hit point, and such conditions.

So are you saying there should be more options in the xml files or that every thing should be editable using the gui?

P.S. I supposed that in tile properties we could include whether the tile is a regular one or an objective for one or several factions to control. CivII had that, I think. Maybe I should borrow the game manual from my neighbour, assuming he still has it.

(Editing finished)

What we need is an ideas thread to build up what everyone wants, fancy doing it?
 
Back
Top Bottom