Experience

Other talk that doesn't fit elsewhere.
This is for General Discussion, not General chat.
Post Reply
Sento
Trained
Trained
Posts: 50
Joined: 31 Dec 2006, 20:39

Experience

Post by Sento »

hello,
i try to explain what i mean but my english is not the best.
Does someone know civilization? There is if a unit gets a new experience level you can choose what for a bonus he get additional to a general bonus in all skills.
as exempel you can choose if the unit is quicker, the unit gets a bonus in range, the unit gets a bonus in all the unit gets a bonus in defensive (if your home buildings are near) and so on.

The experience the units get depents at the moment on how much units they have killed.
But i thing it should depend on how strong is the unit and the unit it shot down and it should depend on how much damage the unit dealed and how experienced the enemy was ;)
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: Experience

Post by Rman Virgil »

.............

* Ah yes, this has been a desire for sometime, many years - that is, developing-evolving WZ's crude Experience and Rank GPMs.....

* A couple months before the source was released we had a comprehensive discussion (thread with 'bout 100 posts) about ways of approaching this evolution.

* I've seen most of the serious conceptual discussions on WZ since April, 1999 and this one has to rank in the top 20 out of literally thousands...

* Alas my assessment AFTER the source was relelased & studied for a few months was that quite a few more fundamental issues would have to be handled before it was feasible to make the proposed changes as a Mod to WZ that wasn't just some tonka-toy,  roll of the loaded dice hack...

* I donot believe that time is yet here...BUT.... the way the GPL has progressed, it may not be terribly far-off..(esp. with the work Troman & Watermellon are doing in their respective areas of interest...)

* If your curiou to immerse yourself  in the aforementioned 1st class conceptual lay-out of the archetectonic necessary to improving WZ's  Experience and Rank GPMs .... you can hop on over HERE...

* In particular look at the needed changes to the Command & Control schema of WZ, ie. Threat Analysis, among other components.

Cheers, rv :)
.

Impact = C x (R + E + A + T + E)

Contrast
Reach
Exposure
Articulation
Trust
Echo
.
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Experience

Post by Watermelon »

The current experience system does give some kind of bonus,though the 'choose skill/stat after level' is not viable since you dont have time to manage all units skill/stat in real time.
tasks postponed until the trunk is relatively stable again.
User avatar
kage
Regular
Regular
Posts: 751
Joined: 05 Dec 2006, 21:45

Re: Experience

Post by kage »

the current experience system is quite subtle: most people when playing don't notice any difference, so they assume nothing is going on.

it's like watching a clock: you're never going to see the minutes pass since everything is moving so slowly, but when you look back after a while, something has changed: like in warzone, you might look back and notice all your rookie tanks are the ones that are scrap, while your high ranking tanks are still pushing through.
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Experience

Post by Watermelon »

kage wrote: the current experience system is quite subtle: most people when playing don't notice any difference, so they assume nothing is going on.

it's like watching a clock: you're never going to see the minutes pass since everything is moving so slowly, but when you look back after a while, something has changed: like in warzone, you might look back and notice all your rookie tanks are the ones that are scrap, while your high ranking tanks are still pushing through.
yep you will never notice the difference between high level and low level unit,the bonus per a level currently is:

5% accuracy(not noticeable/useless since I changed projectile hit system)
5% damage bonus
5% damage reduction vs all types of weapon
tasks postponed until the trunk is relatively stable again.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Experience

Post by DevUrandom »

Watermelon wrote: the bonus per a level currently is:
5% accuracy(not noticeable/useless since I changed projectile hit system)
Huh?
Apparently I didn't read the hitsystem thoroughly enough...
I thought the accuracy of the weapon is applied to the shooting angle?
In a way like this:

Code: Select all

function we_are_shooting()
{
  get_direction_from_target( my_location, target_location, &direction_unit_vector );
  get_angles_from_direction( direction_unit_vector, &phi, &theta );
  phi += random() + 1/weapon_accuracy + 1/droid_accuracy;
  theta += random + 1/weapon_accuracy + 1/droid_accuracy;
  get_direction_from_angles( phi, theta, &direction_unit_vector );
}
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Experience

Post by Watermelon »

firstly the combFire function tests the weapon accuracy against 'hitMod'(affected by many factors such target visibility and attacker's movement etc),if weapon acc > hitMod,sends a projectile to target position with target prediction.

otherwise,sends a projectile to target position + offset vector2D(rand(-1,1)*(hitMod - weapAcc)*5,rand(-1,1)(hitMod - weapAcc)*5) without target prediction

5% accuracy increase will result in decreasing the offset X,Y to target by 25 in-game units(about 1/5 grid),which is not noticeable i think.
tasks postponed until the trunk is relatively stable again.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Experience

Post by DevUrandom »

Do I read that correctly? The offset is constant regarding distance? Or is hitMod also affected by the distance?

"Target prediction":
Does it also take into account the z value? I wonder why VTOLs are so hard to hit without modifying their hitbox...

How would you estimate the use of applying the accuracy to the movement vector of the projectile and not it's target position?
Is that possible anyway?
Is the target position needed at all? I thought in the current hitsystem the projectile just flies and checks whether it hits something, but it doesn't have a target anymore. I guess I am wrong here?
karmazilla
Trained
Trained
Posts: 84
Joined: 26 Aug 2006, 21:05

Re: Experience

Post by karmazilla »

Perhaps stedily increasing traget prediction would be a good bonus to experienced units?
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Experience

Post by Watermelon »

DevUrandom wrote: Do I read that correctly? The offset is constant regarding distance? Or is hitMod also affected by the distance?

"Target prediction":
Does it also take into account the z value? I wonder why VTOLs are so hard to hit without modifying their hitbox...

How would you estimate the use of applying the accuracy to the movement vector of the projectile and not it's target position?
Is that possible anyway?
Is the target position needed at all? I thought in the current hitsystem the projectile just flies and checks whether it hits something, but it doesn't have a target anymore. I guess I am wrong here?
VTOL's vertical speed is unpredictable since VTOL adjusts height based on 'mapTileHeight + vtolDistanceToGround(which is '#define 300' iirc),so I have to increase the z hitbox of a VTOL a bit

the accuracy offset is added to target,wz is not a FPS game,so both source position(attacker) and target position(target) are known to the combFire function,the combFire function just does all these 'game mechanics tests' and send a projectile from src position to dest position to finish a 'weapon fire event'.

the psTarget inside a projectile struct was used by the old projectile system to determine whether this projectile is a 'sure hit' or 'sure miss',so a projectile with NULL psTarget is still possible and valid,that's also the reason why it crashed after removing 'if (psTarget == NULL) can this happen part'.
tasks postponed until the trunk is relatively stable again.
Troman
Trained
Trained
Posts: 424
Joined: 12 Aug 2006, 15:40
Contact:

Re: Experience

Post by Troman »

Watermelon wrote: VTOL's vertical speed is unpredictable since VTOL adjusts height based on 'mapTileHeight + vtolDistanceToGround(which is '#define 300' iirc),so I have to increase the z hitbox of a VTOL a bit
Do VTOLs actually have vertical speed, or does wz just set their z coordinate according to the formula you provided? If there's no speed or if speed is high enough you can predict x/y coordinates and then calculate z, since you have access to the map height at this x/y location.

Without any clue about the z value it might really be hard to take down VTOLs, especially the faster ones.
Sign Up for Beta-Testing:
?topic=1617.0
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Experience

Post by DevUrandom »

You probably mean the psDest inside the projectile?

What I am currently thinking:
Wouldn't it be easier/cleaner to have a movement vector (which also implicitly contains the flightspeed)?
Then you could update the new position more easily, without any calculation.
Additionally I'd have the flightspeed as a member, so it can be easily checked how far the projectile allready has flewn ( (currentTime-launchTime)*flightSpeed ) and if the maximum flightlength (probably equal to mapsize?) has exceeded.
That would make it independend from psSource and psDest when it comes to position and lifetime calculations.

psDest is probably only used by homing weapons (and NULL otherwise)? Sounds good.
startX,startY,tarX,tarY,vXY,vZ,srcHeight and altChange are probably unneeded then, I think.
And possibly several divisions could be saved and replaced by cheaper multiplications.
User avatar
Watermelon
Code contributor
Code contributor
Posts: 551
Joined: 08 Oct 2006, 09:37

Re: Experience

Post by Watermelon »

Troman wrote: Do VTOLs actually have vertical speed, or does wz just set their z coordinate according to the formula you provided? If there's no speed or if speed is high enough you can predict x/y coordinates and then calculate z, since you have access to the map height at this x/y location.

Without any clue about the z value it might really be hard to take down VTOLs, especially the faster ones.
they have vertical speed,which is stored in a droid's sMove.iVertSpeed property,but unfortunately the iVertSpeed is always changing between a positive/negative constant or 0 instantly(line 3708 function moveAdjustVtolHeight in move.c),so it's impossible to predict the estimated z vector changes of the droid in the next few game cycles.

Devurandom:
flightspeed is stored in psWeapStats(cannot remember the exact name atm) pointing to the asWeapStats array(the memory storage of weapons.txt) in the projectile struct.

The lifespan calculation is already independent from psDest,though I need to move it out of source code and store it in weapons.txt as field 'maxtraveldistance' or something.

I think startX,startY,tarX,tarY,vXY,vZ,srcHeight and altChange are still needed for other functions like 'hit side' and indirect projectile trajectory.
tasks postponed until the trunk is relatively stable again.
Post Reply