05-01-2008, 03:15 PM,
|
|
joevenzon
Administrator
|
Posts: 2,679
Threads: 52
Joined: Jun 2005
|
|
Vamos rewrite -- ideas?
I'm planning to, as part of the VDrift code refactor mentioned on the front page, rewrite vamos. My main goals are to improve code clarity, cleanup any hacks I've made to the code, convert all rotational code to use quaternions, change the numerical integration method to use a symplectic Euler integrator, and decouple the car physics from file loading/rendering/etc.
However, I'll also have a chance to make tweaks to the way Vamos currently works. There was a good discussion about the Vamos suspension model here:
http://vdrift.net/Forum/viewtopic.php?t=926
Any ideas/requests for improvements on Vamos?
|
|
05-01-2008, 03:57 PM,
|
|
reece146
Member
|
Posts: 187
Threads: 26
Joined: Oct 2006
|
|
Re: Vamos rewrite -- ideas?
My only thoughts are...
Is this the time to make a "proper" suspension model? Something that models SLA, strut, et al properly?
That's an involved effort and possibly beyond the scope of what you have in mind?
The other thing I would suggest for purely selfish reasons, is to try to figure out why the Macintosh port seems to run so slow compared to commercial products out there.
Your mentioning that there is some kind of coupling between the rendering and the physics makes me think there is some kind of relationship to this speed issue in modelling on the Mac. That is specualtion on my part but I generally tend to have a good "feel" for these kinds of things if that makes any sense. Any performance enhancemment for the Mac port would translate to the others as well of course if the code remains consistent for all (no Mac specific work arounds).
Joe, if you or any other serious developers out there need a commercial poduct to compare on your Mac (I read you sourced a Mac recently I think?) I'd be willing to flip you the bones to purchase a copy of Redline or similar product. We could do something like when you asked for money for the server maybe if that mechanism is still in place. I have Paypal as well.
I'd really like to see Vdrift be as entertaining as GT3 is on the PS2. I haven't played Vdrift since the fall (PPC issues) but am missing it. I need to try the new sound corrected Mac port but haven't had time.
|
|
05-01-2008, 04:10 PM,
|
|
cologne
Member
|
Posts: 203
Threads: 35
Joined: Mar 2007
|
|
Would be realistic to describe the stiffness of the Car-Body.
The model should show a torsion-spring between front- and rearaxle.
value = torsionmoment per degree;
Helpfull describing "hard" F1 or IndyCars, "smooth" normal Steel-Cars, "smoother" Trucks and also Carts with zero travel.
|
|
05-02-2008, 04:55 PM,
|
|
zimluura
Senior Member
|
Posts: 286
Threads: 22
Joined: Oct 2007
|
|
i'm not too knowledgeable about vamos. but i've sorta been thinking about some ideas with regard to the car loading process. so i'll apologize in advance if this is not what you were looking for as input. with the decoupling it might be cool to have a more free-form .car file. idk, maybe it's already like this.
==
maybe something like you could make as many [bracketed] headings as you want. and call them whatever you want. then write whatever parameters you want under them*, so as more data gets found for the car it can be incorporated into the .car file regardless of whether the physics system supports it yet or not.
then the .car parser would seek out the [engine] heading and read what it can from that. under it you could insert values for bore, stroke, cylinder count, cam count, block material, head material. and maybe eventually there will be tuning options for boring out the engine so it could take into account the stock bore.
suspension has been talked about allot. maybe, for suspension it could default to a fixed, hard suspension unless you signify a type of suspension. (mcpherson, leaf-spring, super-strut, etc.) and then each of those could have totally different parameters that the physics engine would be able to interpret given the context.
downside is that you'd have to document what parameters are recognized by the game and which ones affect which designs.
i'd really like to see each heading get a position and weight by default though. and if each one had a mesh as well it would be a good foundation for a full in-game tuning system. just to have each car as a big laundry list of parts, some with serious performance effects like changing suspension designs or engine swaps, others with mild weight reductions like removing passenger seats and window motors. and still others would be extra parts that would affect performance like spoilers, strut tower braces, and roll-cages.
|
|
05-03-2008, 05:57 PM,
|
|
cologne
Member
|
Posts: 203
Threads: 35
Joined: Mar 2007
|
|
Quote:However, I'll also have a chance to make tweaks to the way Vamos currently works. There was a good discussion about the Vamos suspension model here: http://vdrift.net/Forum/viewtopic.php?t=926
The realisation of real suspension-types should be a task to be done later.
Make the suspension-logic an exchangeable module.
A proposal for a âdefaultâ suspension-logic:
âhinge-positionâ in [ suspension-XX ] defines one point of the axis the wheel moves around. The x-component of âhinge-positionâ is relative to the front/rear-axle-x-position defined in [ wheel-XX ].
The new âhinge-angleâ defines the angle to x-y-plane of the car-body (allows Anti-Dive). And the hinge-axis is rectangular to the line from hinge-point to wheel-center.
Geometrically this describes a plane by Wheel-center, one point, one angle and the hinge by one point and one angle.
The hinge-point can be in- or outside the car and on both (!) sides of the wheel. The distance can be nearly âinfiniteâ.
This model allows a sufficient approximation of the different suspension-models. May be it means the same as the current model, but this one doesn´t work.
|
|
05-07-2008, 05:46 PM,
|
|
cologne
Member
|
Posts: 203
Threads: 35
Joined: Mar 2007
|
|
Another idea:
The position of wheels relative to the car-body should be the position of the static standing car. In other words: the position of the car-body remains the same, when spring or travel are changed.
Consequence:
travel will be splitted in a negative and a positive travel.
[ suspension-XY ]
travel-negative = 0.05
travel-positive = 0.10
the spring - whatever model we will use - will be static loaded and âpositionedâ to the position of wheel, one time after reading the configuration.
Another idea:
A âlift-coefficientâ for the car-body!
A additional coefficient beside every âlift-coefficientâ, describing how much the âlift-coefficientâ is dependent of the angle of oncoming flow.
|
|
|