POD3 Project
Recompiling the game from the source code is a real challenge as I said cause it's way too old. I remember my friend trying to do it some years ago and it was a real pain in the neck.
As for Direct3D, pod uses version 3 (extended to version 5 with a patch).
Directx code has completely changed since those versions, believe me
Again it would be faster to develop a whole new rendering engine than trying to update this old one.
And no one here has enough time and motivation to do that, sorry...
As for Direct3D, pod uses version 3 (extended to version 5 with a patch).
Directx code has completely changed since those versions, believe me
Again it would be faster to develop a whole new rendering engine than trying to update this old one.
And no one here has enough time and motivation to do that, sorry...
In a few more years we should have a perfect emulator available. You can install POD on that.
Emulators come out when the thing they're supposed to emulate is too hard to obtain, and as you pointed out, you can pick up old systems off eBay and other places. I have a P200MMX in my closet. They're not rare enough yet.
Emulators come out when the thing they're supposed to emulate is too hard to obtain, and as you pointed out, you can pick up old systems off eBay and other places. I have a P200MMX in my closet. They're not rare enough yet.
Hey hey, speaking of the guy on vacation, he's back
First of all, as Siklist said, none of the graphic code can be reused. The most advanced version was the 3dfx version and the d3d version was a port from the 3dfx version.
Second, the feel and behavior were somehow hardcoded by one guy in a really huge and single cpp file : auto.cpp... That's the heart of POD, and it's "only" 12000 or so lines of code... pretty much impossible to understand anything in it.
Third, POD was compiled with Watcom 10.6 and the only compiler not far from it is not compatible (I think there is a openWatcom or so on the internet but I'm not sure). The d3d version was compiled with visual 4, but it is a real pain in the a.. to make it works with a 'recent' compiler (I think Siklist managed to compile it with visual 6 3 years ago but I'm not sure).
Fourth, the only code I had was the code I was working on, so no exporter, no tools, nothing (almost). Again, Siklist (or was it Skubi ?) managed to understand the format of most of the data, but nothing from the old code can be used for modern 3d techniques. We are speaking of old and plain dual texturing on fixed pipeline, and now we only use pure shaders pipeline.
So basically having the source code is not relevant. I'm in the game industry for 11 years (!), making games is what we (Siklist and I and many others) do for a living, and believe us, the code is not always the hard part.
First of all, as Siklist said, none of the graphic code can be reused. The most advanced version was the 3dfx version and the d3d version was a port from the 3dfx version.
Second, the feel and behavior were somehow hardcoded by one guy in a really huge and single cpp file : auto.cpp... That's the heart of POD, and it's "only" 12000 or so lines of code... pretty much impossible to understand anything in it.
Third, POD was compiled with Watcom 10.6 and the only compiler not far from it is not compatible (I think there is a openWatcom or so on the internet but I'm not sure). The d3d version was compiled with visual 4, but it is a real pain in the a.. to make it works with a 'recent' compiler (I think Siklist managed to compile it with visual 6 3 years ago but I'm not sure).
Fourth, the only code I had was the code I was working on, so no exporter, no tools, nothing (almost). Again, Siklist (or was it Skubi ?) managed to understand the format of most of the data, but nothing from the old code can be used for modern 3d techniques. We are speaking of old and plain dual texturing on fixed pipeline, and now we only use pure shaders pipeline.
So basically having the source code is not relevant. I'm in the game industry for 11 years (!), making games is what we (Siklist and I and many others) do for a living, and believe us, the code is not always the hard part.
Phoenix, thanks very much for your detailed reply.
Hopefully one day a game company (LOAD Inc.? ;-) ) will be able to buy the rights for the POD franchise and will develop a sequel. In the meantime I'll try to keep all my old hardware up and running as long as possible. And maybe I should start to record a video of each track so in case I won't be able to play it any more I at least can watch videos of it. ;-)
Hopefully one day a game company (LOAD Inc.? ;-) ) will be able to buy the rights for the POD franchise and will develop a sequel. In the meantime I'll try to keep all my old hardware up and running as long as possible. And maybe I should start to record a video of each track so in case I won't be able to play it any more I at least can watch videos of it. ;-)
@RaiseHell, well, instead of lloking the pod videos you can race with us online via ip connection. Live and in real pod game
Lool at BRBoard for details.
best regards, Bandie
Lool at BRBoard for details.
best regards, Bandie
The Fileformat isnt really hard to understand.
Its crypet with the bad Xor Cryption an Xor-key F7E
The Strings in the header of the file are also crypted with xor, in the macros pascal.an. if you decrypt it you will find things like:
Echange Macros
Init Macro
P-Chrono Inter
N-Chrono Inter
Pistes cachee
Wrong-Way OFF
Tunnel Entree
Camera Libre
The path of the other cars are simply controlled with Splines.
The 3d Data Coords are saved in integers, just divide them by 65536 and you get the 3d coordinates.
The Light of the faces are saved in the points (every atex has a byte)
The UVW coordinates are also easy to find
here is a face with 4 apex
it has following apexes:
131, 20, 19, 28
if you decrypt the strings in the you will find
TEXGOU
In that part there you will find the UVWs
the only things i dont understand are the data after the apexes, there are some numbers before texgou
and at the end of an texgou there are also mystical information.
after the UVW Block you will find the options for the faces (wall, street, decor)
but in an silly format. which coding is that?
So you can see the format is not so hard as you thought.
But therefore i cannot understand why noboby (sik phoenix) give us (nico and me (he has also programmed many games)) the last informations we need for the blx files.
Or whats with podpaint? why do, sik or skubidou never public an tool like that?
i dont understand why there all informations are secret about that. there are many other games from that year (10 years ago) which have realeased some informations (not all but many) about filetypes and more.
i think nobody understands that.
skubidou you said i ask you only sometimes about the fileformat. so i and nico write our own tool for making redesigns and we put the source in the file.
there are already strange hires
Its crypet with the bad Xor Cryption an Xor-key F7E
The Strings in the header of the file are also crypted with xor, in the macros pascal.an. if you decrypt it you will find things like:
Echange Macros
Init Macro
P-Chrono Inter
N-Chrono Inter
Pistes cachee
Wrong-Way OFF
Tunnel Entree
Camera Libre
The path of the other cars are simply controlled with Splines.
The 3d Data Coords are saved in integers, just divide them by 65536 and you get the 3d coordinates.
The Light of the faces are saved in the points (every atex has a byte)
The UVW coordinates are also easy to find
here is a face with 4 apex
Code : Tout sélectionner
040000008200000013000000120000001B0000008B27FFFF6C77FFFFD6FAFFFF06ABBBA5BBB4AF010000007F000000BF0000007F00000080000000000000008000000000000000BF00000094A359810000000080B55A8180B55A81210000000BABA1BAA3A9B5A8C9C3A9A3
131, 20, 19, 28
if you decrypt the strings in the you will find
TEXGOU
In that part there you will find the UVWs
the only things i dont understand are the data after the apexes, there are some numbers before texgou
and at the end of an texgou there are also mystical information.
after the UVW Block you will find the options for the faces (wall, street, decor)
but in an silly format. which coding is that?
So you can see the format is not so hard as you thought.
But therefore i cannot understand why noboby (sik phoenix) give us (nico and me (he has also programmed many games)) the last informations we need for the blx files.
Or whats with podpaint? why do, sik or skubidou never public an tool like that?
i dont understand why there all informations are secret about that. there are many other games from that year (10 years ago) which have realeased some informations (not all but many) about filetypes and more.
i think nobody understands that.
skubidou you said i ask you only sometimes about the fileformat. so i and nico write our own tool for making redesigns and we put the source in the file.
there are already strange hires
- Skubidou
- Administrateur
- Messages : 2367
- Inscription : 19 juil. 2003 17:39
- Localisation : Lonzée (B)
- Contact :
Do you really want the anwser? Harrassment, false reasons, false pseudo, ...Megapolpod_Guest a écrit :But therefore i cannot understand why noboby (sik phoenix) give us (nico and me (he has also programmed many games)) the last informations we need for the blx files.
Because we never code it... We don't need it, so why to code it. Since we have a plugins to create new track, there were no need to work on old stufsMegapolpod_Guest a écrit :Or whats with podpaint? why do, sik or skubidou never public an tool like that?
The only programs that we have had:
- A command line tools to reskin tracks (with no editor, ..). This program was not from us and we could not made it public.
- PodPatcher, now public
- The max plugins to create new tracks, public
- Ghost reader (to export ghost in Max). Public i think, somewhere.
- Several 'test' tools made for specific purpose (activate sectors, 'activate' tunnel in forest, ...) which most of the time need to be modified, depending of the BL4 file, before compilation because there were only 'working' program and i didn't took the time to make them 'generic' to work with each track directly. I was so used to BL4 file that most of the time, it was easier to take the BL4 (uncrypt) in a Hexa editor and modify it than writting a program just for that. The tombstone in Azthec for the Shiv version was add manually with an Hexa editor.
We never create any editor since our goal was not to edit existing tracks but make new one (and in some case correct some old tracks but the tools was then created on a track basis, not generic).
Skubidou:~
Hello Skubidou,
nice that you answer to my post in forum.
I have only one question again to the blx format. What should the part after the UVW coordinates?
Are there more crypted strings in it? What are these block controls?
I dont want an exactly description i only want to know what should it do in the game?
nice that you answer to my post in forum.
I have only one question again to the blx format. What should the part after the UVW coordinates?
Are there more crypted strings in it? What are these block controls?
I dont want an exactly description i only want to know what should it do in the game?
- Skubidou
- Administrateur
- Messages : 2367
- Inscription : 19 juil. 2003 17:39
- Localisation : Lonzée (B)
- Contact :
LOL megapolpod, i think you still don't (want to) understand
Finally, you simply get what you thought at first...you will not get informations simply because it's you.
@RaiseHell:
Like said by Rob, there are already a plugins to create new tracks from 3Ds Max. And i don't think creating a complete editor would be easier than using the existing max plugin...
Yes, there are lots of unknow parts in the BLx...for megapolpod
There are still some unknown parts (but very few and most of the time unused...this is why they are unknown ), or more exactly not well understood to be able to recreate them in new tracks (like AI, ...). We have the format, the source code will not help (except analysing the complete code and understand all the sources. For example, AI is made by a list of point giving a 'way' to follow, but is divided in sector, with 'index' for each one and several parallel ways... So the index signification is not gave in the source code, except if you try to understand each algorythm to know that index will say 'go to pits', this index say 'take shortcut', ...I think this has something to be with stats, because each index value is different, so it's not fixed value, but wich algorythm to use to be able to recreate a correct IA in new tracks?)
Same for objects (pinguin, ...) I was able to copy an object from a track to another, but params are weird. I found the parameters for the 'weigth', but when i modified it, the pinguin goes to the stars when i touch it. I think this param is not usable alone, collision is a combination of several parameters, and in the editor you gave weight, ... and the editor calculate different values directly usable by the game. So it's really difficult to create a new object (and simply copying old one has a limited interrest)
Skubidou:~
At first, you were really paranoiac, thinking that we gave informations to everyone except you and asking, asking again. You take us for stupid people (asking Sik when i said NO, asking for a program for a specific track, trying to get other informations, using pseudo from other pod players, ...)Skubidou a écrit :Do you really want the anwser? Harrassment, false reasons, false pseudo, ...Megapolpod_Guest a écrit :But therefore i cannot understand why noboby (sik phoenix) give us (nico and me (he has also programmed many games)) the last informations we need for the blx files.
Finally, you simply get what you thought at first...you will not get informations simply because it's you.
@RaiseHell:
Like said by Rob, there are already a plugins to create new tracks from 3Ds Max. And i don't think creating a complete editor would be easier than using the existing max plugin...
Yes, there are lots of unknow parts in the BLx...for megapolpod
There are still some unknown parts (but very few and most of the time unused...this is why they are unknown ), or more exactly not well understood to be able to recreate them in new tracks (like AI, ...). We have the format, the source code will not help (except analysing the complete code and understand all the sources. For example, AI is made by a list of point giving a 'way' to follow, but is divided in sector, with 'index' for each one and several parallel ways... So the index signification is not gave in the source code, except if you try to understand each algorythm to know that index will say 'go to pits', this index say 'take shortcut', ...I think this has something to be with stats, because each index value is different, so it's not fixed value, but wich algorythm to use to be able to recreate a correct IA in new tracks?)
Same for objects (pinguin, ...) I was able to copy an object from a track to another, but params are weird. I found the parameters for the 'weigth', but when i modified it, the pinguin goes to the stars when i touch it. I think this param is not usable alone, collision is a combination of several parameters, and in the editor you gave weight, ... and the editor calculate different values directly usable by the game. So it's really difficult to create a new object (and simply copying old one has a limited interrest)
Skubidou:~
Skubidou, thanks for the explanation. Now I know why on some of the tracks the computer opponents drive like they were drunk. ;-)
What saddens me a bit is what I read above. I don't know what happened between you and megapolpod, but shouldn't we try to work together rather than working against each other? I mean, we are already quite few poddies here, but isn't our collective goal to keep POD alive?
Some of you said that you don't have enough time and/or interest in working on POD in one or the other way, which I totally understand. We all have a life besides POD. But why not share information with others who are willing to try to improve something? It's not doing any harm and at the end of the day it may be that all of us could benefit from it...
What saddens me a bit is what I read above. I don't know what happened between you and megapolpod, but shouldn't we try to work together rather than working against each other? I mean, we are already quite few poddies here, but isn't our collective goal to keep POD alive?
Some of you said that you don't have enough time and/or interest in working on POD in one or the other way, which I totally understand. We all have a life besides POD. But why not share information with others who are willing to try to improve something? It's not doing any harm and at the end of the day it may be that all of us could benefit from it...
You tend to exaggerate...Megapolpod_Guest a écrit :The Fileformat isnt really hard to understand.
[...]
(nico [...] (he has also programmed many games))
Firstly, if the file format would be "easy", you wouldn't ask for more informations.
Secondly, I'm not a game developer. As you can see on MobyGames, I was only part of two projects (left the team in the beginning of G3, because I'm and not a game developer in the first place). Therefore, "many" is the wrong term.
- Skubidou
- Administrateur
- Messages : 2367
- Inscription : 19 juil. 2003 17:39
- Localisation : Lonzée (B)
- Contact :
With new tracks (created with Max Plugins), each section we cannot recreate ourself correctly (AI, ...) is replaced by the pompeii track section, so cars on new tracks try to follow pompeii path. This is why they are 'drunk' The map is also the one from pompeii because map is design automatically from the AI pathsRaiseHell a écrit :Skubidou, thanks for the explanation. Now I know why on some of the tracks the computer opponents drive like they were drunk. ;-)
I don't think this (BLx format) is the real problem. Like said by Rob, to have new track, we only need track creators, and this is the problem...RaiseHell a écrit :Some of you said that you don't have enough time and/or interest in working on POD in one or the other way, which I totally understand. We all have a life besides POD. But why not share information with others who are willing to try to improve something? It's not doing any harm and at the end of the day it may be that all of us could benefit from it...
From my point of view, the only protection of POD is its 'unknow' format. Knowing the BLx format, it's easy to modify tracks (delete 'slippery' part of ZED, make easier sortcut, make another Turd car less 'extreme', ...) but i don't think it will help POD or players still playing online (as POD has no protection, you can run on a modified tracks easily : easier shortcut in Azthec, less laps, ... without any problem and not detected by others) I don't know what Bandie and other players still playing online think about this part.
So, simply giving the BLx format to everyone will not help POD (and can destroy it). Allowing everyone to read/modify old tracks will not help POD. But if there is a real project, to make something better (easier), more complete (with AI, ...) than the Max Plugins, i have nothing against that and if Sik and Phoenix agree, i have nothing against sharing informations.
But is there somewhere, someone, with the time and the knowledge to create a complete editor, a plugin, .... knowing that in BLx file, you have to create everything (game engine don't calculate thinks by itself):
- BL4 file only use 256*256 textures, if you want to allow easier editor where the user can put a polygon with a small texture, your editor need to construct complex texture by himslef, and number of texture is limited
- BLx file contain vextex normal, face normal, box containing the sector, sector visibility list, face grip manage on each polygon, ...
- Animated textures are like gifs (time between each texture, ...) and are applied to a poligon (need to know that the animation correspond to the 205th polygon in the 9th sector. So it's difficult to create them if all the process is not included in the editor)
- Lighting for cars (like the one in the Beltane tunnel)? This is not calculated depending of the texture, so you need to precalculate it on the texture, and then configure it in the game (independant of the polygons and textures) to light the cars and mobile objects
And there are still animated objects, sounds objects, sky, lens flare, AI, ...
As you can see, the real problem is not really the BLx format, but the all things that need to be manage by the editor, the plugin. If we didn't go further, it's not because of the file format, but the way to put everything in the plugin to allow 'simple user' to modify them.
And even with an editor, except if you create a wonderfull editor where everything is automatic, WYSYWYG , the editor will not be easier than the Max plugins, so you will have the same problem...try to find creators ready to spent time to create new tracks. I don't remember how many months SnakeEyes took to make Forest tracks, with all the original tools...
Skubidou:~
I agree completely.RaiseHell a écrit :Some of you said that you don't have enough time and/or interest in working on POD in one or the other way, which I totally understand. We all have a life besides POD. But why not share information with others who are willing to try to improve something? It's not doing any harm and at the end of the day it may be that all of us could benefit from it...
I don't think this (BLx format) is the real problem. Like said by Rob, to have new track, we only need track creators, and this is the problem...
You mean cheating? I suppose it could happen but I think the group which still plays is made up of "honourable" people who won't secretly cheat.Skubidou a écrit :From my point of view, the only protection of POD is its 'unknow' format. Knowing the BLx format, it's easy to modify tracks (delete 'slippery' part of ZED, make easier sortcut, make another Turd car less 'extreme', ...) but i don't think it will help POD or players still playing online (as POD has no protection, you can run on a modified tracks easily : easier shortcut in Azthec, less laps, ... without any problem and not detected by others) I don't know what Bandie and other players still playing online think about this part.
I don't see how...So, simply giving the BLx format to everyone will not help POD (and can destroy it).
Why not?Allowing everyone to read/modify old tracks will not help POD.
POD is 10 years old, there is only a very small group of players left. If there's anything we can have or do that will give us something new and interesting in the game, then I think that would be a good thing.i have nothing against sharing informations.
One of the limiting factors might be, that artists need 3dsm to create the tracks.Skubidou a écrit :I don't think this (BLx format) is the real problem. Like said by Rob, to have new track, we only need track creators, and this is the problem...
I don't know if this is really a problem. It should be possible to create client hacks with less effort than creating modified tracks (I don't know the protocol details, and therefore cannot say how easy it would be). But this would start an endless loop of cracks and additional protection - until nobody plays POD any longer...Skubidou a écrit :From my point of view, the only protection of POD is its 'unknow' format.
Finally, IMHO, it's all about trust
I believe that the "usual user" doesn't have the patience to create a playable trackSkubidou a écrit :If we didn't go further, it's not because of the file format, but the way to put everything in the plugin to allow 'simple user' to modify them.
Thanks for the statement,
Nico
- Skubidou
- Administrateur
- Messages : 2367
- Inscription : 19 juil. 2003 17:39
- Localisation : Lonzée (B)
- Contact :
Why? What could be good for POD only by reading/modifying old tracks?Mercury a écrit :Why not?Allowing everyone to read/modify old tracks will not help POD.
As said before, if someone have a real project, a great idea, give it. I'm open to each proposition, but simply 'Why not' will not convince me (or us) that giving file format will help in any ways. For me, it only allow hack, cheat, and confusion (with several versions of the same tracks, ... even if it was not for cheating. There has already been the case in the past so i prefer to avoid it).
3dsm is a false limitating factor since it's not an official project. Some in the past 'found' the program and made a track (who cares). Not knowing 3D program IS a limitating factor, but like explained, you need to create everything in 3D, so even with an external editor, this will not change anything to the complexity to create a track. If the simple user don't have the patience to create a playable track, no one will have it (except those that are able to use 3dsm, so they can already create one)
We try to export something from Blender (i think) in the past, but it was 'too limited' to put all params needed (grip, face visibility, ...).
Skubidou:~
I'm aware of the problem that Blender doesn't support custom datablock properties (yet). However, before doing anything in Blender, I'm forced to reverse engineer the file formats first... this will (probably) take long enough to see this feature in a public Blender releaseSkubidou a écrit :We try to export something from Blender (i think) in the past, but it was 'too limited' to put all params needed (grip, face visibility, ...).
My only interest in existing tracks is to see how it works and what is possible. I never intended to create modified versions of the original tracks.
PodPaint was just a testing tool for my PBDF classes. I just wanted to share the possibility to "decrypt" the files (adding a "load" feature requires a button, two calls, and an open dialog - but nobody requested it ).
Regards, Nico
Dernière modification par NicoDE le 06 sept. 2007 10:56, modifié 1 fois.