Advertisement
MODs please see this information notice in the mod's forum. Thanks!
Boards Golf Society are looking for new members for 2022...read about the society and their planned outings here!
How to add spoiler tags, edit posts, add images etc. How to - a user's guide to the new version of Boards

Another "please help with starting out" thread

  • #1
    Registered Users Posts: 2,546 ✭✭✭ C14N


    Yeah I know that this is seemingly one of the most asked questions in the game dev community but I've spent many hours over the course of a long time looking into this and lurking in various forums and I still feel confused on this. Some pretty specific advice would be just delightful right now for me. I'm fully aware I might still not get it since this isn't the most active board and this post will probably be very tedious and long but it's worth a shot.

    So here's my situation: I'm 21 years old and currently in my 3rd year of a 5 year masters in electronic and computer engineering program at UCD. I know that this isn't an ideal place to be getting into the industry from and most of the time it seems like the right way is to go into computer science but it still feels like a pretty solid degree for the field (please, please correct me if I'm wrong) and I intend to finish it. I do get the strong impression that eng graduates have very little difficulty finding jobs, although this one is clearly very specialised and competitive so things are a lot less certain here. For the record I'm no prodigy but I am a pretty smart guy; I got As in maths, physics and accounting in the leaving cert and I've got an upper second class honours (2:1) grade at the moment in college.

    While I've been here I've realised that I greatly enjoy programming. The biggest problem is that we don't do a whole lot of it and all I know is some C as well as basic C++ from more recently. For what little we've done though, I pick it up quickly. I'm very good at it (relative to others in the class) and I liked it enough that I could probably spend more time learning it by myself if time permits.

    I'm just going to lay all my cards out here and say, with the high probability of coming across as an arrogant prick, that my long term goal is to be a game director working on AAA projects. I'm fully aware that that may never happen, I'm especially aware that it won't happen in the next 10 years or the foreseeable future. Maybe it's unrealistic, maybe it's naive, maybe I've already shot myself in the foot already by taking the wrong degree or maybe I'll just never be good enough to do something like that. I know nobody just walks out of college into a job like that or just gets handed it for turning up. The point is though that I'd like to get into some kind of position where that upward mobility exists.

    So now that I've put all that out there, what I'm really asking is, what should I be doing to allow myself to get into the industry in the first place? I have zero connections in the industry and I'm pretty sure nobody I know even has any connections. Obviously, there aren't any AAA devs in Ireland so living abroad would be inevitable, but that's not a problem for me. What's the best way to get started though?

    The way I see it there are a few options I have right now.
    1. I can just stay the course, get a more standard software engineering/programming job, spend a couple of years getting experience that way and then look at getting into games; intuitively it seems like it would be a lot easier trying to get in as an engineer with 5 years of programming experience than trying to get in as a graduate with none.
    2. I can try and find some kind of work somewhere like one of the mobile games developers or middleware companies (Havok, Demonware etc) in Ireland, possibly unpaid during summer or full time after graduating and maybe use the experience there to get in to the industry. I don't want to get stuck somewhere like that either though and I wouldn't want to spend time doing something like that if it didn't provide a step into the bigger industry.
    3. I can try and make some small games by myself. I regularly see that it helps a lot to have something to show when looking for a job, something you can clearly point at and say you've made. The problem is that I don't have any idea how to do this. I can do some programming (or learn more) and could make some basic art and music too but I haven't the foggiest of how to put these together into game form. I'd also expect that this would have to be done during summer as college take a lot of time out for me. That means not getting paid work in summer (still 2 summers to go) which isn't ideal but it is feasible, although I wouldn't want to do it unless it would actually be very helpful. Are there any small amateur/hobbyist teams around that you can join to get the ball rolling here?


    If anyone has made it through that and still has any advice to give then I'd very much appreciate it. Maybe there are other options I'm not seeing but if someone wants to make a suggestion then I'm all ears. I'm not someone just kicking the idea around, I am very serious about this, it's all I've really wanted to do since I was about 14 and, long-term, I'm going to get myself into the industry one way or another.


Comments



  • Hey C14N,

    Firstly, There is absolutely nothing arrogant about aspiring to be something no matter how far fetched is seems. You are in a stronger position than most, you are 21 and know what you want, I'm 27 and I'm still not sure :P

    I can't really help you with your end goal of becoming a game director. I can try offer some advice.

    Some of my background, I did a degree in electronic and computer engineering in NUIG. After college I worked with a startup for 18 months working on VOIP phone systems and embedded systems. I then joined a financial services company as a developer. This year is my sixth year in the work force (so 5 year experience)

    Your options above don't seem exclusive to me, you could do pieces of all of them.

    Regarding point 1: As I said above I have been working 5 years. Without question I am a much better developer now than I was leaving college. Even on a relative to my peer scale I am much better than I was. I would have been considered the average at best student in college, but I would be considered a string software developer, now that's how to sound arrogant! In the last couple of years I have started to write games on the side. Its tough, game development is a time consuming but I think to be honest I happy enough to have the way I do. Game development is an incredibly tough way to make a living. "Solo indie developers earned an average income of $11,812 in 2013" , this is from the US, starting salary for a software engineer over there is around $60k. I like not having the pressure of the games I make needing to be successful, I want them to be but its not going to impact my standard of living if its not! I also go through phases of game development, where I really want to do something one month and the next I need a break from it.

    Regarding point 2: No reason why would couldn't try get a internship while still in college, in fact it would look super on your CV if you could.

    Regarding point 3: I can't recommend this enough, whatever you decide to do start making side projects right away. Make small games to begin with to learn, every game you finish out will make you better, so you will be better prepared for the next one. If you have an idea for an expansive game you want to make, sit on it for a while in my opinion. Make your mistakes on smaller games. If you look at the game I made last year "Soc-Car" (playstore, but there is also a youtube video) its not a complicated game, this took me 100s if not 1000s of hours and plenty of late nights and long weekends. It took a lot out of me to be honest. I took a few months off side as a result The game I'm currently making I have a much healthier approach to development, just kinda tipping away on it whenever I get a chance.

    I use libgdx for development, I find it really nice and its free. There are plenty of introduction to libgdx tutorials floating about. If you were to go down this route If you run into any issues if you post up here I would be happy to help if I could.




  • Ok bearing in mind I'm 17 so any advice i give about careers is going to be kinda... Yeah. (I have been making games for 5 years though, so I know what i'm talking about in that respect. ) I would say start with some side projects asap, there's so many resources to get started with online.

    I'm using cocos2d, which is for iPhone/Mac, but there's one in c++ for android/PC too: cocos2d-x(dot)org
    For me that was about the right level, where you don't have to deal with the really complex OpenGL stuff, and can actually start getting stuff moving fairly quickly. It's probably the most popular framework, so you can google errors or problems really easily. Also it's free and open source. See also: raywenderlich(dot)com

    Also have a look at Unity3d, another really popular platform. This has a UI, but requires scripts written in JS or something else i forget right now. It used to be 3d-only, but there's a new 2d engine.It's free until you want to publish something, or at least it was.

    When it comes to art, I've found everything i could ever want on opengameart(dot)org . It's a website devoted to creative-commones licenced art. Also pixel art is fairly easy to make, so most of what i've been doing lately has been pixelated.

    Hope this helps!
    Oisin




  • C14N wrote: »
    I'm 21 years old and currently in my 3rd year of a 5 year masters in electronic and computer engineering program at UCD.
    Is this a four year degree course with an additional year or so at the end for the Masters? If so, would you consider leaving with your Degree and switching to a Masters in Game Development either in Ireland or the UK?




  • In the last couple of years I have started to write games on the side. Its tough, game development is a time consuming but I think to be honest I happy enough to have the way I do. Game development is an incredibly tough way to make a living. "Solo indie developers earned an average income of $11,812 in 2013" , this is from the US, starting salary for a software engineer over there is around $60k. I like not having the pressure of the games I make needing to be successful, I want them to be but its not going to impact my standard of living if its not! I also go through phases of game development, where I really want to do something one month and the next I need a break from it.

    Yeah I kind of imagined that, which is why I was more interested in getting into AAA even though it seems like most young devs are going indie with the wealth of platforms and success stories these days. From what I've heard, AAA devs still get underpaid compared to software engineers in other industries but it's still generally a bit more stable. Indie is kind of a high-risk, high-reward prospect. In some ways, I'd also think it might be nicer to use the time as a regular software engineer to save up some money too.

    So do you think it is true that it would be a lot easier to get work in the industry now if you wanted with your current credentials than if you had started looking straight out of uni or do you think that the programming experience you got outside of your game projects still wouldn't be that relevant or a much of a boost?
    Regarding point 2: No reason why would couldn't try get a internship while still in college, in fact it would look super on your CV if you could.

    Yeah I'm definitely itching to get something this summer. Since I was 17 I've spent summers doing regular minimum-wage kind of jobs that had nothing to do with my field and I'm looking to get something more relevant this year. The toss-up is whether that kind of experience would be beneficial enough to possibly forego getting paid, or even if it would be possible to get one at all (bearing in mind a lot of these gaming companies are probably just small teams).
    Regarding point 3: I can't recommend this enough, whatever you decide to do start making side projects right away. Make small games to begin with to learn, every game you finish out will make you better, so you will be better prepared for the next one. If you have an idea for an expansive game you want to make, sit on it for a while in my opinion. Make your mistakes on smaller games. If you look at the game I made last year "Soc-Car" (playstore, but there is also a youtube video) its not a complicated game, this took me 100s if not 1000s of hours and plenty of late nights and long weekends. It took a lot out of me to be honest. I took a few months off side as a result The game I'm currently making I have a much healthier approach to development, just kinda tipping away on it whenever I get a chance.

    Well one way or another, I can't start right now. Unfortunately college is really a time sink for me and I don't get a lot of free time at all. Usually during term I find myself giving up on even playing games. Don't worry though, when I start it will be small. I'm not one of those people that wants to make the next Skyrim by myself and puts the alpha version on Steam Greenlight as soon as I get the project to build :pac: I do actually spend a lot of time trying to come up with simplistic ideas for games that can be fun or impactful. A game I really admire is Loneliness for being incredibly simplistic and small but memorable at the same time.
    oisincar wrote: »
    Ok bearing in mind I'm 17 so any advice i give about careers is going to be kinda... Yeah. (I have been making games for 5 years though, so I know what i'm talking about in that respect. ) I would say start with some side projects asap, there's so many resources to get started with online.

    You're the kind of person that makes me feel like a slouch who couldn't possibly get a job. Good on you for getting started so early, wish I spent my teenaged years being so productive.
    oisincar wrote: »
    I'm using cocos2d, which is for iPhone/Mac, but there's one in c++ for android/PC too: cocos2d-x(dot)org
    For me that was about the right level, where you don't have to deal with the really complex OpenGL stuff, and can actually start getting stuff moving fairly quickly. It's probably the most popular framework, so you can google errors or problems really easily. Also it's free and open source. See also: raywenderlich(dot)com

    Also have a look at Unity3d, another really popular platform. This has a UI, but requires scripts written in JS or something else i forget right now. It used to be 3d-only, but there's a new 2d engine.It's free until you want to publish something, or at least it was.

    So is cocos2d sort of like a game engine too? I actually know about Unity, but I didn't know it was free or could be used for 2D projects. Are these kinds of programs fairly easy to pick up and play with or is it better to spend some time learning a bit about coding first?
    gizmo wrote: »
    Is this a four year degree course with an additional year or so at the end for the Masters? If so, would you consider leaving with your Degree and switching to a Masters in Game Development either in Ireland or the UK?

    No, the current UCD system is to do a 3-year BSc and follow it with a 2 year ME. It used to be 4 years then 1 but it changed shortly before I got in to be more in line with EU standards. The BSc by itself isn't worth much though by itself and I do still want to keep options open to other things as well. Being a game dev might be what's been on my mind for the last 5 years but I'm still just 21, for all I know by the time I'm 30 I'll think it was a terrible idea and wish I was doing something else:p




  • I suppose i have my stupid easily breakable collar bone to thank for getting me started so early.

    Cocos2d isn't a game engine as such, it's a library of code. It allows you to add images to the screen and run animations on them. I think it really takes out the really tedious stuff that's associated with textures and other things I'm not going to say because I'd get it completely wrong :s.

    When i started with cocos2d i had practically no idea what i was doing, and although i was able to make some simple things it was fairly frustrating at times. If i was going to learn again i'd make sure I at least find "simple" coding (using methods/functions, loops, if/else statements ect.) fairly easy. If you can understand how classes and inheritance works on top of that that's probably all you need. The more you know however the easier it gets.


  • Advertisement


  • Definitely stick with the course and see it through. I've known game programmers from all sorts of academic backgrounds besides CS - maths, engineering, signal processing, etc. When it comes to getting a job in the games industry, your ability to code and your personal projects will weigh far more than the title of your qualification. But leaving the course early will look bad, and as you said could also cause problems later if you decide the industry isn't for you.

    Doing stuff with Unity etc. might seem attractive, but if you're looking to get into AAA as a programmer then you'll need good C++. That means lots of practice, making personal projects that you can show off (maybe with a public Git repository for example - shows you also understand source control). They don't have to be complete games either - it's more important to show what you understand rather than how good you can make something look. So something like a multi-threaded job scheduler or a C++ reflection system is going to look just as good as a complete fleshed-out game. Maybe even better - you won't be hired to write the whole game, you'll be hired to work on a specific part of it.

    Have an think about what sort of programming role you'd like. There are many options - rendering, tools, engine, gameplay, networking, animation, physics, build systems, and more. If there's one specific one you like the sound of, tailoring your projects towards it will look much better at hiring time.

    And by 'hiring time' I mean the 2 minutes somebody takes to look at your CV/website/repo to decide if it's worth spending any more time considering you properly. It's critical that you make everything as easy to access as possible. Provide executables - nobody's going to compile your code to run it - and make sure they run on multiple machines without any missing DLLs or any other problems. Make any demos short and to-the-point, showing what they do quickly and obviously. Simple is fine as long as it works and works well.

    Write your code with the assumption that someone is going to judge you on it, because they will. If I came across a candidate with the most amazing qualifications but found his code to be a complete rat's nest of single-letter variable names and uncommented 1000-line functions, I'd have serious reservations. Make your code clear, concise, easy to read, well-commented and well-structured. Favour simplicity (readability & debuggability) over complexity. You don't have to write everything yourself (it's fine to use something like SFML for input/output), but make sure you understand the concepts behind any library you do use. For example if you're going for a rendering role and you used something like GLM as a vector libary, I'd want to see evidence in your own code that you already understand the maths being done in the library. Or if you use STL containers, be prepared to answer interview questions on how those containers work, what makes one container better than another for searching or inserting, their memory allocation patterns, etc.

    If this all seems a bit daunting, ignore me! Initially anyway - just write a few simple games, and have fun while doing it. You'll end up learning a lot just by seeing them through. I always suggest Asteroids as a good starter - it will teach a bunch of different important aspects of game programming (object oriented programming, memory management, vector maths, 2d rendering, simple physics, collision detection - even some crude AI if you add the aliens), and is still small enough that you can finish it in a reasonable amount of time. It's a fun game too :)


Advertisement