project-navigation
Personal tools

Author Topic: First coding attempts : pilots  (Read 13714 times)

Offline Malick

  • Rookie
  • ***
  • Posts: 72
    • View Profile
Re: First coding attempts : pilots
« Reply #15 on: February 20, 2011, 02:59:52 pm »
Of course, but no one forces the player to do so...
It's up to him : if he wants to improve his pilots, he will manage the time it takes and cost to train them. Otherwise, just keep them warm in the hangar.
It may be used as an exploit (if the bonus of flying is too high), but it remains a tedious and dangerous one, if the player is caught with his interceptors anavailable or out of fuel.

Malick

Offline BTAxis

  • Administrator
  • PHALANX Commander
  • *******
  • Posts: 2607
    • View Profile
Re: First coding attempts : pilots
« Reply #16 on: February 20, 2011, 03:04:49 pm »
Well, for the survival skill, there will be a good chance of loosing the pilot each time he's shot down. If the player is willing to take the risk.

There is no risk. A player will simply load his game when he loses a pilot, you're going to have to assume so. UFO:AI is very save/load friendly in this respect, to the point that it offers the player that awful, awful retry button at the end of a tactical mission, for no other apparent reason than to save him the trouble of loading his game.

The point I'm making here is, if the skill is trainable by purposefully getting shot down, then players WILL do it, and load their game if it fails. Therefore, it's bad design.

Quote
And, having the pilots flying all the time just to improve their 'piloting' skill doesn't sound foolish to me : our respective air forces do it all the time ! The only limiting factor would be price of fuel and availibility for scramble / interception.

What H-Hour said. If it's possible to do this, then the player will feel forced to, because NOT doing it would be foolish. So it only adds tedium, I'm afraid.

Quote
For targeting, if the pilots hits something, then his skill improves.
For evasion, it may be used as an additional check in the calculation in 'AIRFIGHT_ProbabilityToHit'. If succesful, then, the skill improves.

Then you get a self-reinforcing effect. Good pilots will improve quicker than bad pilots, because they successfully hit/evade more often. This is counter to the principle of diminishing returns, which is what generally underlies training progress, and which is also what's used for soldier improvement.

I really don't mean to make your life difficult, but I know bad design when I see it, and I'm seeing it now.

Offline Malick

  • Rookie
  • ***
  • Posts: 72
    • View Profile
Re: First coding attempts : pilots
« Reply #17 on: February 20, 2011, 03:38:56 pm »
BTAxis,

OK, point taken. I'm not really a game designer myself.

However, your point applies to the entire game : if I loose a soldier, I just hit reload. If my base gets attacked because I was looking elsewhere, I just hit reload. So on...
What can prevent the player from doing so ? Does this mean this is bad design ? I don't think so.
Just because the players WILL try to exploit the game to a point where no attributes and skills are meaningful, does not mean necessarily we should not add features.

In my opinion, the solution is not to downgrade, but to have safeguards : flying a jet costs an awful lot of money. Losing a jet, costs also money. Currently, a dropship costs 30 000 credit, or just about 30 assault rifles.
Make this a realistic amount : an aircraft should cost at least 100 000 credits. But, this is just a method of preventing abuse.

Regarding the progress of the pilots, I believe this is the same principle applied to the soldiers : hit something with a gun and your skills improves. Bad soldiers can not hit a barn, they don't progress.

So, BTAxis, I get your point, but respectfuly disagree.
Plus, you make my life difficult ;)

Malick

Offline Malick

  • Rookie
  • ***
  • Posts: 72
    • View Profile
Re: First coding attempts : pilots
« Reply #18 on: February 20, 2011, 03:50:20 pm »
Gents,

I've been coding a little bit.
For the moment, I added 3 skills to all characters : piloting, targeting and evading. The crash survival is just a reuse of the HP value.
Soldiers will have 0 piloting/targeting/evading skills and pilots, 0 combat skills.
Here is a screenshot for example.
Skills have currently no applications, it will come at a later stage.

I'll progress a bit more and will generate a patch file.

Malick

EDIT : patch attached. I will post it on the tracker as well.
« Last Edit: February 20, 2011, 05:15:59 pm by Malick »

Offline BTAxis

  • Administrator
  • PHALANX Commander
  • *******
  • Posts: 2607
    • View Profile
Re: First coding attempts : pilots
« Reply #19 on: February 20, 2011, 03:50:27 pm »
However, your point applies to the entire game : if I loose a soldier, I just hit reload. If my base gets attacked because I was looking elsewhere, I just hit reload. So on...
What can prevent the player from doing so ? Does this mean this is bad design ? I don't think so.
Just because the players WILL try to exploit the game to a point where no attributes and skills are meaningful, does not mean necessarily we should not add features.

You're right about this, players can load their game, and will do so. There's no real way to prevent this, nor is it really desirable to. I mean, that would just make the game annoying for a lot of people, and we wouldn't want that. But we can at least try to make the system as exploit-free as we can. Don't rely on the player to make the choice you expect him to make, and don't expect mitigating circumstances to have the effect on the player you think they will. Instead, make the system robust, leaving no incentives for abuse.


So, in that light, and back on topic, I see only two decent ways we can do the pilot design.

Option 1:
Give pilots a number of skills, and make each skill govern a certain part of what the pilot does, like we discussed previously. However, these skills are fixed, never improving over their initial rolled values. The effect will be that the player is going to want to review his pilot roster from time to time, and maybe replace his current pilots with ones he likes better.

Option 2:
Give pilots one single skill, called simply "piloting", which governs ALL aspects of what the pilot does. This skill improves as the pilot participates in missions (exact mechanism to be determined later), or if he stands by at the base (on the assumption that he will spend this time training in a flight simulator).


Either way works for me, so take your pick.
« Last Edit: February 20, 2011, 03:54:34 pm by BTAxis »

Offline freegamer

  • Rookie
  • ***
  • Posts: 52
    • View Profile
Re: First coding attempts : pilots
« Reply #20 on: February 23, 2011, 05:30:46 pm »
Option 3:
Give a pilot base skills that are fixed and have another stat for experience that starts at 0.  Modifiers use a combination of the two.

Offline Malick

  • Rookie
  • ***
  • Posts: 72
    • View Profile
Re: First coding attempts : pilots
« Reply #21 on: February 27, 2011, 04:49:49 pm »
Gents,

STEP 3 :
Pilots now have skills, which have an effect in game.
Their skills are shown in the 'hire' menu and on the 'aircraft-pilots' menu.
Number of missions and number of shot down ufos are shown also.

Check the patches below for more details.

Malick

EDIT : gasp, there is an error in patch 003-Pilots-effects-and-skills... Redownload the updated version (there was a CLIENT_DEBUG instead of DEBUG_CLIENT...)
« Last Edit: February 27, 2011, 06:59:08 pm by Malick »

Offline gl0w

  • Cannon Fodder
  • **
  • Posts: 5
    • View Profile
Re: First coding attempts : pilots
« Reply #22 on: March 11, 2011, 07:49:33 pm »
Brilliant Malick.
I think this makes sense and fits with the aforementioned Interception model. It just gives you data to calculate that 'to-hit' chance.  Could be applied to both the current interception system, and the planned system above.

I think its a relatively simple system that allows for some tactical choices to be made in regards to interceptors, which, IMHO, are much needed.

Offline Malick

  • Rookie
  • ***
  • Posts: 72
    • View Profile
Re: First coding attempts : pilots
« Reply #23 on: March 12, 2011, 10:07:40 am »
Thanks gl0w.

I've been away last week, so didn't find the time to develop any further.
I obviously need to put more work into this in order to make it fully functional.

Currently, I'm trying to understand how to make this a single patch ?
GIT seems to create serial patches for each and every code commit I do.. Is it possible to regroup everything into one global patch ?

Thanks

Malick