• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Mods and Game Difficulty

To summarise: With IT_RPG_STYLE 1 you did not find any high end items and with IT_RPG_STYLE 0 you did? That sounds like it could be true. The IT_RPG_STYLE mod was made by IncredibleHat and he was also the person to rewrite the finding of items code to limit the high end items from lying around. So he might've made that part of the IT_RPG_STYLE mod as well. <img src="style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />
 
I am working on the blades. I found the data and looked through it. Now I just have to come up with a working theory on how each blade should perform.

I put in some practice time with both long and short samurai swords, trying to guess exactly what kind of block/penetrate-block probabilities should be attached to various weights of weapons. It's a tough call. Curved sabers create an issue ... their real strength is in shorter recovery time between strikes, which is not an issue in this game engine... while their performance against blocking weapons is not going to be admirable. (Assuming we're talking realism here.) Since there is both an upper and lower damage limit, I might be able to get creative with that, to simulate the difference between a blade that is reliably damaging (like a good heavy saber) and a blade that has questionable wounding properties (rapiers). I'll come up with something ... but it's like some kind of twisted puzzle. I just can't seem to get my head wrapped around it.

But stand by ... I'll figure it out. (I'm good at this stuff, really.)
 
I can quite imagine it is hard to come up with something, so I wish you the best of luck. We'll try to help wherever we can. <img src="style_emoticons/<#EMO_DIR#>/yes.gif" style="vertical-align:middle" emoid=":yes" border="0" alt="yes.gif" />
If you can't come up with something realistic, something that would work well in the game would be just as welcome. After all, due to our game engine limitations, we can't do everything 100% realistic. <img src="style_emoticons/<#EMO_DIR#>/dunno.gif" style="vertical-align:middle" emoid=":shrug" border="0" alt="dunno.gif" />
 
Go Ron! <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" /> I hope you will finish this!
 
Forget 100% realism ... I'm just shooting for something that passes the test of observational logic. If something just seems wrong from the moment you see it (like "how come this tiny rapier does more damage than that huge axe?"), that's a bad sign. If I can get them to pass the tests of observational logic and sufficient variation to mix up the gameplay, I'll call this a victory.


Pending the economic changes, give me a range on sword prices ... base values I can plug into the price list. I'll sort between upper and lower of the range when I get the new values assigned. The variation can be substantial, but it shouldn't be absurd as it is now (ranging from nothing to twice the price of a fair-sized ship).
 
I think that all blades should have a relatively low value. From, say, 50 gold to 250 gold and 1000 gold for the REALLY special ones. Or something like that. If all blades are just about equally good, there doesn't need to be a very major price difference between all the blades anyway. What do we do with character level assignments? Right now, better blades become available as your progress further into the game. Should there be a level requirement for blades to appear or to be able to be used?
 
I'll leave the level requirements in ... but I advise they be turned off by default. (That code about RPG_mode or whatever it was called, that limits items by level.) I think the merchants also use that to determine what items they carry, so we can still take advantage of it if we tweak it just a bit. There will, after all, be some blades that are "better" ... even if the difference is not overpowering as it is now.

Again, the limitation by level was an illogical fix to an illogical problem. Fixing the original problem makes it no longer an issue.

Of course, I haven't got the problem fixed yet ... but I will (if it takes me until Chinese New Year ... I don't have anything else scheduled).

Also, for now, I'll just change the stats. When we get them worked out, we can have a talk with the blade names and descriptions as well. I have some thoughts on some of them.

Also, we can probably plan to scrap the personal ammo stuff. After the blades, I'll try to work up some stats for the guns ... tweak damage and accuracy such that the really effective weapons are never loaded when you need them. Again, realism ... the real problem with those flintlocks was not running out of ammo - it was trying to get them loaded in time, which was not easy. This is why most major battles of the period were settled with bayonet ... and why marines got a reputation for being tough (they trained with cutlass, which made them a lot more effective close-quarters than fighting with a heavy musket with a dull bayonet... regular infantry only gave swords to the officers). That would cut out a lot of bugs, and a lot of annoying micro-managing and fooling around with inventory.

But that's getting ahead of ourselves. One project at a time.
 
as i said, how about only the main character using ammo and bullets? pieter said it's very possible.

how about the range of damage? for instance, some blades would have for more consistent damage then others, replacing some other trait they would have in reality that's not in the game.
 
Thinking outside of the box here but I've played alot of games where a higher difficulty level reduces the amount of xp gained per kill, so that in essence you need to kill/capture alot more to get as powerful as is possible. As far as I can tell from playing swashbuckler mode the xp remains the same so that just by going through the oxbay dungeon at the start I'm level 4 and have made about 70k from loot, It would be much harder to play if it wasn't so easy to level up.
 
<!--quoteo(post=228489:date=Dec 29 2007, 08:31 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Dec 29 2007, 08:31 PM) [snapback]228489[/snapback]</div><div class='quotemain'><!--quotec-->I think you need a lot more XP for each next level-up.<!--QuoteEnd--></div><!--QuoteEEnd-->

According to my character screen it stays the same this is maybe an issue with my own install though, something else I'll check out later.

I'm not sure how the xp gets added, when I play if I hit an npc thats a higher level I get xp every strike, in swashbuckler there are more higher level enemies. Is the xp gained per strike added to the xp gained for killing the foe or is each strike the sum total of xp gained for the kill?

for example 300 xp for the kill + 300 xp for the attacks, or does the xp for attacks = xp for the kill?

if its 300+300 then even if there is more xp needed for a level, theres more xp to be found in game because of the higher level enemies at swashbuckler difficulty, if this is the case then it would seem to me that leveling is just as quick no matter what difficulty is played.

An increase in xp needed for level should make leveling harder, but If I'm getting more xp per kill because the npc's are harder then its getting cancelled out.

Of course this is just specualtion as I'm not sure how xp is worked out.
 
<!--quoteo(post=228489:date=Dec 29 2007, 03:31 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Dec 29 2007, 03:31 PM) [snapback]228489[/snapback]</div><div class='quotemain'><!--quotec-->I think you need a lot more XP for each next level-up.<!--QuoteEnd--></div><!--QuoteEEnd-->
But what Captain Fitzpatrick is saying is, he'd like to see less "XP" obtained per enemy killed, at higher difficulty levels.

It is similar to what I'd like to see, that is less "Money" obtained per enemy killed, at higher difficulty levels.
 
It should be either less XP obtained or more XP required for the next level. Should give the same general effect. Indeed I recall that XP received depends on the level of the enemy and on higher difficulties, the enemies are of a higher level, so you get more XP. Doesn't really make much sense. It seems the higher difficulty code will need to be modified quite extensively. If you search for "difficulty" in the PROGRAM folder, you should find all references. Surprisingly there is only very few files where this is actually used: 18 in total! <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />
 
I tried that, (search for difficulty/kam_difficulty, etc)) looking for differences in money/loot and couldn't find any. <img src="style_emoticons/<#EMO_DIR#>/dunno.gif" style="vertical-align:middle" emoid=":shrug" border="0" alt="dunno.gif" />

Then again, most of the code looks like gibberish to me anyway. <img src="style_emoticons/<#EMO_DIR#>/mybad.gif" style="vertical-align:middle" emoid=":facepalm" border="0" alt="mybad.gif" />
 
<!--quoteo(post=228495:date=Dec 29 2007, 09:11 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Dec 29 2007, 09:11 PM) [snapback]228495[/snapback]</div><div class='quotemain'><!--quotec-->It should be either less XP obtained or more XP required for the next level. Should give the same general effect. Indeed I recall that XP received depends on the level of the enemy and on higher difficulties, the enemies are of a higher level, so you get more XP. Doesn't really make much sense. It seems the higher difficulty code will need to be modified quite extensively. If you search for "difficulty" in the PROGRAM folder, you should find all references. Surprisingly there is only very few files where this is actually used: 18 in total! <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->

less XP obtained <i>and </i>more XP required rather than one or the other would increase the difficulty more than it already is, couple this with less loot and you've got a tough game.
 
not nessesarily. most of your foes, if not all of them, are based in strength upon your character's level. doing what you say would just make the game longer.
 
Relevant references of difficulty:

PROGRAM\Dialog_func.c:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void SelectCoastalGuardShip(ref rCharacter)
{
    // PS -->
    ref PChar;
    PChar = GetMainCharacter();
    int irank = sti(PChar.Rank)/2;
    int pRank = sti(PChar.rank);
    if(GetShipCap()) { if((8-GetCharacterShipClass(PChar)) * 2 < pRank) { pRank = (8-GetCharacterShipClass(PChar)) * 2; } } // NK
    irank = makeint((pRank/2.0 + Rand(pRank/2)) * (2.0/3.0 + ((makefloat(GetDifficulty())-1.0)/5.0)) + 0.5);
    if(irank < 1) irank = 1;<!--c2--></div><!--ec2-->This makes the level of random ships dependant on difficulty.

PROGRAM\Loc_ai\LAi_boarding.c:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    if (GetDifficulty() < 4 && boarding_erank > 2*sti(mchr.rank))    // LDH 06Sep06 put a limit on this thing to prevent insanely high enemy ranks
    {
        int new_boarding_erank = sti(mchr.rank) * 2;
        SDLogIt("boarding_erank changed from " + boarding_erank + " to " + new_boarding_erank);
        boarding_erank = new_boarding_erank;
    }<!--c2--></div><!--ec2-->This apparently stops insanely high level enemies on all but the highest difficulties.

PROGRAM\Loc_ai\LAi_CreateOfficer.c:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// NK added 05-07-03 as centralized HP setting thing.
float ResetHP(ref chr)
{
    int type = 0;
    int PlayerHPperLevel = PLAYER_HITPOINTS_PER_LEVEL;
    int PlayerStartHP = PLAYER_START_HITPOINTS;
    float HP = LAI_DEFAULT_HP;
    float level = makefloat(GetLevel(&chr));
    if(CheckAttribute(chr, "HPBonus")) HP += stf(chr.HPBonus);
    if(sti(chr.index) != GetMainCharacterIndex())
    {
        if(CheckAttribute(chr, "officer") && sti(chr.officer)) { type = 1; }
        else { if(CheckAttribute(chr, "friend") && sti(chr.friend)) { type = 2; }
            else { type = 3; }
        }
    }
    switch(type)
    {
        case 1: HP += level * (11-GetDifficulty()); break; // officer
        case 2: HP += level * (11-GetDifficulty()); break; // friend
        case 3: HP += level * makeint(pow(GetDifficulty()+1,1.35)); break; // enemy
        // case 0, default--PChar.
        // ---> El Rapido
        HP += PLAYER_START_HITPOINTS + (level - 1) * PlayerHPperLevel - LAI_DEFAULT_HP;
        // <--- El Rapido
    }<!--c2--></div><!--ec2-->This makes characters regain their health much slower on higher difficulties.

PROGRAM\Loc_ai\LAi_equip.c
Here the difficulty influences the blade and gun used by characters. This is probably what you will want to change.

PROGRAM\MAXIMUS_Functions.c
Here the difficulty influences the speed at which you gain new skills with the Auto Skill System enabled.

PROGRAM\NATIONS\nations.c:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->float GetChanceDetectFalseFlag()
{
// original code -->
//    float rank = GetRankFromPoints(GetScore(GetMainCharacter()));
//    return CHANCE_DETECT_FALSE_FLAG_BASE+(CHANCE_DETECT_FALSE_FLAG_MAX-CHANCE_DETECT_FALSE_FLAG_BASE)*rank/MAX_RANK;
// original code <--

// LDH -->
    ref mchr = GetMainCharacter(); // KK
    float score  = GetScore(mchr); // KK
    float rank   = GetRankFromPoints(score);
    int   sneak  = GetSummonSkillFromName(mchr, SKILL_SNEAK);
    int difficulty = GetDifficulty();
    float chance = rank/MAX_RANK * (11.0-sneak)/10.0;
    chance = chance * difficulty/2.0;        // 0.5, 1.0, 1.5, 2.0
//    chance = chance * (difficulty+1)/3.0;        // alternate difficulty calculation 0.67, 1,0, 1.33, 1.67
    chance = retmin(chance,1.0);    // so chance doesn't go over 100%
//    LogIt("False Flag Detection - Score: " + score + ", rank: " + rank + ", Sneak: " + sneak + ", Chance: " + chance*100.0 + "%"); // for testing
//    LogIt("The chance of your false flag being detected is " + chance*100.0 + "%");    // Tell the player, it might get him used to looking for it.
    return chance;
// LDH <--
}<!--c2--></div><!--ec2-->Higher difficulty, higher chance of detection of a false flag.

Strangely enough I have found no reference to either enemy character level or amount of carried gold being dependant on difficulty. Just the blades and guns carried. <img src="style_emoticons/<#EMO_DIR#>/wacko.gif" style="vertical-align:middle" emoid=":wacko:" border="0" alt="wacko.gif" />
 
<!--quoteo(post=228504:date=Dec 29 2007, 09:33 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE(Morgan Terror @ Dec 29 2007, 09:33 PM) [snapback]228504[/snapback]</div><div class='quotemain'><!--quotec-->not nessesarily. most of your foes, if not all of them, are based in strength upon your character's level. doing what you say would just make the game longer.<!--QuoteEnd--></div><!--QuoteEEnd-->

A longer game isn't really a bad thing either, but I see what your saying, it wouldn't be harder to level you just wouldn't level as quick, but it wouldn't make a difference to the enemies that are spawned.

Edit: I think hehe
 
right on all points. i agree that a longer game would be better, as especially with the new skill system, you get all your abilities too quickly.
 
<!--quoteo(post=228517:date=Dec 29 2007, 09:59 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE(Morgan Terror @ Dec 29 2007, 09:59 PM) [snapback]228517[/snapback]</div><div class='quotemain'><!--quotec-->right on all points. i agree that a longer game would be better, as especially with the new skill system, you get all your abilities too quickly.<!--QuoteEnd--></div><!--QuoteEEnd-->


Yeah, the way I was thinking is that if your level 1 for say twice as long as normal then theres alot more chance to die, but if your level 10 after only a little while, then you reach the stage mentioned earlier where your pretty much a tank with an I win button, I don't even need to block attacks after so long in game.

But this wouldn't change anything if most of the enemies are based on your character level.

Swashbuckler is hard to play but only at first and the better loot that you recieve from kills counters the harder enemies, after going through oxbay dungeon a couple of times getting level 4, then from loot alone I can make more than 70-80k before I've even left oxbay.

I'm not sure if theres a way to hide this good loot from characters like the rpg trader mod works, meaning that the character can't get items that are higher than it's level from corpses.

Again I'm not sure if any of this is possible just saying idea's from the top of my head.
 
Back
Top