Thread: When am I ready to make games?

  1. #1
    Registered User
    Join Date
    Jul 2005
    Posts
    100

    When am I ready to make games?

    Hey guys! I was wondering, when is the right time to make games?
    I mean what sort of skills do I need? I need to know.

    I know that APIs like Win32 won't require knowing all the commands by heart, so if i have a book in front of me in which to refer to, then I shouldn't have a problem with windows programming (or getting the information about it anyway).

    So what base C++ skills do I need? I'm going to learn a lot then stop and use it for quite some time, and then i'll be comfortable with coding in spurts. So then it should solidify my knowledge right?

    Also, what about graphics? Can I make all the graphics by myself without Direct3d? (By the way, I will use DirectInput and DirectSound and such, just not the graphics). Will this be enough to make a game? I'm hoping to make a Quake-style engine eventually maybe in the course of 2 years. So, in those two years, how fast will I have to go? Thank you guys, I'm just lost in the situation because I know I have to go really deep, but I don't want overkill.

  2. #2
    I am he who is the man! Stan100's Avatar
    Join Date
    Sep 2002
    Posts
    361
    So what exactly do you know? You have a good, detailed plan (which is always smart to have), but how much of it do you know?

    Try making a game right now with whatever you understand. When you hit a speedbump, you know you'll have to read into wherever you're stuck at.

    As for your question, you can make a game whenever you want; the question is how "good" (graphically etc) it will be.
    Stan The Man. Beatles fan

    When I was a child,
    I spoke as a child,
    I thought as a child,
    I reasoned as a child.
    When I became a man,
    I put childish ways behind me"
    (the holy bible, Paul, in his first letter to the Cor. 13:11)

  3. #3
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    It depends what kind of game you want.

    For example I could start making a game right now, but it would be just C++ (and maybe ports), but no graphics (aka text adventure). I personally could never deal with that, because it would mean me basing the entire game on features that would be as hard to port to 3d graphics when I learn them as it would to start from scratch. You'd have to change the way things are stored, send from client/server, printed onto the screen, and so much more. Not only that but I wouldnt be learning any new commands if I made a text adventure, I may be practicing, but I could practice while learning say OpenGL instead, hence seem like a waste of time to me.

    If you know most of the topics of C++, up to inheritance/error handling/etc and preferably STL containers since it would make things easier, then you could do a nice text-based game. If you're fine with the idea of making a text-based game then you're ready to make it. If you would rather wait to start it in 3D, since that would be a real 2-year long project that could be expanded on, then learn D3D and then you're ready.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  4. #4
    Registered User
    Join Date
    Jul 2005
    Posts
    100
    See that's the point- it's all part of the learning process. I guess I'll make a text-based game when i'm ready. Don't know much STL. None actually.

    But I'm writing it from scratch. Part of the learning process. I don't want to rely on APIs like Direct3d and OpenGL to do the work for me. Then I won't truly know what it's doing and I'll be puzzled often. However, if i write the code myself, from scratch, I will have a strong base with APIs already and know their functions and not be tripping and all. Am I right or am I just really stupid by thinking of this?

  5. #5
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    Quote Originally Posted by blankstare77
    Am I right or am I just really stupid by thinking of this?
    Definetly.

    Honestly, trying to do graphics from scratch would be one of the hardest things to do, and take years by yourself to get something half-ass. OpenGL and D3D are very developed graphics libraries, and thats a whole different project from creating a game. Not only that but making your own graphics library for your game would only be an asset if you joined a team making a graphics library, which is doubtful to happen since we already have D3D and OGL. If you joined any other team programming a game, they would be using a game engine, or D3D or OGL.. not building one from scratch.

    Not knowing how to make your own graphics library for your game is no strike against you, and will NOT confuse you. Have you tried NeHe's tutorial on OpenGL? its like learning win32, just more fun, useful, and easier to learn because its so fun. They explain what the functions do anyway, and its simple.. glClearColor() - clear the background to the defined color.. if you were to make your own graphics library that would be like: contact the graphics card and delete all pixels in the background, and then set all pixils to this color. But thats obvious, and do you really need to program it yourself to figure that out, or more importantly is it really necessary to know how the graphics library does it to understand what the function does itself. That would be like saying you dont want to use C++ anymore because you dont know whats going on in the background, maybe you should make the language D++.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  6. #6
    Registered User
    Join Date
    Jul 2005
    Posts
    100
    Dude, you don't need a graphics library to make games.
    You write code specified for gaming functions and it doesn't have to be so hard-core.

    I'm not planning on coding Quake4 or anything like that. Just a simplistic half-life (1) looking or Quake 2 looking game and engine.

    I mean I said I wanted to tread lightly and all. And plus, I have a book that I own that's intermediate/advanced coding level.

    I know that I need a Math API Engine (which the book walks you through), then a 3d engine (which my prototype will just be the solid models and infinite simplistic lighting schemes. Hell I won't even have shadows in the first implementation). Very simplistic HUD. You know, not a hard-core first-rate polished product. And plus, I won't do the animating/artistry. I'll just do the hardcore coding.

    Sorry if I sound like a smarta$$. I hope i'm not coming across like that.

  7. #7
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    Quote Originally Posted by blankstare77
    Dude, you don't need a graphics library to make games.
    You write code specified for gaming functions and it doesn't have to be so hard-core.

    I'm not planning on coding Quake4 or anything like that. Just a simplistic half-life (1) looking or Quake 2 looking game and engine.

    I mean I said I wanted to tread lightly and all. And plus, I have a book that I own that's intermediate/advanced coding level.

    I know that I need a Math API Engine (which the book walks you through), then a 3d engine (which my prototype will just be the solid models and infinite simplistic lighting schemes. Hell I won't even have shadows in the first implementation). Very simplistic HUD. You know, not a hard-core first-rate polished product. And plus, I won't do the animating/artistry. I'll just do the hardcore coding.

    Sorry if I sound like a smarta$$. I hope i'm not coming across like that.
    Naw, sorry I forgot you didnt want anything too advanced.

    But IMHO I think it would be a waste of time, since that knowledge wont help you when you want to get into programming games in projects. I just think itd be more valuble to learn D3D or OGL, which arent even that complex, since that knowledge will help a lot in the future of making games, it will save you time fromc reating your own, and will yield better 3D results.

    Do you have a book or link that steps you through creating a 3D engine anyway? I wouldnt mind looking at that.. you'd think it would be quite advanced (since you have to work on the hardware level).
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  8. #8
    Registered User
    Join Date
    Jul 2005
    Posts
    100
    Yeah after making that prototype stuff, then I can just get together with some friends and click a game. If we had maybe a couple of people that should be sufficient.

    But thank you for your concern. But I mean if I'm doing something simple, it wouldn't hurt to do all that would it? Maybe my real question is if it's possible to do in maybe a year and a half (with intense coding summers). Like my goal is to learn everything about C++ and be able to use the Win32 API by January. Then I'll start the math engine so on, so forth. And maybe I could tweak it and stuff and use it to make more games so I wouldn't have to write a new engine for all my games (although I might if i have the time).
    Last edited by blankstare77; 08-25-2005 at 07:27 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. want to make this small program...
    By psycho88 in forum C++ Programming
    Replies: 8
    Last Post: 11-30-2005, 02:05 AM
  2. When You're ready to tackle games
    By blankstare77 in forum C++ Programming
    Replies: 9
    Last Post: 09-11-2005, 12:05 PM
  3. socket send() exits app unexceptively
    By Kleid-0 in forum C Programming
    Replies: 9
    Last Post: 07-25-2005, 08:29 AM
  4. Games that make you cry like a 6 year old girl who got her barbie's head ripped off
    By Scourfish in forum A Brief History of Cprogramming.com
    Replies: 8
    Last Post: 12-21-2002, 05:56 PM
  5. Problems to Make a Unix lib on a Win32 box.
    By Templario in forum Windows Programming
    Replies: 2
    Last Post: 11-21-2002, 02:22 AM