| Home | Forums | What's new | Resources | |
| making a 3D racing game for SEGA Saturn |
| RockinB - Feb 23, 2005 |
| 1 | 2 | 3 | Next |
| vbt | Feb 23, 2005 | ||
| It's really interesting | |||
| RockinB | Feb 24, 2005 | ||
| Status: Work on map creation tool finished! Does now remove all duplicate points and polygons. Mapping of a polygon/object to a tile is now performed by mapping the middle or mean point(new). After reading some more, I understood collision detection and ground following and found an appropriate approach. Compared to DRIVING example, it might be faster(only 2 muls + 2 adds for height computation and per polygon edge check, as well), but may consume some more memory for collision data. Depends on how much precomputation I do. I will now implement automatical collision data computation to the tool. help needed: Is there anyone who could convert tracks and cars of racing games to DXF file format with BMP/JPG textures? There is the free Zanoza Modeller which imports cars from a lot of games. The racing game scene is full of tools and import filters for 3D modelling software. If someone who got more experience in that could try to find a way(the right tools) to convert tracks and cars.... it would be cool. | |||
| SeGaFrEaK_NL | Feb 24, 2005 | ||
| Cool, but personally I'd just as much like to see a 2D racing game ala Micro machines. | |||
| RockinB | Feb 26, 2005 | |||
A top-view camera should be no problem Status: - computation and printing of collision and ground following data implemented - polygon search implemented - map of pointers to tiles (since most tiles are empty and a NULL pointer needs less memory than an empty tile, it saves memory) - adapted to saturn coordinate system (HELP ME: the DRIVING map data is NOT in saturn coo.-system) - added option to automatically generate a polygon map for every possible flag setting (fastly see what fits your needs) - runtime collision check routine implemented The polygon search serves for generating ground data. Example from DRIVING: All polygons with textures [attachmentid=1079] and [attachmentid=1080] are considered as road. Maybe grass and gravel could form 2 other ground categories. This way, you know where your driving on at runtime. Such a polygon category is made up of as much attribute constraints as you like, not restrikted to texture id. For testing the collision/ground following, I implemented a little testbench and found an error in a formula I got from the net. It's been fixed, but more complicated test data will have to be verified next. Tool usage is now like this: 1. define PDATA, XPDATA, various flags of choice and ground category definitions in a single .C file 2. compile the .C file and link it to the tool's stuff 3. execute the binary 4. use the .MDL file in saturn game I can't wait to modify the DRIVING example to use my generated maps. Untill that, I have to figure out why the original DRIVING map data seems to not have the Z-axis as depth like the SGL tutorial says. This is the space is occupies: min(-3578.000000, -2534.000000, 0.000000), max(-96.000000, 0.000000, -1.997361)! Furthermore, I must investigate how to compute some more collision information, like the collision angle or how to rotate the car just like the polygon it stands on. | ||||
| vbt | Feb 26, 2005 | |||
I hope it can help you, when I worked to replace the track I used some tools to generate suitable DXF for DXF2SG3 and then edit the SG3 file with the SEGA 3D Editor. My prefered tool was Deep exploration 3 because it was able to open many 3D files (.x,.3ds,.dxf,...). I used it to convert any file to DXF. After I used 3Dto3D to make a DXF for DXF2SG3. When the track was too big I used 3DS MAX 1.2 and its optimizer to reduce the vertices. I remember I've checked for a lot of 3D tools but didn't find better | ||||
| vreuzon | Feb 28, 2005 | |||
Good Idea. Do you know any free implementation of such a game (micromachine, superoffroad, etc.) ? | ||||
| SeGaFrEaK_NL | Feb 28, 2005 | ||
| I think it would be the easiest to have some sort of tiles system just like MM. You see the way it was contructed in MM96 (which has a track editor). Good tiles could be easily made. | |||
| RockinB | Mar 1, 2005 | |||
| Status: - binary output added(in addition to C sourcecode) - flags added to choose outputs of your choice It's raw Saturn format with correct alignment and endianess. Very memory and CPU efficient, since it needs only a single pass for pointer conversion and no additional memory. Binary size of the original DRIVING map is between 104-128 KByte. GZIP compression is good with < 32KByte. Binary loading is also supported by the tool. The correctness of the binary format has been veryfied by .MDL -> .BIN -> .MDL conversion, which results with exactly the same file. Note: Few minutes ago, I recieved The King Of The Spirits(jp)/High Velocity! :banana
Porting a free MM clone might be a better approach, since I don't enjoy MM like games that much like the Need For Speed style. <!--QuoteBegin-S eGaFrEaK_NL@Mon, 2005-02-28 @ 02:36 PM I think it would be the easiest to have some sort of tiles system just like MM. You see the way it was contructed in MM96 (which has a track editor). Good tiles could be easily made. [post=130668]Quoted post[/post] [/quote] It is a tilesystem, but for reusing tile data for multiple tiles, I would have to add translation and rotation information. The tile editor would be any 3D program of your choice. With few different tiles you could builld a whole track. | ||||
| vreuzon | Mar 1, 2005 | ||
| rockin'b : can you tell more about the collision calculation you use ? SeGaFrEaK_NL : i'm currently coding a top view static screen (multiplayer) tank game using a bitmap for landscape. I believe it has a lot in common with the racing game you're talking about... | |||
| RockinB | Mar 2, 2005 | |||
| @vbt: Thanks a lot for the hint to 3Dto3D, I expect it to be better than my tool. Have not had a look into your archive, since I always have problems opening .ace archives on my mac. Will have to wait untill I got access to my WinXP system again.
I'm currently trying to develop the car physics simulation. Thus collision detection is not complete and subject to change. I decided to do it only 2D from top view. It checks if a point lies in any of the track's quads and returns the type(grass, gravel) and terrain height on success. On fail, it doesn't return further info for now, so that's the point I'm currently working on. All in all, collision detection & response will use: point inside face tests Paul Bourke... (I simplyfied it to x*A - y*B <= 1 per edge) height computation Peter Melchart... (simplyfied to z = x*A + y*B + C, but be aware) maybe OBB-OBB intersection Miguel Gomez... and some aspects regarding collision response N(Metanet Software)... sourcecode can be found at Geometric Tools... a great diagram of intersection resources: Real-Time Rendering... | ||||
| vbt | Mar 2, 2005 | |||
I have packed the files in zip format this time Here is a small screen cap of Deep exploration if you don't know this tool | ||||
| RockinB | Mar 9, 2005 | ||
| Hey vbt, that's your track from top-view in Satourne: [attachmentid=1095] Having coordinate system troubles. My tracks are in Saturn coo.-system, the original one is like OpenGL coo.-system. This really sucks. I tried to find out how to transform a model in blender such that it displays correctly in 3DEditor. But the result is crazy. I expected DXF2SG3 to perform the coo.-system change, but testing this failed. - patched DRIVING to compile as DRIVING2 by one #define - optimized slSin(), slCos() usage - optimized collision - modifications to display new custom maps ....much to do, but it shouldn't be much work to bring it to the same level as the DRIVING examples BTW: the DRIVING2 map is cool | |||
| RockinB | Mar 10, 2005 | ||
| Coo.-System adapted: [attachmentid=1096] [attachmentid=1097] Next I will implement terrain following. This track is not good, I made a new one with quads and multiple colors. Just thought I add a Satourne binary. [attachmentid=1098] It's raw shit, but got a custom track. Ah, controls are: B - accelerate Y - break L,R - slide to side LEFT,RIGHT - turn A,C - height decrease/increase START - open 3D menu | |||
| vbt | Mar 10, 2005 | |||||||||
My track is horrible
Do you want some other tracks that works in the 3DEditor ? I had the Jerez track but there are too many polygons.
| ||||||||||
| leocabron | Mar 10, 2005 | ||
| I don´t know set satourne to load the Satourne binary. I load it in MAchine Mode in Load Saturn Binary, but I have a error "Unknown opcode MAster SH2..." What´s the problem?????????? | |||
| RockinB | Mar 10, 2005 | |||
Of course I do. Size is not the problem anymore, as you can split it up and feed it to 3DEditor piecewise. Later it can be put together with my tool. <!--QuoteBegin-l eocabron@Thu, 2005-03-10 @ 08:32 PM I don´t know set satourne to load the Satourne binary. I load it in MAchine Mode in Load Saturn Binary, but I have a error "Unknown opcode MAster SH2..." What´s the problem?????????? [post=131182]Quoted post[/post] [/quote] Well, if it doesn't work then, maybe it doesn't work and all is fake? | ||||
| leocabron | Mar 11, 2005 | |||
............errrrrr rrrrrr!!!!! I only make a Question????? I think the problem is my English. I speak in Spanish. If someone knows spanish (¿¿¿Piratero???) please make a good traduction Bueno, si alguien entiende español y escribe en inglés mejor que yo que traduzca. Solo digo que no soy capaz de probar el archivo binario para Satourne y que me sale ese error que antes mencioné. Lo he intentado cargar desde el menu en "Machine Mode" en la opcion de "Load Satourne Binary", pero no funciona. Una cosa , el emu está bien configurado pues he hecho funcionar varios juegos....no soy precisamente novato en cuanto a emus | ||||
| Runik | Mar 11, 2005 | |||
You have to wait until the interrupt vectors table is loaded before loading a binary Usually all is set up when the first polygon appears : pause Satourne then, load the binary, run Satourne and everything should be fine | ||||
| leocabron | Mar 11, 2005 | ||
| Runik....thanks a lot for your explanation. Ahhhhhhhhh.....good work with saturnin (I see the news of your webpage) I´m could execute the file .It works well. This project is very interesting and the first steps are done. Good Luck | |||
| 1 | 2 | 3 | Next |