Possible Future Direction (personal view)

Koshling

Vorlon
Joined
Apr 11, 2011
Messages
9,254
I've been thinking for a while now, about starting afresh with a game engine not restricted by the legacy issues of Civ IV. Partly this was triggered by the large number of people asking if we would move to Civ V (no - we all agree on that, though for a variety of different reasons). Anyway, I've decided to set out my thoughts in the form of a project proposal blog, which I've made the first post to today. More will follow over the next few days, and there is a fairly high likelihood I (at least) will work on this actively.

It's not without downsides (which I will be going into in future blog posts), and is a very large effort, but anyone's comments are welcome (preferably as comments on the blog since it's really peripheral to current C2C activity and so does not belong here).

See http://axxxxe.blogspot.com/
 
Does this mean you won't be working on C2C?

If I go ahead with this it means I'll have far les time for C2C in the short term (long term I'd hope to rehost C2C on the new framework), but I'll still do some bug fixing.
 
If I go ahead with this it means I'll have far les time for C2C in the short term (long term I'd hope to rehost C2C on the new framework), but I'll still do some bug fixing.

And what sort of timetable would we be looking at to see a playable result?

Also, would we even be allowed to use our existing content with the new engine? I thought that the civ 4 graphics formats were closed.
 
Very ambitious, I'll help if I can. As I have said before my main areas of "expertise" are data models, interfaces between data models (and stores) plus user interfaces. I am a big believer in having the correct data model for each of storage, process and user use.
 
And what sort of timetable would we be looking at to see a playable result?

Also, would we even be allowed to use our existing content with the new engine? I thought that the civ 4 graphics formats were closed.

Well, as I say in the first post, there are downsides which I'll be listing in the next couple of posts. My intention would be that C2C XML would be directly translatable for entity definitions (that is that it should no be too hard to write a mechanical translator), but as you observe, this is NOT possible for the graphical elements. Initially (until such time as I find someone with expertise in that area, or spend a large amount of time myself) I plan to implement a test UI which will just be 2D with simple icons (think Civ I or maybe Civ II). This will be entirely playable, but not terribly pretty. I'd hope to garner enough interest at that stage to get someone interested enough to take on implementing a 'real' UI (as I say in the first post ultimately I'd like there to be several UIs available, including one that does server-side rendering to produce an HTML5-based UI so one can play on tablets and so on)
 
Well, as I say in the first post, there are downsides which I'll be listing in the next couple of posts. My intention would be that C2C XML would be directly translatable for entity definitions (that is that it should no be too hard to write a mechanical translator), but as you observe, this is NOT possible for the graphical elements. Initially (until such time as I find someone with expertise in that area, or spend a large amount of time myself) I plan to implement a test UI which will just be 2D with simple icons (think Civ I or maybe Civ II). This will be entirely playable, but not terribly pretty. I'd hope to garner enough interest at that stage to get someone interested enough to take on implementing a 'real' UI (as I say in the first post ultimately I'd like there to be several UIs available, including one that does server-side rendering to produce an HTML5-based UI so one can play on tablets and so on)

Could we use an existing FOSS graphics engine as a base? That would save a metric ton of work, and be compatable with the project assuming we license it under the GPL.

And this does mean that I'll help as much as I can to get this going, although it may be above my level for a while. Better start cracking at the C# books some more. :)
 
Could we use an existing FOSS graphics engine as a base? That would save a metric ton of work, and be compatable with the project assuming we license it under the GPL.

And this does mean that I'll help as much as I can to get this going, although it may be above my level for a while. Better start cracking at the C# books some more. :)

I'm not familiar with it (I'll look it up), but the whole point of separating the UI cleanly from the model is that in principal ANYTHING should be usable.

Edit - ah nvm - FOSS is a generic acronym ;) But the answer is yes - ideally a C# one, but it would be possible to wrap a C++ one if need be.
 
I'm not familiar with it (I'll look it up), but the whole point of separating the UI cleanly from the model is that in principal ANYTHING should be usable.

Edit - ah nvm - FOSS is a generic acronym ;) But the answer is yes - ideally a C# one, but it would be possible to wrap a C++ one if need be.

OGRE is the one I'd look to first, it has a large community and active development. It is however written in C++. There was a C# port of it, but that is waaaaay (7 years!) out of date.
 
As I said when this came up earlier this year, I am interested in helping with such a project so I am looking forward to your further design posts.

I'd say though that a good architecture of the data model and dependency should take precedence over mechanical compatibility to the C2C XML data.
 
As I said when this came up earlier this year, I am interested in helping with such a project so I am looking forward to your further design posts.

I'd say though that a good architecture of the data model and dependency should take precedence over mechanical compatibility to the C2C XML data.

I actually really like the data model in Civ 4, so I don't think too much of that would need to be changed.

Edit:

Also, if we decide (and it seems that we will) to get working on this in earnest I can talk to the mods and admins here about possibly getting us hosting on CFC, which would make things considerably easier from an organization standpoint.
 
As I said when this came up earlier this year, I am interested in helping with such a project so I am looking forward to your further design posts.

I'd say though that a good architecture of the data model and dependency should take precedence over mechanical compatibility to the C2C XML data.

Agreed, which is why I said machine-translatable should be possible, rather than direct usage.
 
I actually really like the data model in Civ 4, so I don't think too much of that would need to be changed.
I don't like it. Every single unit and building is defined completely independent of all others.

What I'd love is a good inheritance model. So instead of defining a special unit directly, you first define the base type of the unit and then you define the special unit depending on that base type so if in the future you want to change the strength of all units of that base type you don't have to redo all of them but only change the base type.
 
I don't like it. Every single unit and building is defined completely independent of all others.

What I'd love is a good inheritance model. So instead of defining a special unit directly, you first define the base type of the unit and then you define the special unit depending on that base type so if in the future you want to change the strength of all units of that base type you don't have to redo all of them but only change the base type.

Interesting. That still wouldn't disallow us from using the current XML, atleast in a machine-translatable state.
 
@Koshling:

Regarding OGRE as a possible 3D render base for us, I did some more looking an it seems that they already have an officially supported C# wrapper, MOGRE. So that would make our lives doubly simpler if we choose to go that route.
 
Well... I can't say I didn't suspect this day would come ;)

Out of curiosity, if you're going to put THIS much effort into such a project, wouldn't you want to at least potentially profit somewhat from it? Not saying its all about money but its certainly a lot of work to put it all together and leaving room for a potential, if not necessarily planned for, income to be derived from the project could be a nice added benefit, especially if we will eventually seek some added assistance.

Your proposition plan was well worded (a bit more technical than I'm familiar with in some spots) and overall presents a really cool concept in general. I could see a lot stemming from such a project.

So overall, a good idea. I'm going to agree with some here though that there are a number of better ways we could go about things from the core up that would make such direct translatability somewhat tough to implement. I think of all the efforts this project would require, translating much of what we've designed into the new engine's methods would not be among the greater tasks (not to say it wouldn't be a small one - just that there would be far greater hurdles along the way here.)

The more we allow for optional rulesets to be selected for any given game, the more such a system would be empowered all in all to basically be THE generic platform on which a great many awesome game designs could reside.

I'd be more than happy to at least take part where I can, provided it doesn't deter my current projects here too greatly. I don't suspect it would though because I'm only going to have much to offer once modding methods are well established. For discussions at least, I'm going to be keeping a very close eye on the project!

BTW, one point of note: It'd be nice if we could utilize a graphics system that allows us to program animations via much easier programs such as say, Poser.
 
Top Bottom