Archived

This topic is now archived and is closed to further replies.

fishpunch

Developing game for College Class

Recommended Posts

fishpunch    122
Hi all: Formalities: My name is Andrew McSweeny and I am currently a Senior in Computer Science at the University of Toledo. I am on a team of 3 people in a class entitled ''Senior Design Project.'' We have decided to take it upon ourselves to design a 3D game in Visual C++. Question: Does anyone here have any advice on: software to use, sites to visit, books to read, mistakes to avoid, etc. I have heard the best route is OpenGL and Milkshape3D. Are these worth using? Perhaps DirectX is faster than OpenGL, no? Can 3d studio max be used to design models? - Andrew

Share this post


Link to post
Share on other sites
Wavarian    850
Firstly, OpenGL & DirectX are not easily comparable. They do the same thing - display graphics. (you should look up the topic using google.com)

Secondly, if you chose to use opengl, i''d suggest reading and the first 9 of Nehe''s tutorials (nehe.gamedev.net) and perhaps a couple of the blending ones to learn and understand the api commands and how they are used.

Its not easy to list all the mistakes many of us have made using the api, silly mistakes as most of them were, you can only fix them when you come across them, or at least have your project entirely written out before you to limit them. There is no perfect programmer, and trying out an idea to see if it works is better than not trying it because you think your compiler wont understand it.

Share this post


Link to post
Share on other sites
Caffeine    122
Your right, DirectX and OpenGL arn't easily compairable - because one is a set of sound\graphics\video\input libraries, and the other is just a 3D API....

Now, Direct3D and OpenGL can be compaired very easily. Concidering they are practically the same these days.

Only cavaet with Direct3D is that you wont be able to port it as easy to non-microsoft platforms (That may be a non-issue.)

3D Studio Max can be used to design models - but on a students salary, its probably not recommended unless you give yourself the 5 finger discount.

If I were in your position id use milkshape and opengl and read nehe's tutorials.


Edited by - Caffeine on January 14, 2002 7:38:12 PM

Share this post


Link to post
Share on other sites
Oluseyi    2112
If you don''t have experience with 3d graphics, skip it. You can''t get up to speed sufficiently to design and implement a 3d game in a single semester - unless this Senior Design Project is a whole year long.

Not that I''m trying to discourage you. It is fully possible that you can accomplish this (being a senior, I''m sure you have the requisite design and programming skills). Just the note of caution so you don''t squander all your time...

Good luck.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
Alpha_Neuron    122
NEWBIE
Ive been working with c/c++ for a while now.
DirectX is a messy API, but once understood and put into easier functions, it can be beneficial(spelling?)
ive used DirectDraw, Input, and Sound, and they are good for 2d prog. But have a steepish learning curve, so i would say the same for Dierct3D.

On the other hand, I ve read and learned 1 to 16 of NeHes tutorials within 3 days, so OpenGL is very easy to learn.

And, to get the DirectX 8 SDK, someone said its a 9 hour download, whereas OpenGL comes with VIS C++,

OK

Share this post


Link to post
Share on other sites
ATronic    122
My advice to you: use OpenGL. I do not say this because I think it''s better, only because of time constraints. Direct3D is powerful and useful, but I can guarantee you it will take you longer to reach a level in which you can make a game. OpenGL had the advantage of being very easy to learn, and independant of such dificulties as COM. Had you more time, I would say either is just as good, as I do not wish to get burned here. But in reality, opengl IS easier to learn. With your time limits you should easily be able to make it through (understanding) the vital opengl tutorials on NeHe.GameDev.net, while you may not manage such a task with Direct3D.

Other advice: get OpenGL Game Programming; if you do not know the structure of a game engine, this will teach it to you in fairly simplistic terms. At your level I assume you know all of the needed math to tackle such a project as well. If not, then how the heck did you get where you are?

Also, milkshape3d IS a good modeler, as was said. I reccommend it if you are on a limited budget (I assume you are).

There is no need to follow my advice, but it''s better than finding out that you can''t do something in a time space at the last second, believe me.

I wish you the best of luck on your project, keep us posted in the forum! I find this kind of thing very interesting.

Alex Broadwin
A-Tronic Software & Design
-----
"if you fail in life, you were destined to fail. If you suceed in life, call me."
"The answer is out there."
"Please help, I''m using Windows!"

Share this post


Link to post
Share on other sites
ARID    122
I''ve been useing OpenGL for about a year now but i just recently started makeing a game engine with it. In about a month and a half i''ve coded 60%-70% of the engine. I''ve found OpenGL Game Programming is a very gould referance for makeing an engine. Milkshape is my secound choice of discount modelers next to GMax (which if you download the Tempest add-on for GMax you can export to any file format by useing milkshape''s import export functions). Good luck to you.

Share this post


Link to post
Share on other sites
ARID    122
Mistakes to avoid -> don''t type before you''ve LEARNED to spell.



A man walks into a bar.....ouch!?! Ya get it, do ya huh huh well....awww I give up.

Share this post


Link to post
Share on other sites
Oluseyi    2112
quote:
Original post by ARID
Mistakes to avoid -> don''t type before you''ve LEARNED to spell.

Both forms are acceptable (probably an outcome of the incessant US/British English differences). Ergo:

Mistakes to avoid -> don''t criticize before you''ve LEARNT the truth.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
ATronic    122
lol

Alex Broadwin
A-Tronic Software & Design
-----
"if you fail in life, you were destined to fail. If you suceed in life, call me."
"The answer is out there."
"Please help, I''m using Windows!"

Share this post


Link to post
Share on other sites
ThomW    122
Well, you''re off to a good start. You found NeHe''s site.

Take a peak at my Disasteroids 3D Dev Page for information about the software I used to create my little OpenGL game. http://www.lmnopc.com/disasteroids3d/

(Please excuse the dust if there is any -- I''m moving the site onto a new host so things may be a bit wonky there for a bit)

My game''s quite simple, but I don''t imagine you''re going to get much more done in a single semester. One of the key things to keep in mind before you start your project -- start something you can finish. Don''t set out to make Quake. Set out to make Gauntlet or something like that.

I found that resource creation was the most time-consuming part of making Dis3d. I would spend HOURS trying to learn my tools just enough to get out of them the simple models I was trying to create.

As far as tools you need, I recommend:

Visual C++ 6.0
MilkShape 3D
Paint Shop Pro (or Photoshop if you can afford it)

(You can find links to all these programs on my Dis3D Dev Page)

Another tool that wasn''t ABSOLUTELY essential but definitely helped me in a big way is 3D Exploration. 3D Exploration is a 3D file converter, but it also exports 3D models to C code so I didn''t have to write any model loading code, nor include any external model files with my game -- it''s all compiled into the EXE. I know you could pack your models into resource files, but this was much simpler than mucking around with RES files.

Good luck!


ThomW
www.LMNOpc.com

Share this post


Link to post
Share on other sites
ATronic    122
What he said is the easy way, but I really don''t reccommend it. It''s usually considered best to keep logic and data as seperate as possible. Meaning, make the exe control events and such, but load as much of the DATA as possible from files. This makes quick changes and revisions much easier. The loading code takes very little time to make, and it''s usually worth it. Especially if your on a team!

Alex Broadwin
A-Tronic Software & Design
-----
"if you fail in life, you were destined to fail. If you suceed in life, call me."
"The answer is out there."
"Please help, I''m using Windows!"

Share this post


Link to post
Share on other sites
mrbastard    1577
I''m doing a 3D game for my final year university Group Project. We''re a team of 7 with varied skills. 2 of us are pretty much fluent in c++, I have been learning and playing with (and thats the important bit) OpenGL and general 3D stuff for a couple of years. The other members of the group are more into the design / documentation side, but they do code as well and also created our (coming soon) website.

We are about 2 thirds of the way thru writing the engine. We haven''t had time to start on the game itself yet....

Our Group Project if 2 semesters long, and we have finished one of the semesters already...

Just to give you an idea of what you are letting yourself in for ;¬)

My advice would be to pick a simple game to implement, and to work more with the skills you already have, than new ones you have to learn - it will take 3 times as long otherwise.

Practically, I''d recommend the following - OpenGL for 3D (easy, portable, powerful), SDL for windowing, input, sound and any 2D overlays (cross platform, makes your game very easy to port to any other major platform), Milkshpae for models (just cos its great, and cheap), DevIL for loading images (easy to use, works really well with opengl, powerful)

Oh and depending on the complexity of what you are attempting, I''d recommend having a good knowledge of the C++ STL, cos they''ll save you a lot of headaches.

The last (and maybe most important bit) - consider making your project open source. Why? well, firstly cos its a nice thing to do, but also because sourceforge.net will give you webspace and use of their CVS system (or at least they did with us). This CVS is a real lifesaver for developers working at different times in different locations - our group meets up once or twice a week, but the rest of the time we work from home. CVS is similar to Microsoft SourceSafe in that you check in and out your source, and every revsion is saved so you can go back to a stable version if needed.

The combination of CVS and a group forum is whats holding our project together. Otherwise I''d be working on my code and have to change some of another persons code, and they change somewthing different in their code, and then nobody knows which is the ''best'' new version of the code. CVS helps you add / change things in your code in a systematic fashion.

Hope some of this is usefull,

Dan

Share this post


Link to post
Share on other sites