Am I in over my head here

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Am I in over my head here

      Unfortunately I couldn't find a section for whiny little beggars like myself, so I came to the conclusion that this would be the most appropriate place to post my whiny little beggar-esque thread. So here we go:-

      I've never had any experience in programming other than what I included in my A-level IT project (not much done by me, most of it was done by my father, an actual programmer), and even then that was done in VBA, a language I don't see popping up much (or even not at all) on those "learn these languages" lists I see in books and tutorial sites and so on.

      So I'm going to Uni in September, and after thinking long and hard about which course I'd like to take, I decided on Games Development. Why? I probably couldn't tell you. I'd just like to complete a game one day and be able to smile to myself as my name rolls up the screen in the credits.

      I've no idea what this course entails. I have an A-Level in IT and Maths, which obviously means very little to Americans and pretty much anyone outside the UK.
      I've been hoping that this course will assume its students have little or no experience whatsoever in programming, otherwise I really be in over my head here.

      Now I bought the second edition of "Game Coding Complete" and kind of stopped at the words C++ and VisualStudio.NET, sighing upon the realisation that I have no experiece using either (or even any meritable language).

      Anyway, it seems that these paragraphs of whining are the product of me procrastinating against my original question:
      Am I in over my head here? I see people here that are twelve and thirteen. I read that the author of the book was making games since he could tap a keyboard, and here I am with next to no knowledge of programming or game development. Am I too late? Should I know more before diving headlong into a Uni course? Or do you think they'll teach me from step one?

      I don't know how people will take these questions, or even if they'll acknowledge them at all, but I'm kind of lost here. I'll try and keep reading the book, but I'll find myself dead in the water when it comes to using words or references the most basic of programmers will know.

      I think it should also be mentioned I'm going to Portugal for three weeks starting tomorrow (yay), so please don't think I'm ignoring your responses when I don't reply for ages.
      Thanks for your time, i appreciate it. :))
    • RE: Am I in over my head here

      Well, the book isn't exactly geared toward a beginner. But I can tell you that, if your major is as generic as mine is, they will assume no programming experience and start you off easy.

      You definitely need to learn C++ if you want to make it as a programmer, but a lot more goes into a game than code alone, so a passion for games doesn't necessarily mean you have to code. Though, given your IT+math background, it's probably a good fit.

      If you want to get a leg up (and I know you do!), a good place to start is a book like C++ Primer and a good community you can pester with newbie questions. (see my sig)

      It's also probably worth checking out the SDL or Allegro libraries, which are two popular 2D game libraries that'll help you start making games right away. Even if you just stumble your way through a Tetris clone, it's helpful to get in the right mindset and understand what's important to the process of coding games. So then, as you read more books, you can distill what's most important.

      Which library to use is up to you. I would advocate Allegro, just because I know it like the back of my hand and I'm a regular of the community site (allegro.cc/) so if you ask a question there I can be sure to answer it.

      Final thoughts: Be prepared to make a loooot of mistakes, and to keep making them. As long as you look at mistakes as a good thing, you'll do alright. And if you join allegro.cc, speak up, no matter how foolish you think you might be; cuz if nobody tells you what you're doing wrong, you'll just keep doing it!

      The post was edited 2 times, last by kibiz0r ().

    • I think that it is good if you start programming as early as possible, but I think that it's more important how interested you are on the subject and how motivated you are. If you have fun doing it, you should definetly continue doing it. And even if you don't get to work with it in the end, you get to be one of rather few people who knows how games work.

      What is the prerequisities for that program/course? You should get in contact with someone at the program to get an understanding of what you need to know when attending to it. It is different from one program to another. I am currently at my third year at a game development university program, and the only prerequisities where some high school math and stuff. But some programs require previous programming experience, so check it out.

      It takes a LOT of time before you "see your name rolls up the screen in the credits", and the most important thing is if you are ready to put the effort necessery to learn it, because it's not easy. However, take one small step at the time and you will be fine eventually. Hope I don't scare you too much :D

      good luck!
      "There are of course many problems connected with life, of which some of the most popular are: Why are people born? Why do they die? Why do they want to spend so much of the intervening time wearing digital watches?"
      -Douglas Adams
    • RE: Am I in over my head here

      So you want to be a game programmer... are you nuts? The gaming industry pays poorly, the hours are incredibly long, the work is very difficult, and nobody loves you. Artists are praised for amazing artwork, game designers are cheared for incredible gameplay, writers are celebrated for their story lines, the audio engineers are loved for their creepy sound effects, and the programmers and tarred and feathered because there happens to be a bug where you can get stuck on geometry (or the input mode stack isn't popped properly, which is what I'm dealing with today).

      Re-read that that last paragraph and really think about each point. You could make more money working less hours doing easier work writing Perl scripts at a web company. Even better, you'd be the hero.

      If you still want to be a game programmer, than you are totally crazy. Just as crazy as us.

      My point here is that you really should think long and hard about why you want to enter the gaming industry. If you can't come up with a good reason, maybe being a professional game programmer isn't really what you want. You have love it or you'll burn out in less than a year and be holding a useless degree (Games Development is pretty specific).

      Also, loving games isn't enough. Making games and playing them are completely different things, especially for programmers. I have no idea what happens in episode 1 of Ratrace except for a few pieces of story that allows me to put some of the systems I've written into context. I was demoing it to a friend on Saturday and had to skip one part because I had no idea what to do. I'd never played that bit.

      If you've gotten this far and my post and are still 100% sure you want to do this, I would suggest attempting to intern at a game company. Maybe contract for three months in the QA department, just to get a feel for it. Talk to the engineers, the level designers, the writers, the artists, the animators, the testers, the sound engineers, the producers, the management, and the mascot and find out why they do it and what they love about their job. When I started out, I thought I wanted to be a game designer. Then I found out what a designer actually does day to day and realized that my heart was in the code. Maybe you'll find the same thing, or maybe you'll find the opposite. Maybe sitting down and writing colored text all day makes you want to stab kittens. "I want to make games" is a tough thing to say because there are SO many aspects to game creation. What is it that makes you look at a game and think you can do better? If you think you can create a better story, maybe a writer or game designer is your bet. If you think that model is unrealistic, maybe art is your thing. If you think the AI is lame or are annoyed by some bit of Z-fighting, maybe it's programming.

      Finally, to offer a bit of Yin to the overwhelming Yang of this post, I'll tell you why I do it. Every now and then you step back and look at this wonderous thing you've helped create. And when it ships and is sitting on the shelf and you see people at the store actually looking at, your heart races and the sense of pride you feel is unmatched. There is no feeling in the world that can top the feeling I got when someone said to me "You worked on Barbie Diaries: High School Mystery? Wow, my daughter played that!" If they gave me a bright pink Barbie shirt that advertised the game, you bet your ass I'd wear it. Hell, I'd wear it out to goth clubs.

      At the end of Game Coding Complete, Mike talks about why we do what we do. I think it's literally the last page of the book. Read that page. He articulates it much better than I do.

      -Rez

      PS: I hope I didn't discourage you at all. My intention was to make you think about your decision and consider some things that you had possibly not considered before. No one should be a professional game programmer unless they really want to do it. (By the way, none of this applies to the hobbyist game programmer.)
    • RE: Am I in over my head here

      The "Games Development" course might be cool or it might be useless - it's hard to say without knowing more about it.

      But - just as everyone said, everything depending on how much energy you put into it. Game programming is a hard road - and just like anything hard you'll put a lot of time and effort into it before you see results.

      If you picked up a violin for the first time, how long would it take for you to play something the dog wouldn't yowl at?

      You are only in over your head if you underestimate it, or don't bring your very best.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • I was able to find a shop with internet access so I´m happy :)
      Thank you for all your replies, I appreciate it a lot.

      I couldn´t tell you why I want to be a games programmer specifically because It would make me look like the cheesiest cheese-monger in cheesy town, but I´ll try anyway, and I´ll hope that you can understand.
      It´s not just the "name rolling up the screen" thing that´s got me wanting this degree. When I was doing my A-level project, it was one of the best and most interesting experiences of my life. That might seem a little dull to you but it felt brilliant for me. I just loved writing the code, looking stuff up online and getting over the little problems that came my way. Also, when I came across a problem I couldn´t solve or look-up on the internet, my father would come upstairs and he´d help me with it, and that just added to the wonderful experience.
      When I finished I was so relieved yet so disappointed that it was over. I´ve tried writing a number of programs that I thought´be cool to use, but my lack of knowledge in that department has set me back to the point where none of my "projects" have been completed.
      Unfortunately I don´t have the money to buy books or CDs, to the point where the Game Coding Complete book was the first book I´d bought in god-knows how long. I know that the next book I´ll get will be a beginner´s guide to C++ or something similar.
      I was pretty young when I realised that I wanted to be a programmer. Watching my father work was always fun, but I never understood what he wrote down. Unfortunately, my father was and is too budy to teach me, and like I said, I can´t afford books or CDs. My IT techer was pretty useless in that respect; he knew the theory but that was the extent of his knowledge. Because of this my programming experience is limited to those rare tmes where my father actually had time to sit down with me and teach me a little. We made one of those "one-armed bandit" games in VB and that was also a priceless experience.

      Anyway, regardless of whether you´ve had the patience to read all of that or not, I´ll tell you this. You could talk to me all day about the crappy salaries and undesirable reputations that game programmers have, but it won´t change my desire to become one.

      Oh, as for the prerequisites of the course, it´s two A-levels a GCSE in Maths. The A-levels could be of anything, but obviously IT is desirable.
      I have an A-level in IT and Maths, as well as the aforementioned GCSE. The fact that previous programming knowledge isn´t required makes me hope that they´ll treat everyone as though they know nothing about it.
      I´ve already been accepted onto the course which will start in September, so I´ll be doing it regardless.

      Anyway, thanks to everyone who´s replied so far. I´m sorry if my reason why isn´t good enough, but It´s good enough for me.
    • Originally posted by Itsumo
      Anyway, thanks to everyone who´s replied so far. I´m sorry if my reason why isn´t good enough, but It´s good enough for me.


      That's all that matters. I wasn't trying to discourage you, I was just trying to make you really think about it and tell you some of the downsides for working in the industry professionally.

      -Rez
    • I've been an avid hobbyist programmer for 26 years, languages ranging from Applesoft BASIC and Assembly for the 6502 processor to C/C++/C# and Lua, and all I can really say is that learning the langauge is the easy part. It's what you say with it that's really important. What separates a good programmer from a fair one is similar to what separates a good author from a fair one - how you express ideas.

      Point of interest here - Visual Studio is available (separated by language) for free from Microsoft. Getting game samples to compile with Visual C++ Express may require a little extra dinking around, but it's doable.

      Visual C# and the XNA Game Studio Express are another quick, free path to get you started programming games - and there are several free tutorials on getting up and running. Most start out with simple 2D game examples like tetris or pong, so you can learn the basics of the language while also learning how to get your ideas from the skull to the screen.

      Dive in and enjoy!

      Rich
      "Your job is not to die for your country. Your job is to make some other poor sod die for his."
    • Intresting talk. It was kind of enlightening. Who knew it could be so tough? Although the math was to be expected I was surprised at the mention of a low salary. It doesn't bother me about the low salary even thought I didn't start this in the first place. My personal reason even thought I'm about 5 or 6 years away from college is
      • I love games
      • I love what makes games
      • The code looks cool(dumb I know)
      • I like math and its applications
      • Who cares about salaries you need the money of coarse but as long as you love the job...
      If you fail do not fret... Just destroy the evidence and imprison the witnesses.

      I used to hate cellphones but now I hate car accidents -Norma Jean
    • Yes, Visual Studio 2005 Express is a good place to start learning. You want to learn C++ over C#. The vast majority of the industry uses C++ (although we use C# for internal tools). Feel free to post any questions you might have along the way.

      -Rez
    • Its kinda funny why I like doing programming, or rather game programming. Programmers are the ones that make everything come together, they're the ones who need to come up with solutions to problems. Without programmers there would never be a game. I mean yeah we have graphics people, audio people, animators, etc. . . But they all use programs that we made.

      Some of the most fun I've had programming is actually debugging my code, it can be quite a challenge. But all the posts about how people hate programmers is true, all the crying about how theres a bug or something doesn't work is 100% true. The funny part about that is all it takes is one line out of a million to mess up a program. Programmers have to be almost perfect, and take the time to think of every possible outcome to a particular problem. Programmers have to assume that the person using their program is a complete moron and prepare for the worst case scenario.

      Game programming is fun, but its not for everyone. But I love it.
      - Brian Wight
    • Originally posted by Monalin
      Programmers have to assume that the person using their program is a complete moron and prepare for the worst case scenario.


      No, not by any means. We have to assume that they will be smarter than we are and that they will intentionally find any bug to break our game just to spite us.

      "It's supposed to be foolproof, but fools are so danged ingenius!"
      "Your job is not to die for your country. Your job is to make some other poor sod die for his."
    • Of course. "When creating a foolproof plan, never underestimate the ingenuity of fools." Can't remember who said that but it's basically the same thing.

      I'm starting my course tomorrow, and I'm moving into my student house today. I'm a little hazy on the whole internet thing in the house, so if it's not there I won't be posting for another week or so.
      Anyhoo, thanks for all your advice, wish me luck!
    • Don't forget - luck favors the prepared...

      Study hard!
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • "The gaming industry pays poorly, the hours are incredibly long, the work is very difficult, and nobody loves you. Artists are praised for amazing artwork, game designers are cheared for incredible gameplay, writers are celebrated for their story lines, the audio engineers are loved for their creepy sound effects, and the programmers and tarred and feathered".

      I'm going to keep that quote with me for a long time :).

      Anyway - when applying for a job in the games industry ...

      Solid Portfolio > Education

      Remember that ... and you'll do just fine :).

      Also - Dummies books are normally really poor and simplication will just damage you in the long run.

      And yea, if you stick with C# you'll be making tools until you're 40.

      Learn both.

      These are some damn good C++ books:

      amazon.com/Thinking-C-Introduc…ext_b/103-9684101-4116650
      amazon.com/Thinking-C%2B%2B-Vo…ks&qid=1192207623&sr=1-19

      This is a great read:

      parashift.com/c++-faq-lite/

      Good luck.

      I also suggest making a mod (I suggest HL2 - great community) - that's how I managed to secure a job in the games industry.

      P.S. A-Level IT still makes me sad. It's such a horrible course.

      The post was edited 2 times, last by Pongles ().

    • RE: Am I in over my head here

      Originally posted by Itsumo

      I've been hoping that this course will assume its students have little or no experience whatsoever in programming, otherwise I really be in over my head here.



      If you're going to Swansea Institute (where I'm studying HND Computing in order to be moved onto the BSc in Computer Games Development next year) I can tell you that they assume no prior knowledge. Hurrah.
      Trial and error is worth a million explanations.
    • Originally posted by Pongles
      Solid Portfolio > Education


      I agree with that. To be honest, I mostly ignore someone's degree as long as they have industry experience or can show me things they worked on in their own time. If someone can survive as a game programming for 2 years and ship a product or two, that's worth the same to me.

      Scary story.... we interviewed a guy fresh out of college. One question we asked was "when would you want to use an array over a linked list and vice-versa?" He couldn't answer it. When you have data structure API's like the STL, the knowledge of the underlying implementation of these containers starts to get lost. This is especially true for containers like std::list and std::vector which have very similar interfaces. This is critical information when you're writing high performance applications like games; you certainly don't want to be inserting into or deleting from a vector randomly. Basic data structure questions are pretty standard at my company during interviews and I imagine they are else ware. I'm curious how many people out there can answer the above question without looking it up.

      We ended up giving him a test. He was applying for a tools engineer position so we gave him a set of requirements for a fake tool (a pet database) and a deadline. We told him to write the whole thing in C#. He gave it to us a day early and the code looked clean and well commented, so we ended up hiring him. I think he'll be a good hire, but I'm guessing it'll be a while before we want him touching engine code.

      -Rez
    • Originally posted by rezination

      Scary story.... we interviewed a guy fresh out of college. One question we asked was "when would you want to use an array over a linked list and vice-versa?" He couldn't answer it.


      Oh my god. That's . . . wow. I can't believe that these things happen.
      Feel you safe and secure in the protection of your pants . . . but one day, one day there shall be a No Pants Day and that shall be the harbinger of your undoing . . .