Civilization V DLL Source Code coming with Fall Patch

It may be possible, but it will require massive amounts of coding. It won't be as easy as copy-pasting from the Civ IV DLL into the Civ V DLL, because the game engine is different. You'll have to write many, many lines of code as work-arounds for lots of these mechanics, and then you'll also have to write code that makes the AI work properly with the new changes.

Then, perhaps someone could set up an official project? Ideally, they would lay out a plan which would divide the undertaking into steps. On an average of every 6-10 weeks, they could get one feature from Civ IV working in Civ V, progressing at a steady pace, until the perfect hybrid is made.

It is not possible to make a sphere with hexagons: you need to use at least a few pentagons. To add pentagon tiles, you will likely need to change the game engine, and you'll need the .exe at the very least. Just look at a soccer ball: hexes + a few pentagons.

There was a thread where people did some astounding work on this sort of thing. Perhaps it's worth taking a second look? http://forums.civfanatics.com/showthread.php?t=356334

Another, less pretty solution (which unfortunately probably requires the graphics engine that Greg mentioned) would be to warp the visible portion of the map so it looks like it's been projected onto a sphere. Since you can't zoom out all that far anyway, it could be a convincing illusion.
 
You mean having multiple maps? Perhaps... it was eventually found out to be possible in Civ4, and such a thing was released a few months ago.

Well that's an excellent thing! Finally, real offworld colonization! Now, if you can show me the thread....

On the spherical-maps front, I don't think that it may be required to actually change the way objects are rendered. All that should be needed is to add new types of hexes which are actually pentagons (as mentioned in the thread) and to rotate units slightly depending on which hex they are on. Then once you get the AI work done you have an excellent game.

Am I correct?
 
That is a very cool thread. But I still think that implementing a spherical map would be tremendously difficult and/or time consuming. If you want to change the camera so that you get a realistic sphere illusion, you probably won't be able to do it in the DLL. It is most likely part of the game engine itself. Unless I'm wrong about that.

Also, Spherical maps wouldn't add a whole lot to the game except in the very late game, since crossing the arctic should probably require some kind of late game tech. Also, how many conflicts have seriously used crossing the arctic as a tactic? I am pretty sure the answer is "none". Real-life arctic is only good for resources and research, really.

Instead of implementing a fully spherical globe, it might be better to implement maps that slightly curve inwards at the top and bottom (a slight curve may be easier to implement) and expand arctic play a little: allow for resource exploiting and creation of scientific and air/naval bases or something. That's probably closer to the value that a fully spherical globe would have.
 
You most certainly would. You would be able to implement a host of features that we want in the mod following DLL release.

I feel so special :P
 
But mod creators could co-collaborate to ensure two mods that use a modified .dll can work together, right?

Not exactly; you can only have one modified DLL at a time. What is possible though, is that, if we can expose more functions to Lua by modifying the DLL, then a more or less "modding standard" DLL could be created, allowing those mods to use the same dll and do their things in Lua instead, thus being compatible.

Then, perhaps someone could set up an official project? Ideally, they would lay out a plan which would divide the undertaking into steps. On an average of every 6-10 weeks, they could get one feature from Civ IV working in Civ V, progressing at a steady pace, until the perfect hybrid is made.

Unfortunately, there is no such thing as a "perfect hybrid"; different people will have very different ideas on which features to transpose. The reality in modding is that to get the kind of thing that you want (since it would be so time-consuming), you will probably have to do it yourself, or at least be a major contributor to such a hypothetical project.

Well that's an excellent thing! Finally, real offworld colonization! Now, if you can show me the thread....

Naturally:
http://forums.civfanatics.com/showthread.php?t=458248
 
I'm excited to hear the Civ5 DLL will finally be released, although I lack the programming skills & background to be able to successfully rewrite the DLL myself. My hope is that DLL modders will be able to remove enough hardcoding so that things like resources, improvements, city and building graphics, and sounds can be added and changed more easily like in Civ4.

I'm not sure how much the existing AI relies on hardcoding relating to existing content from the vanilla game. If this is extensive it certainly explains why it's been so difficult to create total conversion mods of Civ5 until now. To really enhance moddability the AI would have to be able to make decisions based purely on the stats it sees in the game content without relying on hardcoded decisions re vanilla content at all, which might be very difficult but is hopefully possible.

Originally Posted by 3335d View Post
Well that's an excellent thing! Finally, real offworld colonization! Now, if you can show me the thread....

With the help of TC01 and Androrc, the Colonization 2071 mod for Civ4Col creates several circular planets floating in a "sea" of space terrain which can be crossed by spaceships (see link below for screenshots). That's another possible way for interplanetary mods which can be done only with the ability to edit terrains, without the need to extensively code new features for parallel maptypes. Although it would be very cool if parallel maps also were possible, if only for the Master of Magic nostalgia factor ;):king:
 
With the help of TC01 and Androrc, the Colonization 2071 mod for Civ4Col creates several circular planets floating in a "sea" of space terrain which can be crossed by spaceships (see link below for screenshots). That's another possible way for interplanetary mods which can be done only with the ability to edit terrains, without the need to extensively code new features for parallel maptypes. Although it would be very cool if parallel maps also were possible, if only for the Master of Magic nostalgia factor ;):king:

I like that way very much... I think it would look good with hexes, too (since the "planets" would look more spherical). If only we could change the terrain textures... Maybe that will become possible with the DLL, who knows.
 
This may seem like a silly question, but does anyone think it will be possible to implement vassal states and capitulation once the DLL is released? I think that's the thing I miss the most from Civ IV.
 
it could almost be done in Lua only, so I'd say yes.
 
I like that way very much... I think it would look good with hexes, too (since the "planets" would look more spherical). If only we could change the terrain textures... Maybe that will become possible with the DLL, who knows.

:hmm: ...but I thought this was already possible (see here, screenshot in the spoiler).
 
arnold.jpg


(Pops are major vein in the neck)

:p:D
 
In Civ4 it was fairly straightforward. Of course, there is still the issue of having a computer which can run all those civs at the same time :p

Correction: In Civ4:BTS it was straight forward. Not so much in vanilla civ4; code had to be pulled out of the engine and into the dll for it to be possible.

In other words, it may take a while.
 
I'm curious how the Dll and exe are divided. As I understand, Cuvilization 4 did not expose much of the art or rendering because it was using the proprietary GameByro engine. I understand that this is no longer the case with Civ5.

Also a few people have brought up multithreading - multithreading is extremely difficult, especially when each players turns are sequential and rely on the actions of the players previous turns. You can't simply 'add' more threads to an application, great pains have to be taken so that the memory model works. However that is not to say performance gains are not possible - it should be relatively straightforward to cache more values, at the expensive of RAM usage.
 
Now that the DLL is out, can someone examine it to see if spherical maps are indeed possible, or if those are handled by the EXE?

In any case, though, we could always "reinvent the wheel" in the DLL (I hope).
 
Back
Top Bottom