Push-It! A game for Apple TV

By: Conor 19. March 2012 21:45

Do you want to play games on your Apple TV?



Of course you do. Well the good news is your friends at Redwind are only dying to make that a reality for you. And no this doesn't require any "jail-breaking" or hacking or other messing around with your Apple TV, this is straight up, honest to goodness out of the box, big screen iOS gaming.


Ah, push it
Ah, push it

Push-It is a trivia game for 2 to 15 players. Think "Buzz" or "Scene It?" except better, slicker and played on your Apple TV.

It was developed in 2 days and might just be the best thing we've ever done.*


2 days might be a tad misleading of course. We've been building and refining our trivia games and technologies for the last 3 years! So to get our demo version of Push-It together there was 2 days of pulling together 3 years worth of code :)


Oooh, baby, baby
Baby, baby
Oooh, baby, baby
Baby, baby
Get up on this!


To get the full effect we recommend hitting play on this video before reading on… 


A long time coming.

We've been talking about building Apple TV games for quite some time now. In fact as far back as November 2008 when we released our first game Movie Challenge we were excited about the possibilities of one day being able to put games like that on the Apple TV platform. We had actually deliberately focussed on trivia games having playing way too much Scene It? on the Xbox 360. Even as far back as then it seemed obvious to us that the iPhone could be the perfect controller for such a game.

Unfortunately in 2008 it would have been next to impossible for us to build this game, certainly in the way it's built now that is 100% within the rules of Apple's iOS App Store.

In the meantime we've been keeping ourselves busy and have continued to create and release what we believe are the best quiz apps in the App Store. In particular our latest release Name That Movie™ has been a massive success and vindicated our belief that no one can do this genre better than us.

As I've said above, we didn't just stumble upon trivia and put together this wonderful demo in two days. Push-It is based on the same technology that we've been building and refining for the past 3 years, ensuring we are the authority and the world leader in trivia and quiz based mobile games. A lot of things had to happen for us to get to this point.


Inspiration / Motivation

Slowly but surely the pieces required to make this game have been falling into place. AirPlay Mirroring, GameKit/GameCenter, Apple TV gradually gaining traction.

For the past 6 months or so we have been participating in the Internet Growth Acceleration Programme (iGAP) in Ireland. I'm not going to go into much detail about the programme itself but I do highly recommend reading about it and applying for iGAP 4 if you are a start-up in Ireland. iGAP has been ridiculously useful for us in terms of getting focussed and clearer on our long-term visions for Redwind. We've met some truly awesome companies on the programme and the coaches and facilitators have been top notch. The calibre of speakers that are brought in to iGAP is truly exceptional and we've learned more than we ever though we would.

One of the modules that really resonated with us was "Lean Startup", facilitated by Eric Ries. We had our big grand visions for the Apple TV game(s) we wanted to make and we had the excuse that we didn't have the time to make it. We learned a lot of super important things in that session but here is the most important:


  • We had plans on dedicating huge amounts of time and resources into building a game that we really had no idea if anybody actually wanted.


The next day when we were back in the office we had two posters made up to go on the office wall.

"Do not trust these men".
"Do not trust these men". 


New Plan

  • Find out if people actually want to play this game before we bankrupt ourselves trying to build it.
  • Build a simple proof-of-concept version in as short a time as we can and get it in front of people.


Games Fleadh

So we had a plan, but no real plan to execute it. Basically, we still didn't have anything.

A few weeks ago we heard that Name That Movie™ had been nominated for an Irish Game Developer award for Best Mobile Game. (Eventually and deservedly won by PowerGrid from PufferFish Games).

The Game Developer Awards were to take place during Games Fleadh in Thurles, Tipperary. Games Fleadh is an awesome 2 day games festival for students and as a nominee for the awards we were given the opportunity to demonstrate our games.

Timeline of what happened next

  • Thursday 8th March. I suggest to David that it would've been great craic to demo an Apple TV game if we actually had one.
  • Friday 9th March. Over pints we decide it'd be class to make a game called "Push the Button" to wind up our good friend The Dugganator from Tribal City who have a seriously great game called Flip the Switch.
  • Sunday 10th March. David emails me an image of a button with the subject Push It Real Good.




  • Monday 11th March. Decide that we'll make a game called Push It and demo it at Games Fleadh in two days time. Begin Development.
  • Tuesday 12th March. Add the Push It song from Salt 'n' Pepa and declare Push It the greatest game of all time. End Development.


Two days of development, a few buckets of coffee and all the booze we could find in the office later we had a working multiplayer Apple TV game. The sort of game we had been talking about building for the last 3 years was actually a reality and we had a games festival to actually show it off at.

So on Wednesday 13th March we hopped on the lunch time train to Thurles to hit up Games Fleadh where we had a nifty arcade unit waiting for us to rig our game up to.

IMG 1056

And then something pretty cool happened.

IMG 1045
People, lot's of them started playing the game. In fact over the two days while we were setup there was pretty much a constant queue of people waiting to play.

IMG 0746
And the same people started coming back. Again and again to get another go.

IMG 1053

IMG 1017
The more people that played the shakier David's camera shots became

IMG 0753

IMG 0750

IMG 0729

IMG 0740

IMG 0738

Needless to say, we were thrilled with the response we got to the game. So thrilled in fact we treated ourselves to a cúpla scúpla that night in Thurles. There is pictures of that too, but you really don't want to see those.



All in all, the learnings from two days of watching people play Push-It were immense. A game like this can only come to life when people play it. We had fun making it but to see the fun people had when playing it was staggering. But as well as that, to see the frustrations people had when playing it was even more valuable. It became immediately obvious that there was flaws with the gameplay that we could easily fix to exponentially improve the overall experience. Within the first few rounds players had coined the term buzzer-spamming and thrown it at users who were buzzing in to answer questions before they even looked at the screen.

We left Thurles with a list of things to implement in the game that we would never have had without conducting the whole experiment in the first place. It's almost frightening to think of how far down the development road we might have actually gone without realizing some of these core issues, many of which were "quick wins".


  • Distinguish a genuine "buzz to answer" as opposed to "buzzer spamming"
  • Punishment for Buzzer Spamming needs to be much more extreme than just losing points
  • Implement timer on controllers after buzzing in
  • Visual feedback on the main screen for all users who "didn't" buzz in or were too slow
  • Allow questions back to the floor after users timeout after buzzing in
  • Customization of questions and categories (including user input)
  • Longer game sessions



As well as the fixes that became obvious it was really useful to discuss the game with people there playing it to see what they would like in a game like this. We deliberately built this version as a proof-of-concept version and kept it as simple as possible. This was partially down to time constraints but also to see where it could take us if we didn't nail down all of the features from day one. The ideas that were being thrown about over the two days were so exciting that both David and I came home with pages and pages of practically illegible notes we were scribbling so frantically.

We've always prided ourselves on the extra mile we go in our trivia games with our power ups and game boards/formats. Expect to see features like that in a future version of Push-It and also much more use of the multiple screens that are running the game. The fact that each player has their own screen on it's own opens up so many possibilities.

One of the biggest challenges we will face as we continue to develop this game is making the right calls on what features make it and what features don't. Just because something is cool doesn't necessarily make it right. From personal experience as a programmer, I know the temptation is always to put more and more in, especially when you figure out how to do something technically impressive. But one of the reasons that Push-It was so well received is because of it's elegant simplicity. We need to make sure that we remain true to that.

We need to make sure that we keep looking at the "Do not trust this man" posters of ourselves!


How does it work?

This might be a smidge technical for some of you - sorry. Figured that as I'm now an iOS Rockstar I should at least mention code at some point :)

Getting an iPad to mirror to your Apple TV doesn't even require writing any code!
But what about if you want to display different content on the iPad and the Apple TV?

Simples! Once mirroring is turned on - check how many screens are connected and if you have more than 1 grab the last one - it's your Apple TV. Now as your iPad loads each UIView/Controller you can tell it to update the Apple TV at the same time.

if ([[UIScreen screens] count] > 1) { // do something with [[UIScreen screens] lastObject] // Create/Attach a new UIWindow and pop your UIViews in there as needed }

and load+link it if found. 

So that's one part done, next we want to get the devices talking to each other.

Tell the iPad to create a GKSession and act as the server


[[GKSession alloc] initWithSessionID:SESSION_ID displayName:nil sessionMode:GKSessionModeServer];

Tell each controller to create a GKSession with the same identifier and act as a client




[[GKSession alloc] initWithSessionID:SESSION_ID displayName:nil sessionMode:GKSessionModeClient];



In GKSessionDelegate you'll find everything else you need, for example



- (void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID



will get triggered on the server as each client attempts to connect.

You'll also want to be keeping an eye on



-(void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state



...in the server and all clients.

Obviously the actual game state and connection management requires a heck of a lot more code than that - but the above is pretty much all you need to know to get started and have your devices talking to each other.

One gotcha to watch out for is that although the GKSession is set up as Client-Server, it still acts very much as a peer to peer network. Be careful that each client knows exactly who the server is. One issue that had me tearing my hair out was that the server actually relays it's data packets through a chain of clients as opposed to directly calling each one.


To play Push-It you will need…

  • Apple TV (or iPad)
  • iPad or iPhone 4S
  • Up to 15 iPhones, iPod touches or iPads

Your Apple TV that is already connected to your big-ass TV set acts as the main display/board for the game. (However, if you don't have an Apple TV you can still play by using your iPad as the main display).

Your main iPad acts as the server for the game and also displays the scoreboard while the game is in progress.

Each additional device then acts as a controller/buzzer for the game.

Questions across a multitude of genres and formats display on the big screen. For example it might be a movie clip, an album cover, a multiple choice question or a sound clip. The question displays for 7 seconds before timing out. If you know the answer you buzz in. Once you buzz in, the possible answers appear on your device and your device only. Answer correctly and get the points, answer wrong and lose points.

It couldn't be more simple, for now. As I've said, we have the core concepts down but we think there is huge scope with this game and similar games.


Ah, push it - push it good
Ah, push it - push it real good
Ah, push it - push it good
Ah, push it - p-push it real good


What can you do?

Share this, tweet this, tell your friends. Tweet us, email us, comment and tell us what you think. We've built a very basic version of Push-It and now we are desperate to take it to the next level. In our two days of live testing we've watched people queue up to play and repeatedly come back for more.

But you know what, there's a hell of a lot more people out there in the world we think would love this game. So tell us, show us you want it and we sure as shit will build it for you and get it into the App Store.

It's that simple, spread the word. We believe we are onto something great here and we know we are miles ahead of our competition in this space. Give us the confidence and exposure to make it a reality.


Want you to push it, babe
Coolin' by day then at night working up a sweat
C'mon girls, let's go show the guys that we know
How to become number one in a hot party show
Now push it


If you are interested in playing Push-It at home and beta testing future versions do let us know: pushitrealgood@redwindsoftware.com

XOXO, ConCon

* until we release badger dot com
badger badger badger


TweetMe created by sexyselect.net/blog


blog comments powered by Disqus