Shrike's Auton Overhaul

A place to discuss mods in development and concepts for new mods.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Finally, a mod title long enough that I cannot actually fit it in the subject box. EDIT (1/4/14): Not anymore!

Shrike's Probably-Not-Going-To-Be-Completed Overhaul of Autons and Other CC Stuff (Working Title) Shrike's Auton Overhaul

So the new version of Corporate command has fixed a whole bunch of things we needed fixed, but also left a whole bunch of things that could be experimented upon. And since a lot of my plans for modding either need an SDK or some other way of making an adventure that doesn't require sacrifices to the dark god of Learning TransLisp, were rendered in need of complete rewrites by the API changes, or ended up in CC and/or 1.3 anyway (which I love, since it means that 1. I don't have to make them & 2. They're in the game anyway).....I'd like to try a basic tweaking-stuff mod that over-rides Corporate Command in a few places to fill in gaps.


Things I've currently got in the (non-functional) draft copy:

-Autons have power capacity, armor and device-slot limits which vary from model to model
-Autons have a low to very-low chance of leaving a wreck, so you can try recovering all that expensive custom gear you put on them.
-Autosentinels now have Class-A deflectors.
-I nerfed the drake chimeras a bit by lowering the viking spawn rate. Not an ideal problem to the issue of viking-spam, but I'll see if it does anything.
-I've started some work onto making a non-malfunctioning version of the 200A, but that will require TransLisp coding which I'm not familiar with....so I'll probably bug peeps in IRC over it. Effectively I want an auton item which is bought, sold or found. Using it runs the RNG that determines if it's defective or operational (this means there aren't two different items, so you can't just get the good ones and avoid the bad ones). If it's defective, it spawns the current 200A which attacks the player. If not, it converts to a second, identical auton which will never attack the player unless they give an "attack self" order. This might cause issues with custom setups from the auton bay, so it may or may not actually work. But if it does, it'll be a useful framework I can apply to all autons, making for some more interesting times when using them.
-Not that much else, actually.

I'm currently planning for an initial release of When It's Done, but hopefully I can make this before the vanilla game has the fixes I want to make.

I'm also thinking I might try my hand at a few minor tweaks to the Manticore and Conny. Upping the agility on the former to match the NPC varient, and reworking the auton bay a little for the latter.

My current problems are script related: I can't code in Translisp, and this mod will need quite a bit. Ideally, I'd make some rare ROMs that upgrade the auton bay......let it upgrade to higher levels, enhance weapons, maybe even collect ore like a miner's hold. But that will take extensive scripting which I can't do myself, unless I put a month or two into learning it. I'll see what I can get done in XML first though.
Last edited by Song on Tue Apr 01, 2014 10:34 am, edited 1 time in total.
Mischievous local moderator. She/Her pronouns.
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

very nice Shrike !
I'll be looking forward to your insight and experimentation :D
-I've started some work onto making a non-malfunctioning version of the 200A, but that will require TransLisp coding which I'm not familiar with....so I'll probably bug peeps in IRC over it. Effectively I want an auton item which is bought, sold or found. Using it runs the RNG that determines if it's defective or operational (this means there aren't two different items, so you can't just get the good ones and avoid the bad ones). If it's defective, it spawns the current 200A which attacks the player. If not, it converts to a second, identical auton which will never attack the player unless they give an "attack self" order.
very doable and shouldn't take much to make it :D
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

digdug wrote:very nice Shrike !
I'll be looking forward to your insight and experimentation :D
-I've started some work onto making a non-malfunctioning version of the 200A, but that will require TransLisp coding which I'm not familiar with....so I'll probably bug peeps in IRC over it. Effectively I want an auton item which is bought, sold or found. Using it runs the RNG that determines if it's defective or operational (this means there aren't two different items, so you can't just get the good ones and avoid the bad ones). If it's defective, it spawns the current 200A which attacks the player. If not, it converts to a second, identical auton which will never attack the player unless they give an "attack self" order.
very doable and shouldn't take much to make it :D
That's the problem. I know for a fact it's completely possible, yet the thought of learning enough translisp to make it fills me with dread. :P

Edit: Now with new SuperMule! It's like a regular mule, only super.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

The beginnings are in place. I've ported old code from Elemental Shift to allow for guard versions of the basic autons to look after the dealers (Nothing more from ES....I'll go through THAT old mess some other time and see what I can salvage). I've added the prototype for a rasiermesser auton (no fancy graphics, alas. It uses default stuff) in case I feel like adding more lategame options to autons, and made it so that when I want to I can work on remaking the 200A and the auton bay. I've coded the SuperMule to give some basic defensive ability (it has an ICX, but no offensive weapon capacity), created my own version of the auton base class (nothing special, it's a copy of the bog standard one in case George changes it in a way that would otherwise break this extension) and I've double-checked everything so that it should work smoothly once it's converted to a proper extension. One other change I'm attempting is a modification of the Mule and SuperMule autons to allow the installation of cargo bays to expand capacity. This may or may not work out, but it should be welcome if I can get it working.

The only short-term problem I face now is that all my code examples and existing mods use the old (IE: Pre-1.2, in some cases pre-1.1) style of setting up and handling the extension, and I'm pretty certain 1.3 handles things differently. If there's an up-to-date template for declaring the extension/entities/API version/whatevers I'd really appreciate a link to it. The closest I can find on the forums is from 2008, so I'm guessing that's not it.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

With considerable help from Wolfy, I am happy to say that I've managed to get my first prototype functional. Now I can actually play around with things.

This current version adds the basic stuff I can build on, and is the first mode I've made with the V1.2 style 'API' version system, and using libraries instead of lengthy UNID declarations to do over-writes. I'm enjoying the change, although learning it from scratch hasn't been fun.

Problems fixed in this build:

-Autosentinels have no shields --->Added class A to autosentinel
-Autons don't fire extra weapons ---> Limited to 1 weapon per auton
-Fire-rate on autons sucks ---> Buffed ROF adjustment on 1M auton as a trial. May extend this to other autons if it works out.
-Accuracy is terrible ---> Adjusted the AI aimtolerance to 95. Not perfect, but it's a start.

Problems I've found so far:


-The way the auton bay handles devices is inherently annoying, so I'm adding a device removal function.....However this isn't something I've really tried before. It will involve reverse-engineering code from about 2-3 sources without knowing exactly how to structure it, so it's a way down the "to do" list. Fortunately George's code is pretty well annotated, so with luck I should be able to get something cobbled together.


-Because of the fact that the autons put new weapons in as primaries, I can only allow a single weapon per auton. Any more, and it causes problems, sorry. I could mess around with linked weapons and the like but let's face it: they're autons. I don't want a lone auton to become more powerful than a playership through cheap tricks.


-Autons are still morons. Now that I've got my own version of the auton controller, I may be able to do something about this with some experimenting, but it's unlikely to work. I'll see what I can do though.

-Adding a removal function will allow cash grinding via the scrapping of autons. Since this problem already exists with the standard bay, and it's far less efficient than other forms of grinding, I'll be leaving it like that. Given how limited autons are, if you're scrapping them in a ship that relies on them, you're likely to face some issues later.

-Autons still cannot aim. Firing when they turn and thrust (like when attacking a slow or stationary target) often results in misses that AImTolerance can't deal with. I am considering adding a slight swivel effect to the device slots so that the shots are more accurate. This has drawbacks, but it should ease the problem somewhat. EDIT: I've noticed that my modified 1M (I put a slam cannon on it for testing the auton bay deviceslot limits) has far more difficulty than a bog-standard un-modded 300D. I'm now looking at whether it's my AI tweaks or the weapon swap that has the auton missing so much.


Once I've got the device removal and slot problems fixed, I'll make an initial alpha release through Xelerus. I don't think all that many people are going to be interested, but the ones that are might be useful for testing/feedback. The balancing of autons is going to completely change in ways that pretty much no one has tried before (since we haven't had the auton bay before), so I could certainly use some help.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Turns out that a fire-rate adjustment that is "decent" for the 1M with a custom weapon turns the basic autosentinel into a laser-spitting god of death. At least, when you've got more than 3 or so of them. I think I'll bump down the ROF adjustment for them....and bump the price up a little. That said, they are fairly survivable now. I've swapped the Class A for a laser deflector as a trial. Although most dangerous enemies in the early game use lasers, autons are at a high risk of being knocked out by their own lasers. So I figure that although it's a significant buff, it's fairly justified unless there's another way to reduce FF damage. Just having any shield is doing wonders. That being said, they're likely to revert back to the Class A, and have the deflector go on a different auton. Possibly the 200A or 300D.


I think there's an AI problem that's causing my trial 1M to fail to use its weapon effectively. When I find more autons (I'm exploiting the hell out of item overflows for testing purposes) I'm planning to test it against a regular 1M in terms of accuracy. I suspect that the targeting algorithms are failing to provide solutions for slower-moving projectiles before the ship has moved on to a new position, rendering the shot impossible. Either that, or they're just stupid. The fact that the 300D and Autosentinel do not have these problems in their base form suggests that faster projectiles are easier for the AI to aim properly, resulting in it firing more often.

Once I've gotten to the cause of this AI issue and seen what I can do to mitigate it, I'll finish balancing up the autons and do an initial release.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

I'm stumped for now. This AI thing is proving difficult to track. If I give an enhanced fire-rate or swivel then rapid-fire beam weapons become insanely overpowered. If I don't, then custom mounted weapons may be feeble in some cases. I guess for now I'll just have to suck it up and come back to it later once I've dealt with other issues.


Stupid Bug of the Day: Accidentally typing an extra digit and making an auton fly twice the speed of light.
Mischievous local moderator. She/Her pronouns.
FourFire
Militia Captain
Militia Captain
Posts: 567
Joined: Sun Aug 12, 2012 5:56 pm

I greatly anticipate your mod release, will be testing it.
(func(Admin Response)= true){
if(admin func(amiable) = true)
Create func(Helpful Posts)
else func(Keep Calm and Post derisive topics)}
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Good news: Autosentinels don't kill each other, and it looks like the AI issue may be specific to just a few weapons/autons.

Bad news: Auton swarms are just as stupid as ever and in some cases are more of a threat to the player and korolov escortees than to the enemy. This appears to be down to the way auton swams engage in combat....below a certain point in terms of numerical and qualitative superiority the autons can't deal with threats fast enough, and the clumping of autons on single targets can allow threats to slip past. Beyond a certain point, they interfere with each other and/or start hitting friendlies. There's a large overlap with the "sweet spot", but it seems as if I can probably handle this with friendly-fire settings or just by ignoring it.

One thing this does bring up is the fact that the Conny only starts with a single auton, which causes issues if it's killed or if it's distracted before the player has access to a targeting ROM. I'm planning to create an alternative setup as a test. This "Layout B" Conny will start with the same equipment, but will fit 3 autosentinels instead of a single 300D. It'll probably also have a little more starting cash. This is a considerably stronger setup against light swarms (the main threat in the first few systems), but has a disadvantage against stronger targets such as the Charon Frigate which can shoot through a basic shield with secondary weapons or missiles.



New changes in this version:

-Modified aimtolerance on autons to make them shoot more
-Rebalanced reactor strengths so that every auton can re-quip their own starting gear
-Increased price of basic autosentinel from 500cr->1250cr to reflect their increased survivability (This may increase further, and I'll be tweaking prices for all autons at some point).
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

I've finally tracked the problem with the default autons power problems to a bug with reactor power use. Well...it may not be a bug. But it's an unintended consequence of an engine feature that is causing the problem. This is relevant to anyone else planning on working with this sort of power-limited customising in NPC ships in future. Here's how it works:

When installing a weapon on an auton, the game checks whether the weapons power use is lower than the maximum power the auton can deliver. Very specifically "lower", and not "lower than or equal to". Thus the default reactor strength of "100" (10mw) is actually limiting the thing to devices drawing a maximum of 99 (9.9MW). Thus every auton in the game except the autosentinel was being limited by this, and even the autosentinel was being limited more than it should have been. This is the reason why the 1M battle auton couldn't reinstall its own weapon: the defaults should have let it, but the game needs that extra 0.1MW in there as well, which the default wasn't allowing.

Fortunately, the solution for now is very simple now that I'm aware of the problem: I've added 1 to every reactor power value that I've given to autons, so they can now use devices right up to their intended limits. As such the basic autosentinel (which I was having issues with because of this bug) now has 3.1MW maximum power, which works out to a useable amount of 3mw flat. This should work for anyone else who encounters this problem.

This might also impact playerships as well, however since installing a device that uses exactly as much power as your reactor produces is generally a bad idea, it really doesn't matter if it does.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

I'm in the pre-test phase of a new version: I'm running into some odd errors that I don't recognise. This version will add the B and C versions of the conny, with differing setups. The B will have lowered starting cash but have 3 autosentinels in place of the 300D of the basic one. The C will have improved armor, shield, a tritium propulsion upgrade, more cash and start with 2 Autosentinels and a 1M/i.....but be incapable of mounting any weapons. This is purely as an experiment at this stage to test autons as an exclusive method of getting through the game, and I don't imagine this will be a popular shipchoice when I release this mod.

The error I'm getting is actually related to the Conny-C, and if anyone knows what it means I would love to know. Here's the debug output for it:

Code: Select all

04/13/2014 18:38:49	Constellation-C-class freighter (dc4e7009): Specified type is invalid: 300a
Since I'm fairly sure that the line "type = "freighter"" is not the problem, I'm pretty much stumped.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Fixed! Turns out I'd accidentally put "scAutoSentinel" in the items section rather than "itAutoSentinel". Now I've just got to get the device slot limits working properly......

Edit: Seems to be fixed. The Conny-C is very tough, but has infuriatingly low firepower at first. Since it's not supposed to be easy, I'll probably leave it for now. Might swap it to 1X1m/i and 1x300D rather than the current 2 autosentinels + 1 X 1M/i.
Edit2: Although part of the annoyingness is caused by AI derps with the hammerhead class. There's definitely some odd things bugging out with those things....

Edit3: Hmm. It seems that making all the slots on a ship non-weapon slots will still allow the installation of a single weapon. This is either a bug, or I'm using the slot system incorrectly....since I can't find documentation on it I really don't know which.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Thanks to AssumedPseudonym, the device limiting is now functional. I'm now testing a pure-auton playthrough on the Conny-C. I'm using this to test power usage and other basic stuff. So far it is working fairly well, and I'm getting ready for an actual release soon.


I've changed auton availability: everything that was "rare" is now "uncommon". This has a side effect of making the 300D the most-stocked item in auton dealers, but that's acceptable given that it's the work-horse of the auton range and isn't exactly perfect anyway. Interestingly, the 200A is now rather hard to get. That's not necessarily a bad thing though. I'm planning to dummy-out my "superMule" for now, since I'm not sure how to get it to show up.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

Playtesting of the Constellation-C shows that a completely unarmed ship can survive in the early game. In fact, the C is currently rather overpowered, but since it's presently more of a test ship than anything else I consider that acceptable. I'll test the B tomorrow after a trip to the dentist in the morning and then I'll release the first version of this overhaul on Xelerus.
Mischievous local moderator. She/Her pronouns.
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2801
Joined: Mon Aug 17, 2009 4:27 am

SAO Alpha 1 is now released on Xelerus (once I finish uploading it)!


In this version:

-200A is now rare
-300D, 310A and Autosentinel are more common
-Autosentinel has a shield and costs a bit under twice the current price.
-1M and 1M/i are limited to a single weapon to prevent installation bugs
-Auton power capacity and armor limits are defined (See specifications list in release thread)
-New "Layout B" Constellation with 3 autosentinels for testing purposes
-New 'Layout C" Constellation with overpowered starting gear, 1 1m/i and 2 autosentinels for testing of technical-pacifist gameplay (It's awesome so far, please try it)
Mischievous local moderator. She/Her pronouns.
Post Reply