Game Programming : 3ds vs md2...&....RPC/RMI vs sockets of C/Java ?

Dear all,

I am new to opengl. Currently working on a small project that allows 4 to 8 players to join one of the players’IP to play a multiplaying 3D shooting game. I am not experienced in that, so could anyone give me some advice? My friend suggest me to do it with RMI, but I can see no point in using RMI or RPC but socket. Am I right?

Besides, I found that 3ds model is damn difficult to load as I am using 3d studio max 8 to create models. I have been trying for 5 loaders and only got one success without the texture loaded. Now, I plan to use md2 because of its structure is known and more simple. Is this the right choice? Or, I did not had enough research been done?

Thank you for any of your suggestions! I just need help! Thanks!!!


As for networking it doesn’t matter that much - the crucial part will be the prediction of what happens with other players if you didn’t get updated information from network. For local networks you could just use simple centralized solution (with equal framerate on all machines), but for internet you need well designed prediction algorithms - not a good thing for unexperienced programmers.

As for models - I don’t think 3D studio format is that complicated. I did my first 3ds loader in 3-4 hours, it had support for materials but not for textures. 3-4 more hours and it would handle textures and bumpmaps, too.
You could try to find some library, but since you wrote that has allready been a failure (I must agree with you that most 3ds loaders you can find are, gently speaking, incomplete) you could try to write your own. If you run into feature that is not supported then you can always add it.
Actually I think this format is quite easy - you just need to process chunks you understand and ignore these you don’t support.

I just googled for [3ds chunks] I’ve found these two documents:
Didn’t read these carefully - perhaps you will be able to find something more detailed.

The key to success is to design your 3ds loader identically to the file structure. So, don’t write code that extracts vertices or polygons from 3ds file - create support for root chunk, then slowly add support for other chunks that you’re interested in.

Thanks k_szczech!

Well, I plan to implement the network part by just sending signal to the other players. Then, each others will collect the signal and rendere the require frame at their own side. I have not try it out yet, but I think this could propably a solution. At least, that is what I can achieve at my level.

Those web site are very useful! Thank you so much! And the good news is that I ve found some md2 format animation that would propably help. Those web site would be very useful for me to understand 3ds in the future. However, this time, I dont have time to understand it at all. Therefore, I choose to change to do it with another way. Thats md2.

It look stupid. I have experiences only on writing simple translation with 3ds loader, but I choose 3D multiplaying shooting game as my final year project. Sigh…anyway, I will come and ask if I am in any difficulties! Thanks!