The online racing simulator
Searching in All forums
(129 results)
Greenseed
S2 licensed
Here is the drift scoring calculation from insim "Drive_LFSS"

Take into considaration:
Time,
Speed,
CarTraj -> CarAngle,
TrackTraj->CarTraj,
CarAnlge->TrackTraj,
Counter Correction to keep Drifting,
Stay on track,
LostControl,
360 and more,


internal void Update(Driver car)
{
if(!isOn)
return;

packetReceive++;
double speedKhm = car.GetSpeedKmh();
double angleTotraj = car.GetShorterAngleToReachTraj();
if (!started)
{
if(speedKhm > MIN_SPEED)
{
if (angleTotraj > START_ANGLE && angleTotraj < START_MAX_ANGLE)
Start(car);
}
}
else
{
//Player is Too Slow End without Score
if (speedKhm < MIN_SPEED || isLostControl)
{
End(car);
return;
}
//This will occur when orientation change is direction
//Into a perfect drift this happen only at the complete end and not much.
double oriSpeed = car.GetOrientationSpeed();
if(clockWise != (oriSpeed>0))
{
if(Math.Abs(oriSpeed) > MIN_COUNTER_ANGLE_SPEED)
{//he apply correction
counterCorrection++;
if (Math.Abs(oriSpeed) > MAX_COUNTER_ANGLE_SPEED)
{//This should mean a lost control, since is doing "S"
End(car);
return;
}
}
}

//Record Max Angle
if (maxAngleDiff < angleTotraj)
maxAngleDiff = angleTotraj;

//Process Score
ComputeScore(car);

//Find END
if (angleTotraj < STOP_ANGLE)
{
if (score > 0 && scoreTick > (MIN_DRIFT_TIME_MS / SCORE_TICK_TIME_MS))
Sucess(car);
else
End(car);
}
}
}
private void Start(Driver driver)
{
started = true;
startTime = DateTime.Now;
clockWise = (driver.GetOrientationSpeed() > 0 ? true : false);
maxAngleDiff = 0.0d;
scoreAngle = 0.0d;
startSpeed = driver.GetSpeedKmh();
scoreSpeed = 0;
score = 0;
scoreTick = 0;
counterCorrection = 0;
packetReceive = 0;
/*if(driver.IsAdmin)
{
driver.SendUpdateButton((ushort)Button_Entry.INFO_1, "^2Drift Start "+(clockWise?"":"^7-"));
driver.SendUpdateButton((ushort)Button_Entry.INFO_2, "^7Score ^3" + score);
}*/
}
private void End(Driver driver)
{
started = false;
/*if(driver.IsAdmin)
{
driver.SendUpdateButton((ushort)Button_Entry.INFO_1, "^1Drift End");
}*/
}
private void Sucess(Driver driver)
{
if (maxAngleDiff >= BONUS_ANGLE)
score *= BONUS_ANGLE_SCORE_RATIO;

Log.feature(((IDriver)driver).DriverName + ", Done Drift Score: " + (uint)score + ".\r\n");
End(driver);

//Debug think
/*if(((Driver)driver).IsAdmin)
{
((IButton)driver).SendUpdateButton((ushort)Button_Entry.INFO_2, "^7Score ^2" + score);
}*/
((Driver)driver).driftScoreByTime += (uint)score;
if (((Driver)driver).ISession.Script.CarDriftScoring((ICar)driver, (uint)score))
return;
}
private void ComputeScore(Driver driver)
{
//Scoring calculation occur only at all SCORE_TICK_TIME_MS diff.
TimeSpan timeDiff = DateTime.Now - startTime;
if (timeDiff.TotalMilliseconds / SCORE_TICK_TIME_MS < scoreTick)
return;

//How many time we calculated the score
scoreTick++;

//Calculate correction ratio
double correctionRatio = (100.0d-(counterCorrection * 100.0d/packetReceive))/100.0d;

//Gave point for Angle
double angleToReach = driver.GetAngleToReachTraj(clockWise);
scoreAngle += (360.0d - angleToReach) * SCORE_ANGLE_RATIO;

//If player goes faster then start speed WOW, if not loose a little each time
double _scoreSpeed = ((driver.GetSpeedKmh() * 100.0d / startSpeed) - 100.0d) * SCORE_SPEED_RATIO;
if(_scoreSpeed <0.0d)
_scoreSpeed += (startSpeed / 35.0d) * (double)scoreTick;
scoreSpeed += _scoreSpeed;

//All By Correction %, Can only Lower Score
score = ((scoreAngle + scoreSpeed) * correctionRatio) - ((correctionRatio-1.0d)*40.0d);

//Only for debug purpose
/*if(((Driver)car).IsAdmin)
{
((IButton)car).SendUpdateButton((ushort)Button_Entry.INFO_2, "^7Score ^3"+score);
((IButton)car).SendUpdateButton((ushort)Button_Entry.INFO_3, "^3SA ^7" + scoreAngle);
((IButton)car).SendUpdateButton((ushort)Button_Entry.INFO_4, "^3SS ^7" + scoreSpeed);
((IButton)car).SendUpdateButton((ushort)Button_Entry.INFO_5, "^3CR ^7" + correctionRatio);
}*/
}
public bool IsOn
{
get { return isOn; }
set
{
isOn = value;
started = false;
}
}
}

Here is the LostControl thing, make a difference between a drift and a lost control , really depend on the Track Direction


double tracjectoryDiff = GetAngleDiff(trackOrientation,car.GetTrajectory());
car.SendTrajDisplay(GetTrajectoryDisplay(tracjectoryDiff));

double orientationDiff = GetAngleDiff(trackOrientation, car.GetOrientation());
car.SendOriDisplay( GetOrientationDisplay(orientationDiff) );

double perpenDist = GetPerpendicularDist(car.GetPosX(), car.GetPosY(), node.centreX, node.centreY, node.centreX + node.dirX, node.centreY + node.dirY);
car.SendPathDisplay(GetPathSideDisplay(node.driveLeft,node.driveRight, perpenDist,car));


if (car.GetSpeedMs() > 0.1 && (Math.Abs(tracjectoryDiff) > 16 && Math.Abs(orientationDiff) > 19))
lostControl = true;
else if (car.GetSpeedMs() > 0.1 && Math.Abs(orientationDiff) > 19)
drift = true;

Scoring happen at a static Tick time , me i use 150ms , so each 150ms i calculate your drift score until i detect your no more into a drift or you completely lost control.


P.S. a sucess 360 into a drift can be real good if you keep on the Track.



All this code is very old and was made before i complete Map System, so it can be a lot better.

Let say i don't have motivation or help needed to update that code , but hope gave you idea to build your own or anyone else bye bye!
Last edited by Greenseed, .
Greenseed
S2 licensed
server "Aleajecta FBM E" is a demo server running the insim .

From ingame menu you can use "server status" who will show you all server into the cluster there some s2,s1 and demo.

here too follow the insim developement:
http://maya.aleajecta.com/trac/dlfss/


take time to read on that site

for information i am at a stable state and most core feature completely added.
Greenseed
S2 licensed
pasibrzuch , i wanted to apologized a second time we never do too much anyway

JasonJ, a better way to follow bug and fix is to post report there
http://maya.aleajecta.com/trac/dlfss/ticket/95#comment:1

i have done it for you and no need to register or something to create a new one.

here you can see timeline or trac when your bug got fixed.
http://maya.aleajecta.com/trac/dlfss/timeline
Greenseed
S2 licensed
i think a replay contain KEY input a driver do + some server data ...

So when you play a replay the client do the exact same thing as the server it convert the data into MCI packet as example after behind thought the Incredible physic code

So i think your test are good!

Maybe not a bug , maybe it really to us to trash this data.

Maybe it mean the position for that car is unknown at that tick so we receive 0.
Greenseed
S2 licensed
Server: Win32
Process: dlfss.exe(insim addons) , lfs.exe(dedicated server version)

UDP for MCI and TCP for all other packet.(both process are local)
MCI interval: 10 to 35ms
Racer count: 1 to ~

i have gather all map data i don't say i know all ... but from what i've saw NEVER a car will get coord X == 0 , it not possible for them to reach that place!

From there it the fastest way i can see to hackfix this until we learn more.

i've made a proxy as i say , but heu... i was using the same procedure as dlfss to retrive packet so if something inside that procedure goes wrong i miss it.

and lfsexternal use same technique about: pointer to structure or structure to pointer
Last edited by Greenseed, .
Insim MCI packet Alternate Good/Null
Greenseed
S2 licensed
Don't know if other guy working with those MCi packet can confirm.

This bug is very rare , don't happen very often and will not stay very long when happen.

Description of the Problem:
A driver is on the track i receive MCI packet 1,2,3,4

1 == Good
2 == NULL all data are 0 except is CarId
3 == Good
4 == NULL all data are 0 execept CarId


Since a while now i noticed weird data into rare case! i was thinking was something wrong into my software , so last day i made a proxy that filter MCI, from there i really know this is the exact data i receive.

I really don't know yet how to reproduce that bug and it seem to solve by it self after some second , i never see him happen more then about 30 second and happen normally only on 1 car at time! that mean if we are 32 car racing , only one will get this problem. As i say it a very rare problem i encounter , let say 1 time for each 40 racer i see.


I will love to know the status of other people working on Insim software before i do a hackfix to solve the problem inside my insim application.

Thx in advance!

P.S. i noticed into insim.txt that MCI request interval is recommended minimum to 50ms , i work most of the time at 10ms , since 1 week about i got 35ms and seem that probleme happen less ofent ... so maybe it not a bug but the recommendation is very important for that?
Greenseed
S2 licensed
you are right, Glenn67.

I will apologized to pasibrzuch for my sarcasm! sorry.

Hope you accept those excuse!


maybe i don't know when it time to go away. i mean if i don't love the blue color why i continue to wear it.
Greenseed
S2 licensed
pasibrzuch , you are so off men!


I NEVER ASKED OBP 55 TO WRITE THIS POST NEVER NEVER NERVER NERVER.


and OBP 55 after writing that post and reading forum a little as come to me and told me :
I WILL NOT COME AGAIN ON THAT FORUM I FEEL WRONG.

Surely told he talk like a women will help make him come back! so ****ing thx men!(sarcasm)

I created a post about forum atmosphere right after that.

I'm new here and i have heard this sentence so many time from good user!

So my last reply was to re invite him to talk on this forum! and you just screw all my effort! thx again(sarcasm).


On the other hand i ask you respectfully to never again answer to me!
If your smart guy you will do.



P.S.
I was participating into MangosProject.org/www.udbforums.org/aleajecta community as a rOOT/Dev/Modo there with over 90 000 user total , more then here! all around the world! NEVER MY ENGLISH HAS BEEN SO CRITICATED ... really hope you start reading each other! you most of you answer to my post just to tell me that...


I DO MY BEST IF NOT ENOUGH, YOU AND OTHER ASK ME TOO LEAVE, I WILL.
Greenseed
S2 licensed
OBP 55 , im sure you still reading the forum! Please! get back! and write!

Thing will be better in the future! we have to be positive

Your great man! if you don't come back no one will know that from here
Greenseed
S2 licensed
Thx FuelFilter


Really depend on witch server you are , but WHEN you do a Shift-X to end a race a Track Voting system will start and again depend the server you are on , but a 20 or 30 laps i remember setup 1 or 2 race template on class A server .

Ho and FXO... is Class B for me! so you will find those combination on Class B server. i have 17 Server online , i can add more then you can imagine! but the real goal is not having 200 under aleajecta , but simple having many server around the world with that system.

A,B,C,D,E == Class of Driver according to they natural speed , X become the fastest this data come from ALL server you raced on.


Since 1 month i no more scan other server , i will surely start this again... since make driver able to go drive anywhere they wan and still they continue to be ranked.
As LFSW who receive all data from all online server.

One of my goal was to STICK with LFSW Mentality and NEVER write something that is already existing on LFSW.

Example i will never told a LOCAL PB, NEVER ... this is existing into LFSW so this is the only one valid for me.

I not trying to privatize Aleajecta as you see but "au contraire" trying just to make LFSW look event more RockAndRoll.

I remember my first time on LFSW ... such a incredible sensation ... See everyone gathered together like that from all the World + they gave access to that data! RockAndRoll

Since MyStatus is online(9days) we got 30 000 LFS Stats request this is GOOD for LFS comunity remember this bring money to LFS! So let go click haha
Last edited by Greenseed, . Reason : Added FXO explanation
Greenseed
S2 licensed
**** Fukedup! hihi! you have such a english


This is very well say! and appreciate your support to try make LFS forum event more better
Greenseed
S2 licensed
CSU1 , i don't wan to harm you!

I wanted to make a example of what kind of personality i noticed here! that for me will do a very bad moderator. since i think they need more moderator!


And wanted to put a example of a public humiliation that goes on event in front of good guy or/and Moderator! mean we accept that and we should not.

CSU1 read other post , no moderator found my first post bad and event other user find it ok and say it.

So why you are mad?(sarcasm)

I completely agree with you CUS1, my first post it NOT good with you this is my ****ing point! hihi



See what it is!

Do what Working!
Greenseed
S2 licensed
DeadWolfBones , agree but trying it value 1000 word!


I know since begin that i need someone with SQL knowlege and very good English to join the project!

But so far ... you already know the status.


and P.S. that first post is writen by a Australian men! who i really think is talking english well.

For the rest! wanna gave a hand hihi !
Greenseed
S2 licensed
http://www.youtube.com/watch?v=2QDRpkrQTS4

The sound quality is youtube

Brute 33


This one as learned me a good life lesson! very smart song.
http://www.youtube.com/watch?v ... sNoUo&feature=related
Last edited by Greenseed, .
Greenseed
S2 licensed
http://www.youtube.com/watch?v=2QDRpkrQTS4

The sound quality is youtube

Brute 33
Greenseed
S2 licensed
AndroidXP you just done it again! Bravo! amazing!

Good boy!
Greenseed
S2 licensed
zeugnimod , maybe you prefer to ask to OBP 55 to remove is post.

Listen my english is real bad! and i do understand that post! far from me the idea to make you feel stupid because you din't understand that post!


You answer has two logical choices to find your motivation!

1- You do love OBP55 and you feel sorry for him cause is post is not well done and you think can be better, so what do you wait to help him?

2- your ****ing jalous or need to hit on something.

Im hurry to see how you gonna help OBP55 since im ****ing sure the #2 is wrong don't you think?


See, you make me do this post offtopic! since im starting to no more care! im just piss off , maybe we will understand each other more.
Last edited by Greenseed, .
Greenseed
S2 licensed
thisnameistaken , you are right!

But the captain of this ship must not be seen when loosing patience!


For the other reply! i din't get any argu with Victor or any problem with him or any forum warning from a moderator!

But in revenge! i got warned from many lfs user!

Some of the most contributed user of LFS forum told me that:

Don't post on this forum! don't event try to show you work! are you will get destroyed mentaly... i told him! baaaa! this is not possible not from LFS forum! they should have good boy!

And after a while im writing this post! So im maybe a troll! but i think i can say im not alone feeling this! im maybe wrong with my theorie! but what so ever! this is a Victor Room.

Seriouly this is very sad that thoses guy who warned me was Right + imagine what you don't get from thoses LFS contributor because they feel wrong when comming here.


This post is a ****ing good example! more then 50% of the reply are ****ing shit.


I don't understand! so you must be a ****ing troll
. after reading this how should i feel? ****ing right? lol... this is so constructive! i have no word to describe! WOW! such a smart guy should it be to found that.

into another kind of mentality without the need to harm.

I don't understand! can you try explain into another way?


Is that so ****ing difficult to understand?
One is harming the other not.

Maybe solution is put a QI test online! and only people with over 165 can put them self over each other.

If not remember we are all brother.


When writing that post... i realize that maybe a buch of you guy come here to hit push-in bag! and after a while this has become a usual thing! so you no more notice.
Greenseed
S2 licensed
Ho no! i don't think so! and my server are not at my home! but into Canix-2

most lfs server are onto EU network and between us and them we have only 2 pair of Wire so this is why ping is not good with EU

Here is network Map from EU to US entering canix 3 and 5.
http://www.canix.ca/internatio ... 2006320070.80.244.250-CAN
Greenseed
S2 licensed
i know it a very delicate thing...


but take that FACT

i quote my self:
Quote :
I will public Humiliate someone for the good reason! and because he was anoying to me.

so as a good example of a good moderator user : CSU1 will be a very very very very very bad example of a good moderator and thx lfs god is not.

For me this should be edited by a moderator to remove at least the name of the user i pin point.

But removing the name right now would not follow the "general way of acting" i have seen here... and i have seen that example from the Administrator... so how can you go over the example your Administrator is showing!

Don't get me wrong! Victor is very good person! all energy he put into LFS is amazing and ho so appreciated, this is all about my post! i wan to feel good when i come here! i Live For Speed.
LFS Forum Atmosphere
Greenseed
S2 licensed
I have participated in this forum for a while now... And i am starting to get a really bad feeling about it all.Coming here, use to be fun,now it is like mutilating my self.


When i started this wonderful game i See 3 names written below ... thoses 3 people there become like, kind of gods or super users to me. I mean if one day some of you see Scawen in-game you will surely be very happy.


If you see Scawen acting as a crasher ... probaly something very wrong will happen... your love for the game will become weird.


I was searching for why the feeling in LFS Forums have become strange... I know it exists since about 2003, so pretty long... and then i started to notice something.....



VICTOR do you think you better then other people?


I saw "customers into you case" asking very simple and yes maybe stupid questions. Your answers were like a punishing god ... as if he should know the answer, or know better than to ask.
At first I found your answer Acceptible... but now after reading much more of this forum and looking how people interact between each other ... you answer was not right for your position.

im not trying to attack you Victor but it seems you have a bad influence on how people see things here!

Maybe the introduction of a new Moderator, with you Fousing in a Helping/support context. Don't try to judge or influence others! your Position in LFS is too high. This can become too easilly confused, and miss intepreted.

Into other word... i think is too dangerous for you to gave personal opignion of let go your personal feeling when showing your self here.

I Hope im not looking too mad. I rewrote this 2 times! and I am less mad each time.

And really hope some of your futur action Victor will bring a new wind here.


P.S. i had absolute no pleasure to writing this post that way... but someone has to make it!


I will public Humiliate someone for the good reason! and because he was anoying to me.

so as a good example of a good moderator user : CSU1 will be a very very very very very bad example of a good moderator and thx lfs god is not.
Greenseed
S2 licensed
sorry Krammeh but my english is a little poor!


Im not sure i do understand what that mean:
it's dropped down the to do list a tad

Is that mean you added drive_lfss to your todo list?

If yes! then super cool im ****ing happy!
Greenseed
S2 licensed
i will add a link to that post i made earlier.
http://www.lfsforum.net/showthread.php?p=981376#post981376

cause i think this is a very important point that driver has to know!


It make people think LFS is not constant or deliver not good data! and it completely false! im not claming the data you will see are real life experience!

But LFS deliver quality DATA and is constant .... InSIM addons are not constant.

I will gave another example too...

Insim addons will receive Snapshot at a interval time of what happen into the game after it happen and not during it happen.

After he send that snapshot to the insim application , during the time insim receive information and calculate you already doing something else.

This is a game where COORD of object goes very fast... a ping of 50ms become very big diff and all insim addons has a minimun of 1ms ping and event more since from the insim.txt doc file , minimun recommanded is 50ms interval to update Car Data.

So only LFS Server can Calculate time related data and he the only one to know the ping of each driver who is i think really important to predict what happen into a racing game.



Here is a real life experience i had with using 2 insim addons.

Lapper 5.x , FBM/BL1 at the starting pos doing 0-100Kmh best == 3.0Second , not happen very ofent but seem if some lag i look faster.

Drive_LFSS 0.3a , FBM/BL1 at the starting pos doing 0-100Kmh best ==
3.2Second , same as lapper more lag , i look faster not always but about that.

Drive_LFSS 0.4a , FBM/BL1 at the starting pos doing 0-100Kmh best ==
3.7Second , lag will change almost nothing and reactivetime of the insim is taked into consideration and i will add look much more constant and very hard to get 3.7 and you know when you get it! less surprise then version 0.3a
Greenseed
S2 licensed
0-60 acceleration time is done by a INSIM addons , LFS server don't calculate this!

So it ****ing impossible to have the REAL time ... this is not good value! and it only a ABOUT ACCELERATION TIME, ABOUT ....

into drive_lfss i did a turn around on this ... but event this, TIME stay a ABOUT ... this is ****ing not the right time!

To have a the closes time display for this! the INSIM application must to a prediction calculation from the ReactiveTime between him and LFS server.

and EVENT with that he will stay with a ABOUT time...

So never base valuable data or thought on Acceleration TIME.
Greenseed
S2 licensed
Heu... haaaa.... that a great motivation post for me! ****ing thanks to you OBP55


For people that tryed a "aleajecta server" and did not notice anything different! can be because the Insim Software as Crashed ... so when you connect it was not there.

Im into the Alpha stage... that mean for me it OK to crash... since i don't wan to add multiple "if" statement to bypass crash but ****ing found why that happen! this make a whole difference after a long go to keep CPU free.

I will not do comparaison again other software! since this is not my duty or goal!


for people who think this is a kind of advert for my project! they surely right! since i think the post is about , "Did you notice that?" But i don't see the bad point into that!

Seem OBP55 can't hide is joy and im ****ing happy of it


Will add core feature since you display game only
Quote :
* Multiple Server Connection.
* Log System.
* Config File System.
* MultiThreading?.
* Console Command.
* InGame Command.
* mIrc Client.
* Button/GUI Control.
* Vote System.
* Grid/Coord System.
* Map Data System.
* SQLite Data Collection.
* MySQL Data Collection.
* SQL Storage Template.
* ChatModerator.
* LFSW !PubStats Storage(WR,PB).
* Ranking System(PB,Average,Stability,Win).
* External C# Script.dll.
* Restriction Join/Race.
* Win / Linux.
* AI(Bot) Full Support.
* Feel Free to Propose...

FGED GREDG RDFGDR GSFDG