I understand your point now. Of course, if you can achieve the same effect using the vertex shader and not wasting computing time by doing all this stuff in the pixel shader, then why not.
I meant it looks better with the specular lighting than without. But again, if the same effect can be done per-vertex only and it looks reasonably good, why not. I guess it also depends on the poly-count of the car models.
Good example, but extreme. An object with great curvature, low polygons and a very strong specular reflection. A good demonstration though, but doesn't disprove the principle of calculating things at the vertex ready for interpolation when possible.
This is all new to me, I don't have a well developed intuitive feeling for how much you can reasonably do in a pixel shader.
My approach will be gradual experimentation, to get some reasonable results written in ways that look efficient to me, to improve and refine later. There is a lot to do to help get the Westhill version out, so I can't focus on a great deal of shader development at the moment.
This was just done as my first use of HLSL but has taken on a life of its own. All very interesting though...
thank you, thank you, thank you. where other developers would have decided the time investment was too much or would have given up after x time without the result they wanted, you remain obstinate in achieving what will push simulated driving forward.
Because KY3 is not the Ring; it wouldn't "get boring". Because, like others said, enough people love the Ring. If it's released with something major like tire physics or novel like mountain track(s) (partly or completely steep like Pikes Peak or Fujimi Kaido in Forza), LFS would get some serious player exposure.
With all due respect to Scavier, Spa is another very long track, that proves the point. Not that original LFS tracks couldn't be that good. Just that KY3 isn't, as is, hence flawed comparison.
A few additional suggestions I would like to make in the hope that the new InSim features mentioned above will be implemented:
ISP_AXM:
• Ability to add 2 (or more) autocross objects at the same position (x, y, z coordinates) if (and only if) the object (index) is different. It can be useful to be able to stack up objects vertically using the same coordinates or to add several different objects at the same position.
• A new PMOAction to move objects instead of adding/deleting them //nitpicking
• Ability to setup pitch and roll of an object (it was discussed briefly in 2012 if my memory serves me right, Scawen mentioned that it would require a lot of work)
• Improve precision of ZChar & Heading of objects (granularity)
ISP_RCP (ResetCarPosition):
• Ability to choose to reset the car the player in question has selected in the garage at a specific position instead of specifying the car to reset.
• Ability to choose to disable the ground level check when you reset the car meaning that you can reset a car somewhere in the air. The idea is to be able to reset a car on a ramp for example but I suppose the LFS physics won't like this (?).
struct IS_RCP // ResetCarPosition { byte UCID; // connection's unique id unsigned Car; // car to reset (if not set choose car selected in garage by player, if no car selected in garage discard packet) short X; short Y; byte Heading; char Zchar; // if set discard the ground level check byte Flags; // repair car or not, ground level check on or off };
Cars are not related to UCIDs, but PLIDs
And I'd prefer UINT for position, as well as Heading with higher fidelity. Short will only get you to resolution of one meter, UINT will be probably better in case you want to reset whole grid of cars to some other place (custom starting grid)
Racing is about racing right? racing means competing with each other, not doing some hotlaps online driving on your own. People tend to disconnect if they make a mistake and can't catch up anymore and/or cannot compete with somebody else on the track.
I have the same experience with KY3/FE4, I do some commentary stuff lately @LFS and on big tracks it gets very difficult to find the action after a while. And what happens if there is no action? It gets boring.
If I look at AC right now, this Friday evening. You know what on top of the list? Blackwood haha. And Malaysia/Barcelona (some custom tracks).. I just joined one of the few active Nordschleife servers and there you see some 7, 8 cars driving around.. Alone. They can't even see each other! Fun? Not really. For hotlapping yes, awesome, but serious racing no. Maybe with 64 slots and some league organization but I would suggest; don't spend too much time on it as developer other then some porting capability importing tracks from Rfactor.
Scawen, I'm not really technical, but rather practical, so here is a short list of things that are (seemingly to me) very simple (and seemingly practical) that could greatly improve LFS. They probably shouldn't be too high on the priority list, but these things I feel have decent support from more-or-less the whole community:
1. Larger Rallycross and Autocross on track "grids" - why limit the field to 24 or 16 when other tracks do have 32 grid slots. (I mentioned this already to support from you and a few other forum members)
2. Support for spectating/pitting/timing out and continuing race progress. How aggravating is it to do a 24 hour race and see the winner displayed as 24th 200 laps down because he timed out in the 12th hour of the race. Perhaps turning this feature on or off would also be a good idea. Many racers feel that endurance racing is LFS's biggest strong point, and this would only improve that. (PS: the driver who times out would be required to continue for race progress to be saved, so a teammate taking over would not be an option to escape time loss from a time out)
And, one NON-practical point:
Moving forward I feel that dynamic track surface conditions would be the best possible improvement to LFS's racing on all levels. Practice for 1 year and simply replicate on race day (because it will be exactly the same conditions) and you'll dominate. This means that those who haven't been around for over 6 or 7 years will always be behind the curve in speed and practice, and this drives away new comers with discouragement. If the track surface changed with traffic, temperature, weather, ect. it would constantly be a moving target, and this would encourage new comers to compete with the old "guard" of LFS, because they'd be more competitive in comparison.
I still feel that new content would be the best thing for the near future, but looking beyond that I think that from a marketing stand point dynamic track conditions is where the best improvement in profitability and quality of simulation is. Working on appearance is certainly important as well. I'd say go after the one that is easiest to complete, and I'm afraid the answer is appearance.
A quick look in the code suggests that you can already add objects in the same place as other objects. The only thing you can't do is have X, Y, and Index all matching. You can't do this in the in-game editor because of an intersection check, but with a packet it looks like you should already be able to... but I haven't tested so please do tell me if I'm wrong about that.
But there is only space for one set of coordinates, used to find the object to delete, or to place the new object. A "move" function would need two sets of coordinates and that won't fit in the compressed structure. I think it's ok to send "delete" and "new objects" immediately after eachother, isn't it?
These would need bigger packets, the compressed ObjectInfo just can't take any more precision. I'm more interested in simply increasing the number of objects at this time. Don't really want to get into backward compatibility coding with incompatible files and so on, as I am already excessively overloaded with updates for this Westhill patch.
I seem to remember there is an unused bit spare though, to make objects not go to the ground (your original request).
I don't really understand, can you explain as an example?
My original proposed packet "reset at (X, Y, Z, heading) with damage repaired yes/no" is supposed to be for a car that has already left the pits.
Of course you are mainly right...but if LFS could announce a track like the Nord. today the players would roll in pretty fast...along with their money.
More players will allow server owners to be more selective in the player choice...better player choice=better racing.
All highly subjective and totally off-topic now...
KY3 is, aside from the oval to track transition which the community has fixed, an absolute classic. It does need a quick car, like FO8 or these infernal GTs. Had one of my all time favourite races there - never more than 3 seconds apart from my rival for the win for over an hour.
Oh and that rejoin thing mentioned above would be marvellous as it would remove the nonsensical race order and blue flag scenarios. Perhaps even carry over the setup and damage from prior to the disconnect.
Okay when you disconnect you must start the actual round from the beginning, but what when you press Shift+P or Shift+S. As an example when you chrashed in a public race ? Its like a greencard to crash without loosing the whole race
Shift-P or Shift-S aren't disconnecting are they? If you choose to do that then you should be out of the race. You could crash and then pull the plug on your router, but that's why it would be good to carry over the damage and setup from prior to the disconnect. If you're already losing say half a lap by beginning again and you also have to fix damage before you leave then there aren't many situations where that would be considered an advantage.
My bad, you are right. You can indeed add 2 objects at the same place if the index is different. My suggestion is to make it possible to add objects with same index at the same place if and only if the height (ZChar) is different. At the moment you can't stack up objects at a perfect vertical angle (See screenshots below) because of the "Can't add : intersecting object" check.
Yes, that is what I currently do to move "groups" (patterns) of 30 (or less) objects. With the SHIFT + U editor when you select objects by clicking on the orange dot you see the objects selected and you can move them without adding or deleting them. Ignore this suggestion, it is merely nitpicking + I will have a hard time explaining what I mean exactly and why it could be useful
I'm much more than satisfied if this can be done. My other suggestions are merely nitpicky. Although what would also be neat is if you can also make a new ramp object (a flat slab), it would complement the Ramp2 object nicely.
I'm also slightly confused now. This packet can only be used if the car has already left the pits? In essence you choose to reset a particular car at a particular place for a particular player no matter if they are racing, idle on track, spectating, in garage, in pitlane or doing a pitstop. I suppose this can't be done easily?