Thread: Game Design

  1. #1
    Registered User
    Join Date
    Sep 2007
    Posts
    7

    Question Game Design

    What programming language(s) do I have to learn to make a 3d, single player game, with graphics and AI to match todays commercial standards. I have no exprience programming, but have a good knowledge of computers. I know this may sound silly to most, but I am not your average person anyway. I have a strong will, and that's all I need to learn, perhaps I would need talent to master game design, but we shall see if I have it.

    Please tell me what Languages I should learn, and in what sequence. i.e. C, then C++, or just C++, what languages are needed to make a game engine and a 3D game?

    Thanks,

    Michael, and Raphael.

  2. #2
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    Writing programs is complicated. Writing games is even more so. Writing 3D games, well . . . it takes a very long time. If you start programming now, don't except to be writing a 3D game in a few months. Except perhaps a text-based adventure game, with colour if you're lucky.

    Learning more than one language is probably unnecessary, and there's certainly no real basis to learning C before C++. You have to un-learn a bunch of stuff if you do. On the other hand, just learning C for the sake of C could be an option.

    If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately.

    Moderators: Perhaps this is in the wrong forum.
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  3. #3
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >but I am not your average person anyway
    You sure seem like one of the countless boobs we see around here with zero programming experience, a "strong will", and the desire to make the next commercial 3D blockbuster game singlehandedly.

    >Please tell me what Languages I should learn, and in what sequence.
    I'd say C, C++, and assembly as the base three. But knowing a language or two doesn't mean you can suddenly write a 3D game.
    My best code is written with the delete key.

  4. #4
    Registered User
    Join Date
    Sep 2007
    Posts
    7

    Talking reply

    A note to the moderators: WE asked for help not criticism. And I say we becuase it is not one, but me and my brother, so "you sure seem like one of the countless boobs we see around here with zero programming experience, a "strong will", and the desire to make the next commercial 3D blockbuster game singlehandedly." Is and inappropriate statement. Thank you, however, for those few words of advice that was helpful.
    We know this may take years, and not months certainly, but we do not expect instant gratification, our line of work (concert pianists) teaches us of the time required to learn.
    What did you (DWKS) mean by, "If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately." how else do you create 3D games if not by programming?? we are quite confused, as we have understood, the game engine and AI etc. is written using C++ generally, and something like 3ds Max or Maya is used for graphics. This was from reading online, but if we are misinformed please do tell us what is needed in the way of programming languages, and 3D programs.

  5. #5
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    A note to the moderators: WE asked for help not criticism. And I say we becuase it is not one, but me and my brother ...
    "You" is both plural and singular in English. Also, you used "I" in several places in your original post. As well, most posts on this forum are composed by one individual, so you'll have to forgive someone for overlooking your plural-ness in your case.

    What did you (DWKS) mean by, "If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately." how else do you create 3D games if not by programming?? we are quite confused, as we have understood, the game engine and AI etc. is written using C++ generally, and something like 3ds Max or Maya is used for graphics. This was from reading online, but if we are misinformed please do tell us what is needed in the way of programming languages, and 3D programs.
    Your information is pretty much correct. But those are commercial or large games. If you just wanted results and didn't care too much for performance or flexibility, you could mod an existing game or something like that. The results wouldn't be as nice, but you'd get something done faster.

    If you just want to learn something new, by all means learn to program. If you want to learn how to program specifically to create 3D games, you may be out of luck.
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  6. #6
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    1) To notify the moderators of something offending, use the little warning triangle in the bar to the left of posts.

    2) But don't bother when it's a moderator making the comment in the first place. Look, we're not a cuddly bunch of people; we treat people with respect when they've earned respect, with disdain when they've earned disdain, and with sarcastic comments when they make statements like, "I am not your average person". Either deal with it, or go somewhere else. We don't have time to mollycoddle people who are easily offended.

    3) You may think you're special. To us, you're just one more person who comes along with no programming knowledge and asks the same, boring question without searching the board first.

    4) We are the guys answering. You get the answers we decide to give you. If we decide you need help, you get help. If we decide you need a reality check concerning your goals, you get that. And if we decide you need criticism concerning your attitude, you can be sure that you'll get that, too.

    I mean it, search the board before you ask questions. Look what I've found on the first results page searching for "language" in this forum:
    http://cboard.cprogramming.com/showt...light=language
    http://cboard.cprogramming.com/showt...light=language
    http://cboard.cprogramming.com/showt...light=language
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  7. #7
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    There are several books on the subject of "3D Game Programming" and the like. I can't recommend one, because I'm not a games programmer as such. I do understand (and have worked with) some of the 3D graphics primitives used by 3D games, but I'm very far from an expert.

    I would say that you can write basic 3D applications (be that games or other types of applications) in just about any language modern computer language (and old ones too - Fortran would probably be a bit better than Cobol).

    C is a good base for understanding C++, but some people argue that if you know too much C, you can't write good C++. I would say, learn C, then C++.

    But the point dwks was making is that you DON'T have to use either C or C++ for your game, you could use a language that requires less knowledge of "what happens under the hood", like Java, Visual Basic or perhaps Flash.

    And start with a 2D game, as 2D can be difficult enough for a starter project.

    A proper 3D game at the level of Quake or such is the total effort of dozens of people for a year or two. Not something you cobble together in your spare time in a few weeks.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  8. #8
    Dr Dipshi++ mike_g's Avatar
    Join Date
    Oct 2006
    Location
    On me hyperplane
    Posts
    1,218
    I'd say something like Blitz 3D would be your best best if you want to make a 3d game with no programming experience.

  9. #9
    Registered User
    Join Date
    Sep 2007
    Posts
    9
    I started with DarkBasic Pro its really easy to use and within a week you could have a base for a FPS!

  10. #10
    Registered User Frobozz's Avatar
    Join Date
    Dec 2002
    Posts
    546
    Quote Originally Posted by mike_g View Post
    I'd say something like Blitz 3D would be your best best if you want to make a 3d game with no programming experience.
    I wouldn't recommend Blitz 3D for two reasons. First, its very slow - I tried making pong in it and it was jumpy on a dual core system with a Radeon X850 XT. Second, it only supports up to DirectX 7 and while you can fake certain effects like cel shading and bloom it just won't be as good or as fast as the real thing.

    Personally I'd recommend trying Visual C# and either Managed DirectX or Microsoft XNA.

  11. #11

    Join Date
    May 2005
    Posts
    1,042
    Get used to programmers being as$holes.
    I'm not immature, I'm refined in the opposite direction.

  12. #12
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >Get used to programmers being as$holes.
    I sense bitterness.
    My best code is written with the delete key.

  13. #13
    Dr Dipshi++ mike_g's Avatar
    Join Date
    Oct 2006
    Location
    On me hyperplane
    Posts
    1,218
    I wouldn't recommend Blitz 3D for two reasons. First, its very slow - I tried making pong in it and it was jumpy on a dual core system with a Radeon X850 XT. Second, it only supports up to DirectX 7 and while you can fake certain effects like cel shading and bloom it just won't be as good or as fast as the real thing.
    Yeah its slower than what you can get out of C/C++ thats for sure, but seriously, you shouldent be having problems with pong! My best guess is that you would have been using the demo version which can only be run with debug enabled, which cripples the speed. Either that or you screwed up your code somehow. As for for it only supporting up to dx7, you can't get state of the art graphics either, but for someone new to programming I still reckon they would have a hell of a lot better chance of producing a game with it considering how much simpler, and easier to understand, it is.

    Get used to programmers being as$holes.
    No-one is capable of creating "a 3d, single player game, with graphics and AI to match todays commercial standards." off the bat without any coding experience, no matter how clever or determined they are. It might sound mean, but its the truth.

  14. #14
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    If there was such a thing as a IndyCar or Formula 1 designers forum, would you expect one of the members there to tell you exactly how to go about designing a racing car, if you in the previous statement roughly said "I have no experience in automotive engineering"? Probably not.

    Software design is an engineering (and to some extent art) form, and it's not something you can just give over to someone else in a few short sentences. It takes learning and experience to become a software engineer - strong will and interest will of course help.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  15. #15
    Registered User Frobozz's Avatar
    Join Date
    Dec 2002
    Posts
    546
    Quote Originally Posted by mike_g
    My best guess is that you would have been using the demo version which can only be run with debug enabled, which cripples the speed.
    I guess it could be for two reasons. First I had tried to emulate per-pixel lighting by using a relatively high number of triangles (at the time I was able to use up to 100K triangles in the entire scene and still get around 60fps). Second I was using two light sources - one for illuminating the playfield that followed the ball and a second to briefly illuminate a paddle after the ball had hit it.

    However I still blame Blitz3D. Most of the games made for it are actually CPU limited rather than GPU limited.
    Last edited by Frobozz; 09-28-2007 at 06:38 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Game design question
    By h3ro in forum Game Programming
    Replies: 6
    Last Post: 02-28-2008, 08:20 AM
  2. Open Source / Semi Open source game idea. Help needed
    By CaptainPatent in forum Projects and Job Recruitment
    Replies: 10
    Last Post: 05-16-2007, 10:44 AM
  3. So you want to be a game programmer?
    By dxfoo in forum Game Programming
    Replies: 23
    Last Post: 09-26-2006, 08:38 AM
  4. C Programming 2d Array Question
    By jeev2005 in forum C Programming
    Replies: 3
    Last Post: 04-26-2006, 03:18 PM
  5. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM