Game Development Community

Newbie Questions

by Dx · in General Discussion · 11/25/2004 (10:55 pm) · 6 replies

Ok first i wanna apollogise for the noob questions

Ok, I was thinking about making a 3D game that is playable over a network and i understand that it is an amazingly daunting task but i have a few questions about it:

1) can you sugguest a few books related to the stated task (see above)

2) how long would it take to produce the product so that the it has connectivity(two players on different comps can connect and see each other on the level), basic 3D models (the players character is a sphere and the the map is just a plane i.e. just a floor and thats it), basic movement (so player can move forward,left,right,backwards), basic collision detection (if the two players move into each other a value of 1 is added to a varible) assume that i am using c++, 3D studio max and direct x **note that i am a beginner with 3D studio max and a basic knowledge of c++ and direct x.

3) also could you guess how long question 2 would take a professional game designer

4) can you suggest a few websites that would be helpful

I appreciate any help that you give me
Lee

#1
12/07/2004 (9:37 am)
1) I don't know a good book for it.

2) If I were taking on that challenge, it would take me a week or two(assuming working full time). That's how long it would take with c++ and plib anyway; I assume directx is roughly the same difficulty. The hardest part for me would be networking because I'm not very good at that. None of the things you talk about are very hard to do (assuming low quality is acceptable), but they are all very hard to learn if you've never done it before.

3) An experienced game designer who often does graphics, input, and networking using the tools you describe? Probably 3 hours. Definitely less than a day.

4) www.gametutorials.com. See the tutorials section.

I am curious why you wouldn't use an existing engine (such as Torque that is distributed on this website). The example game that comes with it has all the features you talk about, except that...
...the players are humanoid instead of spheres.
...the players can jump and fire weapons.
...the terrain has hills and textures instead of just a floor.
If any of those three things bothers you, removing them is much easier than starting from scratch.

Blitz3D (www.blitzbasic.com) is another engine to consider for the sort of simple game you are talking about. However, instead of the networking being automatic like in Torque, you will need to specifically tell the client to send a string to the server... then parse the string and execute the right command... send a string back to the client... In other words, networking on Blitz is similar to networking in directx, but everything else is much easier.
#2
12/07/2004 (10:21 am)
Quote:3) An experienced game designer who often does graphics, input, and networking using the tools you describe? Probably 3 hours. Definitely less than a day.

I'm not trying to be rude or anything, but IMHO there isn't a developer in the world today that could take C++ and produce from scratch all of the requirements for networked multi-play with 3-D rendering, 3-D collision, 2-D movement (not to mention handling the art import pipeline from any modelling app).

Even at a very basic level, you'd have to be a perfect engineer with dozens of years of experience and a photographic memory (not to mention some serious typing skills!) to be able to produce what he described in 3 hours.

Now, using Torque--it would take you roughly 20 minutes--and most of that is the download of the demo! (NOTE: importing your model would take a bit longer I admit).
#3
12/07/2004 (11:21 am)
No, 3 hours seems reasonable, if our expert were rushing. Some coding at a regular kind of pace would take longer. A day, maybe?

DirectX, remember? You've got .X files for rendering, Directplay for networking, and you don't need anything but bounding sphere collision for the stated problem.

Easy.

I also agree with Eric's over time estimate. A beginner would take couple of weeks, if you have what /I'd/ consider a basic grounding in C++ that covers all the bases.

I wouldn't recommend starting with something even this complicated if you don't know C++ fairly well, though. Try tetris - that's a good learning project.
#4
12/07/2004 (11:30 am)
Heh..I guess it's just different interpretations of standards of implementation. IMHO you couldn't even build a complete test suite of cases to confirm it's doing what you want it to, and then execute it in three hours, but I've always been extremely focused on fully robust implementations, and testing them completely before calling it done!
#5
12/07/2004 (11:41 am)
I was thinking a quick and dirty prototype. Nothing you'd go to market with.

On the other hand, If we let QA schedule everything, nothing would /ever/ get released!
#6
12/07/2004 (11:59 am)
@Mark: hehe...completely different topic in and of itself! However, I'm a developer, and I think just about ALL software dev companies, game focused or not, are absolutely screwing up how QA should work as it is.

Paying min wage and no benefits for your testers, and using QA simply as a stepping stone to development is IMO one of the biggest mistakes a production company can ever make--unless of course you plan on following in Microsoft's footsteps and having your customers alpha and beta test for you, and then make them pay for the fixed product.