Sign in to follow this  

Suggestions for Beginner Game Programmer

This topic is 3571 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

Hello everybody. I am a computer science engineering student ( Istanbul/TURKEY =) and I will graduate this term. I want to make a 3D game for my graduation project. So far I have had experience in openGL with c++ and Virtual Reality Modelling Language (vrml). (also this term I will be learning EON studio and 3D studio max.) I have a few questions. 1)To avoid extra work of modelling and animation I have thought to make a racing game, since there wont be any human modelling. Only cars and rotating wheels. Is the way I think right? or anybody has other suggestions? (I like RTS RPG and FPS games indeed.) 2)I currently know openGL only. And I coded openGL in only C language. (you can download my little 3d world from www.orenapart.com/deneme/kardanadam.rar www.orenapart.com/deneme/bounce.rar =) Do you suggest me to learn directX? Should I code in directX or openGL? Why, why not? I have only 3 months for this project to be completed. 3)So far I only modelled 3D objects with coding. I also know a little bit 3D studio max. What program do you suggest me to model 3d objects. Can I export those objects for my game written in c++ with openGL or directX? 4)I have examined other people's games and they usually say that they are using OGRE or some other 3D graphic engine with some physics engine like AGEIA or NEWTON. A few people also used in-house built physics engines. What do you suggest me to do? What exactly a graphic and physics engine do? If I use a physics engine, do I avoid any coding for game physics? Are they all ready to use? (I know very little about the engines). Anyone can suggest any engine for me to learn and use? Or may I build a game without any engine? Also people use shaders. Why do I need them? Which one of them should I use? How can I use them? 5)and any other suggestions/directions (eg: todo/tolearn list before I begin my game) that you can offer someone like me who has some skill in graphics programming but new to the game programming. Thank you all guys. Sorry for the mess =)

Share this post


Link to post
Share on other sites
1) Yes sounds good. You could use one model with different textures for all of the cars.
2) No, I wouldn't learn DX they are of similar capabilities. Since you know opengl, why not put that to good use.
3) You are going to have to learn about file formats, I would try to pick something simple.
4) a physics engine is much like opengl is for graphics. You still write physics code it just helps avoid some of the low level work.

4.5) shaders are programs that run on the graphics card. you use them to do advanced effects.

Share this post


Link to post
Share on other sites
I appreciate the answers. But I have a few more =)

1) What exactly OGRE will provide me? I do a lot of coding in c++/openGL to draw a cube lets say, does OGRE will provide a universal language to draw a cube with a single line of code and render it in either openGL or directX depending on the player's choice?

2) What exactly AEGIA will provide me? For example will I decide the coordinates of the center of gravity for a particular object and give it a mass, friction etc. and avoid coding physic formulas myself?

3)Most importantly, what else do I need to know ?

already know:
c++
opengl
maya(for modelling)

need to learn:
ogre or a similar graphics engine
aegia or a similar physics engine

thanks =)

Share this post


Link to post
Share on other sites
3 months is a very short time to create a game like this. I've seen multiple groups fail at this at school - the only group that really achieved their goals was the group that made a semi-2D action/puzzle game. All the other projects - 3D adventure, FPS, RPG - were either half-finished or just getting started.

So, I'd recommend you to use an existing game engine, such as OGRE, to save yourself a lot of time writing all that functionality. I'd also recommend keeping things simple and setting your priorities right. Shaders aren't important for now, they just make things look better - if you're a good artist, of course. But what use do shaders have if your game isn't even playable yet? :)


As for engines, take a look at their sites or search around their forums to see what they have to offer. Perhaps even try a few to see which one will work best for your project.

Share this post


Link to post
Share on other sites
Quote:
Original post by Captain P
3 months is a very short time to create a game like this. I've seen multiple groups fail at this at school - the only group that really achieved their goals was the group that made a semi-2D action/puzzle game. All the other projects - 3D adventure, FPS, RPG - were either half-finished or just getting started.

So, I'd recommend you to use an existing game engine, such as OGRE, to save yourself a lot of time writing all that functionality. I'd also recommend keeping things simple and setting your priorities right. Shaders aren't important for now, they just make things look better - if you're a good artist, of course. But what use do shaders have if your game isn't even playable yet? :)


As for engines, take a look at their sites or search around their forums to see what they have to offer. Perhaps even try a few to see which one will work best for your project.


Just so people aren't confused, OGRE is just a 3D engine, not a game engine.

Share this post


Link to post
Share on other sites
Quote:
Original post by NateTheGreat
Just so people aren't confused, OGRE is just a 3D engine, not a game engine.


Well spotted, thanks for the correction. :)

Share this post


Link to post
Share on other sites
Hi,

Personnally i would suggest using XNA if the main point of your final year project is to 'make a game'. XNA is based on DirectX but very much simplified.
You have to use C# not C/C++ with it though much may take a bit of adjustment for you initially.

Have a look at http://creators.XNA.Com where there are lots of tutorials, samples and advice. Ziggyware also has many samples and lots of links to free XNA compatible models.

If on the other hand you have to use C/C++ I think your on the right track just keep things as simple as you can and as one of the other posters said don't put too much emphasis on the shaders before you have the basic game (unless of course shaders are part of the mark scheme).

Hope that helps. Good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by fanaticlatic
Hi,

Personnally i would suggest using XNA if the main point of your final year project is to 'make a game'. XNA is based on DirectX but very much simplified.
You have to use C# not C/C++ with it though much may take a bit of adjustment for you initially.

Have a look at http://creators.XNA.Com where there are lots of tutorials, samples and advice. Ziggyware also has many samples and lots of links to free XNA compatible models.

If on the other hand you have to use C/C++ I think your on the right track just keep things as simple as you can and as one of the other posters said don't put too much emphasis on the shaders before you have the basic game (unless of course shaders are part of the mark scheme).

Hope that helps. Good luck.


I have used both Ogre (And Irrlicht) and XNA. My own experience in XNA was that while XNA is a great API, it does have a learning curve when it comes to 3d development. The 3d capabilities already present in Ogre would take him a good deal of time to implement in XNA unless he used an engine like Day Break Motor, however as far as I know this is still in beta...

I would recommend using Ogre in this case because he already knows C++ and Ogre should save him a great deal of precious development time.

So if you are making a 2d game then by all means go with XNA, otherwise go with Ogre and C++ because you will save a good bit of development time.

Oh and please do not make any thing like an RTS or a racing game... Your audience will know how these games play and will have very high expectations. You would be much better off making a 3d arcade game like Pacman or Tetris or something... The mechanics are simplier and you will be able to deliver a more polished and complete game, rather then some unfinished engine that is full of bugs because you didn't have time to adequately play test.

Share this post


Link to post
Share on other sites
Some kind of space game is a nice simple option - you only have to deal with rendering the ships and a nice space background, maybe some asteroids or other debris for a bit of extra interest. There's no terrain or world objects to deal with and no animation is necessary for the objects. You will probably want a simple particle system for weapon fire and explosions etc. but a simple particle system is relatively easy to write.

Don't underestimate the complexity of even a simple 3D game though - 3 months is a tight deadline if you've got to learn a lot of new things to complete the project.

Share this post


Link to post
Share on other sites
thank you very much for the advises.

I have searched for a bit and decided to use ogre and ageia physics with c++. (I have met a friend who has experience in ogre and aegia =)

Yes I know that my racing game will not be an entertaining game for todays players and devoloping a simpler board puzzle or space game with more detail is a better idea for starters, but the thing is my project is not exactly a game, so it doesn't need to be entertaining people, at least at the beginning .

it is "Real time car driving simulation with realistic physics in a 3D environment". Actually I have hidden my gaming intentions behind an academic title =). What I will do is modelling a 3D car and a terrain and put some objects to move around and hit them and implement the reactions. As far as I have learnt, aegia greatly eases the programmer's work. So if I complete this high priority part within a few weeks, I will be polishing my game and adding AI rivals, which in fact will be the academic part of my project.

But again I appreciate all the answers and looking forward to the new ones =)

Share this post


Link to post
Share on other sites

This topic is 3571 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this