The point wasn't to track the # of laps, but rather to make sure you know which split belongs to which lap in case things get out of sync. Very similiarly to how the CarInfo contains the lap number. You could infer the lap number of a given CarInfo packet based on the last IS_LAP packet received, but you'd have to make assumptions. With the IS_LAP packet you *are* assuming that it applies to the the last IS_LAP packet.
Yeah, RCM packet would be nice. Having an RCM command that would be able to wave the yellow or blue flag would be nice to.
But to me, having the ability to read the speed and position in the IS_LAP and IS_SPX would be a great addition as it would reduce the need for sampling the MCI packets if you don't need the information provided in them, which in turn reduces bandwidth usage. Also, adding the Lap to the IS_SPX would be a boon too, for sanity sakes.
Ideally, I would love to see the CompCar structure included in both the IS_LAP and IS_SPX packet.
Shouldn't be too much of a strain on the network. If you have 32 cars at Blackwood, and run the tracking at 100ms interval, that's 600 MCI packets containing 32 CompCar structures over one lap or 19200 CompCar structures . Split and lap packets (2 splits and 1 lap packet) would send out 96 CompCar structures over one lap. Even if you run at 500ms interval (which doesn't do a lot of good when you are trying to capture each node's information and are running at 5+ nodes per second) you still end up with 120 MCI packets, or 3840 CompCar structures having been sent.
Last edited by Hollywood, .
Reason : Added request for Lap to IS_SPX packet. CompCar structure added to IS_LAP and IS_SPX packets.
Look up video of last week's NASCAR race at Sonoma. Watch any of the replays of F1 races, ALMS, etc. As somone else pointed out, if they can get away with it, they will.
I know in LOTA we define "on track" as follows: "On The Track": "On the track" is defined as racing surfaces (tarmac on racing circuit and tarmac/dirt as required in rally & special courses), curbs, and "green concrete" (or other similar surfaces outside the curbs).
As long as you keep two wheels "on track" you are good.
As for ASNat, yes it is important to get through the last chicane as quickly as possible. However, the first part is not as important as the last part. The last part lets you out the long straight, and if you are slow through the last part, or have a poor line and can't get into the throttle early enough, you will lose a lot of time on the front straight. Being fast through the first part will shave you a tenth or two. Having a good line where you can feed the power on early and keep the car as straight as possible coming on the front will gain you several tenths.
I agree with that. I did something very similar way back when InSim was very new (code is gone bye-bye in harddrive crash) in that my thinking was that I didn't want to slow down API's ability to process incoming packets because someone was doing something really slow.
But the more I thought about it, I think thats outside of the scope of the API and more on the developer using it to do the right thing either by using another thread, adding it to a queue for processing later, etc.
Might be old Bob, but its not a bad idea to bring old things back up to the front.
Having folders in sims hasn't always been a top priority of sims... I can think of quite a few other than LFS where setup-hell (very akin to dll-hell) has been a pain. I can also think of numerous sims over the years where this hasn't been an issue.
To me LFS without setup folders is sorta like using Windows (or OSX or Linux or whatever) without folders and keeping everything in one big folder. Bleah.
As we're sorta on setups, it'd be nice to be able to store notes with the setup.
These have been mentioned before, throughout the years of LFS, but I think its time to mention them again.
It'd be great to see the following... I know we would love to have these tools for our league racing.
a) Fixed Setups - Server setup is automatically sent to anyone joining the server. Only allow for min. changes, such as brake balance, braking strength, maximum lock, etc. to allow for differences in player control gear. [Plenty of sims had this feature; NR2003 for sure which is one of the biggest sims over on this side of the pond.]
b) Server side mandated handicaps - This would be on a per username or car type basis. Voluntary handicap system is in, it'd be nice to be able to control that from within the server. [This would be pretty unique, not many sims have had this feature.]
c) Event statistics - A dump, preferably in XML (but other standard formats would be acceptable), of the statistics on the completion of a qualifying or race event such as having automatic replays on and would be stored in a folder, say data\results, and would be earmarked as qualifying or race and say a date-time stamp. Also you would just be able to save the statistics like you would a replay. [This is a pretty old feature that a fair number of sims have had going back to I approx. Nascar Racing 3 days.]
Both a) and b) it'd be great to be able to control this via the server config file, server commands and even InSim.
Be nice to see more league and series racing support in LFS.
Yeah, I do think that there are a couple of league things that definetly need to be put in LFS (over and above new InSim functionality)...
a) Fixed Setups
b) Server set handicaps
c) Raw data statistics dump
As you pointed out, NR2003 (and other sims too) had these features and at least for NR2003 this made for some great racing, especially unamongst the "less hardcore".
LOL Tweak... anyways, that is one thing that would be nice to see is us go to DX9 and make use of some shaders, etc. But this is a racing sim, so its more about function over flash.
Oh, I don't know... how about it taking up time and effort on Scawen/Victor/Eric's time that are better used to work towards S3 and/or fix issues and upgrade features, such as the lack of reverse in replay (a real pain-in-the-rear for league/series admins who are used to dealing with GPL/NASCAR and even the ISI sims) or even something as simple as a XML-based race results file that gets spit out after every race so we don't have to use an InSim utility to do that.
And more importantly, STCC and other add-ons like it is one of the reasons the InSim (along with OutSim, etc.) were added to LFS in the first place.
Just SimFIA DTM and LotA F08 series are now established on Tues. and Thurs. nights. And there is the Chops Sunday Night Cup.
What I believe Banshee is trying to get at is that there is already a fairly limited pool of 'North American' drivers, so we don't want to get into situations where we are all cross-competing on the same night and drawing drivers from one series or another!
As for afternoons on the weekends, those are usually tough to do as most people are busy at that time. It might work to run on weekends either at night (if you are willing to give up prime Sat. night "party time") or earlier in the morning before the days activities really begin. OWRL effectively races on Sat. afternoons due to the time difference, yet I know for myself and I heard it from a few people who have raced in LotA, that the afternoon is just inconvenient.
That all being said, its not to discourage, just to point out a few items that we've learned setting up LotA and/or running in other leagues such as NAL (or myself, going back from NROS days through VROC, etc. with Papryus' sims).
It's a nice piece of functionality, but it'd be nice if you would make it open-source because others may need something like this but not exactly want the output that you are supplying to the templates.
True, but people *really* shouldn't be learning from looking at source code anyways. People *should* be going to school or taking classes on *how* to develop software.
I agree. Not only that, its a horrid car in terms of just driving and the interior is nearly as bad. Had one as a rental while I was waiting for my GTO to come in.
The hybrid system is pretty nice and worked well. But otherwise, no idea why anyone would buy a Prius at all. Sorta like why in the world did anyone buy a Pontiac Aztec...
We've got a large country with lots of open areas to hide all sort of stupid and ignorant people (not to mention just a bunch of oddballs).
Not everyone is prefect, but those that definetly show such insensitivity such as that should be banned.
However, idiots aren't limited to the USA. I've had idiots on European servers call me a nazi before just because I display (USA) beside my name. Rather amusing, but shows just as much ignorance as anyone else. Incidently, speaking of that, I've got a picture of a fountain in downtown Munich that someone scrawled USA on and turned the S into a Nazi symbol. Its not pointed out to bash anyone, just as a note that intolerance ain't once country's problem. It is a world wide problem.
Does your kart's computer display also redisplay your wheel, arms and hands?
I didn't think so!
I think (and I already posted a suggestion on this matter) that there needs to be a virtual mode that would just display the LCD. For the FO8 and BF1, it'd need to rotate to be fair to others who are using the wheel.
I find the wheel/arms being drawn on the screen just obnoxious.
Right, I realize that and you actually have to especially if using Windows Forms.
However, I was just making a comment that it was a tad concerning with the invoking in a foreach loop which does casting to the Delegate and then you do casting to the actual delegate. Also, I believe (at least for 1.1) I recall that foreach was actually slower than a for. So you might want to switch to a for loop that casts to the actual delegate, that way there is only one casting going on.
Yeah... lots of little tricks to log4net. Do like it though, sure better than the Microsoft "logging". :/
No problem. Like I said, GPL works ok for this type of project where there really isn't a compelling reason to not keep projects that utilize your framework open. I've been writing a bunch of non-related frameworks that I've been thinking about putting to open source and I've been completely turned off by the GPL, LGPL and the FSF. Especially because of the viral nature of the GPL.
Yeah, pretty much. I actually am using the Irrlicht engine with their .NET wrapper; saves me the hassle of dealing with all the MDX/XNA, etc. plans and basically comes out to be the same thing as MDX plus some. Ogre and its .NET wrapper would do the same thing.
As far as this non-sensical "discussion" about C#/.NET platform. Its just another tool. Use it or don't, but really discussions about what language is better are really rather pointless in the end. Personally I've written applications in everything from C/C++ to Forth to Fortran to Pascal to VB to Java and others. It matters little other than whats available to do a certain job based on the requirements and environments of the job.
And no, just because C#, and any .NET managed language implementation, and Java (and actually any languages written to compile to the JVM) or even VB, Pascal, etc. don't expose pointers does not mean that its "easy" to write a quality application or even a framework such as what sdether and Messiah, respectively, put together.
Yes, actually architecting and developing large n-tier systems is a time consuming process no matter what technology you use but performance on the other hand is very good if the hardware has been spec'd out correctly based on predicted loads, etc. But all sorta off topic.
Took a look at the .NET library, looks really good and quite solid although I haven't done an in-depth look at it; but glad I checked here first before I started to bring my old InSim.NET up to .NET 2.0. Just from a quick-hit standpoint, I'd be a bit concerned about the foreaching through the InvocationList and calling BeginInvoke on it. Otherwise at least quick glancing most of my objections are cosmetic (i.e. the #s in the regions are a bit much, and I always use the underscore prefix to differeniate member variables from local variables, etc.)
Oh, a trick with Log4Net is do the following: private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
That way you can just macro the line and plop it at the top of any of your classes easily.
Have you run it through fxCop yet? If not, I highly recommend it.
Gah, you would use the viral GPL license. Its probably fine for a project such as this where there are is absolutely no real excuse for not sharing the source of applications that make use of the framework. However, there *are* far better open source licenses out there.
As far as Managed DirectX, no one should be fooled into thinking that it is anything more than a managed wrapper to the DirectX COM objects since its not (quite check using Reflector shows this to be the case). This *may* change to some degree with DirectX10 (interesting to note that WPF will wrap some DirectX10 functionality, and actually does wrap some DirectX9 functionality in the beta in a more 'managed' fashion, but also limits your ability to use all of the DirectX functionality).
The performance penalities from writing something like LFS in C# come from the bridge between the .NET IL objects and the DirectX COM objects and the .NET virtual machine. There is available from MS with VS2005 generators that will take .NET assemblies and generate machine code executables from them so that generally takes away the .NET virtual machine penalities. As most C/C++ developers know, there are plenty of optimizations you can do with pointers and thats one thing that the managed environment doesn't and won't have, so those optimizations just won't be there unless you really get down into the IL.
I forget the name of the game, but there was a retail RTS released recently that was written all in .NET and using the managed DirectX wrapper.