Thread: First videogame...

  1. #1
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231

    First videogame...

    Hello every body, ok first of all just to put it out there I have never made a video game before and this is a project that I want to do that will span a couple of years.

    So these are the tools that I have:

    1. Blender for 3d, can this make models for XNA?

    2. xna for programming and

    3. visual C# for debugging (or vice versa )

    I do not want to make this in a few weeks but more like a few years. The idea is basically a mix between zombies and Gmod (Gmod being having a lot of customization in what the guns do and what vehicles can do and having a very open world).

    my question to you guys is do I have the tools and what will aid me or make the process easier. Any good c sharp tutorials would be handy too. I don't think I am missing anything so, Thank you.

    (If you want to help you are more than welcome, I don't encourage that until we get the ball rolling for you would be doing all the programming before I get to a better understanding of C sharp)
    Last edited by xniinja; 02-04-2011 at 04:00 PM.

  2. #2
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,739
    If you're interested to make it in years-period, why don't you make it from scratch? Drop the blender, drop xna, drop VisualC# and start with C++. Make your own tools!

    I could help you if i didn't have my hands full with MechCommander, but i can still offer some advise, as can many much more experienced programmers than me here.
    Last edited by GReaper; 02-05-2011 at 07:45 AM.
    Devoted my life to programming...

  3. #3
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231
    well the years part comes in because there are a lot of hurdles we have to clear like open world, advanced gun combinations and good graphics (maybe MW2 good) and the fact that I have no C sharp experience what so ever is kind of bad too. I am 15 but I guess that means I have loads of time left to do whatever, but for now I don't want to overwhelm myself before I get started.

    Another problem is my friend that I have helping me Hasn't programed ever before in his life and he neglects to learn the Blender hot keys when the person in the tutorials says what they are but requests a list of hot keys from me.

    Before I go I just want to know, before I get my feet on the programming does someone want to help us make models. We currently have the model for a sniper bullet a 9mm bullet and a pistol we are going to use for alpha testing because it's just 2 squares put together really. Thanks again
    Last edited by xniinja; 02-05-2011 at 12:34 PM.

  4. #4
    Registered User
    Join Date
    Jun 2008
    Posts
    54
    If you're just doing this for a kick and don't have any serious expectations, you should ignore this and go have fun. You mentioned that you expect to be working on your project for a couple of years, though, and I'm guessing that means you're pretty serious about it. You're ambitious but patient, and that's an exceptional combination for someone your age; I kid you not.

    As a former young and aspiring game programmer, the best advice I could give you is to stay patient, start with the basics, and learn all the unglamorous fundamentals as thoroughly as you possibly can.

    When I was around 15 with your ambitions, I started with a copy of Learn C++ in 21 Days and Tricks of the Windows Game Programming Gurus. It took me around two years to browse through those enough to write a "game" by rote, and another six to realize that, despite owning a mountain of books about programming and game development, I didn't really know much at all about either. The entirety of my knowledge was a house of cards, assembled from a junk diet of 10-step web tutorials and mindlessly memorized incantations of C++ cribbed from book examples. This is the price of pride and impatience, and let me be the first to tell you that disillusionment stings like a slap to the naked ass and numbs your soul to joy.

    If you don't want to spend the next eight to ten years of your life as a delusional neophyte groping desperately around in the dark for low-hanging fruit, then I beseech you to listen to me.

    Read a book like The C Programming Language or The C++ Programming Language first. After that, you'll have the mental scaffolding to understand a book like Write Great Code (or if you're smart for your age, Computer Organization and Design). Having even just a basic grasp of how programs work beneath the magic of your compiler is critical. It gives you intuition and knowledge you can use to figure out what's going on when your programs (or even the programs other people have written) break or don't behave like you expect, and it also grants you deep insight into what makes a program efficient and what doesn't.

    Then, if you're interested in Windows game development, read Programming Windows by Charles Petzold - it's probably older than you are and it's HUGE, but it's still supremely relevant. It doesn't teach you about making games, but you should have a good grasp of this stuff before you ever attempt to wield DirectX or pretty much any other Microsoft game technology.

    When I say read, I mean read from cover to cover - not flipping through or skipping pages or whole chapters to get to what you think is the "good stuff".

    READ EVERYTHING.

    If something is difficult to understand or seems boring, it doesn't mean you can gloss over it or come back to it later, it means it's crucial for you to learn before flipping another page (figuratively speaking). Do as many of the suggested problems as you can make yourself do. Don't get discouraged if it takes you days or even weeks of study to get something. And if something seems trivial or beneath you, don't scoff at it and pass it by; master it. It'll pay off.

    Assorted tips/platitudes:
    • Be patient with yourself and don't worry about impressing your friends.
    • Though it takes longer, learning how and why something works is immeasurably more valuable than just learning how to make it do what you want it to.
    • Consistent practice and study are key to overcoming what may seem like insurmountable obstacles.
    • Knowing what something is is not the same thing as understanding it.
    • Ignore books that profess to be able to turn you from a complete beginner into a game programming wizard in a few years or less. They might contain useful information, but save them for much later.
    • Pride and learning don't mix.
    • Being computer literate and knowing the fundamentals of how your computer and operating system work under the hood are two entirely different things. If you write programs without knowing these things, it'll come back to bite you.
    • After you really know your stuff, the differences between character mode (console based) and GUI applications will seem trivial.
    • Lastly, stay away from RAD tools (like Visual Basic) and interpreted languages (like Python, Java, and yes, even .Net) until you've got C or C++ solidly under your belt. RAD and scripting languages are valuable tools, have their place, and are not to be sneered at, but if you grow up in a low gravity environment, you can expect your bones to be brittle.
    Last edited by Boxknife; 02-06-2011 at 07:48 AM.

  5. #5
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,739
    Hehe, what i mostly lack is patience! I'm surprised i've even gotten so far with programming, although that is because of my passion for the subject.

    Listen to ( read, actually ) Boxknife. He seems to know what he's talking about.

    Hey, have you tried Anim8or for 3D modelling? It's very good and outputs models in text, which can easily be ported into a game ( although files are much bigger ).

    I wan't very honest before. I always have free time. If you decide to begin with the code and need someone to help you with, i'd be glad to help!
    Devoted my life to programming...

  6. #6
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231
    Thanks boxknife for all that advice. I really want to actually understand everything going on so if something doesn't do what I want it to do I can fix it really fast. The reason I am so patient with this is because I want to see this game on the XBL market place and be able to say "I made that".

    And to Sipher I am really getting the hang of blender, I made a scar-h yesterday and started on a m16. I'll be it they are blocky but I can change that later. And I learned it can export to a FBX file which is what XNA uses. yes I still think I am going to use XNA simply so I can get a rough copy and then I can comeback in with C++ and put everything in that I couldn't with XNA. Another reason I want to use XNA is because I was going to use it a few years ago but I didn't know how to program so I looked at it blindly changed something very important to the program and it fell apart, so this is kind of coming back to win a lost battle. I also think it's cool to be able to look at something that you couldn't understand a few years ago and be able to tell what each part is doing.

    Thanks again for the advice


    Oh, and sipher do you program C++ or with XNA or what...

  7. #7
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,739
    Quote Originally Posted by xniinja View Post
    I also think it's cool to be able to look at something that you couldn't understand a few years ago and be able to tell what each part is doing.
    I know that feeling!


    Quote Originally Posted by xniinja View Post
    Oh, and sipher do you program C++ or with XNA or what...
    C/C++/OpenGL/Windows, you name it! But no, i don't know how to use XNA.
    Devoted my life to programming...

  8. #8
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Most of the books recommended in this thread have little or no bearing on game programming and while some are good reads most will not help the OP in any way.

    I recommend going to gamedev and browsing their books section to see which books are specific to game programming and other areas needed to program games. They have a wide variety of books and most have good user reviews of the books. Then you can go to amazon and purchase them. There are far too many good ones to mention but whatever you do make sure the books are relevant to today's hardware. It will do you no good to read a book like the 'Guru' series that insists on creating software solutions to problems that can easily be solved using the hardware alternative.

    Dump the idea of selling your first stab at a game. It is never going to happen. You are going to start designing and probably end up in a world of hurt after a bit of time. As you gain experience you will begin to hone your design skills. Implementation should be a snap because before you try to make a game at the level you want you should be an expert in C++ or C# depending on your language of choice.

    Now if you want to come back down to the planet with the rest of us I recommend you start with something small like a text based adventure. That has no graphics and will allow you to concentrate on the design. Design it in such a way that it is completely data-driven and new adventures and new vocab can be added to create an entirely new game without ever touching one line of code. If you can accomplish this then you will understand a lot of the concepts that drive games and game development today.
    Last edited by VirtualAce; 02-06-2011 at 11:37 AM.

  9. #9
    Registered User
    Join Date
    Jun 2008
    Posts
    54
    Quote Originally Posted by Bubba View Post
    It will do you no good to read a book like the 'Guru' series that insists on creating software solutions to problems that can easily be solved using the hardware alternative.
    Just to clarify, I didn't and don't recommend any of the Guru series books either; I only mentioned the book because it's what I got off to my false start with.

    However, two of the five books (K&R and TCPPPL) I recommended are more or less the authoritative texts on programming languages used widely in game programming, which goes to establishing a strong foundation. Write Great Code and Computer Organization and Design would also go towards establishing a strong programming foundation by developing a general understanding of computer hardware and software. While they don't relate to game programming directly, I still believe such an understanding could help a novice programmer a great deal.

    I will concede that time spent reading Petzold might, realistically, be better spent elsewhere if game programming is one's objective. It couldn't hurt, though, to be able to decipher all that API "boilerplate" you're copying and pasting from your game programming book. Recommended toilet reading for a game programmer, perhaps?

  10. #10
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Recommended toilet reading for a game programmer, perhaps?
    Perhaps but the only Win32 specific code you will need in a Windows game using OGL or Direct3D is at most the message loop and various simple calls to the API. Petzold, while still an excellent read, is certainly overkill for that.

    I do not recommend language books for game programmers because it is my assumption that if they are attempting a game like the one described in this thread then they are already advanced C++ programmers. If this is not true then the person or persons in question should not try such an advanced game.

    My first recommendation is:

    Game Engine Architecture. Jason Gregory.

    It is not cheap but it is a very good high level look at game engines and what makes them tick. It has a few sections on C++ that I believe could be removed but overall it is a very good book.
    Last edited by VirtualAce; 02-06-2011 at 01:18 PM.

  11. #11
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231
    Quote Originally Posted by Bubba View Post
    Dump the idea of selling your first stab at a game.
    I never really had that idea because my first stab will most likely be a failure.

    @Sipher I think I will drop XNA and make the game with C (or C++ whatever works for xbox)and OpenGL (If I need it) so that I can have a lot move maneuverability with what I want to do.
    But I have a few questions.

    1. does MW2 use a bunch of different guns with every combination or do they have a normal base gun that they put attachments onto with OpenGL?

    2. If I use C or C++ can I use blender for my models?

    3. can one make an Xbox game with C and C++? and which do you prefer because I only know C and I don't know OpenGL

    4. kind of off subject but what do game publishers do? eg. Activision, EA, 2K.

    5. Are maps one big model or a bunch of different models?


    thanks, I don't think I have any more questions, most of these I think I know the answer to.

  12. #12
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,739
    Quote Originally Posted by xniinja View Post
    1. does MW2 use a bunch of different guns with every combination or do they have a normal base gun that they put attachments onto with OpenGL?
    I don't know...

    Quote Originally Posted by xniinja View Post
    2. If I use C or C++ can I use blender for my models?
    If you create an appropriate routine to port them in, why not?

    Quote Originally Posted by xniinja View Post
    3. can one make an Xbox game with C and C++? and which do you prefer because I only know C and I don't know OpenGL
    I think you can, and i also think that xbox supports OpenGL, but i'm not so sure.

    Quote Originally Posted by xniinja View Post
    4. kind of off subject but what do game publishers do? eg. Activision, EA, 2K.
    What do you mean?

    Quote Originally Posted by xniinja View Post
    5. Are maps one big model or a bunch of different models?
    It depends on the game's implementation. Terrain maps, Level maps, Scene maps etc.
    Devoted my life to programming...

  13. #13
    -bleh-
    Join Date
    Aug 2010
    Location
    somewhere in this universe
    Posts
    463
    There is a book called: beginning c++ through game programing. The Author uses text based game to step through Features of c++. It's not a really expensive book, around 20 bucks on amazon.
    "All that we see or seem
    Is but a dream within a dream." - Poe

  14. #14
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    @Sipher I think I will drop XNA and make the game with C (or C++ whatever works for xbox)and OpenGL (If I need it) so that I can have a lot move maneuverability with what I want to do.
    But I have a few questions.
    Not exactly a well-informed decision. You need to figure out the features your game will require and then cross-ref that with the features in XNA or some other API and then make a determination. It's usually not about features because any API can do any feature. It comes down to development time, budget (which may not apply), developer familiarity and exposure to the technology being used, etc.

  15. #15
    That weird Java guy xniinja's Avatar
    Join Date
    Jun 2010
    Posts
    231
    2 of those don't apply. The development time (we are still 15 we have got time to waste, although it would be nice to be done faster) and budget because all of our tools are open source, maybe we might get a book or two.

    What I got out of what you said is to choose the way that is easier, why use something harder if it can be done in an easier way. Is this correct?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Videogame
    By cassyhoz in forum C Programming
    Replies: 7
    Last Post: 12-02-2008, 05:16 PM
  2. Videogame Memories - Contest
    By Sentral in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 06-05-2008, 04:43 PM