Jotnar project

Erikulum

Chieftain
Joined
Sep 19, 2013
Messages
66
Jotnar overhaul project
This project is born from a random idea I had after seeing the jotnar module in the mod list. And reading about the FFH2 Jotnar mechanics (seemed very strange). After making the mod stable enough to make a test run I saw how insanely game breaking the jotnar are in RiFE and decided to slowly rework them to make them fun and balanced.

Latest release:
http://www.gamefront.com/files/23768010/Jotnar.7z
Compatible with Ashe of Erebus. Nothing new implanted. Game-breaking OP civilization.

The original idea:
- Create a new improvement called Jotnar district (-1 hammer, -10 food)
- Each time a jotnar city gain population a Jotnar district will be added around the city

current goal:
- Program the Jotnar district spawning mechanic (learn python)
Spoiler Jotnar district placement priorities :
- Don't spawn on water
- Don't spawn on peak
- Be the closest possible from the city
- Spawn over city ruins
- Don't spawn in desert
- Don't destroy other improvement
- Don't spawn on ressources
- Spawn on roads
- Spawn on the tile that provide the less food

Sidegoals:
- Clean the mod and use more clear name when possible (The mod currently use thing like TECH_JO1, LEADER_JO3...)
- Make the mod 100% modular
 
Update:
Spoiler 2013-10-15 :
  • added spawn on the tile that provide the less food to the jotnar district placement priorities
Spoiler 2013-10-13 :

  • Extracted most of if not all the missing XML files from final fixes reborn 13.7
  • Found jotnar related art ressource in final fixes reborn 13.7
  • Found the XML causing the bug, Jotnar_CIV4CivilizationsSchema.XML was a mess. I replaced it with a copy of the Dural_CIV4CivilizationsSchema.XML. Had to change 4 line in Jotnar_CIV4LeaderHeadInfos.xml.
  • The Jotnar module is now working
  • Verified: the Jotnar module isnt giving forest stealth to every recon units
  • New sidegoal: Clean the mod and use more clear name when possible (The mod currently use thing like TECH_J01, LEADER_J03...)
  • New sidegoal: Make the mod 100% modular
  • Removed the plot radius bonus from the Jotnar staedding, decreased defense bonus to 12%
  • Removed Gardens of Amatheon from their unique building list
  • Created the Jotnar District improvement
Spoiler 2013-10-11 :
  • Changed the improvement name from Jotnar steadding to Jotnar district
  • Elaborated and moved some idea from random related idea to future goal
Spoiler 2013-10-09 :
  • Changed the improvement name from Jotnar city to Jotnar steadding
Spoiler 2013-10-03 :
  • There's missing files in the jotnar mod, apparently it wasn't made entirely modular.
Spoiler 2013-10-02 :
  • "ID conflicting with UNIT_ARTSTYLE_RADIANT ()" problem solved. The mod was conflicting with itself. (duplicate entry in Jotnar_CIV4UnitArtStyleTypeInfos) Sadly that's not what was causing the crash issue.
  • The game's crashing when the player try to get info on the leader (mouse over their icon in the wiki)
  • Played a test game with the Jotnar, they're so strong it's game breaking
 
Completed goal:
Spoiler completed goal :
  • make the mod compatible with the latest RiFE release
  • changes the base plot radius of the city to +2 (alter Jotnar Staedding unique building)
  • Remove gardens of amatheon from their unique building list
  • Create an indestructible new improvement called Jotnar district
Future goal:

- Release the first version of the Jotnar Overhaul Project for RiFE; will still be really unbalanced but you will be able to use the new mechanic

- add code to prevent jotnar city growth if the next Jotnar district would be placed outside the town's plot radius (for city with lot of water)

- Balance their start
Spoiler starting changes :
Change their starting unit to 1 settler, 1 "scout" and 1 "warrior" (from 1 settler, 2 "worker-warrior" and 2 weak "scout")
Remove 2 of their starting tech (keep only Traditions)
- Remove the Jotnar citizen spawn mechanics
Spoiler related thing to do :
Units built by the jotnar will have a random race attribued when they spawn. With a code that will replace some specific combo with specifics units
ex: trollkin ranger -> Troll trailblazer
goblinoid warrior -> Thrall militia
giantkin archer -> Hurler (this specific combo will only happen if they also have the masonry tech)

Each unit class will have different % chances to be of a certain race
Each unit built will lower the chance to get another one of the same race.
- Remove the Jotnar citizen unit (I want to use an unit with that name for another mechanic)

- Balance the Traditions technology and civic

- Make the Jotnar distric use the town defense modifier

- finish the Jotnar district relate code
Spoiler related thing to do :
town will lose one population when a Jotnar district is destroyed
town will gain one unrest when a Jotnar district is destroyed by the controlling civilisation (we cannot forget your cruel opression)
add a rule at the top of the Jotnar district placement priorities: Don't spawn on tile where a Jotnar district was destroyed by the controlling civilization
- add a free Jotnar citizen that can't move on the Jotnar districts as long as the tile is exploited by the city(If possible)
Spoiler Jotnar citizen :
jotnar citizen will have around 2~3 power
will cost no maintenance
will have access to bronze/iron/mithril weapon
will always be the last to defend the tile
some technology may give them bonus (mid/late-game balancing issue)
and killing one will lower the city population by one
- Tweak the production cost, alter mechanics to balance the Jotnar
 
Possible goal:

- remove duplicate unit

- add a new unique building for the jotnar
Spoiler Ancient jotnar city :
Ancient Jotnar city (developement name)
  • unique building for jotnar
  • replace city of a thousand slums
  • +X to the crime rate
  • changes the plot radius of the city to +3
  • requires taxation
  • Can only be built in city with 13 population (13 is an arbitrary choice that will probably need adjustment but it should be around that)

- Add a wall mechanic, giants love their walls (Think Minas Tirith from LOTR, just less steep)
Spoiler wall mechanic :

  • add 4 building replacing wall and palisade to the jotnar (Jotnar palisade I, II, III and IV)
  • Would need to be built in order
  • Each palisade would need a different tech in order to be built
  • Each palisade level would provide 0.5 happiness with the Traditions civics
  • When built, a wall would be added around the city center
  • Worker would be able to expand the wall on Jotnar district (in order, a level 3 wall couldn't be expanded on a tile without a level 2 wall)
  • Each Jotnar palisade would provide a 20% defense bonus that would only partially stack (+10%/level)
  • Defense bonus would only be applied when attacked from outside the wall
    examples:
    - A defender inside a level 2 wall attacked from outside would get a 30% defense bonus
    - A defender inside a level 3 wall attacked by a unit inside a level 2 wall would get a 20% defense bonus
- Rewrite most of the jotnar-related wiki entry, adapt the lore where needed

Make every giantkin unit give one production when they are fortified in a city (or in a district).
Giantkin unit gain free promotion when they live long enough.
Giant with these promotion could give bigger bonusses:
- Giantkin seasoned (50 turn) +1 production +1 other*
- Giantkin Renowed (100 turn) +1 production +1 Great person +2 other*
- Giantkin Prominent (200 turn) +1 production +2 Great person +3 other*
- Giantkin legend (300 turn) +1 production +3 Great person +4 other*
- Giantkin legend (400 turn) +1 production +3 Great person +4 other*
*Other include commerce, research, culture.
*Other may also include more rare option like food, happiness or health
 
Random related idea (may be added to the goals):

Add an alert when a jotnar district will spawn on an improvement or on a ressource

Program an event that let the jotnar remove a raw mana node from their district and add it to the mage guild

each population could use the normal amount of food instead of 3. (will probably be needed for them to be viable)

Check if possible to rename group of Jotnar district to "city name" district

Jotnar settler could only be able to "build a new city" on controlled fort

making this improvement become city ruin when destroyed make jotnar city really interesting for Scion of patria so replacing it with something else is a possibility
or
give the Jotnar leader a 0.25 negative relation modifier for each Jotnar steadding Scion of patria's leader can see. "-X: We don't like the way you are looking at our cities."
give the Scion of Patria leader a 0.25 negative relation modifier for each Jotnar steadding they saw. "-X: We intend to use the fall of your civilization at full extend"
 
Instead of the improvement, why not add it as a city building?

Also, among the thousand problems the Jotnar module has, last I checked enabling it caused ALL recon units to gain Forest Stealth.
 
Good luck with your project. I never played the Jotnar because by the time I started with RifE, there was already lots of criticism that it was a broken civ. There have also been a lot of attempts to fix them - you've probably looked though a few different threads to find any good ideas already.

It's a very minor comment but I wouldn't call your new improvement Jotnar city, as the civ's cities are already Jotnar cities. I'd use Jotnar steadding (or whatever the name is of the barbarian giant spawning improvement is).

When a city gets up to 8 population it's guaranteed to lose the benefit of any resources in the first ring. Is that really the way you want it to work? You might want to make them more likely to spawn on tiles with a road, even if in the second or third ring.
Remember to allow for creation of these improvements in the third ring when they have their unique "slum" improvement.

You could just link the ability to use the three rings to the Jotnar palace, rather than having a separate wonder. If you did do that you'd need to consider the effect on any of those Jotnar "city" improvements in the third ring when a new palace is built.

An event would probably be appropriate to convert a nearby barbarian Steadding into a Jotnar "city" and add 1 pop to the nearest city. Conversely, maybe some Jotnar "cities" become barbarian steaddings, if the city unhappiness is excessive, losing 1 pop in the process.

I think creating the immobile citizens on your improvements and giving them the defense bonuses is a good idea . I'd also support making them pillagable improvements. Tweak the XML to make pillaging those improvements attractive to the AI.

If you're removing the spawning mechanics are you planning on placing a different variable limitation on the number of powerful units the Jotnar can have?
 
Instead of the improvement, why not add it as a city building?
I think you didn't understood the goal of this improvement. The true goal of this improvement is to make tile around the city "part" of the city itself removing (mainly) it's ability to provide food or have another improvement making it hard for the jotnar to have city with high population since each population point "remove" one tile food production

Also, among the thousand problems the Jotnar module has, last I checked enabling it caused ALL recon units to gain Forest Stealth.
Wow, so random. I currently can't verify this since making jotnar npc currently stall the game (waiting for enemy...) but I'll be sure to keep it in mind (probably low int the priority list tough)

It's a very minor comment but I wouldn't call your new improvement Jotnar city, as the civ's cities are already Jotnar cities. I'd use Jotnar steadding (or whatever the name is of the barbarian giant spawning improvement is),
Good point, this could become confusing otherwise

When a city gets up to 8 population it's guaranteed to lose the benefit of any resources in the first ring. Is that really the way you want it to work? You might want to make them more likely to spawn on tiles with a road, even if in the second or third ring.
That's the way I intend it, the jotnar are a very powerfull civilisation and that flaw should help balance them. But I intend to make the jotnar staedding able to provide ressources and maybe related bonus to the tile (excepting food bonus)
An event would probably be appropriate to convert a nearby barbarian Steadding into a Jotnar "city" and add 1 pop to the nearest city. Conversely, maybe some Jotnar "cities" become barbarian steaddings, if the city unhappiness is excessive, losing 1 pop in the process.
While the idea seem good it will happen very rarely since the jotnar aren't at peace with the barbarian. Building a new city next to a steading seem unadvised. I'll add the idea in the possible section

If you're removing the spawning mechanics are you planning on placing a different variable limitation on the number of powerful units the Jotnar can have?
I'll check diverse option. My first one is to not limit the number of unit and try some game, the limits in population may be enough to balance their power. If They're still too powerfull I will try making only an upgreadable basic unit available too build in town. Maybe each giant unit could have a higher production cost for each giant they currently have. I'd like to find a way that's interesting, fun and balancing
 
I think you didn't understood the goal of this improvement. The true goal of this improvement is to make tile around the city "part" of the city itself removing (mainly) it's ability to provide food or have another improvement making it hard for the jotnar to have city with high population since each population point "remove" one tile food production

In that case my naming suggestion is wrong. Your improvements are "Suburbs". A wide, sprawling city would be a distinctive civilisation feature. I'd allow the improvement to give the benefit of resources on the tile. The python means that resource tiles will be the last to be claimed anyway. If suburbs are the intention, I'd include a preference for tiles with roads.

You might want to use the fort mechanic for the suburbs - helping to spread/reinforce culture on the tile and evolving into Walled Suburbs to provide the defensive bonus. I wouldn't have them extend culture to adjacent tiles as there'd be too much tile flipping during war.

Once attacking civs gain a foothold in the suburbs, they'll be attacking the true city from a defensible position (unless suburbs are demolished/degraded when captured). I think this will make the Jotnar cities more vulnerable (I could never understand why the AI would sometimes establish forts next door to a city). On the other hand, the Jotnar would have several forts(suburbs), which remain their territory from which to launch counter attacks on a conquered city.

You could use some python to link the defensive strength of a suburb tile to the number of allied suburb tiles it's linked to. This would probably just be a confusing mechanic though.
 
They are giants. Their nature makes both low population numbers and large living area kind of neccessary.
 
Hi,

Here's the Jotnar module from RifE 1.31. I've added in the text file and some python files (butchered down to just the Jotnar relevant bits).
 

Attachments

  • Jotnar from RifE 131.zip
    220 KB · Views: 101
In that case my naming suggestion is wrong. Your improvements are "Suburbs". A wide, sprawling city would be a distinctive civilisation feature. I'd allow the improvement to give the benefit of resources on the tile. The python means that resource tiles will be the last to be claimed anyway. If suburbs are the intention, I'd include a preference for tiles with roads.
The improvement should probably be named Jotnar district (or "city name" district if I can code it) but it may sound too "civilized" for the jotnar. I added "spawn on road" at the end of the Jotnar district placement priority


You might want to use the fort mechanic for the suburbs - helping to spread/reinforce culture on the tile and evolving into Walled Suburbs to provide the defensive bonus. I wouldn't have them extend culture to adjacent tiles as there'd be too much tile flipping during war.

Once attacking civs gain a foothold in the suburbs, they'll be attacking the true city from a defensible position (unless suburbs are demolished/degraded when captured). I think this will make the Jotnar cities more vulnerable (I could never understand why the AI would sometimes establish forts next door to a city). On the other hand, the Jotnar would have several forts(suburbs), which remain their territory from which to launch counter attacks on a conquered city.

You could use some python to link the defensive strength of a suburb tile to the number of allied suburb tiles it's linked to. This would probably just be a confusing mechanic though.
I don't want to use the fort mechanic for the "district" (I don't want part of the city to "turn"/have a commander/spread culture) But I'd like to implement the following idea
Spoiler wall mechanic :

  • add 4 building replacing wall and palisade to the jotnar (Jotnar palisade I, II, III and IV)
  • Would need to be built in order
  • Each palisade would need a diferent tech in order to be built
  • Each palisade level would provide 0.5 happiness with the Traditions civics
  • When built, a wall would be added around the city center
  • Worker would be able to expand the wall on Jotnar district (in order, a level 3 wall couldn't be expanded on a tile without a level 2 wall)
  • Each Jotnar palisade would provide a 20% defense bonus that would only would only partially stack (+10%/level)
  • Defense bonus would only be applied when attacked from outside the wall
    examples:
    - A defender inside a level 2 wall attacked from outside would get a 30% defense bonus
    - A defender inside a level 3 wall attacked by a unit inside a level 2 wall would get a 20% defense bonus
There would be the normal defense modifier from building (most would also apply to the district) but wall and pallisade would start only around the city center and be expanded by worker. So attacker could get city defense bonus if they chose to not raze the district and since wall would only give defense bonus when attacked from outside, each city would have different defense setting (wall englufing all the district making it hard to pierce but would be easier to take once inside, all wall around the town center would make it really hard to take but very easy to pillage district...etc). Different preset defense would be added to the IA (NPC leader could have different preference)
It seem hard to code with my current coding knowledge and while I like it the idea, It would be a "finishing touch".

On the other hand, the Jotnar would have several forts(suburbs), which remain their territory from which to launch counter attacks on a conquered city.
I still didn't know how exactly I want to handle conquest. I will probably replace a jotnar "district" by a city ruin every 2~3 turn when outside Jotnar cultural control and limit the number of new district spawned each turn to one for each city (making one citizen angry for each "homeless" population)
Also the leader who can build conquered city original civilisation's unit should have to use the district mechanics. Another "finishing touch"

Here's the Jotnar module from RifE 1.31. I've added in the text file and some python files (butchered down to just the Jotnar relevant bits).

Yep these are the file I already had. (except for the added text and python stuff) Still missing some wikipedia entry and any art-related suff. (namely the leader portraits)

I didn't even try to use it on the latest RiFE release (I use final fixe reborn) the files I am looking for may still be in it. Downloading now.
 
The Jotnar district will be indestructible only as long as I don't program the event that will be triggered when they're destroyed. (near the end of the future goal list)
edit: Nevermind, I don't feel like searching for a way to make it indestructible only to remove it later. The improvement simply won't be indestructible

If you read everything I wrote above, you know I want to remove/replace/rework the free giant spawn mechanics. But I'm still not sure how I want to handle it.
My current options:
  • Make every jotnar unit available to build
  • Make only an upgradable basic giant unit available to build
  • Give each city a hidden counter that go up by its population each turn. When the counter reach a certain number, the city would spawn a new giant.
  • Units built by the jotnar could have a random race attribued when they spawn. Probably with a code that would replace it with another one (Troll trailblazer, Hurlar...etc)
I'm not satisfied with any of these so I'm open to new idea. How would you do it ?

I also created the Jotnar district improvement and will need art for it. Idea ?
For now it can provide everything (except mana but I may add related random event)
Mushroom and frog are the only 2 food product that can be exploited in the city giving +11 food (negating the -10).
Bison, Bananas, deer, fur, cotton, Gulagarm should probably be destroyed by the improvement. Want opinions
 
Reduce overall spawning while making Citizens vastly more potent individually - while living in cities they provide hammers, culture, science, and gold (based on age, perhaps, +1 each per 100 turns alive)...no, but then this provides too many hard choices since you also need them to build things and upgrade into actual units. Perhaps make the Citizen effect a generic promotion that they keep throughout any upgrades, so you have a reason to do it.

Remember that you've made Jotnar the economically weakest civilization in the entire game; their crippled cities will never be very effective. I'd also recommend adding late-stage benefits to their suburbs, improving hammers and commerce but not food, simply because it's not a lot of fun playing a civilization that so heavily invalidates player choices - city production and research are important strategic elements, if all a Jotnar player can do is rely on her free units it might feel like she's not really playing at all. Also because, as noted, they have to destructible and if the Jotnar can't remove and they're useless...now you want to farm barbarians and wars specifically to raze your own townships, which is silly.
 
Reduce overall spawning while making Citizens vastly more potent individually - while living in cities they provide hammers, culture, science, and gold (based on age, perhaps, +1 each per 100 turns alive)...no, but then this provides too many hard choices since you also need them to build things and upgrade into actual units. Perhaps make the Citizen effect a generic promotion that they keep throughout any upgrades, so you have a reason to do it.
I'd like to remove the spawning mechanics, other civilisation already do it better.
I will replace citizen with another unit since I intent to use a unit named Jotnar citizen for another mechanic.
I love the idea that giant stationned in city give more hammer, gold, research based on age. I think they already gain a promotion when they live long enough (50, 100, 200 and 400 turn) I would just have to add a bonus to the already existing promotion.


Remember that you've made Jotnar the economically weakest civilization in the entire game; their crippled cities will never be very effective. I'd also recommend adding late-stage benefits to their suburbs, improving hammers and commerce but not food, simply because it's not a lot of fun playing a civilization that so heavily invalidates player choices - city production and research are important strategic elements
That will be balancing issue but I do plan to have tech give bonus to the district.

Also because, as noted, they have to destructible and if the Jotnar can't remove and they're useless...now you want to farm barbarians and wars specifically to raze your own townships, which is silly.
... one of the last goal

- remove indestructible from the the Jotnar district
  • town lose one population when a Jotnar district is destroyed
  • town gain one unrest when a Jotnar district is destroyed by the controlling civilisation (we cannot forget your cruel opression)
  • add a pillage value
  • add a rule at the top of the Jotnar district placement priorities: Don't spawn on tile where a Jotnar district was destroyed by the controlling civilization
You won't have to farm barbarian to destroy your city and will probably want to keep them since losing one will decrease the city population by one. And cause unrest if you did it yourself
 
Removing spawning altogether is going to present a lot of challenges.

Giants are better than equivalent units. Better units tend to cost more.
Jotnar cities are worse than other cities. Bad cities have bad production.

So you end up with a state where Jotnar need to spend immense amounts of time producing units, falling behind constantly, and if they ever solve their problem they break the game - and there are certainly ways to force production into overdrive. Spawning is a good mechanic for the Jotnar because it keeps the player from being deadlocked making the next giant *and* because it controls the overall availability of giants so they can't just steamroll surrounding civilizations.

My suggestion would be to borrow the Grigori adventurer mechanics and have Jotnar districts SLOW the count - maybe the Palace adds, say, ten ticks (towards 100 for a new Citizen/Warrior that needs to be fully upgraded) and each District removes one. Pagan Temple-equivalent adds two ticks, health buildings add two ticks each, their unique buildings each add four ticks. They'll get their first spawn somewhere around turn 13 and then future spawns will get slower and slower unless they take steps to manage it. Perhaps a civic or tech or Wonder that reduces District drain to .5 ticks for the mid-game.

Let them ALSO build Giants directly, but at appropriately inflated cost - similar to how the Scions can direct-build Awakened but it's not really rewarding until they can make Reborn instead.
 
Removing spawning altogether is going to present a lot of challenges.

Giants are better than equivalent units. Better units tend to cost more.
Jotnar cities are worse than other cities. Bad cities have bad production.

So you end up with a state where Jotnar need to spend immense amounts of time producing units, falling behind constantly, and if they ever solve their problem they break the game - and there are certainly ways to force production into overdrive.
Nothing force me to make the jotnar unit cost more, even if they're stronger. I could even make them cost less if the Jotnar are too weak. The only problem would be enemy leader with the conquerer trait. (Conquered city build their original civilization units and building instead of their own) So I would have to find a way around that. Maybe force them to use the district mechanic or keep the giant cost higher and give the traditions tech a 50% production bonus. Again, balancing issue. I will tweak some number and other small thing to balance them when everything will be implanted.

Spawning is a good mechanic for the Jotnar because it keeps the player from being deadlocked making the next giant *and* because it controls the overall availability of giants so they can't just steamroll surrounding civilizations.
I never said spawning is a bad mechanic (even if it's currently too random and give too much unit) but it implies that there's no other giants in their town. Since the new mechanic I will give them make giant city, It would feel strange to keep it. There's already two other civilization that spawn free unit in different way. I think they do it better both in mechanic and in lore.

My suggestion would be to borrow the Grigori adventurer mechanics and have Jotnar districts SLOW the count - maybe the Palace adds, say, ten ticks (towards 100 for a new Citizen/Warrior that needs to be fully upgraded) and each District removes one. Pagan Temple-equivalent adds two ticks, health buildings add two ticks each, their unique buildings each add four ticks. They'll get their first spawn somewhere around turn 13 and then future spawns will get slower and slower unless they take steps to manage it. Perhaps a civic or tech or Wonder that reduces District drain to .5 ticks for the mid-game.
That would make them even weaker. The grigory spawn mechanic is wonderfull but they need to build around it. Cottage and farm become homestead. Each one grant a specialist to their city that give more point toward the next unit each turn. They have building increasing the adventurer spawn rate. Even their world spell help the mechanic. And they don't spawn a lot of adventurer. I think they usually got ~5 by turn 200 (when played by the comp). Like I just said, I'd like to remove the spawn mechanic completely.


Here each idea with the reasons I'm not satisfied with them

Make every jotnar unit available to build
- Uninspired

Make only an upgradable basic giant unit available to build
- Hard to explain lore wise (why can't they train their unit correctly)
- Would come a time when they'll be able to spawn them too quick unless I program something around that
- Costly, and the jotnar will already have enough research and economic problem

Give each city a hidden counter that go up by its population each turn. When the counter reach a certain number, the city would spawn a new giant.
- It's still a spawning mechanic

Units built by the jotnar could have a random race attribued when they spawn. Probably with a code that would replace it with another one (Troll trailblazer, Hurlar...etc)
- Erratic, even if balanced perfectly in some game they could end too strong or too weak due to luck.
- Make it interesting to delete weaker unit on creation to lower military upkeep cost

Now that I think about it. Both problem of that last option could be resolved by making each unit built lower the chance to get another one of the same race. I think I just found the mechanic I want to use. Thanks
 
So...all your unit builds are random? What if you just really need archers?
 
Top Bottom