Game Design, Programming and running a one-man games business…

Work For Idle Hands

One thing GSB does that I’m quite proud of, is run an ‘idle manager’ to smooth out the frame rate. In concept, it’s pretty simple. There are some jobs that need doing in the near future, but not *NOW*, and some that are optional. The idle manager works out that we have some spare time, and does them accordingly. In code terms it’s a lot more involved.

GSB has a target frame rate, and checks the time since last frame in the main game loop. If there is some ‘spare’ time before the next frame, it tells the idlemanager, and checks again once the idlemanager has finished. The idle manager has a list of tasks, and it cycles through them in turn. Two of the common tasks are these:

1) Check that we aren’t running low on any pre-cached particle effects, and if we are, pre-cache some new ones ready for future use

2) Check if any laser blasts which are missing their target happen to intersect with some debris. If they do, make the debris explode.

task 1) is vital for performance, task 2) is optional graphical fluff.

The implementation of an idle manager is cool because it allows you to use the fluctuating rendering-demands per frame to your advantage. It also means you eek as much usage as possible out of a single processor core. In multi-core, multi-threaded systems, this is all done much better by having a separate thread, which can spin off and do this stuff at your leisure. There can be synchronisation issues in that case though (I don’t want to change the list of cached particles while another thread is altering them too etc).

If you can’t be bothered with the hassle of multithreading, I recommend implementing something like this idle manager at the very least, assuming performance is vaguely an issue for you. I’m writing the idle code for my new game right now, and it will be a bit cleverer, and more involevd and possibly multithread stuff too. I hate to think the game would drop a frame when it could be avoided by doing this sort of stuff.

Solar update, and motivations

Regular readers of this blog might know that one of my long term goals is to get solar power hooked up at my house, a task massively complicated by it being a listed building, and the planning authority being bureaucratic gits. Anyway… we finally have the planning notice nailed to our fence awaiting neighbours comments (there won’t be any, nobody even walks past our house), so the wheels are in motion. I know some people are trendily anti-green-energy, so I thought I’d lay out my motivation:

1) Energy prices.

Clicky here: http://www.decc.gov.uk/en/content/cms/statistics/prices/prices.aspx to get unbiased figures, and you will discover that from 2005, UK domestic electricity prices have risen by 55% since 2005. Yup, that’s 55%. In 6 years. Assuming my panels last at least 12 years, they will preside over another (v roughly) doubling of electricity costs. We aren’t building new coal or new nuclear in the UK, and the severn barrage has been turned down, so I don’t see supply rising in those 12 years. Meanwhile the population rises and people keep buying domestic gadgets that drain power, plus people buying plug in hybrids soon will only add to the demand. Plus a greener future government could levy a tax on energy that raises prices even more. I expect the price to have tripled by 2020, personally.

2) Feed-In-Tariff.

It’s VERY generous, and some people resent this, but it’s there for a reason. It’s to make solar panels a no-brainer for the home-owner and kick-start our market. There is literally no good reason other than aesthetic to not stick them on your roof if you have a south-facing one. You are literally burning money with it sat in a savings account, on the roof, the returns are higher :D It says a lot about how behind Germany we are that even with such a high incentive, people are not doing this.

3) Geekiness / Green-ness

I’m a fully fledged Geek AND I’m a committed tree-hugger, so it’s no surprise that I want some cool geeky tech. I reckon if nothing else, the panels will 100% power everything in my home office, meaning positech can claim to be a carbon neutral game developer. bwahahaha! Plus, I like the idea that occasionally the energy company has to pay ME money.

We should know in roughly a months time if we get the go-ahead. The company to install them has been chosen, the site selected, the money (£10k) set aside at last. It’s only some jobsworth in the local council who could stop me, and if they turn it down, we will appeal. I’m a stubborn bastard, if I have to drive to London and personally harass the energy secretary to overturn it (they have that power) I will do so. Expect a ton of geeky photos and details and stats and analysis of the things if I ever get them installed. Once I’ve recovered from my celebration hangover obviously…

constant password changing silliness

And I quote:

Use the form below to change your login information.
* Make your password something you can remember and difficult for others to guess.
* Your new username/password will be effective immediately
* Password should be at least 6 characters long and should contain at least one capital letter and one digit
also, your password must start with a letter. (legal characters: a-zA-Z0-9_\-?!@#&$%^*()|)
* Password expires every 90 days.


You get no warning it will expire, and when you are FORCED to change it, they demand you reply to an email which they haven’t sent, as of ten minutes later. I can effectviely no lonegr use their service.

Somewhere, some flipping idiot at Plimus thinks this makes their system more secure. it doesn’t, it just means I switched to BMTMicro.
Dorks.

Land Air Sea Warfare

So who else has played this? it’s a pretty cool little game. If you enjoyed RTS games before they went 3D, you might like it.

I mention it because someone on the blog commented on it, so I checked it out and today added it to showmethegames here:

http://www.showmethegames.com/strategy.php

It’s one of those ‘build a metric crapload of units’ style RTS games, and surprisingly moreish. The developers site is here:

http://www.isotope244.com

My current news is very technical. A lot of waffling away on vertex buffer batching code to make my engine much, much, much smoother and faster. If I ever write GSB 2, it will run much better on older machines. Not that it’s a slouch now, but it could mean bigger fleets :D

Still a while before I begin hinting at the next game…

 

 

My game university course experience

Ok, so today I went along to Kingston university to be their guest at a games production course. It was pretty interesting, and fantastic that they thought to invite not one, but two indie devs (I was the second one) to go talk to students. I LOVE the idea that students on games courses aren’t automatically told ‘now go get a junior tester job at EA’ at the end. It seems that being an indie developer is considered a pretty reasonable career move now, which is awesome.

The students games were a mixed bag. Some had some really cool ideas. One of them had a really marketable, really clever, really original (I thought anyway…) character as the hero. Some of teams had obviously thought quite hard about business strategy for their game. Some had not…

What I tried to get across to them, and in retrospect I was *really* easy on them, with this point, is that the competition for game development jobs, sales, and success is HUGE.  Assuming that people doing this course see themselves, eventually as being a lead programmer/artist/designer on some big budget cool game in a few years time, they massively need to up their game by a scary amount.

If you are doing a game design or production course right now, you need to not only be top of your class, you need to be sailing past that goalpost so it’s a distant memory. You need to be clearly, unambigously, demonstrably the very very best at what you are doing. Think of it like this:

  • You have no experience.
  • You have no reputation.
  • You have no contacts in the industry.

So you need to absolutely flipping blow people away with your skills and your portfolio. If you are a coder, that means having straight A’s in everything, and knock-out demos that prove you have serious mastery of your language(s). If you are an artist you need a BIG portfolio showing stuff that makes people go *wow*.  If you are a designer, you need a large number of diverse, fully designed, fully described, game designs in different styles. You need to be able to critique a game design idea read out to you, on the spot. Can you do this?

If you don’t have that, the job will go to one of the 99 other applicants who have all of those. If you think I’m kidding, I’m not. I’m a humble one-man studio and I regularly get sent CV’s from people wanting a job. I suspect Bioware and Valve get quite a few more :D

And that is to get a job at an existing studio. Running your own studio has a whole set of extra challenges and demands. This is an awesome job, and a great industry. It is, not surprisingly very difficult to get to do this.