Thread: When to start 3D Game Programming?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    I think even a novice programmer can start coding 3D games. However, start of with extremely simple games. Look through nehe's tutorials (I really dislike them, but there aren't many good ones as far as I know).
    Just start off rendering some simple triangle.

    A possible first game would be a 3D maze game where you have to find the exit. That's extremely easy to code, but quite fun as well.

    Don't start off with an engine, though. Just code the game.


    But as long as you're not *really* good at your programming language, don't expect to code top-notch games. But learning OpenGL simultaneous to the programming language is easy enough.

  2. #2
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    WRONG!

    Dont learn a 3D api alongside a language. You will need a good understanding of the programming language and you will have to be a good problem-solver before starting 3D games.

    Design is the main strugglepoint that I have. To actually render something isnt that hard, its when you have to interact with the user in different ways that things gets complicated. And yes, 3D games programming is among the harder things you can do programming-wise, so to say its easy is dead wrong!

  3. #3
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    Quote Originally Posted by Shakti View Post
    WRONG!

    Dont learn a 3D api alongside a language. You will need a good understanding of the programming language and you will have to be a good problem-solver before starting 3D games.

    Design is the main strugglepoint that I have. To actually render something isnt that hard, its when you have to interact with the user in different ways that things gets complicated. And yes, 3D games programming is among the harder things you can do programming-wise, so to say its easy is dead wrong!
    Well, maybe not easy, but not difficult either. Yes, you need to be a good problem solver before starting writing good 3D games. However, like I said, the maze game barely needed any problem solving. And once you've written a game, you feel fairly satisfied, so this may be a very good motivation to learn the programming language better.

    Yes, you need to solve some basic problems even for the simple maze game. You'll need to understand the logic beyond coding. You need to know the basic syntax and keywords and functions and objects the language provides you. You must understand functions. But for instance, you don't even need to know std::vector exists for starting writing simple games. You need not know call-by-reference. Sure, you will definitely need it for good games, but you can write simple games without it. And you can learn those things when working on games.
    3D coding hard? Well, using OpenGL, not really, in my opinion. Not the basics at least; simple rendering, texturing, simple lighting are really simple. Sure, it won't make a perfect game, but you can do some simple games.
    Finally, this person seems to have experience with several languages for several years. He'll understand the concepts of programming. And even though you may not know C++ on more than a novice level (I don't know), he should have enough skill to write simple games.

    You know the first time I touched C++ was in a DirectX book. I fully understood it without problems. After reading the book, my C++ skills weren't perfect, but they weren't dreadful either. And no, the book didn't explain the language itself, it only explained DirectX. I don't recommend this approach, though.

  4. #4
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    I didnt comment on him not knowing enough. I commented on your comments about 3D game programming being easy, its not.

    And in my opinion its better to learn the language, learn the pitfalls and learn what works and doesnt work when it comes down to the design of the actual game. You might be able to write a maze game or a pong game or something like that but if you just hack it together without thinking things through you will end up having to face those problems when you write more complicated stuff, so why not get it right from the start, or at least consider it from the start?

    Your approach works for the simplest games but once it gets complicated (and it gets complicated fast) you may very well end up ditching a project because of a decision you made in the beginning, went with it but it ended up limiting you to such a degree it would be easier to just rewrite it all (trust me, I know what bad design can do to a project).

    Now to the OP: It sounds like you have enough experience to try on the 3D part. Really the graphics is very very little when you piece it all together. Its the resource handling, event handlers and all other behind the scene stuff you need to code that poses the real challenge. To get something to show up in a 3D environment is the easy part. But it sounds like you have done some 2D programming so why not give 3D a shot?

  5. #5
    Registered User
    Join Date
    Dec 2008
    Location
    California
    Posts
    37
    I don't know if I still lack programming skills but I do know how to use some advance concept like inheritance, polymorphism, templates, exceptions, typecasting, and etc.

    Yeah I coded many 2D games and experience a lot of trigonometry that deals most in angles. And also I know some basic OpenGL like creating 2D shapes, rotating, scaling, translating.

    I tried using an Ogre3D rendering engine but it really eats me because I don't understand why do I need to do this and that. I also tried the Irrlicht which is easier than ogre3d but I gave up already because I don't understand most of them. I told to myself that I think I should not hurry myself in using some existing 3D engine.

    So, I think I'll use OpenGL which is a cross platform 3D API so most of the people can play my games not only in one specific OS.

    Thank you for the replies guys

  6. #6

    Join Date
    May 2005
    Posts
    1,042
    I just say dive in.
    I'm not immature, I'm refined in the opposite direction.

  7. #7
    Registered User
    Join Date
    Dec 2008
    Location
    California
    Posts
    37
    @Elysia

    What do you mean it is a serious problem? I know how to use those things because of my object oriented programming class. I know also how to use templates in C++ but only the basics. Do I need to master those things before going to 3D?

  8. #8
    Registered User
    Join Date
    Apr 2008
    Posts
    890
    Quote Originally Posted by m3rk View Post
    I know also how to use templates in C++ but only the basics. Do I need to master those things before going to 3D?
    No. You can write OpenGL programs using plain old C, Java, Python, Ruby, etc. Knowing templates is not a prerequisite.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Game Of Life 3D
    By blackslither in forum C Programming
    Replies: 8
    Last Post: 11-02-2008, 03:30 PM
  2. Were to Start Your Game Programming Carrer
    By C+noob in forum Game Programming
    Replies: 3
    Last Post: 07-14-2005, 01:33 AM
  3. How to start a game...?
    By TaraTheCasper in forum Game Programming
    Replies: 30
    Last Post: 10-24-2004, 09:20 PM
  4. 3d game
    By cgod in forum C++ Programming
    Replies: 10
    Last Post: 10-21-2004, 06:06 AM
  5. Need some help with a basic tic tac toe game
    By darkshadow in forum C Programming
    Replies: 1
    Last Post: 05-12-2002, 04:21 PM