• 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!

What a crying shame

Unlucky Jack

Landlubber
I'm totally frustrated but not surprised. Any time something totally awesome happens in this game you can count on CTD to take it away.
Absolutely any time I make any real coin in this game, it is almost like it wants to die. If I trade with smugglers and make to much gold, boom CTD. And now this sweet deal goes in the dumpster:
I was on my way with my two warship convoy to redmond to do a little trading when I happened along a battle between my only 2 enemies, france and pirates. I jump in to find 5 pirates( two royal galleon, 2 class 3 warships and and a class 5 warship) about to do battle with a french merchant fleet consisting of 2 pinnaces, 4 fleuts and 2 other medium MV's. Because I have set my distance to about 1400 yards, I get the pleasure of watching the 2 fleets go head to head. After about 10 minutes 4 of the french have surrendered and my companion has 2 pirate brigs and a shanaya closing fast (wind is about 30knots) During this time I have been circling the hugh battle with my companion glued to my stern. He opens fire on the closing pirates and I decide its time to make a move. One of the French Pinnaces made the mistake of leaving his fleet to make a run for it and hes about 800 yards off my bow, heading away. Crossing the wind I have enough extra elevation to put 2 quick volleys on him and he surrenders. I move around to bring the Pirate pursuit ships in range and the wind drops to about 12 knots. Now I'm running with the wind and the Pirates are heading right for me. I order my companion to attack a Pirate ship in the middle of the surrendered French fleet and he draws the pursuit ships right by me. I rake them with chain and and the shanaya is without masts. I leave him to attack and sink the 2 brigs. I order my companion to attack the shanaya instead and head off to get the 2 larger pirate galleon, who have managed to get the rest of the french to surrender. In the time it took me to sink the galleons, my companion sinks the drifting shanaya and we are left alone with all these drifting french men. I had about 2700 free space and my companion about 1500. I shift all my cargo, shot included to my companion vessel and begin to board ships. First a pinnace, which I commandeered. It was loaded down with 150 gold and the rest was mahogany. Commandeered the second pinnace and this one had 900 silver. Now I have swapped into one of the pinnaces and have filled the holds of my ships. I tried to let the first 2 fluets go, but " the hand of god" reached out and sank them. I remembered this bug from someones post so I took prisoners and scuttled the remaining ships( I may as well get the credit, and the ransom).
All told it took 2 hours to complete, of which only 15 mins was actual battle. In the end I was looking at 500 gold, 1800 silver, about a 1000 mahogany, about 1200 tobacco (some of this was my original cargo) and to pinnaces with full sails and good hulls. I figured out why the french surrendered so quickly, they ran out of ammo or powder and they all had 6 pound guns, even ships rate for 12 pounders.
I knew in the back of my mind that the game was more likely than not to CTD, but I had to give it a go. As soon as I F3 to world map, I start moving and wammo, the game stops and I'm staring at Xp silently swearing. It was fun though, well the first 15 minutes, the rest was, well, work.
So during this battle I ran into 3 build bugs, at least:
1. The hand of god
2. Pirates get ammo, all other fleets do not (including the French Fleet blocking Oxbay)
3. If the numbers get to large ( net worth wise) CTD will fix it.
For number 1 and 3, I suspect it has something to do with the fleet generator just judging by the way it creates and then destroys fleets in order to create random encounters.
For number 2, Im betting its an easy fix, or at least easy to locate the problem, computing the correct scalers could be the tricky part. Too bad I suck at math.(or can I assume the lack of ammo has to do with difficulty settings?).

Oh, I have an observation that can help reduce CTD's. If you have a lot of wealth( crew wealth), Make sure you dump it into a loan shark once it starts breaking 1 mill and try to use only one shark all the time, 2 at the most. This keeps the calc (and the lag) down for the game. I noticed this even in the original game so its Akellas code not a mod.
Peace.
 
I understand your frustration Unlucky Jack... I am myself very tired of the dummy Hand of God that keeps sinking the surrendered ships I let go. I made a quick research, and actually it seems this is coming from this part of PROGRAM\INTERFACE\Ransack_main.c :


<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->switch(refEnemyCharacter.position)
    {
    case "loser":
[...]
        if (frnd() > 0.7) PostEvent("Ship_BranderDetonate", 16000, "i", refEnemyCharacter); // TIH a little fun
    break;
    }<!--c2--></div><!--ec2-->

(nota : in Cabinfight_dialog.c the .position 'loser' attribute is given to the captain you decided to let go, after having taken his money & some cargo.)

I personally think that the probability for this event to occur should be lowered down, and the amount of gunpownder onboard should be taken into account.
 
<!--quoteo(post=250801:date=Apr 17 2008, 05:26 AM:name=a simple virtual sailor)--><div class='quotetop'>QUOTE (a simple virtual sailor @ Apr 17 2008, 05:26 AM) <a href="index.php?act=findpost&pid=250801"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I understand your frustration Unlucky Jack... I am myself very tired of the dummy Hand of God that keeps sinking the surrendered ships I let go. I made a quick research, and actually it seems this is coming from this part of PROGRAM\INTERFACE\Ransack_main.c :


<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->switch(refEnemyCharacter.position)
    {
    case "loser":
[...]
        if (frnd() > 0.7) PostEvent("Ship_BranderDetonate", 16000, "i", refEnemyCharacter); // TIH a little fun
    break;
    }<!--c2--></div><!--ec2-->

(nota : in Cabinfight_dialog.c the .position 'loser' attribute is given to the captain you decided to let go, after having taken his money & some cargo.)

I personally think that the probability for this event to occur should be lowered down, and the amount of gunpownder onboard should be taken into account.<!--QuoteEnd--></div><!--QuoteEEnd-->
Or maybe just eliminate this little bit of code all together? A few /// and presto chango pirates live to fight another day? Must have taken quite a while to find this little tidbit huh? looks like its not actually a bug but an intentional screwing of the game. Good work finding this <img src="style_emoticons/<#EMO_DIR#>/bow.gif" style="vertical-align:middle" emoid=":bow" border="0" alt="bow.gif" />
Anyway I can get over the hand of god. Its the CTD the really errks me especially when its always after a big booty.
 
What's with the hand of God? It just occurs when a ship is sunk because of an external influence, such as being sunk in a storm or sinking because of crashing into another ship or crashing into the shore.

As for the CTDs: Do they happen at midnight on the worldmap after taking a lot of loot from enemy ships? If so, try and dump some of the cargo before going to the worldmap. (Almost) full cargo holds seem to trigger CTDs.
 
Apparently, it can happen in other cases, judging from this piece of code, from the same file :
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->if ( bHandofGod && rand(100)>95 )// TIH easteregg
            { sSunkString = sSunkShipType + " '" + rDead.Ship.Name + "' " + LanguageConvertString(tmpLangFileID,"has been sunk by the") + " " + LanguageConvertString(tmpLangFileID,"Hand of God") + ". God gained " + (1000+rand(2000)) + " " + LanguageConvertString(tmpLangFileID,"Total XP") + "."; }
            else
            { sSunkString = sSunkShipType + " '" + rDead.Ship.Name + "' " + LanguageConvertString(tmpLangFileID,"has been sunk by the") + " " + sKillShipType + " '" + sKillShipName + "'"; }<!--c2--></div><!--ec2-->

'God gained 2800 exp'?!? What the hell? <img src="style_emoticons/<#EMO_DIR#>/blink.gif" style="vertical-align:middle" emoid=":blink:" border="0" alt="blink.gif" />
 
The Hand of God message usually shows up when a ship is sunk due to an external influence, such as a storm or sailing into a rock or something like that. There's no bug in that at all. "God gained 2800 XP" is just a plain joke; an easter egg to make you laugh in the 5% chance it shows up on your screen when a "Hand of God sink" occurs. The ships exploding after being released is not actually related to the Hand of God code at all; it just so happens to trigger such a message. Instead it is caused by that code you posted previously, which will cause a ship you let go to blow up after 16 seconds in 70% of all cases. Strangely enough I don't recall ever seeing this happen and I DID let a lot of ships go. Pretty strange. I think this should only ever happen if you have a really bad reputation: it's rather mean to blow up a ship you just let go. <img src="style_emoticons/<#EMO_DIR#>/boom.gif" style="vertical-align:middle" emoid=":boom" border="0" alt="boom.gif" />
 
<!--quoteo(post=250906:date=Apr 18 2008, 12:42 AM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Apr 18 2008, 12:42 AM) <a href="index.php?act=findpost&pid=250906"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->What's with the hand of God? It just occurs when a ship is sunk because of an external influence, such as being sunk in a storm or sinking because of crashing into another ship or crashing into the shore.

As for the CTDs: Do they happen at midnight on the worldmap after taking a lot of loot from enemy ships? If so, try and dump some of the cargo before going to the worldmap. (Almost) full cargo holds seem to trigger CTDs.<!--QuoteEnd--></div><!--QuoteEEnd-->
Hmm, Midnight seem to make sense as that would be the time that the most complicated and load intensive calculations happen. Is there a file that deals with the midnight event? If so , we need to look at that. I also can't remember if this sort of thing happened in the stock version. Solving this problem would make this version not just "the most" stable version, it WOULD be stable. Perhaps its another one of TIH's "easter eggs". Actually, now that I think about it, Midnight might not be the trigger. I had a simular large battle last night that ended in a CTD after going to WDM. That battle raged through the night and into the morning and it was definantly daylight when I looted the surrendered ships. I even scuttled a "lineship" MOW in an attempt to avoid the inevitable CTD. I had 4 ships at about 80% capacity when I exited to WDM, but again the cargo was all high value stuff, gold, silver , mahogany, paprika etc. My ships all have large holds, around 6000+, so there were a lot of large quantity cargos but still plenty of room left.

As for the hand of god thing, those are situations when it would take credit for sinking ships, but it isn't always attributed to those types of sinkings. Most of the time the message just states the ship sunk. For it to be called an easter egg is a bit of misleading hogwash. Easter eggs in games are good things that must be sought out like treasure, they are not random events. I have been sunk by the hand of god after capturing a ship and jailing its old captain. It happened once only and I thought it was because I swapped ships as mine was done for. oops, sorry, heres your easter egg.
This is not an easter egg. This is a malicious bit of code designed to frak with gameplay, as we can see from the authors comment; // TIH a little fun
How is that fun? I decide to be merciful and let him go, which the game obvoiusly was designed to allow, and instead i'm superceded by some sadist? The "fun" TIH refers to isn't OUR fun, its his. The easter egg would be tracking down the code, not the effect. The kind of thought process in coming up with this type of code is very much the same process that compels people to create internet viruses. I don't know which thought would be worse, that somebody at Akella wrote it or that someone in the mod community did. Either way I would like to know how to disable this, just to end the "fun". Looking at this code though, shouldn't it be safe enough to just comment it out? A simple // and be done with it?

So to help solve this CTD problem is there a log that records these CTD's and would it contain relevent information to help discover the cause?
 
The problem with those CTDs is that very frequently no log is generated at all, so we have NO clue why they happen. So then we need to try and figure out some replicable events that lead to a CTD. I know CTDs sometimes tend to happen at midnight on the worldmap, but then it's also said there are other ones. That makes fixing things rather hard. Did you already set MAPSPEED to 1.0 in PROGRAM\Worldmap\worldmap.c? Most of the midnight code is in PROGRAM\Worldmap\DailyCrewUpdate.c.

The easter egg is that sometimes you get the message "God gained 2800 XP" on the screen; I think that IS funny. This is pretty much unrelated to that code <i>if (frnd() > 0.7) PostEvent("Ship_BranderDetonate", 16000, "i", refEnemyCharacter);</i> that makes 70% of the ship you let go blow up after 16 seconds. If you want to rid yourself of that, commenting out the line should do the trick just fine. I still think it's strange that I never saw that happen at all and that nobody complained until now; 70% is rather a big chance; it wouldn't be so bad if it was like 5% or so. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
<!--quoteo(post=251164:date=Apr 19 2008, 03:16 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Apr 19 2008, 03:16 PM) <a href="index.php?act=findpost&pid=251164"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->The problem with those CTDs is that very frequently no log is generated at all, so we have NO clue why they happen. So then we need to try and figure out some replicable events that lead to a CTD. I know CTDs sometimes tend to happen at midnight on the worldmap, but then it's also said there are other ones. That makes fixing things rather hard. Did you already set MAPSPEED to 1.0 in PROGRAM\Worldmap\worldmap.c? Most of the midnight code is in PROGRAM\Worldmap\DailyCrewUpdate.c.

The easter egg is that sometimes you get the message "God gained 2800 XP" on the screen; I think that IS funny. This is pretty much unrelated to that code <i>if (frnd() > 0.7) PostEvent("Ship_BranderDetonate", 16000, "i", refEnemyCharacter);</i> that makes 70% of the ship you let go blow up after 16 seconds. If you want to rid yourself of that, commenting out the line should do the trick just fine. I still think it's strange that I never saw that happen at all and that nobody complained until now; 70% is rather a big chance; it wouldn't be so bad if it was like 5% or so. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->
Yes Peiter I did set mapspeed to 1.0 and thank you , it did reduce if not eliminate CTD when going back to WDM, but I haven't had any really big battles with major cargo loot yet( not from a lack of hunting for them though lol).

There is one more CTD that is common( at least I've had it happen a few times) and may also be related to the midnite thing, but i'm not sure how it would relate other than its at night. After dropping anchor at a port at night, sometimes there are hostiles waiting at the dock( random types), and SOMETIMES but not everytime there will be one particular bad guy that causes a CTD after he is killed. The ctd is always at night though. This just happened to me after a crash free day of play and the only quests i am doing is the main one. The things I was doing that lead up to it were:
Added excess weapons to weapons locker in my cabin.
Swapped in better weapons for my shore party, blades only.
went to shore, changed my mind, went back to ship.
Went to crew cabin to check and modify rations setting.
went back to shore to resupply and sell loot, went from rainy day to clear night on transition.
Battled 2 baddies who tried to kill me, crew killed the first one, I killed the second. Went to press T, but it CTD before I could press T.
Now I'm fairly sure this had little to do with cargo calcs, as I was carrying only rations and cannon fodder.

The odd thing about CTD is that it always looks like the precursor to an event screen AND Windows XP always detects the crash and wants to send a report back to the Fatherland, so perhaps the crash isn't bad math, just a bad port to DirectX. I remember when games first started comeing out for DX, They were all pretty much Dual OS but there was some problems getting DX to run DOS type code properly, Games got choppy( sort of like this one only a lot worse) and CTD was the norm rather than the exception, after about 6 months Games started being released either for DOS or Windows but not both for the most part.
Note: my definition of choppy in this game; sailing and WDM movement is punctuated with tiny pauses, music kind of stops and goes. Very much a much faster version of what happened with my first DX game, which was unplayable. This game gets that way too during huge sea battles, everything just kind of goes and stops, goes and stops. makes issueing commands impossible. I assume this is what most ppl here call "lag".

I'm betting the root problem is located in either a DLL or in the engine its self, which ever is responsible for turning DOS code into something DX can deal with. If this is the case I doubt there is much we can do to eliminate the problem. We may never really know until we get some real desk time with something running the new engine. With Luck they optimized the engine for multiple procs and we will see the end of slow math calc. I really cant wait for my new PC to arrive and try this game on it to see what if any differences multi core procs will do for it.
 
I think the lag in 3D sailing mode is more to do with some particle effects. I always seem to observe lag when firing my cannons and I'm pretty sure it didn't always use to be like that. There's probably some sloppy coding in there somewhere, but I don't know where. <img src="style_emoticons/<#EMO_DIR#>/modding.gif" style="vertical-align:middle" emoid=":modding" border="0" alt="modding.gif" />

A CTD when killing a guy in port? Hadn't heard that one before. <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />
 
i know that CTD, or at least something related to it. it's got something to do with the blunderbuss. sometimes the game crashes when he tries to shoot me, but only in a port.
 
CTD when killing the last enemy in a location... Honestly that is the worst bug I ever run into, playing with a pre-Build 13 version, it happen almost all the time - I had to restart the game a dozen time an hour... but there's been ages since... It's very strange you run into this one, I thought it was dead and burried a long time ago.
 
<!--quoteo(post=251202:date=Apr 19 2008, 07:55 PM:name=a simple virtual sailor)--><div class='quotetop'>QUOTE (a simple virtual sailor @ Apr 19 2008, 07:55 PM) <a href="index.php?act=findpost&pid=251202"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->CTD when killing the last enemy in a location... Honestly that is the worst bug I ever run into, playing with a pre-Build 13 version, it happen almost all the time - I had to restart the game a dozen time an hour... but there's been ages since... It's very strange you run into this one, I thought it was dead and burried a long time ago.<!--QuoteEnd--></div><!--QuoteEEnd-->
It could be because im running a build on top of a build, I'm not even sure how many builds have been applied but I think just 13, 13.0.1.2 and then 13 final.
 
Now I'm sure some of these CTD's have something to do with Directx. Another hint that the code isn't fully directX compliant is that ALT-TAB disengages the Video and is unable to recover.
I just had a CTD releaseing captives. I had about a dozen to release so I went to the deck to do so. Started releasing them for their offered ransom got to two guys in one location, one sittin and one standing on top of him or rather inside him. neither would respond to me so I broke out my pig sticker and cut the standing guy down( got a nice soligen for it too) then ransomed off his door mat. ransomed off a couple more losers and Kazam! CTD! The really bad news is I had just spent 45 mins reorginizing my weapons locker and Loot prior to heading to shore for some weapons repairs.
I sure hope we have better luck with Storm 2.
Oh, don't know if its relevant, but I have the Nigel Blythe quest in progress, I'm just prior to his chocolate for IM load. Seems like anytime I have one of these repaired orignal quests in progress i'm susceptable to CTD's (lol sounds like im referring to a disease).
 
<!--quoteo(post=251183:date=Apr 19 2008, 07:14 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Apr 19 2008, 07:14 PM) <a href="index.php?act=findpost&pid=251183"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I think the lag in 3D sailing mode is more to do with some particle effects. I always seem to observe lag when firing my cannons and I'm pretty sure it didn't always use to be like that. There's probably some sloppy coding in there somewhere, but I don't know where. <img src="style_emoticons/<#EMO_DIR#>/modding.gif" style="vertical-align:middle" emoid=":modding" border="0" alt="modding.gif" />

A CTD when killing a guy in port? Hadn't heard that one before. <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->
Yes I used to suffer greatly from particle lag under Win2k, now under XP even with particles set to the highest I don't get that problem until there are 10 or more ships in close proximity to me and its the exact same old game install. I'm actually surprised because under XP, my old geforce3 vid supossedly does'nt support pixel shaders where under win2k it did.
 
Installing Builds on top of each other should cause no problem because the files overwrite each other. Unless you install an old version on top of a new version; that might cause trouble. Also you could get trouble if you miss a step in the installation process.

The game already does use the Storm 2.0 engine. City of Abandoned Ships uses the Storm 2.8 engine though.
Also, if you turn off fullscreen mode, you CAN Alt+Tab in and out of the game.

The only advice I can really give you is to save often, especially after doing a lot of work, such as reorganizing the weapons locker. I don't really know why your game is so unstable. For most people Build 13 seems to run relatively stable. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
<!--quoteo(post=251444:date=Apr 21 2008, 10:20 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Apr 21 2008, 10:20 PM) <a href="index.php?act=findpost&pid=251444"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Installing Builds on top of each other should cause no problem because the files overwrite each other. Unless you install an old version on top of a new version; that might cause trouble. Also you could get trouble if you miss a step in the installation process.

The game already does use the Storm 2.0 engine. City of Abandoned Ships uses the Storm 2.8 engine though.
Also, if you turn off fullscreen mode, you CAN Alt+Tab in and out of the game.

The only advice I can really give you is to save often, especially after doing a lot of work, such as reorganizing the weapons locker. I don't really know why your game is so unstable. For most people Build 13 seems to run relatively stable. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->
Thanks for the advice on Fullscreen mode, I'll try that. Maybe it will allow it all to fit my screen too, cause the game doesn't stretch to my screen res( I use a HDTV).
It could just be my PC is unstable. I suspect my system ram is a bit wonky, XP is a tad touchy and I've noticed that under xp I no longer get Pixel shader support or hardware T&L, which I had under Win2k, from my Geforce3 card.
 
I can't really help you with hardware/GFX-card related issues. <img src="style_emoticons/<#EMO_DIR#>/sad.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad.gif" />
You CAN set the game's resolution to your desktop resolution in windowed mode and it will seem like fullscreen mode. You can even set non-standard resolutions by editing the resolution in engine.ini manually without using the Config.exe program. However, not all resolutions work, so you'll have to experiment a bit. And make sure you backup the original file.
 
<!--quoteo(post=253513:date=Apr 27 2008, 06:01 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Apr 27 2008, 06:01 PM) <a href="index.php?act=findpost&pid=253513"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I can't really help you with hardware/GFX-card related issues. <img src="style_emoticons/<#EMO_DIR#>/sad.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad.gif" />
You CAN set the game's resolution to your desktop resolution in windowed mode and it will seem like fullscreen mode. You can even set non-standard resolutions by editing the resolution in engine.ini manually without using the Config.exe program. However, not all resolutions work, so you'll have to experiment a bit. And make sure you backup the original file.<!--QuoteEnd--></div><!--QuoteEEnd-->
I like this approach. I shall give'r a go thanks <img src="style_emoticons/<#EMO_DIR#>/me.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="me.gif" />
 
Back
Top