Display posts from previous

Sort by

The great PID devlog and the fact that my car is slowly but surely deteriating got me thinking.
1. Why not add PID behavour to bloody everything?
2. Why not give all PID parameters some predictability?
3. Why not let all PID parameters deviate from their starting conditions over time?

To point 1:
This is mainly to simulate the complex inner workings of components in a cheap way. The reactor needed to power your recreational doomsdayweapon of choice won't be flicked off and on like a lightswitch. It might need winding up time to avoid failure on critical components or the positron slag generates an excess of energy before cooling back down to operation temerature.
Same with the engine. It might be a sharp snappy beast that tops out at 110% thrust in the first two seconds only to drop back down to a reasonable pace. Or 'da egngin in da bak' strapped to your piraty junkbucket of a ship is not even able to hold constant thrust and keeps sputtering like a shitty PWM instead.
In a nutshell if it is to be controlled, add PID behavour.

I'm definitely all for pushing the complexity into the PID controller. I also really like the thought that we can tune constants differently based on AI personality/skill (less skilled pilots might have a low Kd / Kp ratio, for example, causing them to oscillate sometimes instead of nailing the damping just right.)

Using this as a foundation, what I'd like to see is having AI agents from the same region a somewhat similar action style, be it flying, shooting or trading.
Same goes for technical appliances. The Boshmens Pro powershield should behave similar to the Elite version, not in total power but the way it activates.

To point 3:
Things change over time, either due to a known descrete cause or seemingly randomly.
Taking AI maneuvering as an example, an agent could stem from a peaceful region dominated by trading and therefore inherits the flight characteristics common for that region. After a time he decides to join a military group in the system. Part of the military training is a flight school. All the flightschool does is push the relevant PID parameters of the AI closer towards those common and desired for that school. Chooses the AI to leave the school, will the parameters deviate over time away from those of the school.
in a similar fashion does machinery deviate further and further from the original state. Steering grows sloppier. The engine won't give you as much power as quickly. All dampening becomes softer. I actually would like to have the thruster start rumbeling and squiking after month of intensive use.

With respect to wear and tear, that's a feature some gamers strongly dislike... but there might be a way around it.

The English word for this behavior of gradual deviation from a setting is "drift." The idea that PID settings can drift slightly, with error accumulating over time, isn't bad. But framing it as "systems degradation" or something similar will lead to some grumpiness. There are still people complaining that using weapons eventually breaks them in System Shock 2... and that was released in 1999.

But I think there might be another, slightly less annoying way to frame this effect, and that's as "efficiency." The idea here is that of tuning -- people don't like having to continuously fix something, but the idea of continuously improving a system of systems can be very satisfying.

From this perspective, simply make the internal efficiency of a PID connection between any two systems exponentially more difficult to achieve as it approaches 100%. And for even more fun, allow these connections to affect each other non-linearly -- improving this system interface here might slightly increase the drift of a couple of connected system interfaces.

These rules allow an optimization mini-game to emerge. The gearheads will love it. And to keep the non-gearheads from becoming too annoyed, there probably has to be a minimum level of performance drift below which an interface won't drop. That way you can always fly a ship whose systems are intact; it just won't respond quite as well as one whose owner has spent time and effort under the hood, frobbing the dials to try to find the settings that deliver maximum reasonable efficiency between systems.

That statement makes no sense at all.
What is the efficiency of a PID connection?
How are different systems connected with PID controllers?
How does connecting systems with PID controllers make any sense?

There are still people complaining that using weapons eventually breaks them in System Shock 2... and that was released in 1999.

I haven't played that game so correct me if I'm wrong, but I assume that the weapons simply disintegrate into dust after a given number of uses without a way to fix them. And I agree. That really doesn't sound like fun. Same goes for the way Far Cry 2 handled that topic. Having your weapon randomly fail on you in battle, forcing you to interrupt your battle is not fun. But I think it is mainly due to the binary nature. Either it works fine or not at all. And the player has a too limited range of options. Either not use the gun you like or go out of your to keep it in basic working condition. That's not what I want. Actual failure of components should if at all, only be due to outside forces like collisions, battle damage or actual mishandling of the user. So not actual failure after x amount of working time, but gradual deviation from the original behaviour.

That statement makes no sense at all.
What is the efficiency of a PID connection?
How are different systems connected with PID controllers?
How does connecting systems with PID controllers make any sense?

I'm thinking in terms of systems, composed of feedback loops (the thing that makes PID controls interesting), also having their connections connected as feedback loops. That (I think) is what enables non-linear responses; just having a magic "Efficiency" number for every system or interface gives the player nothing meaningful to optimize.

I haven't given this a lot of thought, so some of this may be dumb. It's a good reminder not to try to contribute anything that hasn't been written as a Master's thesis and peer reviewed before publication.

It's a good reminder not to try to contribute anything that hasn't been written as a Master's thesis and peer reviewed before publication.

I'll see your peer-reviewed Masters thesis and raise you a Pulled-Out-of-My-Ass (POOMA) idea that sounds cool and warrants further consideration for implementation.

In regards to the topic, I'm gonna guess that "Apply it to everything" is probably not the best approach, but there are probably some more things which it could work well for, though i dont have the technical know-how to say what.

If you're trying to fill the multiverse, and you're not willing to consider the entire creative output of humanity as a starting point, you're wasting your time.

I think Cornflakes' point is rather 'what does that mean for the actual math' cause I don't get it either. PID is a math formula for deterining power of something, taking current value and wanted value and calculating the power based on current difference, integrated past error and current change in value (hence Proportional, Integrating and Differential). What's the feedback loop? How is efficiency defined?
i.e. not saying what you're saying is wrong, saying I don't get what you mean

I'm thinking in terms of systems, composed of feedback loops (the thing that makes PID controls interesting), also having their connections connected as feedback loops. That (I think) is what enables non-linear responses; just having a magic "Efficiency" number for every system or interface gives the player nothing meaningful to optimize.

I haven't given this a lot of thought, so some of this may be dumb. It's a good reminder not to try to contribute anything that hasn't been written as a Master's thesis and peer reviewed before publication.

and where does the PID come into play?
What would it do?
How would the systems look that are "pid connected"?