Saturday, March 23, 2013
If you have trouble thinking of demos to make, and want some programming challenges, you could try Project Euler.
While it's not games specific, if you just want to exercise your grey cells and practice some coding, it's a good place to start.
Sunday, March 18, 2012
Plumbers crack, it seems, is not just for plumbers. Somewhere between the free soda, trendy low cut jeans, and tightening T-shirts, it seems that game programmers are suffering from this too.
Please, take a moment, without adjusting your clothes or how you are sitting, just reach your hand back and feel around. If you feel any exposed skin, or crack, then you need to put it away.
- Don’t wear low cut jeans to work. Save them for going out.
- Get some T-shirts which are longer in the body.
- Wear a long shirt, sweater or jacket.
- Get a tattoo that looks like a pair of jeans.
Thank you for making the world a better place.
Thursday, October 13, 2011
So, What is your position at Heavy Iron and what are your specific duties?
- I am the ‘Studio Technical Director’.
- I am the head of the programming department.
- I spend some of my time programming the game, and tools we use to make the game.
- I work with other senior programmers and other departments (e.g. art, animation, sound, design) to work out what new features we should implement in our game/tools, and how to implement them.
- I spend a little time in management meetings, where we discuss future projects, hiring of staff and other studio management things.
- I’ll start by giving my history:
- I grew up in England.
- I first got interested in programming when I was about 10 years old. I was given a computer which could run games, but you could also program ‘basic’ on.
- Through school, I chose classes with computers in whenever I could.
- I went to University and got a ‘Bachelors of Engineering in Computer Science’.
- After University I got a job as a ‘junior programmer’ at a games company.
- I’ve now been working for 15 years, at four different companies. The last 9 years, I’ve been at Heavy Iron.
- I gradually became better and better at my job, and rose up to mid-level programmer, senior programmer, technical director and now studio technical director. At one point I was ‘lead programmer’ on a couple of games, and now the lead programmers report to me. (Lead programmers are the ones who do a lot of the decision making about how a game gets built – it’s a tough job, but fun too.)
- To get a job as a programmer, it’s best to have a college degree in computer programming – specifically in C/C++ for the kind of games we make (PS3, Xbox 360, Wii) and several platforms which we don’t currently make games for (PC, Mac, iOS/iPhone/iPad, PSP, 3DS, Wii U).
- In terms of skills and experience for my current position, I’d say you need many years of experience of programming games, and also a tendency to organize people, a curiosity for how things work, and a drive to make things and do the best job you can.
- I tend to think that students who like and do well at math and physics, tend to make good programmers.
- We work on one floor of an office building. Most people sit in ‘cubes’, and some people sit in one or two person offices.
- Compared to a ‘normal office’, we tend to have more ‘tech’ sitting around – monitors, TV’s, game consoles. Also because the industry has quite a lot of young / creative types, there is a fair amount of decoration – game posters, character models from TV/Movies/Games.
- The group of people are fun to work with, and are mainly in the 20..40 years of age range. It’s mainly guys, but there are a few gals around too.
- Yes. I am a full time employee, and so are most of the other people here.
- A few people are on shorter term contracts, but (so far at least) the industry tends to mainly consist of full time positions.
- Yes. Health, dental, vision, life insurance, disability. The company pays most of it, but I also pay some. It’s automatically taken from my paycheck.
- I love programming. I do it at work, and then I go home and do it for my hobby / for fun.
- I really like working with the nice people at work. Working as a team and making games is fun.
- I like making cool tools (programs) which we use for making games.
- I also teach programming at a local college one night a week. I like helping other programmers get into the industry, and spreading my passion for game coding.
- Being a manager comes with some dull tasks, like approving time-cards, sending out reminders to people that they need to keep the place clean, etc.
- Again, as a manager, you sometimes need to tell people that there are problems with their work, or their behavior. It’s never fun to tell someone bad things like this.
- There’s a current shift going on from consoles like Xbox 360 towards mobile devices like the iPhone, and web games. This means companies and workers need to ‘stay agile’ and change with consumer demand.
- That’s one fun thing about the game industry though – there’s always something new coming at you, to keep things fresh.
- Get a degree.
- If you can, get a programming internship. Try and closely match what you want to do for a living – e.g. working in C++ at a games company.
- Write your resume, cover letter, and optionally create a website which shows demos of your work.
- Email it in to companies.
- If they are interested, you will then go through their interview process. This might include a phone interview, a written test, and an in-house interview.
- For a junior programmer position, I expect to see a degree, that you’ve been programming in C/C++, and then hopefully some evidence that you’re really good and committed.
- It’s also nice to see some game-centric skills like doing GPU shader work, physics simulation, writing games, and making personal projects.
- Code all the time. Become an awesome C/C++ programmer, and you can’t go far wrong.
- If there’s an area you know you are weak in, or don’t understand, make a point of learning that area and becoming strong in it. Don’t just ‘work around’ your weaknesses. E.g. if you don’t understand C pointers – make it a point to get good at them.
- If you graduate and don’t yet have a job lined up, don’t stop coding. Code more than ever. Otherwise you quickly forget things, and your chances of getting a job decline over time.
- I have many other tips on my blog here (see the older posts with this tag first).
- Hah. I think we all do. Perhaps once a month :)
- It’s a tough road though. No regular pay checks, no benefits, a lot of competition, and it can be harder than you might think to make a complete game and ship it.
- It’s certainly possible, but I recommend getting a ‘proper job’ first to hone your skills and better appreciate the industry.
Monday, July 25, 2011
A common problem when working on games and other programs is that you end up with some magic numbers in code which need lots of tuning. If you don’t have a good solution to the problem, you end up repeatedly making changes, recompiling, running, and then repeating.
Wouldn’t it be great if someone made a drop-in system which gave a UI for tweaking values at run time? Well, Philippe Decaudin has done just that, and has written AntTweakBar.
I just used it. It dropped in with just a few lines of code, and looks/works great in game. Now it just takes one line of code for each variable I want to tweak in game. I’m very impressed. Check out this video of AntTweakBar in use.
(This is for C/C++ by the way.)