MarnokMod

I have been waiting greedily for this, got a more stable version out yet?

It's as stable as I am :)

I am testing an update for latest patch today, plan to release tomorrow. Ran a quick test yesterday and it seemed OK.

Really I had wanted by now to be further on, and the fact that I have been delayed demoralized me a bit so I delayed even further! I'll release a new version as soon as I am sure it is accptable, then start adding new stuff.

Some of the new stuff will rely on me gaining more control over the AI to encourage them to occupy remote forts/villages to gain cultural control and guard key locations. Then I can change the way "controllable improvement" spreads culture (I think the best way is to say that each turn, culture = total tiers of unit in the controllable, so if you force someone out their culture doesn't stick around).

For the next few releases, I hope:
Spoiler :


In planning : more lexes (Lair EXploration results; had to give them a name and decided on "lex", stops me getting confused with normal Events, couldn't bring myself to call them goodies, not considering what I had in mind! I'm not sure if I like the name though, so I might just wait until others start using it, then change my mind.)

A series of semi-persistant lex; what will happen, player visits a lair and picks a response to the lex, someresponses won't clear the lair but will pick one of a certain series of further lexes and stores it on the plot. So it may be that you encounter the Mad Golemicist and instead of the current version, he just has a golem for sale. When you decide whether or not to buy, the system picks another Mad Golemicist lex to replace this one nect time you visit. If you attack him, the lex gets replaces by an "abandoned lab" lex so you can pick over the loot; this would be treated normally and may clear the lair or allow a regular re-roll next time you visit.

I hope to create a number of these so that you get a "story element" feel.

I am also testing Barriers. These are special lexes which pop up before whatever is stored in the plot or generated randomly. They usually guard special or epic lairs. The "key" or method to get past them could be anything, depending on what I script up for each individual barrier. Sometimes a barrier will just come up anyway as a routine lex, just to make things interesting.

Add to this a pregeneration for special lexes; perhaps there is only one Mad Golemicist, one Rogue Necromancer, one Ancient Master, etc, and the lair for each is picked randomly at the start of the game. This allows me to include extra special lairs which are not part of the normal die-rolling. Some will have Barriers and protect very special treasures; if I can, I'll create a Rumour system so inspire players to adventure.

Also I sketched out Quest Items, special items which have to be taken somewhere and have something done to them to become active. Things like a Potent Staff - take it to a fire node to turn it into a Scorched Staff. These will fit in two general categories: items which are useful to the player but need to be activated, and items which are needed to resolve lexes. Imagine the Rogue Necromancer in a nearby barrow can create an army of skeletons for you, and you want them, but he says he needs rare reagents. He gives you an Empty Reagent Bag and all you have to do is take it to some reagent resource, use it (like a spell) to gather reagents, you get the Rare Reagents item which you can take back to the semi-persistant lex and choose the result. Another idea is for barriers; one barrier might require a Mithril Key, by studying the lock you get Key Plans which can be taken to a city with access to Mithril, use the spell-like to turn the Plans into the Key.
Of course this again means I need control over AI to encourage them to do these things, or always make them attack/flee when faced with one of these so at least they don't make choices they can't fulfill.

I have drafted up over a dozen Village "semi-persistant lexes" - there will always be something on villages, often just an option to hire villagers who can then be trained in cities into warriors or workers; but often the normal event generator will pick a village and make something else happen there (bothered by bandits, want to become a city, haunted, etc)

Well as you see I have grand plans and I'm not even on to the Adventurer stuff I discussed a while back! Let's see if I can keep up with patch-matching and have enough spare time to add more features! (also make gfx for the existing new items)

 
This might be an even bigger ask, but if components of the Revolution mod mod could be introduced this would rock.

Looking forward to your release.
 
Well I will be looking at Revolutions, thanks for reminding me :)
I thought it was a waste of these minor leaders to NOT use them, especially when one possible side-effect of my modmod is that civs can get themselves killed off early. I sketched some plans for different ways to bring civs back, like a quick respawn of a civ under a new leader, and I was directed toward revolutions for a method.
 
Wow your Lex-plans are really great! This would be awesome and I hope you can get yourself motivated again - you'd certainly motivate a lot of people to play. :p
 
I've had plenty of "ooh eck!" moments in the earlier versions of Marnokmod (2).

Been playing the scenarios of late, but I'm getting a taste to see those pesky Muris Goblins again so will be downloading your next version.

Have to say that I think it's excellent that rather than adding extra gameplay by adding new civs/techs/units, you're instead building the complexity of existing features up so that where once there was a goody hut, there is now a storyline.
 
I am still testing - I'll play a full game normally in a moment and see what comes up, probably put a version up for "p" later today.

I was thinking last night about FORTS, as they have been discussed on the main forum. I am thinking there are different ways to handle a ZoC.

Mechanically, we have the function which can be called when a unit moves near an improvement (used for the Guardian of Pristinus) which I'll use to attach a script to for forts. So what should the script do?

Options I can think of:

0. Do Nothing.
1. Wake up units in the fort. A bit like Sentry, but only if a unit actually walks past. Really this is just for player convenience.
2. Halt enemy units and stop them passing. Enemy units cannot move while the fort is occupied.
3. Halt enemy units. They can creep by one plot a turn, as they are only halted when they move, not frozen.
4. Damage enemy units. Damage is based on units in fortification.
5. (2) and (4) combined.
6. (3) and (4) combined.

Other effects forts could have:
a) grant a Siege option to enemy units near the fort. Units in the fort take damage each tun while beseiged. Damage increases if catapults etc. present.
b) grant a Sally promotion to units within the fort. Sally promotion wears off at end of turn and grants unit a withdraw bonus. May actually be a Sally action which grants the promotion to a unit in the fort.
c) increase chance of Defensive Strike (this may already be in, I haven't checked!)


I am not sure which options will play best, so I am thinking, include them all and use a settings.py to help govern which choices the player wants. Long term this may be difficult to balance, as I add features or tweak the AI, so probably only one type will be actually used "officially" and the others will be at-your-risk options, but I really can't tell which will play best until a few people have playtested.
Before I dive in to that, does anyone else have different ideas on what forts should do?


EDIT : regarding release
sorry, don't hold your breath; the game is now intermittantly CTD without any warning or anything. Just pop, desktop. Never seen the game exit so fast. Will investigate, but I have a bad cold and this looks liek it's not going to be just another bug-hunt.

EDIT2 :
ok, I bit the bullet and started deleting te world, half at a time. Narrowed the ctd down to "villagers" with HN; when I removed their HN status, crash did not occur. Kael mentioned in abother thread that there is a fix in patch "q" relating to units being dropped on top of HN units, this *may* be related, so maybe I will wait for 'q'. I'll use any time I have before that to start making these extra lex entries.
 
I am still testing - I'll play a full game normally in a moment and see what comes up, probably put a version up for "p" later today.

I was thinking last night about FORTS, as they have been discussed on the main forum. I am thinking there are different ways to handle a ZoC.

Mechanically, we have the function which can be called when a unit moves near an improvement (used for the Guardian of Pristinus) which I'll use to attach a script to for forts. So what should the script do?

Options I can think of:

0. Do Nothing.
1. Wake up units in the fort. A bit like Sentry, but only if a unit actually walks past. Really this is just for player convenience.
2. Halt enemy units and stop them passing. Enemy units cannot move while the fort is occupied.
3. Halt enemy units. They can creep by one plot a turn, as they are only halted when they move, not frozen.
4. Damage enemy units. Damage is based on units in fortification.
5. (2) and (4) combined.
6. (3) and (4) combined.

Other effects forts could have:
a) grant a Siege option to enemy units near the fort. Units in the fort take damage each tun while beseiged. Damage increases if catapults etc. present.
b) grant a Sally promotion to units within the fort. Sally promotion wears off at end of turn and grants unit a withdraw bonus. May actually be a Sally action which grants the promotion to a unit in the fort.
c) increase chance of Defensive Strike (this may already be in, I haven't checked!)


I am not sure which options will play best, so I am thinking, include them all and use a settings.py to help govern which choices the player wants. Long term this may be difficult to balance, as I add features or tweak the AI, so probably only one type will be actually used "officially" and the others will be at-your-risk options, but I really can't tell which will play best until a few people have playtested.
Before I dive in to that, does anyone else have different ideas on what forts should do?


EDIT : regarding release
sorry, don't hold your breath; the game is now intermittantly CTD without any warning or anything. Just pop, desktop. Never seen the game exit so fast. Will investigate, but I have a bad cold and this looks liek it's not going to be just another bug-hunt.

EDIT2 :
ok, I bit the bullet and started deleting te world, half at a time. Narrowed the ctd down to "villagers" with HN; when I removed their HN status, crash did not occur. Kael mentioned in abother thread that there is a fix in patch "q" relating to units being dropped on top of HN units, this *may* be related, so maybe I will wait for 'q'. I'll use any time I have before that to start making these extra lex entries.

Just 3 seems like it would be enough, with "besiege" and "sally" perhaps as actions in the vicinity of a fort. If you're going to incorporate any sort of movement suppression let besieging the fort negate it for other units.
 
[to_xp]Gekko;7662351 said:
your changes to forts sound great. can the AI be thaught to use them?

I'll be taking a blunt instrument to the AI very soon. Probably just put civ AI's back under the control of AI_unitUpdate if I can, otherwise I'll have to do some proper poking around in the sdk. (Just like I can force barb units to sit still on a lair using AI_unitUpdate)
I already know what I want the AI to do, broadly; I had this fancy test script set up, actually it's been in for a couple of releases I think but it doesn't really work because I can't find a place to REALLY grab control. I had a spell MarnokAI which did nothing, but the spell req of course gets processed for each unit, a bit heavy on resources but I didn't feel the pinch. I've tried the script in different places and I think AI_unitUpdate would still be the best for it, if I can run all the calculations just once per civ in onBeginPlayerTurn. It's all in there at the moment, this is why I was prying into pushMissions a while ago. Doing it that way seems to sort of work; possibly the scripts aren't strong enough to really show an effect.

At the start of the game the map is scanned a choke points marked (suspected choke points anyway... I just did a quick test for these to get started). Next, the map is scanned for nearby resources, and a sort of amalgamated "desirability rating" stored per plot. The idea is that each civ AI will allocate a percentage of forces to this kind of defence/control, weighted by civics and traits, and then split up forces to suitable hold-points.

It is far from perfect but even so, on the barbarian side it has shown some promise. I was playing a test game and a barb lizardman trotted up to my city gates. I thought, "we can handle him" but he sat there. The plot was right next to my city but it was also between the sea and a mountain, beside a river - and the only way out of my city into the land. He fortified in, and my warriors didn't have the strength to get rid of him! The AI had done what I would do, try to lock down my civ for as long as possible and prevent my growth. (If I had realised the script was actually working I might had defended that plot a bit better.)

so in answer to your question - "probably." :)
 
Of your fort options, I am generally of the opinion that the simplier something is, the better. I liked the idea to limit movement to one square, as that makes it a bit safer to have a fort on the outside of your lands, weakening the raiding power of horses. I think that alone is plenty, but if it really needs something more, do the increased defensive strike chance option.

I am glad you are working on this again, Marnok. ;)
 
regarding passive movement, can invisibility/flying be factored into ignoring it? (...perhaps unless there are units that can see invisible)
 
Hi, yes at the moment I am thinking halt-if-in-adjacent-plot is the way to go, otherwise there's things like detecting withdrawal, and possibly locking a stack by suddenly occupying a previously empty fort two plots awat, exploits the AI won't keep up with.

I'll have to do visibility checks on the units, but then I have a decision for the AI - should the whole stack stop, or should they force the invis units through? If they force through, a crafty player could filter an AI stack and take out the invis/flyers with something specialized (and little risk). So I think I need to stop a stack unless the entire stack is invis or flying. Or maybe even flyers can't sneak by; assume they need to rest their wings sometime during the movement, or perhaps just trepidation over possibility of archers?

All needs to be considered.
 
If it is a problem, I do not see why invisible units should be immune to the one tile movement. They have to be extra careful not to be caught in such a well guarded area, and so are forced to move slower. ;)
 
If it is a problem, I do not see why invisible units should be immune to the one tile movement. They have to be extra careful not to be caught in such a well guarded area, and so are forced to move slower. ;)

yeah that's sort of the approach I was thinking of taking :) now I can do it and if people complain, I can blame you!
 
I shall put on my blame hat. :hatsoff:
 
Hey Marnok,

This looks great! Thanks for the hard work.

Request - Is there a way to just utilize the "fort as spell" capability? Are the other options toggles or all inclusive?

Thanks again, going to play around with it
 
Uploaded new version for patch "q".

Doesn't crash for me!

Doesn't have a lot of the cool stuff I've been discussing here either, it is pretty much just a patch-match, but I am working on updates. Mostly trying to get the AI in shape. Now I am distributing a dll with the modmod I can affect the AI more easily.
Note the dll is only really there so help avoid the bug with "lost" units and some other situations. Nothing really fun in it yet.
 
Hey Marnok,

This looks great! Thanks for the hard work.

Request - Is there a way to just utilize the "fort as spell" capability? Are the other options toggles or all inclusive?

Thanks again, going to play around with it

Well, if you play with the settings.py you can exclude a whole load of stuff, but it won't all go away completely.
 
Top Bottom