Tinny Posted January 12, 2007 Share Posted January 12, 2007 Before you start laughing let me make some quick points. The quake 3 physics engine is sorely outdated and even newer open and free source codes enable much better rigid body physics than what is supplied in ja. Now I know implementing a better physics system into ja would take some serious recoding and I think its best not to use gentities for rigid bodies as they have all this other crap that takes up memory and bandwidth and is useless for inanimate matter. I'm not sure what else to use other than gents though since it is what is normally sent to the clients to render, but maybe something else can be thought of and a way of displaying it for clients. As to the actual physics coding, much of the material we can use can be found here: http://ode.org/download.html ODE is I think is a great rigid body simulating code and of course it’s free and open source. What major problems would have to be overcome before utilizing this (i.e., is there a way to send things to clients other than gentities and if we do get those entities to work, how do we get them to trace with the normal gentities)? Link to comment Share on other sites More sharing options...
ensiform Posted January 13, 2007 Share Posted January 13, 2007 Interesting idea here tinny, is there a web svn/cvs browse i can look at without downloading? Edit: NVM found it. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/opende/ode/ Link to comment Share on other sites More sharing options...
stubert Posted January 15, 2007 Share Posted January 15, 2007 look at the ogre3d website, thats where all that junk gets used Link to comment Share on other sites More sharing options...
Tinny Posted January 17, 2007 Author Share Posted January 17, 2007 Ok, I think first thing to do is to have code that continuously stream data about the new object type to all connected clients to render. Problem is I have very little network skills in C and am not sure if it is possible to send information fast enough as we're not given access to the networking code of the game. Link to comment Share on other sites More sharing options...
ensiform Posted January 18, 2007 Share Posted January 18, 2007 You might as well just try it with ioq3. Link to comment Share on other sites More sharing options...
Tinny Posted January 18, 2007 Author Share Posted January 18, 2007 I didn't even think they were planning on implementing a better physics system. Link to comment Share on other sites More sharing options...
ensiform Posted January 18, 2007 Share Posted January 18, 2007 I never said they were, use ioq3 as your base. Or even XreaL/Evolution + ioq3. Link to comment Share on other sites More sharing options...
Tinny Posted January 18, 2007 Author Share Posted January 18, 2007 Ah, ok. I've been wanting to move onto q3, but I kinda want to stick to modding this game for now. If its absolutely not possible i'll give up . Link to comment Share on other sites More sharing options...
ensiform Posted January 18, 2007 Share Posted January 18, 2007 I honestly think there just isn't an easy way to send that much data to and from clients without having direct access to msg and the net code. Link to comment Share on other sites More sharing options...
Tinny Posted January 18, 2007 Author Share Posted January 18, 2007 Looking through this that's exactly what i'm thinking. You think there might be a way to open another socket for all the clients and then have this as a thread and send it through the new socket? Link to comment Share on other sites More sharing options...
ensiform Posted January 19, 2007 Share Posted January 19, 2007 I'm not so sure how well that would work. Firstly, the JK3 engine blocks several things as far as i can tell. Like, it does not like stray memory functions at all from GAME/CGAME. Secondly, there are not many open source modules for socket working or networking that are easily handling what we want. You could barrow most of the q3 code i suppose but that would be a big pig and you would need to make your code open source to the terms of GPL i suppose. Q3 uses "Huffman" and compresses/decompresses a lot of stuff for networking, transfering data, conversions, etc. Then you have netchan stuff which handles a lot of the calls to your Sys_ system calls of which you really don't have access too from game or cgame. See, this is why its kind of a really poor idea. I think we really should do what stubert suggested. And start by making jk3 maps load, then possibly simple glm models (without anims if need-be). Add some return 0 system trap calls. Hell, can make the thing all C++ if we want. It's just a really big job. And I'm not really sure how well the virtual machine code would work (yes even though jk3 uses dll/so it still uses some code that it refers to as "VM" yet its not the same thing.) Link to comment Share on other sites More sharing options...
Tinny Posted January 19, 2007 Author Share Posted January 19, 2007 This isn't a half bad idea. I'm thinking though that this would require a lot more work than trying to do it in JA, unless serious time would be invested then it would be much better than anything done in JA. Problem is i'm not sure if there is enough patience for any of us (I could be totally wrong on this) in the community to make the new quake support JA maps and files. Link to comment Share on other sites More sharing options...
ensiform Posted January 20, 2007 Share Posted January 20, 2007 This would probably be a better job for someone at http://www.quakesrc.org/forums to do. Link to comment Share on other sites More sharing options...
stubert Posted January 21, 2007 Share Posted January 21, 2007 eh you guys are right, you have to open up new network sockets to do all this junk which means developing an api/layer to do that before you start doing **** in game Link to comment Share on other sites More sharing options...
ensiform Posted January 21, 2007 Share Posted January 21, 2007 Making it load jk3 maps really wont be that hard, just gotta rly change ibsp to rbsp and a few other things. Link to comment Share on other sites More sharing options...
dumbledore Posted January 23, 2007 Share Posted January 23, 2007 or you could make all the rigid bodies local entities on client and make all physics handling clientside Link to comment Share on other sites More sharing options...
Tinny Posted January 24, 2007 Author Share Posted January 24, 2007 Server has to predict when normal gentities like players and npcs interact with those physics objects though, if just the client side did that error would keep building up and up because there's no standard of what the correct events are supposed to be and eventually people will be seeing completely different things. Link to comment Share on other sites More sharing options...
stubert Posted January 24, 2007 Share Posted January 24, 2007 yea you'd have to keep the q3 and the newton/ode physics world in sync :s this is why i think we should port jka to ioquake :s Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.