Avians

This is an intermission from Shahid’s development diary and tangential revelations. I’m not going to start by talking about Chimera at all, or what I did back in the day. I’m going to talk about Angry Birds.

I hope most people reading this are aware of this popular mobile game is, but haven’t wasted any serious time playing with it. But it appeared on my Palm Pre store, so I downloaded it.

Angry Birds involves the repetition of a fairly simple task, with small gradations of difficulty. To my mind, it isn’t a game as such, any more than smoking is an entertainment. It is a well put together, and perfectly nice toy. Pull. Release. Ahh! Repeat.

But you see, it is called a ‘game’. Otherwise serious people call it a game. Now, it might well be fair to call it a puzzle game at a stretch, but that isn’t what I’m getting it. Its been downloaded over 5 million times, and so it can define itself as Mother Theresa if it so wishes.

With the power of the App Store behind it, the concept of “video game” is slowly being claimed by the casual audience. And they are entitled to do that. When I’m standing on a crowded rush hour train looking at a mobile screen, I don’t really want to read Karl Marx.

But we sort of know that a game should involve considerably more than what currently sells on an iPhone. Discovery, disappointment, surprise, frustration, suspense, success. That sort of stuff.

Chimera was one of the many way-points on the journey that was taking the gaming world to this particular Nirvana. Much as I like taking the head off a zombie with a shotgun, or even destroying pigs with falling masonry, it would be cool to guide more gaming back to epic virtues. Retro is but one way to follow this goal.

Rules and Consequences

Take this block scenario:

blocksexample.jpg

Let’s say the player character is facing block 1. For the sake of example, it doesn’t matter which part of the block he’s facing. (And for the sake of argument, “he” can be of either sex)

The player activates the “dematerialise” option. The verb “dematerialise” is applied to noun “block 1”. The block can dematerialise. It will still retain a ghostly outline. The dematerialise effect can also apply to all surrounding blocks to a radius of 1 if the player gets some kind of “power-up” for example. Now, so what if block 1 is dematerialised for an energy cost of say, 50 units?

Well, it might be that the only way to access a key card would be behind this block. It might be that the block itself (a crate?) holds a keycard or other object, that is also required in the level. Perhaps the colour or the shape of the block gives some clue as to its contents. In any case, it is a requirement to dematerialise the block.

At level 1, the block might only partially dematerialise, allowing you to get what’s in it.

At level 2, the block might mostly de-materialise, allowing you to pass right through it.

At level 3, the block would mostly de-materialise and nearby blocks (in the above case, blocks 2 and 3) would become partially de-materialised. You can pass through block 1 in this case, and take objects from blocks 2 and 3.

At level 4, blocks 1, 2 and 3 mostly de-materialise, allowing you to pass right through them, but at this level, the effect is very unstable and within a certain time, say 3 to 8 seconds, the blocks will re-materialise and if you are in them, you’re history.

The other effect I was thinking about was a “re-materialise” function. You might need to grab something from an already de-materialised block, Then levitate your robot. Then walk forward one step in the air while levitated to stand on the now re-materialised block.

The game can then include interesting sequences of materialisation, de-materialisation, levitation and object use. Even a small room could provide some interesting puzzle gameplay opportunities.

Now you know what I mean by “I want to build a playroom”

 

 

 

Planning and Back-Chat

I have been a Producer, both internal and external and that has taught me to look over project plans very carefully.

This is not really a project, it’s a hobbyist endeavour, a way of throwing off the professional shackles and processes learned over the last quarter of a century plus. If I was wearing a project manager’s hat, I’d be asking all sorts of questions, like:

“What are you trying to build?”

“Who is your ‘customer'”?

“What are the benefits of this product?”

“What are the risks?”

And so forth. These are questions I routinely ask of developers, and here I am just hacking away in hope. So what am I trying to build?

Essentially, a playroom. That’s how the room editor will start and it will then grow into the game itself.

And the first thing one asks of a playroom is, what will be the form of the playroom? And that gave me another decision to add to the list – rooms can be of variable sizes.

Another thing I was thinking about (infuriating how I go off on tangents, isn’t it?) was the knock-on effects of certain verbs. More on this soon, but first, a series on what I would have told the me of 25 years ago.

Back-chat #1:

“Label all your wires, label all your plugs, label all your PSUs, keep the wires untangled using any number of mechanisms and keep them separate, in compartments, or hanging off nails individually. “

I’d tell the me of 25 years ago to use the fancy Dymo Labelmanager too, but they didn’t exist back then, along with David Allen’s GTD system, without which I’d probably drown.

R467805-01.jpg

Why this instead of some computer-based thing? Well, it does one thing, print labels, and it does it well. Without the necessity of having anything else connected to it. Complex technology rendered simple is more likely to be used. Witness the iPhone for example. On the Dymo, I press that red button to turn it on, I type a label name, I press the Print button and out pops a perfect label which I can affix to anything. Then I press the scissors button (that great big silver thing on the top right) to chop it off, and turn the machine off again. Simple.

And why this long story about a Dymo? I wanted to draw an example to illustrate knock-on effects of certain game actions. For this I needed my touch tablet, the wire for which is neatly labelled and curled neatly and separately in its own compartment in a box. Instead of wasting precious time hunting for the right cable, I found it immediately and spent that precious time writing this post instead. Back soon with some sketches.

 

 

Developer Diary

Firebird weren’t initially that keen on an Amstrad version of Chimera, but I told them I could do it in a week and waited to hear back. Colin Fuidge was in touch shortly after and asked “Remember you said you could do Chimera on the Amstrad in a week?”

“Errr, yeah…”

“Well I’ve got C&VG lined up to do a diary feature on it. When can you get started?”

And that afternoon I went to Tottenham Court Road to buy an Amstrad CPC6128

amstrad_cpc_6128.jpg

And I had to start learning how to program the thing. I was also using the CPM Assembler (if memory serves) because DevPac wasn’t quite ready for it. Still, it had a built-in floppy disk and that was fantastic after the hell of the Spectrum and C64, because it was actually quick. Helpful to have speed when you make lots of mistakes learning.

The Amstrad’s screen was better than the Spectrum’s, much cleaner, but not quite as vivid for some reason, despite not suffering from attribute clash. I had the choice of going for 160 pixels across in 16 colour, or 4 colours at 320 pixels across. I went for the latter, which allowed me to re-use the graphics from the C64 version with some re-mapping. Unfortunately, the screen was twice the size of the Spectrum, so I had to use what I later discovered to be a similar technique to the one that Chris Stamper had used in his Filmation system. That gave me a bit of speed back and it ended up being faster than the Spectrum version for the most part.

As for the developer diary, well, it’s been preserved by the awesome Rich Hewison at The Bird Sanctuary. If you want to know if I achieved my target from quite literally a standing start, you’ll have to read the diary. I must warn you, the guy who wrote it sounds very immature.

A quarter of a century on I am half way through my week off and I’ve only just managed to get some code working. In the old days, you wrote a couple of lines of assembler and you had something on the screen. The openFrameworks library gave me a glimpse of something not a million miles from that scenario. Obviously it’s a complete illusion, I’m about as far away from the metal as I need to be and that’s no bad thing.

Last night after packing up, I spent an hour or so looking at the ofxBox2D add-on. Do I need physics for this? Is it overkill? Probably. I’ll leave it for now and focus on trying to get the Room Editor a bit more functional.