The online racing simulator
Searching in All forums
(300 results)
sicotange
S3 licensed
Exactly, I can see some uses for dummy cars.
sicotange
S3 licensed
Thanks, nothing to report on version 2.3.0.0 so far Thumbs up
sicotange
S3 licensed
OFF-TOPIC:

Thanks to IS_JRR you can easily teleport AI cars. Would it make sense to lift the open config restriction ("AI can't drive on this configuration" message)? In this case the AI car would be spawned with handbrake on and engine turned off.
sicotange
S3 licensed
I have one complaint concerning IS_JRR. When you teleported a car (on a grid for example) the car is moving because the handbrake is not on. This is a problem. Cars spawned on a grid before a race shouldn't move at all.

Am I the only one bothered by this? Scawen, can it easily be turned on by default?
sicotange
S3 licensed
Quote :It would also be very useful to have a special checkpoint that behaves in a similar way, perhaps including a timestamp of when the line was crossed.

I suggested this recently:
Quote :https://www.lfs.net/forum/post/1902488#post1902488

sicotange
S3 licensed
Quote :There are a huge number of existing InSim apps that represent many thousands of hours of work by many programmers all over the world. I think that effort spent is valuable and should be protected. This efficiency improvement is small and any benefit should be considered against the loss of all that accumulated work.

I agree yet it seems to become harder and harder to move forward without making braking changes. Unmaintained closed source programs quickly land on the road to perdition anyway. It's a bit of a harsh natural filter.
I doubt unmaintained programs are still popular but maybe I'm wrong. Are there alot of popular "out of date" InSim programs?

Perhaps this breaking change could incite for more breaking changes leading to a new INSIM_VERSION = 7 ?
sicotange
S3 licensed
Airio hasn't been maintained for a while. I don't understand why unmaintained, closed source programs should hinder Scawen from making improvements to the InSim protocol. Instead someone should give the program maker a wake-up call. If that doesn't work I would consider the project obsolete.

DarkTimes, why not putting up a compatibility table somewhere mentioning which InSim.NET version and LFS version are compatible?
sicotange
S3 licensed
Quote :Prefabs wouldn't need to be limited to 30 objects either; you could load the objects at the extremities into the clipboard for easy alignment, then have InSim automatically add the rest of the prefab when you paste.

Can you elaborate? What do you mean with the extremities?
sicotange
S3 licensed
I'm well aware of that. That's a useful LFS feature but my suggestion is InSim related.

Say you made a big curve (consisting of 30 wall objects) you use for race layouts. You want to use that curve again and again on several tracks. You will have to select all the 30 objects again when you "unselected" them (by adding another object to your layout for example) which is a waste of time.

If you could load objects (with InSim) and attach them directly to the mouse cursor in SHIFT + U (the behaviour you described above basically) it would make things easier. You would save your objects with your InSim application. Display a list of these groups of objects. Choose the one you need then instruct LFS you want to attach them to the mouse cursor so you can put them where you want too. It makes it a breeze to reuse a group of objects you need frequently.
sicotange
S3 licensed
Quote :A stopwatch per player? Do you mean so they could see their own custom clock on their screen, so as if each player can have a different race start time? I'm not sure what you mean by TimeSpan data.

Yes, exactly!

Quote :Allow the host to know if a certain connection is in the garage, even if he does not currently have a player in the race...

+1

OFF-TOPIC suggestions:

• One small annoyance concerning IS_ACR. It is useful to use IS_ACR to log all sort of things such as kicks and bans.
The problem is that when an admin uses the kick & ban buttons in the connections list (N) no IS_ACR is triggered.
Is there no improvement possible there? For example, when clicking these kick & ban buttons, sending a /kick & /ban command instead so that it is caught in IS_ACR or is that a rather ugly fix?

• Ability to fill the array of ObjectInfo the SHIFT + U editor uses to move a group of selected objects. At the moment when you have a group of objects you want to move with InSim, you have to use IS_AXM each time you want to move that group of objects till you reach the position you want. It is annoying and frustrating knowing usage of the mouse cursor in SHIFT + U mode to move your group of objects would make things so easy! It might not even require a new packet:
1) Fill your IS_AXM ObjectInfo Info[30] with your objects data.
2) Send the IS_AXM with a special PMOAction byte, for example: PMO_FILL_OBJECTS,
3) Attach objects to mouse cursor in SHIFT + U (just like you would select objects from a layout)

This would improve the versatility of IS_AXM and the autocross editor greatly in my opinion.
sicotange
S3 licensed
BUG REPORT:

Somehow with DCon 0.6K10 an IS_MTC with UCID 255 (=server message) does not work. It is displayed on the DCon console though. Could someone try to send an IS_MTC with UCID 255 and confirm it works normally so I know I'm paranoid or not?

Quote :Please let me know if it seems there is enough to do your ideas like multiple races in one environment, or if something else would help.

IS_JRR is the final addition I needed to make multiple races work. On the other hand some requirements I had in mind to make multiple races work flawlessly:

• A new control object like the current autocross checkpoint but without index reporting a timestamp and x,y,z,h of the checkpoint when the player crossed it. It is useful because the current 4 checkpoints are not enough to have multiple races obviously. At the moment I have a custom method reporting when player x crosses a custom checkpoint (a line made of 2 points) but it's far from ideal because I have to predict between IS_MCI updates when the player crossed the line.
• A unique laptiming packet with ability to start/stop and reset it by PLID (a stopwatch basically) and some way to get the TimeSpan data.

Quote :Also the behaviour when a player gets /ujoin on his username while he is in the garage. How would this affect things in your case?

I don't think I like the current behaviour. If I understand it you can't force join a player in garage with /ujoin because he might be busy with the setup screen in the garage (it gives message "User is already in the race")? I think it should still force the player out of the garage. I might have missed a very valid reason not to do this though. If I'm not mistaken you can detect for how long the player has been in the garage (IS_PLP?). I think it's up to the programmer to prevent the use of /ujoin when the player seems busy in garage for a long time. If a player signed up for a race, he would receive a warning message or a countdown before the race so he knows when he will be "kicked" out of the garage.

Quote :To help me understand, what would this be used for? I think LFS always does some kind of ground check to avoid dropping the car too far. But as far as I know, the current system should work on things like concrete objects and doesn't have to be the actual ground.

I don't have very convincing arguments but it could be interesting to simulate drops from certain heights (would physics cope?) and it could be useful for derbies and those sort of things.
sicotange
S3 licensed
Thanks for adding this new packet Scawen. It works like a charm (I haven't tested all features sufficiently though). One thing I noticed. The ground level check is on by default. If it is an easy addition, would it make sense to add the no ground level check option to StartPos? Or would this go too much in the direction of "surrealism"?
sicotange
S3 licensed
Won't there be performance issues when you spawn many players at once? Do you leave it up to the programmer to make his own safe system? I'm thinking of IS_AXM where you wait for the arrival of the packet before you send the next one.
sicotange
S3 licensed
Quote :That would be useful e.g. when making a custom starting grid before a league race, instead of having to call out all players one by one and wait for them to join the grid.

A variation on this is multiple races on 1 server. Tracks like the new Westhill can easily host several races simultaneously.
sicotange
S3 licensed
Quote :We also need one more packet (say IS_OSP - Override Spawn Position) that simply specifies or zeroes the spawn position for a given player. Zero it to return that player to default spawning behaviour.

The IS_OSP also allows the ability to teleport an existing player.
- Send IS_OSP with PLID and spawn position
- /pitlane username
- Send IS_OSP with PLID and zero position (if required)

Big thumbs up for IS_OSP but will there be a possibility to "forcejoin" a spectating player? I can see several scenarios where it would be rather useful. I suspect this has already been thought through but what about developing the /join command?
/join = typed by player, player joins track
/join username = typed by admin (or sent by InSim program) to forcejoin someone (would respect the packets)
sicotange
S3 licensed
Quote :// JOIN REQUEST - allows external program to decide if a player can join
// ============

Thanks a bunch for working on this! I'm not sure I understand how it works though. Suppose you want to spawn someone driving. Do you send an IS_RQJ followed by an IS_RQR reply with Allow set to 1 and the corresponding ObjectInfo? I see IS_RQJ as a packet to notify LFS that a player is about to be spawned. Or is IS_RQJ triggered only when a player clicks Join (or does /join) and IS_RQR specifies where the player has to be spawned? I'm confused.
sicotange
S3 licensed
I have the same problem as PeterN on 0.6K as well as 0.6K7.
sicotange
S3 licensed
Quote :Changes from 0.6K2 to 0.6K3 :

Hidden object removal is disabled when car is high above the track

Nice improvement!


OFF-TOPIC
Scawen, any plans to implement an InSim start point packet to spawn a car by UCID (x,y,z) anywhere on track?
sicotange
S3 licensed
This is with Windows 10 Pro Insider Preview (build 10074).
sicotange
S3 licensed
I suspect a small bug has been introduced with the "Sky texture is now drawn in mirrors" improvement. The wooden barriers reflect the sky textures. I couldn't reproduce it with 0.6H
sicotange
S3 licensed
Great! I was secretly hoping pyinsim would get an update Smile
sicotange
S3 licensed
I'm having some fun with the improved Autocross Editor Smile Next step is to make it follow a certain itinerary:
https://youtu.be/5HQ0BH0CMJ8
sicotange
S3 licensed
Looks awesome Big grin I suppose your plane is made of more than 30 objects? If you share the layout I could try to make it follow a route in the air but I don't think LFS can handle that performance wise.
sicotange
S3 licensed
Is this what you are looking for?
sicotange
S3 licensed
I think Dygear will be happy about this new packet Smile I wonder what the use could be of " unsigned UserID; // LFS UserID".
FGED GREDG RDFGDR GSFDG