Tag Archives: games

Emulation on Raspberry Pi 2

via Raspberry Pi

People have been emulating classic computers and games consoles on Raspberry Pi since we launched back in 2012. For those of us who bough our first hardware in the 1980s, this is a fun way to take a trip down memory lane, but our relatively modest CPU performance restricted us to third- and fourth-generation platforms. Anything with 3d graphics hardware was pretty much out of the question.

Since we launched Raspberry Pi 2 at the start of the week, people have started posting videos of emulators for fifth-generation consoles running at full speed. Check these out:

I know what I’ll be doing this weekend…


(This image is taken from the excellent MGC 2011 demo by retroactive)

Handheld games console – for REAL dummies

via Raspberry Pi

Here is the most rubbery review presenter we’ve ever met. Bryan Lunduke is here to show you how even a complete beginner whose hands are made from foam can build a games console from scratch, using a Raspberry Pi.

A tip, Bryan. I know you do not have hands that work (or, presumably, fingernails); but you’ll find that Pibow you’re using looks EVEN BETTER if you peel the backing paper off each layer!

Cabe’s home arcade

via Raspberry Pi

I’ve got one of those rubbish Dance Dance Revolution mats at home for my PlayStation. You may have one yourself – they’re prone to skating all over the floor, wrinkling up at just the wrong moment and generally mucking your game up. And occasionally causing horrible injuries.

Of course, with a little elbow grease and a Raspberry Pi, we can do better. So Cabe Atwell did. And while he was at it, he also recreated another favourite part of the arcade he used to hang out in as a kid, and made a geometrically faithful reproduction of the Street Fighter 2 control console. Cabe says:

I remember my local arcade used to give free tokens to those who received A and Bs on their report cards. Most of the time it didn’t matter for me. I would go into the arcade with one or two quarters, and shut the place down in the various Street Fighter games. The arcade closed down, and I wanted the exact same experience at home.


With Street Fighter, I found that the Sega Saturn had the best and closest experience to the arcade. So, I built an arcade controller for the Saturn. I measured the placement of the buttons prior to the arcade shut down. So, I was able to lay out regulation controls. I sourced real arcade parts from a now defunct company. It was fun. You may not think this, but arcade controllers are loud. All the switches are super sound in a quiet room. Arcades are full of constant noise, so, you never hear it!

My girlfriend was really into the Dance Dance Revolution, arcade dancing games. So, I built a “arcade quality” dance pad. I wanted something made of metal, heavy, and the exact size. All store bought dance pads were soft, moved around too much, or not the correct size. So, I built a dance pad for the Playstation 1 (aka PS1 or PSX).


He didn’t finish the project at the time – everything went into storage when Cabe went to college, and he forgot about them. But in the interim, something called a Raspberry Pi was released.

So Cabe recently dug out his old home-made arcade, rewired all the controllers to interface with the Pi, used a projector to make a giant 120in (3m) display, and downloaded an emulator and some games. As it turns out, everything works a treat.

Unusually for projects around these parts, you won’t need any code to make your own, just some game downloads – but there’s a fair amount of hardware work required, which Cabe gives pointers on over at Element14. If you’re interested in making your own metal DDR pad (my friend Mark made one nearly 20 years ago when we were at university, and it’s still going strong), there are lots of tutorials out there – this was the most comprehensive we found.

Video mixing chess games on tv in Norway using Ethernet Shield

via Arduino Blog


Heidi Røneid with an Arduino Ethernet microprocessor. (Photo: Tore Zakariassen, NRK)

When The Norwegian Broadcasting (NRK) planned the television broadcast of the Chess Olympiad 2014 in Tromsø, Norway, they encountered a challenge: how to mix video, graphics and the results of many ongoing chess games simultaneously, requiring 16 cameras for the games going on at the same time?


On their blog you can find a long and nice post about how they found the solution using Arduino Uno, Arduino Ethernet Shield and the library for Arduino to control such Atem switchers written by Kasper Skårhøj:

At first, the idea was to use a computer with a webcam for each of the 16 games, then mix video images, background animation and results in software on each of them.

Afterwards the finished mix of images would be streamed to separate channels in our web player, so that the online audience would be able to choose which game they wanted to follow. This solution would also provide our outside broadcasting van (OB van) with 16 finished video sources composed of video, graphics and results. This would make the complex job of mixing all video signals much easier.

After thorough thinking we came to the conclusion that for our web-audience, it would be better to skip the stream of individual games, and spend our resources on building websites that could present all games in the championship via HTML in real time. This would also give the audience the opportunity to scroll back and forth in the moves and recall all the previous games in the championship. We started working on it immediately, and you can find the result on our website nrk.no/sjakk.


Bare-metal Tetris duel

via Raspberry Pi

A couple of weeks ago, we featured a first-year undergraduate project from Imperial College in London: a bare-metal port of StarFox to the Raspberry Pi. It’s stupendously good; even more so when you realise that the people behind it are 18 and 19 years old.

I discovered that a second group from the very same class has another bare-metal doozy of a gaming project running on the Pi: head-to-head Tetris.

The team says you’re seeing:

- 4000 lines of documented ARM assembly code
- Optimised driver for a NES controller connected via GPIO
- Asynchronous networking for two Pis connected via GPIO
- Doubly buffered rendering logic for HDMI output
- Custom ARMv6 assembler written from scratch in C (released as binary only)

What’s in the water down in South Kensington? I don’t think we’ve seen this much assembly language since … this time last year, when we found an Imperial College bare-metal chess project.

Everything you need to replicate the Tetris setup is available on GitHub. Thanks to Han Qiao, Piotr Chabierski, Michał Sienkiewicz
and Utsav Tiwary for a really lovely piece of work.


via Raspberry Pi

Adafruit’s 3D Thursday series is getting us terribly excited every time they roll out a new project with a Pi in it. Yesterday’s was a doozy: so much so that the engineering team stood around my desk and made puppy-dog eyes and sighing sounds at me until I agreed to email LadyAda and beg a demo sample of the project from them. (She says she’s sending the pink one, Gordon, just to punish you for being so demanding.)

Meet the extraordinary PiGrrl, a home-baked Raspberry Pi clone of the Game Boy.

If you don’t think that’s the best thing ever, you’re dead inside.
As always with Adafruit projects, the PiGrrl is documented minutely; you can find a complete tutorial on their website, along with files for the 3d printer at Thingiverse. This is one of the more complicated builds we’ve featured, but we think the results speak for themselves

LadyAda says: “Woohoo!” After careful consideration, so do we.

PiFox: bare-metal ARM assembly language Star Fox

via Raspberry Pi

Here’s something rather special, which should resonate with those of you over a certain age.


Star Fox was a Nintendo game for the SNES, released back in 1993 with fast, 3D gameplay – the player travels at high speed along a bounded path, avoiding and shooting obstacles and enemies, while picking up power-ups. Those obstacles were filled 3D polygons, which was very unusual at the time (and hard to render).

At the start of the week, I was sent this video. It’s from a group of first-year undergraduates (first-year undergraduates!) at Imperial College in London, who wrote a version of Star Fox from scratch for the Pi, in 5900 lines of ARM assembly language. This is so good that when Lance saw it, his immediate reaction was that it must be a port. It’s not.

They’ve got everything you need in under 6000 lines: a rasteriser in software, 2d elements and 3d objects, DMA sound, a utility and maths library, and input from a NES controller.

You’ll find all the source code on GitHub – along with useful stuff like a pinout for the NES controller.

If Team PiFox are interested in taking things a little further (or if someone else fancies forking their repo), we’d encourage them in the direction of using the Pi’s GPU as a hardware rasteriser, which would allow for an HD remix. If you need pointers, it’s still early days for Eric Anholt’s full Mesa/Gallium graphics stack on the Pi, but he’s adding to it all the time and there’s already a lot of meat in there. The VideoCore IV graphics documentation that Broadcom released back in February makes it possible to use the GPU as a “dumb” 2d polygon rasteriser as in Scott Mansell’s example.

If you make the attempt, please let us know; we’d love to see what you come up with.

Music hack of the decade: Panflute Hero!

via Raspberry Pi

Jhonny Göransson was part of the team that made what’s simply the daftest and most wonderful music hack we’ve seen so far. The moment he tweeted about it last night, we knew we had to show it to you as soon as we could.

It’s called Panflute Hero.

Panflute Hero was the result of a weekend at Way Out West Hackathon 2013. It’s a very silly panpipe version of Guitar Hero, which doesn’t use a plastic guitar controller. Instead, it’s controlled by a hand-built, bamboo set of faux panpipes (which are built according to the Golden Mean), all equipped with Arduino sound sensors that detect blowing, and controlled by a Raspberry Pi sending “blow” events to a desktop over TCP. Simulated flute noises are emitted when a “blow” is sensed, and…well, see for yourself.

The game itself is built in Lua, and runs on a PC (no reason you couldn’t run a port on a Pi). There’s some considerable *cough* sophistication in there, with libspotify playing some of Spotify’s horrifyingly large library of panpipe choons, which are delicately gameified for your panpiping pleasure.

Instructions, code (Jhonny says: “In the spirit of hacking and hackathons, our code really blows (get it?). You can look at it in BitBucket and publicly shame us if you want. Please don’t.”), and some kick-ass panpipe cover versions of the greats are available on the project webpage. Let us know if you make your own; I can imagine the controllers getting mildly unhygienic after much shared use, but any party involving Panflute Hero is bound to be a blast. A gently tootling blast.

Triviabox: a DIY quiz show setup

via Raspberry Pi

Sandy Walsh thought it’d be cool to host a trivia night in his living room. Most of us would make do with paper, biros and shouting: but it’s from little ideas like this that splendidly grandiose Raspberry Pi projects are born. In this case, projects involving a shipment of Chinese bike handles and a very large amount of speaker wire.

Sandy wanted a physical, game-show setup, so he hacked together some switches and an old terminal block he had lying around (you will probably have to buy one) with speaker wire and a Pi Face interfacing board.

The Pi runs a GUI for the game on a TV, and also deals with inputs from button switches mounted on each handle, so players can buzz in with an answer. The GUI works in concert with a live Quizmaster, who asks questions and adjudicates answers. Here it is in action:

Sandy says he thinks there’s a lot of refinement that could be added: he’s keen to see people add patches to what he feels is a bit of a hack. You can check out the repository on GitHub. This isn’t a difficult build, and I’m considering getting one of our work experience students to build a similar setup for the demo table: any refinements you think we should add?

Limelight: who needs a Steam Machine when you have a Pi?

via Raspberry Pi

I don’t think there’s anyone here at Pi Towers who doesn’t use Steam for PC gaming, and we were all watching the various Steam Machines that got trotted out at this year’s CES with great interest. There was one $500 Steam Machine from iBuyPower which pleased and surprised us by appearing to have a Raspberry Pi jammed into the bottom of the case. (Word of God here is that they’re using it as a temporary measure while in development to control the LEDs around the edges of the box, but we like to imagine that they’re using if for other, super-seekrit stuff.)

The iBuyPower Steam Machine. Note rectilinear green thing.

And then, over the weekend, DaveSpice pointed me at this thread on the Raspberry Pi forums. It made me think of iBuyPower’s Steam Machine, only with all the bits that aren’t a Raspberry Pi removed.

What Dave had found was a discussion about something called Limelight, newly ported by one of irtimmer, one of our forum members. Limelight is an open-source Java client which allows you to stream games from your home PC (as long as you have an Nvidia GTX 600 or 700 Series graphics card and enough bandwidth on your home network) to the Raspberry Pi that’s attached to your television. (You do have a Raspberry Pi attached to your television, right?) And it’s not just Steam games: any content can be streamed. Right now, only mouse and keyboard are supported, but there’s work being done to support other controllers too. So now you can play PC content from the machine upstairs in the study on that great big flatscreen monolith in the corner of your living room, from the comfort of your own sofa.

In the first-impressions video below from leCauchemarXY on YouTube, the screen on the left is displaying content streamed by the Pi. You’ll notice that there is some lag: enough that I wouldn’t be totally happy playing certain FPS games against certain people (or some RTS games like Starcraft, especially if I was playing Pete S, who is terrifying in charge of Zerglings). Your network may vary.

So what you have here is (kinda sorta) a Raspberry Pi that’s acting as a $35 Steam Machine. We’re going to be experimenting with Limelight here at Pi Towers when we’re finished with January’s education conferences and workshops, seeing how it performs in Cambridge, streaming over a fast network from DaveSpice’s gaming PC back home in London. We’ll let you know how it goes.

Limelight is available to download from irtimmer’s GitHub, where you’ll also find complete instructions on installing and using it. Please tell us how you get on in the comments!

Cave Story

via Raspberry Pi

Dave “Davespice” Honess, one of our indefatigable forum mods (a crack team of men and women with darting eyes who never sleep, spending their downtime making sure our forums are a welcoming place for new users, and a really crappy place for people who want to spam or start flamewars), has been working on porting games to the Pi and bringing the community’s attention to games that others have ported. His most recent addition to the Pi Store is Cave Story, a side-scrolling freeware platformer with a distinctly retro look and feel.

I’d been chatting to Dave about why he’d chosen Cave Story to work on, and what he said was really worth sharing, so I asked him if he’d mind writing a few words for the blog about it. He said:

In my view Cave Story is one of those games that genuinely deserves to be played by everyone. Two main reasons. One is that it is, truly, a brilliant game and two is the amount of work that went into it. Daisuke Amaya (aka Pixel) made the entire game by himself. All the graphics, all the programming, he composed all the music, wrote the story and the dialogue for all the characters. The game is intentionally retro in honour of the games he played during his youth. You can easily see the influences of games like Metroid, Wonder Boy and Castlevania in there.

If you’ve never heard of this game before, you should play it. Don’t argue. Just trust me. It has some amazingly fun boss fights! The retro chiptune soundtrack is just wonderful. Personally I love how you can level up the weapons, they’re very satisfying when maxed out!

There is actually a third reason. If you’ve ever wanted to make computer games yourself then Cave Story shows what can be achieved by a single person. In my view a platform game offers a much better opportunity to think about how the code is working as opposed to these photo-realistic 3D shooters that are popular now. Everyone has to start somewhere and you won’t go far wrong if your first game is a platformer. So I hope some of you reading this will go and play Cave Story and draw some inspiration from it. Try to make a simple clone of it in Python using PyGame and you will learn a lot in the process. Amaya himself started by just writing the title screen and programming some basic character movements.

The game runs through a very light build of RetroArch that was especially compiled for Raspbian. It incorporates an improved version of Caitlin Shaw’s NXEngine as its core. The result is a smooth gaming experience with the Pi easily achieving 60 fps. We should all be grateful to Daisuke Amaya himself, Caitlin Shaw for NXEngine, Daniel De Matteis and Hans-Kristian Arntzen for RetroArch.

So there you are. Go and download it, and when you’ve spent a while playing, follow Dave’s advice and see how far you can get writing something of your own using PyGame, and tell us how you get on!

Blast off game

via Raspberry Pi

Here’s another little snippet of video from Mike Cook. This game is one of the projects you’ll be able to make with Raspberry Pi for Dummies (click the link to learn more), by Mike (hardware) and Sean McManus (everything else).

Watching this reminds me that I had a crush on Virgil Tracy when I was about six, despite the fact that he was made of balsa wood.

Abattoir! A topical Scratch game.

via Raspberry Pi

Martin O’Hanlon from Stuff About Code (you might recall Thursday’s post about his adventures in Minecraft) has written a Scratch game that made us laugh. Hard.

Wherever you are in the world, you’ve probably heard something about the recent horsemeat adulteration scandal in Europe, where cheap beef mince products like lasagna and frozen burgers turned out to be anything up to 100% horse. In Abattoir! you’ll be making sure that only delicious cow makes it into the mincer. Have a look at this video for some gameplay.

Get the code at Stuff About Code.


via Raspberry Pi

Readers of a certain age are in for a shot of delicious nostalgia today. Back in the dawn of time (i.e. the 1990s), many of us had our first taste of multiplayer gaming in text mode, playing things called MUDs, or Multi-User Dungeons. MUDs are where games like World of Warcraft and virtual worlds like Second Life have their roots – and they were enormous fun.

Duncan Jauncey wrote something called Alternate Universe MUD ten years ago, and he’s just ported it to the Pi.

If you want to relive some of the text-based fun you had back in the 90s, head over to Duncan’s website, where you’ll find some more information and installation instructions for your Pi.

OpenArena for Raspberry Pi

via Raspberry Pi

It’s really been interesting watching the Pi Store fill up with content. Today we approved OpenArena for the Raspberry Pi – if you played Quake III, OpenArena will be shockingly familiar. It’s a multiplayer first person shooter (FPS) based on Quake III, using a fork of the same game engine, and it’s free and open-source. Because there is blood and guns, we’ve marked the download with an adult content sticker.


OpenArena running on DaveSpice’s enviable Pi/Motorola Lapdock setup. Click to enlarge.

We know Quake and its derivatives are popular around here: one of the first videos we ever released of the Raspberry Pi, pre-release, in the summer of 2011, was a demo of Quake III running with all the visual settings turned up to maximum. It kind of surprised us by getting more than a million hits on YouTube.

The devs at the Raspberry Pi Foundation, the mods, and the guys at IndieCity are already talking about setting up some semiofficial tournaments – let us know if you’re interested!