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

Dealing with the small guys

A lot of big companies will ignore you, and basically pretend you dont exist if you are a small company wanting to deal with them. Big publishers often don’t even dignify my emails with a response (you know who you are!). Some advertisers won’t deal with me “unless your budget is at least $10k a month”. I imagine some very testosterone fuelled executives get very aroused at the thought of being so l33t they don’t deal with small fry nobodies spending less than that.

But I know some companies who have built very efficient systems that let them deal with very small fry, and make a fortune from it:

Google adwords




Granted, this isn’t so much business to business (b2b) but consumer facing stuff, but if it can be done for the consumer why not the small business? Adwords deals with mega-corps, and the little guy like me. I know some people who spend a dollar a month there, I spend many hundreds of dollars a month. Its’s all money, and those dollars add up. Plus, when the small fry start getting big, they remember who their friends are, and who helped them up the ladder.

Some company who won’t deal with positech because we are too small is like me not selling you a game unless you will spend $200. When you buy a game from me, it’s automated, I don’t do anything on a per-order basis. Welcome to 2008, where automated scripts and computers make the cost per transaction close to zero. Has everyone re-engineered their company philosophy to deal with that? because google have. Maybe I have better processes in place than some of those big mega corps that won’t do business with me?

Drunk…but look! cheap games!

Just got back from an alcohol fuelled fathers day thing. So too inebriated to post coherently. but look! fellow indies adivtive247 are 7 years old and selling ALL their games at $7 each! enjoy it while it lasts!:

Offer ends 22nd june apparently!

The Influence Game

Want a free ‘big picture’ game idea?


One day (no idea when) I’ll do a game based around influence. I’m not sure the exact form it will take, the mechanics by which it will be played, or the setting. Bu the ‘theme’ will be influence. As games get more complex and established, we need to move on from variation on the theme of ‘use gun on enemy’. The only two real ‘influence’ games I am aware of are ‘The Sims’ (you tend to influence rather than direct your sim) and Black and White.

I know a lot of people get frustrated by not being able to directly control their cyber minions. Surely games are an escape from reality, where we seem to have no control over anything. Do we really want to play games where people ignore us and don’t do what they are told.

I do. I think influence is far more interesting than power and control. Influence is subtler, more complex and way cooler. Would you buy a game about influence?

Minimizing Texture Swaps

Heres the other ‘big thing’ that sometimes causes 2D games like mine to slow down. Not drawing too many pixels, but changing what image is being drawn from too often. Video cards are great at drawing tons and tons of triangles using the same image to copy the pixels from. changing which image is ‘active’ will cause a major stall in the video cards rendering operation and waste time. Bizzarely, AFAIK you can only have ONE texture as the active texture for any specific moment (without doing multiple textures in different ‘stages’). So regardless how many pipelines your card has, you can’t be drawing from two different textures to two different polys at once. (is that right?)

Worst case scenario:
You render 200 sprites on screen. half have texture “ogre.bmp” half have “elf.bmp”. They have to be drawn from back to front, so that nearer ones obscure further ones. They are positioned (in distance from you)

Elf / Ogre / Elf / Ogre / Elf….

Etc. This is hell. because it means changing the texture 100 times. Ideally what you would do is get the video card to sort this stuff out. You would use Z values (distance from the viewer), and send all your sprites to the card with the right Z values and let the card sort it out.

Thats easy if you have a nice modular engine where every single rendering call goes through some nice sorted system where everything drawn on the screen is esentially some offshoot of the same base object. if you only ever draw sprites, then just send a huge bunch of Z-positioned sprites to the card and click go.

Unfortunately few engines work that simply, because there is no ‘one size fits all’ drawing object. Text is often composed of thousands of 2-poly characters, best sent as a vertex buffer. Some lines and primitives are drawn using direct 3dDevice rendering calls. And some are sprites with different render states. This is where it gets horribly messy. I’m slowly, with each game getting closer to a system where I am not blindly just rendering over the top of myself and hoping for the best. I can at least now bunch up a load of sprites called from different places, and have them drawn with a single call. What I don’t have is a perfect system that auto Z-sorts my sprites by position and texture, and makes the most efficient calls. maybe some 2D games have such a system, but I’m assuming most of them just don’t do enough fancy drawing for it to be an issue (or they ignore backwards compatibility with slower cards).

If I was a bigger company with a dedicated graphics programmer who just worked on the engine, I’d have a better system, but I’m still a one-man show doing everything, and there just isn’t time :(

Think Big

Just inspired by ‘enemy at the gates’ on TV tonight to find a picture of this statue:

Check out the people at the bottom. Yes it’s THAT big. It’s a monument to the battle of stalingrad apparently.

Holy cow.