![]() |
Stats Questions
I've gotten a good part of the stats stuff done.
It now keeps tracks of Players and what they accomplish: Shotdown of planes, Destroy ground Objects, damage other planes/ground Objects. The questions I have is how should these be scored ? In IL2 you got 100 pts/per engine for an aircraft shotdown. 30 pts for destroying a ground car, 60 pts for a tank, etc And if you died you only got 10% of those points. If you bailed out you got 20 or 50% of those points. I do not see Clod or Steam tracking points so the question is should we keep the same point scheme as IL2 ? Question 2 - How to tabulate who wins a mission ? In FBDj/IL2 you had mission objectives either target based (x% of targets destroyed in a target circle), count based (xx number of tanks/cars/ships destroyed), pilot/planes counts or a combination of all of the above. With Clod you can now add objectives within a mission and use triggers to see if the objective has been met. (I've not done this, but that is how I understand it) for this new program should it be based on the mission triggers or the old way it was done in FBDj ? RAF238thWildWillie |
Hi willie,
Thanks soo much for getting something like this for IL2COD. As for the answers to your questions, I would keep it exactly like the old game 100 pts 1 engine / 400 pts 4 engine etc.,etc.,. and the same for the mission objectives. Granted while you can do anything you want within the scripting portion of the game, it would be much handier to have a program simplify what exact objects/objectives are set for a mission with a mouse click instead of having to program lines of code for a similar result. Will this work similar to the current FBDj in regards to being able to use commands such as <gunstats ; <obj<red etc., with the IL2COD interface? And finally, when will all of us be able to test this? :) Thanks again for the hard work! |
Willie - It's great to see you doing this!
May I suggest you keep a similar points system, but rather than target circles, if you can keep a list of the target objects for each objective then set a points threshold for each objective (low, because 20-30% kills on any unit is enough to destroy morale and set them into retreat) for success. You'd also be able to keep track of moving or flying objectives that way. 56RAF_phoenix Quote:
|
Hi WildWillie,
I would be great if it would be possible to modify the points for the playerscore depending on the type of target, so have access to the variables, so you can fine-tune the scoring system depending on the scenario and we do not know what is to come in the next 10 years. For the mission objective, we already have the triggers needed, they only need to work correctly, so I would recomment to define certain trigger-names that would need to be set in the mission design (FMB) and would also be recognized by your system, f.e. I used to define triggers "ScoreRedXY" and "ScoreBlueZ" in which YX and Z are integers, which add to the total teams score with the trigger being activated. If ScoreRed >= A the Red Team has won if ScoreBlue >= B the Blue team has won. Anyhow, you might face some problems with the trigger based on "GROUND UNITS DESTROYED", because static units are not easily to count with the script (AFAIK) and ships are not regarded as ground units in the FMB. Furthermoe the trigger "TPASS" with actor "PLAYER" does not work in the dedicated enviroment and many more anomalie between singleplayer and dedicated server enviroment. |
Thank you for what you do!
Old Il-2 had an issue of kill stealing when the last who shot at an aircraft was credited a kill. The new CloD stat system is better because it allocates score proportionally to damage made which solves the stealing issue. However as far as I understand there is an issue on the servers running AI removal scripts. When a script removes a slightly damaged plane hit by 1 bullet and safely landed at a friendly airfield it is considered as destroyed by the scoring system and a kill is allocated to the damager. Pilot kill should have more weight in damage score imho as it is now. 40 to 50% of a kill should be added to attacker who made PK even if the plane was 60-80% damaged by other players. E.g. while unskilled pilots are wasting ammo on a He-111 a skilled pilot can make one pass and kill pilot that stops the bomber from hitting target. |
This will be an ongoing process and will take more than just my simple testing to work out all the details.
Right now I am using the OnActorDead method to determine kills. I'm hoping the damageScore.score will provide the appropriate allocation for the kill to each damage initiator. Since it has been just me doing all the killing during testing it will probably need some adjusting. Also the OnAircraftCrashLanded method never seems to trigger. A few times when I have belly landed or wrecked my plane on landing it only triggers the OnAircraftLanded method. The .mis file holds all the static objects which are easily tracked during a mission. I will need some help with the Trigger stuff too. As far as testing goes, I plan to have something ready the 1st week of December. I'm off for a week of hunting after Thanksgiving so nothing will get done then. RAF238thWildWillie |
Did you manage to recognize static units with OnActorDead, that would be interesting. So far we only accounted for AI units with OnActorDead.
I also had problems with OnCrashLanded-Events but maybe you try landing in water, this is the only way I could reproduce a crash landing. This is our scoring system (Kodiaks design and my interpretation ;) ) so far, maybe you find it usefull, but is uncommented Code:
Dictionary<string, int> LWAvailableAirplanes = new Dictionary<string, int>() |
This was our solution for scores for triggered events. If the blue team should receive for example 50 points for a mission goal, I named the trigger "ScoreBlue50" and the following On Trigger Method added 50 points to the int ScoreBlue:
Code:
|
Yes the OnActorDead method picks up Static objects. Here is the line I pass from Clod to my program which identifies the Dead Ground Actor:
Code:
( 11/15/2011 4:01:27 PM ) New (STATS): DeadGA::1321390887075::0:Static24::1::bob:Artillery.3_inch_20_CWT_QF_Mk_I::AAGun::0:Static34::2::272406.84/200908.39 Event Type (DeadGA) TimeStamp (In unix format) Object Destroyed Name (0:Static24) Object Destroyed Army (1) Object Destroyed Model (The InternalTypedName ) Object Destroyed Type (AAGUN) Destroyer (Who killed the object 0:Static34) Destroyer Army (2) Location of destroyed object (x/y) The same goes for Chiefs and Planes. It still needs to be updated with the damage score value. Thanks for the input. I think I will populate the objects in a database with their total available score there. That way it would be easier for Server Managers to adjust scoring without having to adjust code. I've only crash landed on land. If I kill myself while doing this then the OnActorDead method gets called after about a million OnAircraftDamaged methods ! WildWillie |
Ok, interesting. :cool:
With static I meant "enviroment" types like static cars, tanks, planes in listed "Enviroment". Artillery-types are recognized, that`s why I had to rebuilt in all my missions the ground units to artillery types and that`s why I asked. Looking forward for your tool! ;) |
SNAFU -
What do you mean by Environment types ? Unfortunatly I'm not that versed in the FMB stuff. I thought any static planes, trucks, tanks, etc added to a mission were listed under the [Stationary] section of the .mis file. AI objects are listed under the [Chief] sections. Other building objects are under [Buildings] which would be great if we had a way to identify those being destroyed. That was always a problem with IL2 is you can create a factory complex, but had to place cars/static objects inside to register when they were destroyed. Can you post an example of a .mis file with the environment types ? Wildwillie |
With "Enviromental" Types I mean all objects listed in FMB under "Enviroment" (?not sure if thats is the right designation in the english installation, I have the german one installed). For excample this object:
Static274 Stationary.Bf-109E-1 de 280631.88 212409.64 3665.00 or this Static278 Stationary.Renault_UE_Track_CargoSet2 gb 245508.16 233959.69 -120.00 Is not recognized with OnActorDestroyed of course, because it is no actor. Artillery-Objects in FMB as: Static258 Artillery.Bofors_StandAlone gb 88914.33 195537.75 75.00 /timeout 0/radius_hide 0 are Actors and are therefore recognized - that was what I tried to say. ;) |
They must be another form of Actor that we have not identified yet.
Right now I know of 2 types of Actors Actor as AiAircraft Actor as AiGroundActor There must be others or else I would not be receiving the "Not Destroyed" errors after loading a new mission. I think another one is something like AiHuman, but not positive. (Saw some errors in the console that leads me to believe that. Unfortunatly the file was deleted before I could process it) Code:
NOT Destroyed actor: e40nRumWubHfA3gPCiI.h7LahLmVcZuiZk94t4i |
Quote:
|
I think NOT Destroyed actor is some sort of a bug. I do not know what kind of objects are causing it.
It is not possible to track any Static objects besides artillery yet. (It was not possible for artillery several months ago either.) Probably this is made to reduce hardware load but will be changed in the future. Till then we have to use objects other then Statics if we want remove them or track by stats. Statics can be used for decoration only which is their initial purpose in the game I think. |
Quote:
Quote:
|
Quote:
|
Quote:
ps. Anyway it is possible to place them outside at corners of the buildings. |
OK I've done some more testing and you guys are correct.
Most of the objects cannot be tracked in stats yet because they do not trigger the OnActorDead/OnActorDamaged methods. That really puts a damper on objective based missions unless it is shipping based. Also only adding Artillery to buildings will you get anything about them being destroyed. Do we know with what patch the other ground objects will be fully functional. I would like to have all Stationary objects be able to report as dead when destoryed by another objects. Next is clearing up the Not Actor Destroyed errors when loading a new mission. RAF238thWildWillie |
There are ground objects other than artillery that can be tracked like tanks, cars and other non-static objects. The purpose of static objects is to reduce processor load. That is why no complex code is associated with them I think.
If performance is not an issue and we want to track the objects we can use non-static objects instead in our missions. It is a mission-maker preference I think. The devs are aware that we need to track statics in stat somehow. |
I'll take a look at switching a quick map between cheesehawk. I would think after a while it would tax the memory if those object stay around. I've tried saving a list of objects created then make sure they are destroyed at battle stop but it does not help.
Ataros - As you mentioned, Statics use less load on the system then Cheifs. But tracking when they are destroyed is critical for objective based missions. On those style of missions when you create a storage depot, or a factory complex that are bombing targets it is the only way to know if those targets are destoryed. Also it does not look good when you setup a static Aircraft at a airport , shoot it up and it never looks damaged. WildWillie |
Quote:
I do hope statics have a bit more functionality in the future though. Had a lot of talks about it at sukhoi.ru starting from March-April. |
Another quick question.
Does anyone know what the damagescore value equates too when the OnActorDead method is called. You loop through the DamageScores which gives you a list of AI/Players who damaged the Actor and a score. I was shotdown while flying a ju88 yesterday and the values I had were: Code:
( 11/20/2011 5:10:11 PM ) EventController.deadAC - Victim (3:BoB_LW_KuFlGr_706.000) Shotdown by (RAF238thWildWillie) Score (0.7) I am assuming that each player (not including me) would equally share the kill, but points would be assigned based on their damage score value (The higher the score value, the more points you get) So in the above example, the total score points for all players not including me would be 154.3. With the Ju88 having a total of 200 points available, the points would be given as: Klem (26.2 / 154.3) = .17 * 200 = 34pts Dutch (16.7 / 154.3) = .11 * 200 = 22pts Witch (68.6 / 154.3) = .44 * 200 = 88pts Rumba (34.9 / 154.3) = .23 * 200 = 46pts Talisman (7.9 / 154.3) = .05 * 200 = 10pts Does this sound about right ? RAF238thWildWillie |
Please do not give all the points to one person. This will cause kill stilling, e.g. attacking bombers which are slightly damaged but will fall down anyway. If initial damager did some small damage he/she must get some points in proportion to damage (maybe he killed the tail gunner but was also killed).
|
In my stats i divide the kill. But not more than 4 players (wich do the most damage).
4 Players every gets 1/4. 3 Players 1/3. 2 Players 1/2. And in the stats i have two sections. kills and shared Kills: 1/2: 1/3: 1/4: |
Points: I'd be happy with allocating the points for for a kill based on the damage percentage.
Kills: I think Kodiak's idea is a good one. Allocate a kill to no more than 4 players (or AI), so the maximum a player can get in 1 kil; and the minumum is 1/4 of a kill. |
I like Kodiak's idea for allocating the Kill. No more than 4 players share in the kill. If more than 4 damaged the Actor then only the top 4 will get the allocation of kill (from .25 - 1.0)
The points will be allocated based on the damage score and allocated between the top 4 as well. This will not be an even distributiion, but weighted based on the damage score. Thanks for the input everyone, WildWillie |
Sorry I still think it is better to allocate kill percentage in proportion to damage percentage. For instance I down a plane but while it is going down a 2nd player would accidentally put 1 bullet into it. Why should I loose 50% of the kill? Again this would motivate kill stealing.
If damage percentage is known it is easy and fair to distribute score only proportionally to it. |
Good pont Ataros. I will consider this some more. Your second post helped clearify your thought.
WildWillie |
Another idea which was good in original IL-2 is awarding full score only if a damager landed safely. One of the most difficult tasks on realistic servers is to encourage realistically safe flying. It is only possible if pilots value their virtual life more than their score.
I suggest to include a server side option to count kills only if damager landed safely at a friendly airfield. Maybe add only 10% of score if ditched safely at a friendly territory and 5-7% if bailed out over friendly territory. |
Quote:
|
Easy solution a player gets only credits if he damaged >20% (or higher) of the plane.
|
Quote:
Quote:
|
All times are GMT. The time now is 07:03 PM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.