Count this as my first post in SRQBlog in the games category and in being the first, I will take a moment to define “modding” as well as discuss where my “position” in this underworld is. Modding is a slang expression for modifying hardware or software to do something different than the designer’s published version intended. I consider myself an old-timer. I have dabbled in modding games since I re-wrote half of Tuesday Morning Quarterback for the Apple IIe to play and record NFL formula generated schedules, regular and post seasons, display statistics, and give all-star caliber players bonuses. That was a long time ago and I’ve edited and modded many games since then. I never hang around in any one game, or even genre, long enough to become an expert. I play to evaluate design and learn what makes a game good (or not). When a title motivates me, I take the next step and explore doing a mod or two before moving on to the next adventure. My common online identities/monikers are “MarinoCorps” and “DolfanGT”.
These days, there are so many people out there who not only mod, but are easily able to share their creations, that I rarely find the need to do it myself. Some of them put years of effort into a single mod. Why spend the time if someone else has already done it? The answer is, because it can be a rewarding challenge. If you can’t find your idea already out there, go for it! In my case, the additional desire to write… to blog… has led me to share my attempt at creating a very basic mod: a map, scenario, new civilization with a leader, and a new unit for that civ… for the game Civilization V using our Kirzaka from Cool Queue Studios game Galactic Domination Online.
There are many criticisms of Civ V out there (as compared to Civ IV) and I agree with much of them. That’s not what this blog is about, so if you want to delve into that, I recommend exploring a place like http://www.civfanatics.com or http://apolyton.net . I mention this because my experience thus far has led me to conclude that modding this version of CIV is much harder than it should be.
The simplified story is: an advanced alien warship has crashed on a small, central continent of a world whose civilizations are just forming. The survivors of the crash have built a small city from the wreckage and managed to retain some of their technology. The continent is lush, fertile, and has abundant resources at its center, but is totally ringed in by impassible mountainous terrain. This “new” civilization is not playable. It is intended to be a late-era discovery and provide a more difficult end-game challenge for domination only victory.
The concept of the map was to achieve challenging play for three general eras. In the first era, “Expansion”, each civilization had its own continent and the goal was to fill it with cities as quickly as possible while fending off an onslaught of barbarians. The second era, “Conflict”, would occur when astronomy / navigation were discovered and the oceanic gap between continents could be crossed. This allowed for more interesting battles when they broke out, because the AI would have the whole first era to build up large armies. The third era, “Domination”, would pose the extra challenge of having to cross the mountains to deal with the Kirzaka who would be brimming with death robots and “galactic marines”, a formidable infantry unit that ignored terrain costs and is capable of dealing with both land and air based opponents.
The first time I created this map for Civ IV, I used the ring.lua script in map builder to create a huge map with 12 continents (plus the center) and edited it manually to meet the scenario needs. With Civ V, ring.lua still exists, but it either never worked, or the Gods and Kings Expansion broke it, I’m not sure which at this point in time. So I used “Inland Sea” to generate the base map. I sliced it up with a small hex brush painting ocean terrain between landmasses and around the outside. I replaced the newly displaced land resources with water based resources, painted a new continent in the middle from scratch, and carefully added everything the aliens would need to build and grow. I placed 16 playable races and my one custom race in decent starting location and provided the aliens with a couple of starting units. Then I balanced resources, set up some scenario rules, ie, raging barbarians, domination victory.
Eager to test my “masterpiece” I fired up the game and immediately found problems. Though I placed random civilization starting points on each continent, no matter what civilization I chose, it always put me in the same start location. No matter what I tried, including going back and placing barbarian camps on each continent, the scenario would not generate new barbarians even when I had enraged barbarians selected. A couple of civilization generated settlers, but would not send them outside their cultural borders (though others did). Finally, the unplayable race, the Kirzaka, were supposed to be permanently at war with all other civs and city-states. They never attacked, I was unable to enter their territory or attack their units, and the option of [DECLARE WAR] in diplomacy was not available. I checked and re-checked all the scenario options. Clearly this was going to take a lot more time to do successfully.
Perplexed, I thought I would return to the map generating LUA scripts. Maybe I could get RING working myself. If these continents were created using a real map generating rule script, perhaps whatever corruption had taken place could be eliminated. I would create a new script from the existing one that fit my rules for the alien map. The side benefit would be that it could be used to randomly generate maps playable in any version of the game. I didn’t know LUA, but I’ve taught myself nearly every language I’ve programmed in over the years, so one more wouldn’t be a problem. It wasn’t. I had to conditionally set a number of “global” variables that the script was trying to read from elsewhere, but I got it working, to a point. But when my alien.lua handed over resource placement to the 8000+ line AssignStartingPlots.lua… it crashed again trying to access data that didn’t exist. My good old fashioned corner cutting direct “hack” method wasn’t going to get the job done.
So it was back to the drawing board. Instead of being able to throw together a quick and dirty mod by directly editing LUA scripts, XML, and worldbuilder maps, I was going to have to invest more time and go the full-mod route by learning the Moddbuddy IDE (which anyone can get from Steam) and everything that goes with it. I researched the art file format and reached out to Sean Kennedy, so he could take his Kirzaka artwork and fold it into the .dds files I would need for leader graphics and a unit graphic. I went to the websites I mentioned above and began consuming information. Ultimately I found this guide: http://kael.civfanatics.net/files/ModdersGuide.pdfOverall by Derek “Kael” Paxton. I would recommend that anyone who dares to undertake this larger than expected but very cool task, start there. That’s where I’m headed for part two of this blog, where I hope to deliver you all a downloadable Mod and the story of how it was done!