Gaming & Entertainment Raspberry PI Jam

Chris’s slides from last nights Brighton Raspberry Pi Jam

He was a great source of knowledge on all things XBMC, I’d definitely recommend hitting him up on his blog or twitter

Chris Swan talking about Entertainment & Gaming on the rPI

Quake3 final running on Raspberry Pi's

The Pi’s held up really well during the tournament.  I think the only really issue was the first round all the players where called ‘unnamedplayer’  .  user error :)
Ive put a tar ball of the quake3 binary up online here
to run and play
exit x – and login to the console
tar -xzvf Quake3.tar.gz
cd Quake3
That should launch the game.  As i mentioned last night I think this is all 100% legal, the engine is definitely released as open source and the level packs dont seem dodgy.  If any one thinks this is incorrect, let me know and i’ll delete the files.  Also, i think this version is fairly similar to the one now available on the raspberry pi store    which is likely to be a better source.

Why i love… Momonga

Momonga terrified me for a while. I love pinball, the real version with actual wood and metal bits, and the virtual one since way back to Pinball Dreams and probably before that. So, im not a purist. I’m also a big fan of mash-ups, the jamming together of two or more disparate elements to produce a new often surprising form. I enjoy this in games as much as in music.

Momonga is one of a number of adventure/pinball hybrids I’ve played recently,

Getting a shot of in game pinball is HARD!!

Getting a shot of in game pinball is HARD!!

but from its loading screen it shone with incredibly high production values, beautiful art style, and as soon as i started playing, gorgeous controls. For the briefest of moments the physics of the ball (actually a small type of flying squirrel called a Momonga), seems slightly off, maybe too heavy, but then the ball shoots off the flipper exactly where you are aiming, and you twig that these physics are perfectly balanced for the more complex game structure being brought.

On Touch Arcade theres, a somewhat harsh video review, where Brad bemoans his lack of skill at pinball, and the frustration he would ever feel playing this game. I hope this didn’t put too many people off the game, as he really did suck! :) I’m not a pro level player by any means, but this game is far easier to aim and hit targets than any pure pinball game out there. Just learn the basics of capturing the ball on your flipper, and aiming. Widely flapping randomly will (as with real pinball) seldom pay off : (sorry Brad!)

However I mentioned I was terrified by the game. I flew through the first 8 levels, I’d noticed as i was passing loads of coins and hidden areas, but I was on a mission to complete the game! I don’t feel I have much gaming time anymore, and getting the traditional ‘3 stars’ on most games is less important to me than ploughing through content. Then I hit what i thought was the first boss – Kuton.

I have a bit of a fear about bosses, i’m just not a very skilled player I think, and I have usually quite a low frustration tolerance. Too often in games i feel excluded from seeing most of the game, as I will be stuck on badly balanced boss level. Case in point last years Deus Ex, in which I had meticulously built up a pacifist über computer hacker character, only to find a boss which to me was impossible to pass beyond as it required attributes I just didn’t posses. I remember that frustration turning to anger, when it was revealed the bosses in Deus Ex where essential outsourced away from the core team!!

Kuton – is an evil bugger. He has ten health points – which you erode by hitting an alarm bell, this then triggers your bird companion to bother him for a moment, giving you a few seconds to hit him. If you fail you have to re aim for the bell and repeat the cycle. Thats hard enough! Then his first special attack kicks off, he targets you with laser eyes and after a few seconds launches projectiles, if you get hit its bye bye to one of your three lives. His second attack is to launch himself into the air, disappearing and replaced with a red cross hair, which tracks you (über efficiently). If you’re under the cross hair after some seconds, wham! – he lands on you – bye bye another life.

Each of these attacks are fine, they can be beaten – but I started to get a sinking feeling, as many times I would launch my tiny Momonga and mid flight an attack would start. Before I had chance to react, i would be dead. It started to feel deeply unfair. And thats where the terror crept in – if this was the first boss, how hard would this game become. Then I got him down to 3 hit points. And he summoned two minions to help him. I died. and I died again and again. and again.
However something kept pulling me back, and last night, just past midnight I got him. I felt elated – but still a little worried about the how hard this game was going to get. Then the game ended!

Ok, so that was quite short, but this game was 69p. I really felt I had massive value for money here. Then, i noticed i had to get one more star to unlock a bonus level, so I went back to level 1, and replayed it, this time the challenge was to destroy all the blocks. And I loved it! Yes this game is short, but the challenges are beautifully structured and really stretch you to devlop your pinball skills. I’m actually replying a game! This hasn’t happened to me for a *long time*. Hats off to the devs! (In fact my only real gripe, is REPLAY should really be instant (currently it loads for a few seconds).  Check out Trials, or the excellent Velocity on PSP - for replay done perfect!)

I really hope this game does well, not just because i want some more levels, but it feels like such a labour of love – a true Indie gem. I suspect as the twin town dev points out here, that games like this may be a rarer and rarer experience, as ultimately they not bring the developer enough income to continue. I just hope that theres enough space in this industry for both models to exist. Viva la difference. and Viva Momonga!

Game Experiment Update #10

Previous posts in the experiment 1 2 3 4 5 6 7 8 9

Experimenting with a little better AI on the puck. In this example the game speed is increased so I can better track the AI, and the ghosts are on a almost random path (unless you try and take control!). The path to be followed is rendered on screen for debugging, and will be green(ish) when hunting pills and red when fleeing. The algorithm is still fairly basic, and currently does not calculate a real distance from ghosts when deciding the threat level which leads to some very stupid mistakes.

The horrible purple rendering is the result of playing with a toon shader on the maze walls. I would like the maze to just be outlined and glowing, but my maze mesh is far from optimised, and the artefacts come from the result of using cube primitives to construct each segment. A far more optimised builder will construct a mesh from scratch based on the maze layout and cull unneeded vertices. I’m not quite sure how the shader will cope with some of the cases, so I’ve added a follow script to the main camera so I can track down these glitches in the mesh builder.

Towards iOS 60fps (Game Experiment Update #9)

The last build did not translate very well to iOS running at around 12fps. It was immediately obvious that the main issue was the dynamic lights.

Firing up the unity profiler I could see straightaway that the number of draw calls being made was huge. Up to this point Id just been using default materials and primitives from Unity with no real thought for performance, the idea was after all to test a gameplay idea. The issue, then is that I really want to use touch, and touch at 12fps works but is not really acceptable.

Firstly, i ripped out all the current materials, and moved to mobile specific shaders.

Secondly the maze is dynamically generated (although it does not change right now, its an important feature). Each block of the maze walls is just a unity cube primitive, however these dont need to be independently moved once placed, so running the unity combineChildren helper scripts spits out a nice single mesh for all these objects.

Finally I disabled all point lights in the scene.

Immediately the draw calls fell to 6 which is the number of unique materials used – meaning the dy

namic batching of geometry was working at its optimum factor.


Uploading this to an ipad3 the profiler is now showing a 100fps render speed (theoretically only as IOS is limited to 60fps). Sure things look dog ugly right now, but 100fps is a much better place to start from than 12!

Game Experiment Update #8

This build represents the end of the line for the current branch of the experiment. Originally my plan was to make a quick tribute to pacman where you control the ghosts instead of the puck, by swiping on the junctions. Th idea was to see if this worked gameplay wise.

It became obvious quite quickly, (and pointed out by Trish from Lucky Red Fish, explicitly, that it was going to be be impossible to manage multiple ghosts when moving at the speed i wanted in the game. However, the aim is to experiment and see where things lead, and several ides have emerged.

1) Slow the game down massively, this would make it more tactical and deliberate. This may end up being a little more like spymouse. I like this idea as it keeps the core goal of honouring pac alive, and will revisit.

2) Iain from murkeygreen, mentioned that the dynamic lights and exploration feel felt interesting, and started to remind him of this Crash Bandicoot level.

My main issue with lights right now, is as it stands this build only runs at @12fps on ipads, which is not good enough for me. However, im intrigued as to why the performance is so sluggish, so will start to investigate IOS optimisation in the next build.