Thread: Quick Game Programming Question

  1. #1
    Registered User
    Join Date
    May 2009
    Location
    Soon to be moving to Visalia, CA
    Posts
    8

    Quick Game Programming Question

    I am looking for the best place to start working towards being able to program and my initial interest, like so many others, is in game creation and development. I started working with C++ but have heard that a better first step might be Java. If my end goal is to be a proficient programmer in the gaming market, both console and PC/Mac, what is the best first step for me? I am seriously at step one. I know little to nothing about programming so I am looking for the "For Dummies" answer. Thanks!

  2. #2
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Gallaton View Post
    I am looking for the best place to start working towards being able to program and my initial interest, like so many others, is in game creation and development. I started working with C++ but have heard that a better first step might be Java. If my end goal is to be a proficient programmer in the gaming market, both console and PC/Mac, what is the best first step for me? I am seriously at step one. I know little to nothing about programming so I am looking for the "For Dummies" answer. Thanks!
    I don't even play games, but I like 3D programming and there is a lot of "crossover" there.

    I would bet that if you try and google around and find out what language your favourite games were written in, most of them are C++ (although I could be wrong, C# and Java are probably big too).

    Anyway, it is not so difficult to learn a second language once you know one. I think most people would agree that C/C++ will give you a better grounding in Computer Science concepts, and that many books, etc, that teach gaming techniques draw on this.

    Plus, read through all of this thread:
    Game Institute... Interesting
    which it sounded like a pretty good deal to me, if you really want to dive in...
    Last edited by MK27; 05-13-2009 at 02:06 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  3. #3
    Registered User
    Join Date
    May 2009
    Location
    Soon to be moving to Visalia, CA
    Posts
    8
    I appreciate the opinion and the links. I know that C/C++ and C# are all pretty large languages used for gaming, but is there a better place to start to ease my way into it? I am on a limited budget of pretty much zero dollars so I am looking for a language that I can start to learn using free online tutorials etc. I will check out the classes though and thanks for the advice!

  4. #4
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Gallaton View Post
    is there a better place to start to ease my way into it? I am on a limited budget of pretty much zero dollars so I am looking for a language that I can start to learn using free online tutorials etc.
    That's how I learned C (online). It will be difficult and frustrating at first, especially if you have your heart set on games; like give yourself at least a few weeks to a month, full time, before you even start thinking about graphics, etc.

    Ask questions, stick it out and learn the syntax, etc. A lot of first year (college) students show up at cboard with their homework, which is usually pretty simple, so you can always get ideas from those assignments if you need something to focus on.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  5. #5
    Registered User
    Join Date
    May 2009
    Location
    Soon to be moving to Visalia, CA
    Posts
    8
    Thanks allot...I started in C++ and the first few chapters were fairly straight forward and simple. Sometimes it seems that the guide goes in a "random" order and one lesson doesn't really lead to the next, though I guess that could be the case. Thanks for the help again and I look forward to one day knowing what I am doing :-)

  6. #6
    Registered User
    Join Date
    May 2007
    Posts
    147
    If my end goal is to be a proficient programmer in the gaming market, both console and PC/Mac, what is the best first step for me?
    First, don't let me discourage you, but I do have some advice and information. I happen to write game software, and there's a lot to consider.

    There are a range of simpler games written in Java, Flash, Silverlight, C# - even a Quake source was released for C#, but you won't find many released titles written in C# outside of the kind of games which are also written in Java or Flash - webpage or online type gaming (turn based, or low res arcade types).

    If what you mean by games are 3D realtime, then you should know that the industry is tough there. If you're thinking in terms of 2d arcade, it's not 'high end', though you can sell those, it's much simpler.

    There are 3D engines (libraries that do the hard work of drawing/sound/physics), and many companies use them. If that's what you end up doing, you're going to code the 'style' of the game - taking an engine that could animate anything and creating the logic which comprises a particular game design.

    Of course, there's also the artwork, audio, sound effects, physics descriptions - all specialties of their own. If you intend to get a job in a large firm, you'll have to have a pedigree - an education and experience that competes with some heavyweights. For example, you'll find in the big companies a few PhD's in mathematics and/or physics employed. There are several cross disciplines involved. Making 3D real time games is high end work; the only things tougher and more complex are genuine physics simulations like weather prediction or engineering.

    Without some context about what kind of game work you intend, where you see yourself positioned (advanced hobby, profession, independent) I can't advise you much further.

  7. #7
    Registered User
    Join Date
    May 2009
    Location
    Soon to be moving to Visalia, CA
    Posts
    8
    Ok...Lets say for the sake of argument that my goal is to work for a large firm that does major releases to console or PC whether it be Sony PS, or Xbox 360 (and obviously anything next gen.) Also, while I am starting this on my own and looking to learn as best I can for free, I would, without a doubt take the schooling required to reach my goals. Where should I start? Thanks though for the help already.

  8. #8
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    It depends on what you want to do. As JVene pointed out games are huge and just saying you want to program games is very vague. Find out which portion you enjoy the most and start researching it now if you cannot attend school. You will most likely need a CS degree or equivalent experience. It really depends on the company what type of experience they desire and which types they will count and not count. A degree is not an instant in by any means.

    Also if you really want to work in the games industry keep in mind that at times there are anywhere from 60 to 80 hour work weeks. During crunch time or a major push you can expect to be pulling at least 70 hour work weeks. You can also expect that as soon as the project is done you may have to find a new job with another company. It has been the practice of major dev companies to lay off the entire staff of a game once it goes gold.

    Working at a game studio also is probably not all that rewarding since you are usually around some of the brightest minds around. The stuff you show off here might be child's play to someone in the industry which is not so good on the self-esteem. But if you can handle the extreme competition, extreme work weeks, and extreme stress then go for it. But remember that before you write any game that developing games is not easy by any stretch of the imagination. Learning C/C++ and the API of choice like a second spoken language is just one small step in the process. There is a ton of information to latch onto and often times there isn't much hand-holding in the process.
    Last edited by VirtualAce; 05-13-2009 at 11:03 PM.

  9. #9
    Registered User
    Join Date
    May 2007
    Posts
    147
    You'll need a solid background in C++ to start, and though you can pick up some of the basics on web sites, you'll need to get several texts that discuss the language in depth. You'll also need to understand assembler to some degree, though it's not quite necessary to be an expert assembler programmer.

    PM me for some potential resources for study.

    The learning curve for C++ has been pegged at about 18 months, but that estimate was given before the current version of the language - it's a larger subject now, but I can't estimate your learning curve and drive.

    You'll need to become familiar with OpenGL for many of the major platforms, and DirectX for the XBOX and Windows. For Mac and apple products you'll also need to familiarize yourself with the Objective-C language (it's quite simple), but most of the major software houses aren't as interested in the Apple as the consoles and the PC.

    Depending on what major branch of work you find yourself interested in, you'll either need to focus on physics and math, or AI and gameplay, or other specifics. The problem there is this point: all of the 'big' firms have engines already, so you're only going to be developing cutting edge stuff for their engines, and then only if you can compete at or above the level of the engineers that preceded you. Many of the physics people are PhD's. One in particular who's books you should review is David Eberly (google for WildMagic 3D engine, source code is free).

    Keep in mind, it's not exactly fun in the game business. It's high pressure, high stakes, short deadlines, long hours - and you can easily get caught up in 'the lifestyle' of the region where this work is done and the corporate culture, and burn out.

  10. #10
    Registered User
    Join Date
    May 2009
    Location
    Soon to be moving to Visalia, CA
    Posts
    8
    Thank you both for your input. JVene, I am not sure why, but it will not allow me to click on your name and send you a message. It might be because I have just recently signed up here. Either way, my contact info is below. Please shoot me an e-mail and let me know when and how (MSN Messenger/Yahoo/AIM) might be the best way for you to chat. Thanks again for being honest, but not utterly pessimistic.

    [email protected] (e-mail and MSN)

  11. #11
    Hail to the king, baby. Akkernight's Avatar
    Join Date
    Oct 2008
    Location
    Faroe Islands
    Posts
    717
    Gallaton, not to be all advertising but if you're completely new to game development and programming, Game Maker might be interesting
    The thing is that with it you'll learn how to deal with Game Development issues, be able to learn their GML language, which is kinda like a simplified C, maybe something like the Pawn language... Anyways, I'm currently taking the course at Game Institute, and it's great Even the kinda famous C++ learning book writer Frank Luna is my 'teacher'

    Just start reading, coding some stuff, making mistakes, fixing them and learn
    AND you will ( I know this ) go and think you know enough for some task, but you don't, so expect to hit some walls in the way, but be always ready to learn
    Also, do NOT make a team or join a team 'til you are fully ready, make some games yourself first. I know it might be exciting to make a team and stuff, I've tried it and I failed, just 'cause I wasn't up for the responsibility and it was tiresome

    But most of all, be ready to make your own decisions, you might decide wrong, but won't have a better teacher than yourself Meaning that you won't learn better than to try it out yourself :P
    Just put on a helmet and blast through those walls, and within (Not gonna go all easy on this) about 1 year, you'll be done with making the classics (ping pong, tetris, ect.) and onto making platformers, Doom clones and maybe advanced physics Just be ready to spend a lot of time on this!
    Currently research OpenGL

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. quick noob question
    By thanatos1 in forum C# Programming
    Replies: 2
    Last Post: 06-17-2009, 08:28 PM
  2. 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
  3. Replies: 7
    Last Post: 12-12-2001, 10:28 AM
  4. newbie question on game programming
    By Leeman_s in forum Game Programming
    Replies: 1
    Last Post: 10-30-2001, 04:57 PM
  5. Quick question: exit();
    By Cheeze-It in forum C Programming
    Replies: 6
    Last Post: 08-15-2001, 05:46 PM