First i love this project. I played Stunts (1.0) since its release up to the point where it stopped working (pentium class machines/Stack overflow). Recently i discovered dosbox & gui and play it again.
First experience (w2k 0.5.3). Installed it, ran it, loaded main menu screen just fine. "Start Playing" (should be just "Drive" for classic's sake), program crashed.
This is bad as a first experience. I almost uninstalled it right away assuming the game was too far from playable. But my playing fever made me want try to find a solution. It turned out to be the diablo car. The game defaults with 2 cars, one of them is the diablo which crashes the program. Sane default should not be 2 cars anyway...
These are bad, and everyone says it. I just wanted to at least see how it was and have spent some time playing. In fact i don't think physics are that bad, there is a serious problem with collisions (as in 3d modelling), you can approach at 1mph an object with a slighly little elevation and the car suddendly becomes boucing ball. But there is more... I discovered this is affected by your direction, think of the start direction as "north", if you always face "north", the game is quite playable. Now going "south" triggers this nasty bug. the other directions offer mixed results. The more south you face, the worst the bug is. A counter bug when going south is to drive backwards...
My advice would be to test your tracks and objects by going north (sadly the loop requires a moment of heading south which makes it almost impossible).
For developing, i'd like to suggest some priorities:
First, try to recreate all the original objects. Specially the simple ones, all the asphalt tiles. The "double sized" tiles seem all missing, all curves look sharp (even banked...) Chicane and friends are missing :(
I bet the slalom is pretty easy to make. Needed are the elevated curves (long curve), acrobatic objects (corkcrew) and the rest of the classic tiles.
I must say i don't like the new objects in "mountain" (those where you go down) You can get the car badly stuck in there too easily.
For inspiration i'd like to point you to a Battlefield 1942 total MOD called "battlefield 1982 interstate". The mod is about a car game of armored cars form the 80ies. That in itself is another sea of inspiration, but for now take a look at the maps. There are a few with names like "Deathrace". What they did on those maps was to somehow recreate part of the Stunts experience, they have elevated roads, elevated banked curves, elevated pipes, elevated curved pipes, loops, etc. There are crowds too, this is also in the old Stunt Driver game and could be a good idea for the start/finish and some parts of the track. "Crowds" should be another of the "adorn" objects, make sure you can assign a sound to objects with volume based on proximity and its proper spatial location.
I think for now the car models are fine for testing. Except the f1 which should have the rear wheels locked in place (don't let them turn). When addressing the cars, eventually you will need to fix those gears. Also, currently all tires have traction (ie 4x4). I like the way cars are currently sliding. The "bouncing ball" issue must be fixed asap.
The "lego" car might be a joke, but it reminds me of r/c cars. For inspiration i suggest developers to check a game called "Revolt". Its a 3d racing game for pc with r/c like cars. The physics in there are a pretty good source for inspiration of how the little cars (and even the big ones) should do. In that game some cars are 4x4, some are rear traction and some front traction. Some electric, some fueled power with different sounds for each.
Speaking of cars, since this is a multiplayer game, there is "the one true feature" that must always exist: The horn. Yes, A HORN! What do you do when your opponent is in front of you racing like a turtle? SOUND THE HORN! :) For added bonus, try to get different sounds according to the car (that old car should get that funny sounding horn)
Another car issue to take in consideration: In the original stunts, when increasing the speed in a straight track, there is a very small tendency of the car to "self align" with the track. This can make a huge difference in playability with a keyboard.
It should be a priority to have the classic cars in the original game. See these pics: http://www.angelfire.com/sd/stuntspage/info.html
There is a fun factor in adding "stock" modified old cars, such as those seen in Stunt Driver and bf1982. You might add a bus, pickup truck, SUVs, etc. Put the dukes of hazards car with its distinctive horn, and maybe those ugly dodge patrol cars from the 70ies with siren (just for fun, not to recreate need for speed/test drive).
Another thing i like to see is a key to quickly display all currently assigned keys in game.
1: Crashing from Diablo car
I am aware of the problem, but I have no idea where it comes from. What hardware do you have? I had the problem once (but not always) on an ATI Radeon 9200 card, and someone else has it every time on a Geforce 2 card.
Thank you for the clear analysis of the physics problems. I know exactly what you mean. Maybe you should try the new version 0.5.4, which has great improvements here.
Some "double sized" tiles are available, but somehow I agree that they still look too small. Currently the cars are 4 to 5 meter long and tiles are 40x40x12 meter. This is based on an analysis of Stunts screenshots. Maybe you can find out some better values?
Why do you write that the cars have 4x4 traction? The Porsche car and the TFord car have front traction, and the other cars have rear traction (maybe the Lego car has 4x4 traction). You can notice some differences in turning behaviour. BTW according to the car descriptions in the original Stunts, all cars were 4x4 or rear wheel driven. The Porsche Carrera and Indy car were 4x4, which is quite unrealistic, but of course fun is more important.
Yes, the Lego car is a joke. It is inspired by a small car that can be downloaded for Need for Speed 4. A "horn" feature is planned for future versions, but thanks for the idea.
I know the self-align feature. I see this as a kind of a steering help. There are also other kinds of steering helps, like traction control and ABS. I recently discovered that Stunts turns the stering wheel slower at higher speed. I plan to implement many steering helpers. You will be able to turn them on/off, and they will also provide a starting point for programming AI opponents.
I'd like to have all original cars in Ultimate Stunts, but I am limited by which cars are available for free on the internet. Unfortunately I am not an expert 3D modeller. I never watched the dukes of hazard series, but I know that it has many similarities with Stunts, so maybe it is a good idea to do something with is (but I'll first check copyrights & things).
GeForce2 MX 400 64MB.
For the cars i just suggest oldie 70ies and 80ies cars, as you can see in some tv series.
I just found the Knight Rider car which is a modified Pontiac "Trans Am" for stunting: http://www.cardomain.com/memberpage/580323/4
And the "General Lee" featured in Dukes of Hazard was a modified Dodge "Charger". http://www.thedukesofhazzard.net/general.html
The Battlefield 1982 interstate TC mod used these cars:
Shelby Cobra Daytona 1964 ' MG 360 turret / Mines
Chevrolet Camaro Z28 1979 ' Dual MG / Nitro
Renault Alpine A110 1968 ' Rockets / Vertical propulsor
Chevelle Corvette TTop 1969 ' 20 MM canon / Mine
Detomaso Mangusta 1967 ' Rockets / Vertical propulsor
DMC Delorean 1981 ' Dual M / Nitro
Ferrari 250 GTO 1963 ' 20 MM canon / Nitro
Mustang Fast Back GT 1970 ' 20 MM canon / Mines
Lancia Stratos 1972 ' Vertical propulsor / Nitro
I can confirm the diablo crash here also on a windows 2000 with Quadro FX. Dumps stack. I don't really have the build environment to test it here so I can't say where its coming from either.
Your new physics code is quite fun to play with. Congratulations on the switch.
I mentioned before that I had a complete stunts tile set I would be willing to donate but I haven't yet found the time to examine your 3d file format and determine how big the task of conversion would be.
Windows XP, ATI Radeon 9600 here. The Diablo won't work either...
arcx33, is it ok if you zip your tiles up, and send it to me? I've done a few models for UltimateStunts already, and I'll convert them for you. My e-mail is firstname.lastname@example.org
Oh, one thing - are your models low poly? Because using high-poly models at this time can slow down the game very much. This also applies for new textures... :-( But they can mostly be replaced - and noone will die of 1 new texture.
My tiles are in a custom vector format at the moment. They can be converted into polygon meshes easy enough but some of the models use quads, quad strips, and tri strips. Can ultimate stunts handle this?
The models themselves were done with the conecpt of "Lowest number of polygons physically possible" with some scenery models using a fair bit more than the lowest needed. For example, default.trk from the original stunts uses 10,064 vertex references over 8,580 vertexes with my tiles if you exclude scenery tiles. So this is the entire terrain and track racing bits is somewhere between 3k polygons and 5k polygons depending on strip usage.
If I add the trees and buildings back in to default.trk it takes 21,377 vertex references over 15,744 vertexes, More than double in polygon count. I think most people will agree that 5k polygons, which is the worst case for a non-scenery track, is certainly workable, even on hardware from ~1995.
So, as I said. Actually exporting my tile set is a bit more difficult then just handing them over.
Triangles. Yes, it's possible to use quads, but I've never done any work on them... And if possible, 3ds format please - because that can be imported.
About how many polygons does a model have? I'll look at it.
The Ultimate Stunts 3D editor (stunts3dedit) supports triangles, quads, tristrips, quadstrips and polygons by importing the old Ultimate Stunts *.gl format. The documentation still tells something about it, and you can find examples in the data files of versions previous to version 0.5.3. If you want to use this feature, then you probably need to write your own converter (should not be too difficult).
3ds files can probably only contain triangle meshes, but that's not really bad, because vertices that are shared within one mesh (primitive in stunts3dedit) are re-used, and in the end, even quads, tristrips etc. will be converted to triangle meshes by the editor. So if there is any editor that can read your tiles and export 3ds files, then that is also an interesting possibility.
stunts3dedit can also import "smooth" *.raw files, like those that come from the 3dto3d conversion program. Per vertex, they contain the position and normal vector, so texture coordinates are not conserved. That't why there is a 3ds import function: 3ds texture coordinates can be imported.
Can you export as 3ds files?
I can not export to .3ds as the models were designed in my custom software.
I had a look at the .gl format and I noticed that it doesn't use indexed vertexes yet the .glb file format does. The .glb file format seem easy enough but some of the information will be lost as polygons in my objects can be flagged with a variety of parameters such as transparency, collision-detection exemption, physical material type, high and low sets of levels of detail, and so on.
I will have a look into converting some models to .glb anyway just to see how it goes.
You can try to make a glb exporter. Be aware of the byte order: it's not necessarily equal to 386 byte order. In fact, it is defined in shared/binbuffer.cpp in the Ultimate Stunts source. The file format itself is implemented in shared/glbfile.cpp. But I really think that glt exporting is easier, as it is a text format.
.glt is based on the Ultimate Stunts .gl file format (it's backwards compatible), and it is adapted to support indexed models. I see now that I forgot to document the glt indexing extensions, but you can create example glt files easily with the stunts3dedit program. It can load and save both glt and glb files. You should first read the stunts3dedit documentation, as it isn't built to be user-friendly.
In original stunts you could destroy your car. I think that you should build a destruction system or basic collision system - crash & die.