scav's single bug thread

S

ScAvenger001

Guest
...because spreading them around among several existing threads seems unhelpful.

Today's bug: sometimes the mission generator will come up with patrol missions that aren't meaningful. Specifically, I just did two patrols in the Padre system. The briefings listed them as 5 and 6 point patrols respectively, but the Padre system only has two points to patrol, thus the missions became two-point patrols that paid like 5-point patrols (at least I assume they did, I didn't check to see how much my finances changed. The briefing said they did, but the point of this bug report is lies in the briefing, no?). Anyway, someone should look into adding a check to the mission generator that verifies the number of patrollable items in a system before picking a random number for the patrol size.
 
I already mentioned this, but the defended vessel in an escort mission is pretty stupid. Previously I hadn't thought it was a very big deal, but the last one I took was to shepherd a Paradigm along a three-jump route, and it took almost an hour.

Firstly, the paradigm took its sweet time getting to the jump points. Yes, I realize they are slow, but sometimes it would turn around and head away from the jump point. I'm pretty sure that the problem here is that it was trying to follow me at a certain distance, because I was able to get it into the jump point by heading away from it (so the paradigm would have to enter the jump point to follow me).

Secondly, the paradigm did its best to avoid actually entering the jump point, I had to continually maneuver so that the jump point was between us. I'm pretty sure that this is a 'collision avoidance' thing that isn't realizing jump points are insubstantial and avoiding them is pointless.

Lastly, when I had finally beaten it into actually entering the jump point, it would somtimes refuse to jump. I would jump through the last jump point and wait for five minutes, then jump back to discover the paradigm had wandered ten klicks away from the jump point. Argh!

As an aside, AI wingmen have similar problems but they are faster and resolve them much more quickly. But it's always an irritant to get to a Kamekh only to find that your Broadswords didn't keep up.

The first solution that comes to mind is fixing the collision avoidance thing. That may solve the entire set, since the AI's jump-point timidity mostly seems to come from not wanting to crash into them. I've also seen "incidental" (meaning, not directly important to me) draymans and galaxies "bouncing off" of jump points that they seemed to want to go through. If the collision thing doesn't solve the rest of the problems, simply making the AI more aggressive about reaching jump points under certain circumstances should work as well. For example, if there are no hostiles immediately around and the player is within, say, 10 klicks of the proper jump point the escorted ship will move to jump immediately.

A secondary bug is that escorted ships do not seem to defend themselves. The paradigm in the above example was attacked (meaning directly fired at, not just "in the vicinity of") a couple of dralthi, and didn't so much as lift a finger in its own defense. Since I generally avoid escort missions due to the above, I have not reproduced this bug but it is something to look into.

Anyway, when I reached the planet, I was able to end the mission by flying past the planet and then engaging the autopilot so the paradigm would catch up. Since the paradigm always popped up 15km behind me and the planet was about 10km behind me, the two were close enough together for the mission to end. *wipes brow*
 
ya escort mission are tricky....
you can only encourage them to jump by hititng 'j'.
they should automatically jump after 3 minutes even if you don't wonder back....but maybe something's screwey.
when I've played they indeed jump in 3 minutes--sooner if it's a fast craft....

insystem escorts are a deal more profitable--not sure those are in 008...
 
We only have the ability to carry one type of missile per launcher, normally this isnt an issue as generally I only want HS or FF anyway, but sometimes I have to be cheap and I dont want to lose whatever FF I have already purchased to get a full missile loadout. It also automatically buys max missiles, there should be a separate button to buy max or buy one. W (or another button since it is bound to camera controls I will never use) should cycle through available missile types.
I would REALLY like tractor to either be separate and on the turret, or given a special mount that only holds tractor/repulsor beam and is activated in a way different from a gun so it does not come up in my guns list when I activate them.
I think a separate tractor/special only mount would probably be the easiest way if there are problems getting turrets to work properly, unless doing so presents the exact same problem that getting it on to the turret does.
 
The problem with having a tractor on a turret right now is that it just wouldn't behave like Privateer. In privateer, you pressed enter and it sucked your cargo in, no more mess. you could go back to the cockpit and fly around.

The way it is in the remake at the moment requires the user to hold down fire until the cargo is sucked in, and aim the beam as well (with autotracking this is easier, but still must be done). It just isn't viable.

however, it should someday become viable. For this reason, i don't want to add random mounts to all the ships. I'd rather hold out for the day when tractors can be made to work correctly.
 
I wish I knew how to help with this stuff. All I can do is give user input. I can't even figure out how to look at game files so I can send y'all the wierd stuff.
 
For the .py files, open them in wordpad and take a look.
 
Since people are requesting the privateer companies... perhaps you could help out trying to figure out how to insert the company names into modules/dynamic_mission.py
 
AI-controlled ships sometimes fire their weapons when starting a jump. This is always a little worrisome, especially when they nominal friendlies shoot me in the back as I'm trying to jump.
 
I keep meaning to mention this and keep forgetting...

Heat-seeking missiles lock on as all-aspect weapons. It does matter whether my target is facing me or facing away, I can get a lock on them.
 
AI vessels appear to have gone from crack-shots to totally lobotomized. Here's an example.

I was defending an Orion from what turned out to be a pair of Talons. Coincidentally, also in the area were three other orions and three militia Gladii. Great, better than 3:1 against the pirates, they'll be history, right? Neg: the only things doing any shooting at all were me and one of the talons ineffectually strafing the defended Orion (because it was taking amply long enough to back up and make another run that the orion's shields came back up). The Orions I wasn't defending would swarm around and accomplish nothing. The Gladius squad, though, was FLYING perfectly well, but they weren't ATTACKING. ie, they would get into an excellent position to attack the Talon and then hold their fire for no apparent reason. Seriously a perfect firing position too: the only way they would have had a better line-up would be if the talon was stationary and had a gigantic bullseye on it, yet nobody attacked it.
------------------------------------------------


In other news, I would like to make a request for a new AI procedure. In the various WC games, enemy pilots who are badly damaged or suddenly alone have been known to head for the hills rather than stay and fight it out, and it always seems a little peculiar to me that a pirate will fight out a losing battle rather than run. So, here's some AI criteria I had in mind.

Basically, every individual pilot has a "retreat" rating. This rating is modified by the enemies it "sees", the friendlies it sees, and the current status of the ship it's piloting. (sees = units within 10km? 15?)

1. "Can I outrun my fastest enemy?" This can be a simple boolean test that makes the rest of this much more simple. If a unit can't outrun its opponents, it won't even think about trying to run away and everything else is moot. If it CAN outrun its opponents, move to the below criteria.

2. "Are my enemies more powerful than my friends?" If a lone Dralthi is considering picking a fight with a Paradigm, this will increase its retreat level. If the dralthi sees a Paradigm but also sees a kamekh and a wing of Gothri, it won't be as inclined to run away. For a quick and dirty way of doing this, you could just give all units a "power" rating, with draymans and tarsuses at a low level and paradigms and kamekhs at a high level. If the pilot sees a higher combined power rating for enemies than friendlies, it will be more inclined to flee. This will also take care of how the tide of battle is going: if one side is taking much heavier losses, its power rating will drop and they will be more inclined to flee. An alternative to the power rating would be to base it on a ship's cost (since more upgraded = more powerful = more expensive), though that would potentially lead to pirates being terrified of Draymans due to their price.

3. "How much damage have I personally taken?" As an individual ship comes closer to destruction, it will be more inclined to run away.

There should probably also be a modifier for what faction the ship belongs to. Merchants don't want to die, so they should be very willing to retreat. Pirates are in it for themselves and dying doesn't help that much, they should be heavily inclined to retreat if the odds go against them (they should be attacking superior forces anyway). Confed is military, they should be made of sterner stuff. Ditto militia, though not quite as stern as confed. Retros should probably never retreat, since they're fanatics.

So here's how I see it working. Every pilot has a retreat rating that changes based on the criteria above (that I've tried to keep as simple as possible), and whenever that rating changes Privateer will generate a random number (say, 0-100) and if that number is less than the retreat level then the unit turns directly away from its attackers and hits the afterburners.

A few examples:
Tarsus sees three enemy Talons, no friendlies, has no damage.
Unit cannot outrun attackers, will not try.

A Talon sees three Broadswords, no friendlies, has no damage.
Unit can outrun attackers. Continue:
Unit badly overmatched for firepower. High retreat rating.

A Demon sees two hostile Demons, one friendly Demon, has no damage.
Unit cannot outrun attackers, will not try.

A Demon (with a speed boost upgrade!) sees two hostile Demons, one friendly Demon, has no damage.
Unit can outrun attackers. Continue:
Unit evenly matched. Low retreat rating.

A dralthi sees a paradigm, plus an overwhelming force of friendlies, and is almost destroyed.
Can outrun hostile, continue:
Unit's force has superiority, low retreat rating.
Unit almost destroyed, high retreat rating.
Overall, 50/50 for retreat.

This would require some minor changes in mission structure. Notably, defend and clean sweep missions could be accomplished by "driving off" the enemy rather than being required to kill them (because if they flee, it means they're faster, and not getting paid because you successfully scared the enemy away would suck). Bounty missions would probably still require a kill.

I hope the description I've provided makes this easy to implement.
 
Umm, has the AI gotten advanced enough to even try this?

It seems to me, that you might be inviting a hang or stall while the code runs before battle and the AI sorts the odds. And even then there are other uncertainties that have to be taken into consideration. Is the pilot an ace?

I mean, with surprise, or at extreme ranges, you can take out up to two ships with well placed shots. Be they Missiles, Torps or a few really well aimed shots from the main guns.

A hot-shot pilot can then take on two or three more ships in a very un-even and seemingly futile dog-fight and win.

You might, using a flee quotient -- that sounds really cool by the way -- break the willingness of the enemy to attack in the first place.

And let us not forget the old ego trip, too.

I KNOW I'm better than you, even when I'm not. How dare you even think about returning my fire?
 
Wendy said:
Umm, has the AI gotten advanced enough to even try this?
I don't see why not. As outlined above, it checks the type and alignment of all units nearby (checking the alignment at least must already be in the code or the AI wouldn't have any idea who to attack), then does some number crunching based on some pretty simple criteria, then generates a random number and compares that to the number it crunched out through the criteria listed. Simple, no?

It seems to me, that you might be inviting a hang or stall while the code runs before battle and the AI sorts the odds.
You're inviting a hang or stall by editing the code at all. Trust me on this one. Besides, finding such errors is the point of releasing beta versions, is it not?

And even then there are other uncertainties that have to be taken into consideration. Is the pilot an ace?
I'd thought about several other criteria that I decided to omit (including the "ace" rating) for simplicity. I'll go ahead and put them here in case others think they're a good idea, but the whole system should be perfectly workable with the criteria in the first post.

4. "Morale failure" If a pilot sees friendly units being destroyed, the "flee" rating gets a few points added to it, more if the friendlies are in the same flight group. This would account for pilot panic when he sees all his buddies get blown away, even if his side is still winning and he's personally taken no damage.

5. "Veteran quality" Pilots with a higher skill rating accumulate "flee" points more slowly, due to their increased confidence and experience. This makes ace pilots more likely to pick a fight with a larger force since the firepower difference would mean less. This would only reflect the skill levels of the pilot's own flightgroup, not those of his opponent (how can you tell the other guy's an ace until he's already shot you, right?).

6. "I *might* be able to outrun 'em..." Same as #1 but with looser tolerances for max speed differences, to reflect the pilot's potential willingness on taking a gamble at being able to outdistance a faster foe.

7. "Massed Fire" Based on certain criteria (probably a unit being unable to flee due to the speed restriction in spite of a very high flee level) flightgroups will pick and swarm either the fastest enemy ( to clear their retreat) or the most powerful enemy (to try and swing the battle their way). Possibly if they've taken a lot of damage but the power ratings are very close for the latter, or possibly if the power ratings are heavily against them but the faster ships are only a small part of that for the former.

8. "Can't run, friendlies wil die" If a nearby allied unit fails the speed restriction check, the pilot will be less likely to flee and leave it to its doom. ie, if militia fighters are dealing with pilots that are harassing transports, they will tend to stick around even if the battle goes against them. This would be even more true of confed units defending their carrier. This woulud probably not be true at all of pirates who will leave their command Drayman to its doom if they think they'll die protecting it. This could probably heavily relate to the alignment modifiers I mentioned in my first post.

As a small aside, I've decided it would be a better idea to generate a single "flee tolerance" for each ship when they are created rather than re-generating new "dice rolls" all the time. In addition to saving a small amount of cpu juice, it will tend to cut down on situations where stunning heroism and abject cowardice come from the same unit(ie, the unit's flee rating is 99% but privateer generates a 100 for its flee tolerance and the unit sticks around, then the battle turns in their favor and drops the flee rating to about 10% but priv generates a 5 for the flee tolerance and it runs away squealing).

And let us not forget the old ego trip, too.

I KNOW I'm better than you, even when I'm not. How dare you even think about returning my fire?
That was my reasoning behing the randomly generated "flee" tolerance: some units would randomly be huge cowards and would flee even token resistance, where others would be suicidal and would gladly charge six paradigms, 29 broadswords, and Blair in a vampire with nothing but a half-destroyed Tarsus.

So, unless I've missed something vital, I do not see a huge problem with implementing this particular algorithm. Just have a function that recalculates the flee rating based on the above criteria, a function that generates a flee tolerance, and a function that compares the two and puts the unit into "flee" mode as necessary, then have it recalculate and recheck the flee rating whenever it takes internal damage or sees a ship explode. The big problem I see is with balancing, and coming up with specific numbers for specific force ratings. Damage should be easy enough, though.
 
We've done the retreating logic already--- different factions and different pilots in different factions have different retreating probabilities... You'll almost never see a church of man pilot retreat....and kilrathis are pretty rare...but a retreating pilot or retreating militia is not uncommon.

What worries me is this "not firing" thing... maybe they were out of gun energy?
does it often/always happen? was this one exception...
 
So it's there but not active in 009? or...?

Given that they never fired at all (the only weapons I heard were the one talon at the Orion so they weren't shooting off screen, and they sure weren't shooting on screen), it's unlikely that they were out of energy. I haven't played enough of 009 to see if it was a one-time thing but seeing as there were two talons, three gladii and four orions involved in the fight and the only one shooting was the one required by the mission to shoot, I'm inclined to believe it won't be uncommon. It was an in-system escort in Troy, if that helps.
 
This looked like a bug to me:

I was doing an in-system escort and was fighting a few Talons. During the fighter, a Talon's gun was stuck on (looked like a mass driver), and fired continuously; it was spraying in every direction as it manuevered. When the Talon wanted to shoot at me, though, it used all of its guns.
 
interesting--- perhaps the shield level was higher than the engine level... if you could send the stderr.txt and stdout.txt logs for one problematic incident of no-firing ships...then do so...as for guns being stuck on--it's quite possible... not critical tho
 
hellcatv said:
as for guns being stuck on--it's quite possible... not critical tho
Happened again, this time with dual lasers. It's definitely not critical, but it sure is annoying because of the repetitive sound.

That's ok, I just got Tachyon cannons. I'll just use them to end the sound. :)
 
Unfortunately I've restarted the game since then :/

The latest round I played had a talon fighting a confed broadsword (which was in Troy for some reason...), and the broadsword was relying almost entirely on its turrets to fight the talon. This may mean nothing, of course: broadswords aren't exactly maneuverable, so it may have simply not been able to get a good shot lined up.

In other news, something strange happened just before I ran into the talon and broadsword. Cycling through the nav targets, I targetted something called "turretpd". It was an invisbly small object that seemed to be inside Hector. I haven't been able to reproduce this and when I changed targets I wasn't able to re-target it. I was reminded of this because the std***.txt files have a lot of lines like:
Unit file turretpd not found

What's this about?

Also, the two files seem to contain huge numbers of errors and warnings about not being able to find certain resources. Is it supposed to be blike that?
 
So the laser sound kept repeating, or lasers kept shootin'. or both...

as for the turretpd.... it could be that you hit the subunit target key... this key I think is bound to 'b' pressing 'b' targets specifically the turrets of a given unit.

The errors in loading up are mostly due to the search path of the system... it looks into faction specific folders before settling for the "ordinary" class of ship

this is the way that the talons get militia or retro specific textures instead of the pirate-only one
 
Back
Top