Jump to content
  • Advertisement
Sign in to follow this  
jonclearz

Advice needed on starting a project

This topic is 5141 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi Next week I will be starting a year long project as part of my course in college. I want to do a project on something got to do with game development (particully 3D Graphics) but have no clue were to start. Last year I done multimedia which thought me some of the math involved in 3D Graphics. I have also looked at the DirectX SDK with C++ and think I am fit to handle it. I would like to hear some suggestions about different projects I could undertake. I would also like to know what API is the best to use (DirectX, OpenGL). I want to persue this as a career when I am finnished college. thanks John.

Share this post


Link to post
Share on other sites
Advertisement
Either DirectX (Direct3D, I should say) or OpenGL would probably be good things to pursue. As for which one, well, a search will provide you with many opinions (on GameDev/on The Web), but they are roughly equivalent, the primary differences being that OpenGL is cross-platform and is more procedural in nature, and Direct3D is Windows-only and more object oriented in nature.

If you go down that route, then I might also suggest, if you feel you have enough time/motivation (I know I often lacked the latter one), don't just focus on learning the API and making an engine in general, but narrow your focus for the latter half of the year on something like shadowing, or terrain rendering, or animation, etc.

Good luck, and have fun! [smile]

Share this post


Link to post
Share on other sites
I'd suggest that you work on a project that is modular by design. By that I mean a project that you can build in pieces. First get the simple stuff done, and get it playable. Then work on adding some more difficult modules, such as computer AI, network play, maybe 3D sound, etc.

Often when people first start developing games their eyes get bigger than their stomache and they attempt to make something far beyond their capabilities. If you go with a modular approach you'll at least have something completed and playable, and if the deadline looms near you can decide to drop some of the more complicated modules.


Ryan

Share this post


Link to post
Share on other sites
And as for a start, get your feet wet. first try some generic uber simple game, say pong, Don't laugh, it can be harder then it sounds. Then mabey a more complex game, like tetris, Or if you feel up to some basic 3d, tetrisphere for n64 (Sorta like tetris expect its played on a top down view of a rotateing 3d sphere insted on a side on view box)

Share this post


Link to post
Share on other sites
Along the lines of what Ryan said I found that writing quite a few little demo apps befor even starting a full on game was really usefull for me. Write a demo for rending a model, then a demo for key input, then a demo for space partitioning which can be extended into a seperate collision detection demo and so on (just keep each on seperate even if you use the code in your next demo). If you keep these demo's very focused, simple and completely indepedant of each other you'll end up with a huge amount of quality code thats easy to understand and expand on. If you try to write everything into the one game one your very first go you'll most likey fail miserably and get putoff for ever. If you one or two of your demo's don't work out you haven't wrecked your whole game and you've probably learnt something very valuable about what NOT todo :D Making apps that don't work sometimes teaches you more than making ones that do! This will also look really good on your report for the assignment as you'll have all these "reserach demo's" and lots of programs to hand in (which will make it look like you've done heaps of work even if each demo is just a copy of the last one with things added).

Anyway thats kinda what I did when starting out, wrote alot of little seperate programs then gathered all my code up and built a proper game once i had all the pieces. I've seen lots of people start out with a huge idea and get about 5% of the way befor giving up in frustration - its not pretty!

Share this post


Link to post
Share on other sites
I would first like to say thanks to everybody for replying. Its great to see people taking an interest in beginners like myself starting out.

BlackMoons I know what you are saying about starting with pong but I have already done this when I was arround 11 using AMOS basic on an Amiga 500. That was what got me into programming in the first place. I have also created an Asteroids game using C# about a year ago. just as an excerice to try out the language.

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=1869&lngWId=10

I think ill go with the DirectX/3D route because of it been OO. Java been the main language I have studied in college I think it would suit me best for the moment.

I also like the idea of creating a set of mini well focused and well put together programs instead of creating one big app.

Share this post


Link to post
Share on other sites
you would have to use opengl if you are using java,

I don't know if java is such a good idea, you might have to worry about speed optimisation alot more than you would if you were just using c++. c++ is also very similar syntax wise, except for pointers i think.

I think directx would be easier as it comes with directinput, directsound etc.

But directsound is quite hard to get working, once you get its fine, but i had several major attempts and doing it and I'm still not sure my code has some hidden memory problems.

sdl i hear has input, and you could use openal for sound.

You should make a list of things that your game will require, eg
input, model loading, special effects etc, then research which api's would be better to suit your needs.

Share this post


Link to post
Share on other sites
Don't be fooled by DirectX's supposad OO philosophy - it actually makes it alot hard to use than OpenGL and isn't really OO (its just wrapped up in a class to be pretend OO*). I don't want to start a flame war or anything but if your just starting out I think OpenGL with something like glut or SDL is a much better way to go (the setup code for DirectX is huge and confusing, where as with glut or SDL running OpenGL its about 10 lines). I've used both and they're both have their merrits, but I'd suggets going with OpenGL to start off with becaues its got a much nicer design that easier to learn than D3D. But its not a big deal - you end up with the same thing which ever one you use though!

*direct all flames to /dev/null

Share this post


Link to post
Share on other sites
aim higher than the usual tetris and basic 3D app. Yes, you should do a tetris, but I mean to go far beyond that and set high goals or else you'll get trapped in Parkinson's law: "work fills to time allotted."

DX and openGL are more or less the same thing. For someone that doesn't know either, it really does not matter and you should definitly ask yourself which style you prefer.

[Edited by - Lee_ on September 15, 2004 7:07:46 AM]

Share this post


Link to post
Share on other sites
i sorta reakon ogl might be better, because not all computers have dx9 installed, so when i want to show ppl stuff on college computers i have to program using ogl, cuz dx8 is the latest ver

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!