Monday, September 27, 2010

10 reasons why my games have crunched #gamedevelopment #programming

Every game I have ever worked on has had crunch or overruns or both. So here I thought I'd document why. This isn't a philosophical piece or a dig at producers. This is just a list of the reasons that actually caused crunch or overrun. I've had 17 good years out of the games industry and I hope to have many many more. Planning is critical, but it isn't a silver bullet. Here, in no particular order, are the reasons:

1. Breaking down the task ahead is tough. No matter how thoroughly you try, and no matter how much you sit in front of Project thinking, you will ALWAYS mis-estimate the job ahead. Main reason for me personally is that I'm normally asked to project tasks for a deliverable I've not done before, from a codebase I'm not fully knowledgeable about.

2. It's hard to visualise the current state of the project. Even with encyclopaedic knowledge of the code (which is impossible these days) there are hidden corners of technical debt and malfunctions which make the task of building more code fraught with uncertainty.

3. I'm normally doing something for the first time, so can only give guestimates. In any other industry outside of blind research this is a bit bonkers. But, lets be honest, this unpredictability and newness is the reason programmers like me think game programming is the only kind of programming worth building a career from. 8)

4. The cost of code maintenance is not taken into account. At the start of a project you spend most of your time creating and designing. By the end you're spending a huge chunk of time simpy maintaining older systems. Doesn't break down well into post it notes, and is very hard to predict. Neverthelss, it always happens.

5. External tech will change and cause lost time. Whether it be OS upgrades, 3rd party libraries, or internal tech written by the bloke next door, improvements and optimisations always cause some lost time which is hard to schedule. It's worth it in the long run because your game runs smoother and does more stuff, but it always bites you for time.

6. Time spent managing branching and code merging is tough to plan and can eat up lots of time. Over-zealous branching strategies and sloppy planning can cost you a couple of hours a day at the end of the project. Simply grabbing, integrating and testing bad branching schemes soaks up a galactic amont of time. Games these days are dozens of gigs big, and even with good networks simply moving data around takes a long time.

7. Team education. No matter how much you brief people about the pipeline and tools, you will always have people who are stuck and need help. Even after great team briefs and lectures the process and tools will probably change and trip people up. Helping others is a great time sink.

8. Game creators are passionate about their games and want to put everything they can into it. Even after a thorough design phase there will always be 'one more feature' that the team will try to squeeze in. Human nature I suppose.

9. The designers a probably doing stuff for the first time too, so expecting them to have it all sorted up front is a bit unrealistic. Just as coders have to refactor the code as the project moves on, so the designers will refactor the design. Best strategy here is the design your code for change, and make sure people know the realistic impact of those changes.

10. You will need to refactor bad code. Mistakes happen, and sometimes code is so bad the refactor can't be put off. Tough to predict, but it's going to happen.

So that's my list. I've probably missed loads out, like bad management, poor decision making, and lack of skill, but then those ones are obvious and by no means restricted to games development, so why bother going over them in any depth.

Games creation is a tough, passionate, rewarding and infuriating career decision, but I can't imagine doing anything else 8)

Saturday, September 25, 2010

F1 2010 First impressions #f12010

After a couple of hours with F1 it's pretty much business as normal. After some very positive reviews I expected the new F1 to be better than previous ones, and it is. I also expected it to fall short in plenty of areas, and it does. I bought the PS3 version so I could use it with my G25, so different versions may have minor differences from this.

First off, graphically it's a reasonably pretty game, but not as pretty as those preview videos make out. There's TONS of aliasing and the frame rate drops very often. It feels not quite finished. Physics are moderate, but with decent force feedback. I enjoy GRID and DIRT 2 more, which tells me half the problem is the F1 formula itself. You see, and read this bit twice...

F1 cars are pretty crap to drive.

Yes they are fast, but that doesn't mean they are fun. And fun is what I'm after. GT5 feels better, as does pretty much every 'proper' PC sim. Yet again the track feels like glass due to there being no proper surface modelling.

Single player career looks very polished and full. If that's your bag then you won't be disappointed. The tracks themselves look nice but all seem a bit anonymous. The problem here is the actual F1 calendar and the more modern sanitised race tracks. I miss tracks like Brands.

Multiplayer is the usual console experience, with poor gameplay, griefers and plenty of dropouts. Not a patch on iRacing at all.

Sounds are OK but feel a bit sanitised. Not crackly and poppy like good F1.

I'll probably put a few more hours in and give the career a proper pop, but if it doesn't grab me soon its going on eBay.

Dont get me wrong though, this is the best F1 game in years. The problem is that F1 is boring to participate in because the cars are too extreme.

- Posted using BlogPress from my iPad

Thursday, September 23, 2010

iRacing to iMovie - the process. #iracing

After much faffing and trial and error i've finally got my iRacing exploits in to iMovie. Now its working I thought I would share the solution with you all. First off, you need to buy Fraps to actually create the video file. Fraps video files cannot be read by OSX so first you need to use 'Any Video Converter' on Windows to convert the Fraps file into XVid. once you have your xvid file you need to reboot into OSX. In osx you need to download the 'Perian' quicktime codec. Once xvid is working on osx open the video file with Quicktime and choose to export the file. I export the file and 720HD since that is the resolution I capture at. Once quicktime has converted the file you can import it into iMovie.

The journey through these codecs seems to boost the brightness of the video a bit, so get iMovie to reduce the brightness by 25%. Now you shoud have a good starting point for your iRacing video masterpiece.

If yiu need more details or have any questions please put a comment below 8).

- Posted using BlogPress from my iPad

Friday, September 10, 2010

Never thought I liked ovals... #iracing

I never thought I would have as much fun as I've been having with the Star Mazda at Phoenix. Tonights race was with the middle split, so the strength of field was much higher than last nights race. After the usual spins and cautions in the first half of the race I settled into a nice groove with a bunch of guys who were real polite and considerate racers. It was a pleasure to have real close racing with them. Going into turn 1 at Phoenix less than two tenths behind the guy in front, top gear and without lifting at 145mph is a real adrenaline rush.

I started at the back of the pack in 17th, but ended up finshing 7th under a 69th lap caution. Absolutely fantastic race and really makes me want to spend more time in the Late Model and get my oval license up past D.

- Posted using BlogPress from my iPad

Thursday, September 9, 2010

Better time at Phoenix #iracing

My second time out in the Star Mazda at Phoenix has been a stark contrast to the first catastrophe. Not qualifying I started 12/18 and planned on just finishing this time. 70 laps and 4 cautions later I came in 4th, less that 6 seconds behind the winner. It was a bit of a war of attrition since only 5 cars actually finished, but I was very pleased with the result. Didn't pit or pick up an incident point either. With a bit less wing and some spring tweaks I reckon I could have won. Maybe next time eh... 8)

- Posted using BlogPress from my iPad

Wednesday, September 8, 2010

Tough time at Phoenix

Went in for my first fast oval race at Phoenix last night in the Star Mazda. Did an hour of practice beforehand and had my setup sorted. Race time comes around and after the pace lap some plonker goes in hard on turn 1, slams into the wall and takes 3 others out, me included. Not a great way to start a 70 lap race... Didn't even got 1 lap done. Bugger 8)

- Posted using BlogPress from my iPhone


This is a test

- Posted using BlogPress from my iPhone

Backplate Musings

My original plan for the LINK_01... my first homebrew computer... was to ultimately have it built using a single PCB. But the more I think a...