GovHack 2015

Built by Team Executive Swivel in Hobart, Tasmania at GovHack 2015

Like Our Project? Vote for us on the HackerSpace!

Does everyone always remember how their MP votes in parliament? No! Our project uses Hansard data, and turns the votes made by your representatives into a game, making government decisions more engaging and memorable.

How does the game play?

In Question Time two players, each playing on their own iPad, choose a federal representative and a policy area, and are presented with a series of questions asking them how their chosen representative voted on different policy questions.

Players only have an intense few seconds to determine which way their member voted before the next policy question is asked.

After the questions the player who better knew the way their member of parliment voted is the winner. Both the players are then shown the way Australians as a whole view the issues they voted on.

What data did we use?

Video

Video on Vimeo or Video Download

Why is this project special?

Our project is special for a range of reasons, chiefly:

  • An entire multiplayer video game was implemented over a weekend!

  • It helps raise awareness around how our elected representatives vote

  • It helps raise awareness around how the country sees different issues

  • The game uses a custom multiplayer server written in the dynamic Go language used by Google to power their servers (a brand new programming language!)

  • An iPad client written using Swift, the language of choice for Apple development (also a brand new language!)

  • Incorporates a range of government and parliament data sources, from Hansard to Vote Compass and beyond

  • Slightly terrifying cartoon politician faces

  • Unique, custom music, composed over the weekend

  • Hand-drawn art, created over the weekend!

Technical Overview

Backend

The Question Time server is written in Go, a language created and used by Google for its own server software. Go is designed to be easy-to-learn and Go programs are highly readable, yet Go is powerful and builds programs quickly. Question Time Server can run many  games concurrently, bounded only by available system resources and horizontally-scalable to multiple servers, correctly synchronizing state between player connections.

Go has first-class concurrency primitives based on C.A.R. Hoare's Communicating Sequential Processes, which improves comprehensibility of concurrent behaviour, and encourages writing programs with many concurrent components. Go also includes a broad, powerful, and extensible standard library, implementing many modern technologies in Go such as HTTP/2 and TLS (rather than linking external libraries). 

Frontend

Question Time is an iOS app written in Swift, the new language from Apple. Swift is a modern multi-paradigm language, designed for modern  app development. Built on the solid foundation laid by Objective-C, Swift uses the same core concepts such as dynamic dispatch, late binding, and extensible programming; however, Swift adds vastly improved type and memory safety, as well as aggressive optimisation.

The IDE used for development was Xcode 6.4, the latest public iteration of Apple's Xcode. Xcode integrates code editing, unit testing, debugging, visual UI tools, visual data schema editing, and more.

Tools/Languages Used

  • Python

  • Bash Shell

  • TextMate

  • Final Cut Pro

  • Trello

  • Go

  • JSON

  • Logic Pro

  • Xcode 6

  • Swift

  • Objective-C

  • Adobe Photoshop

  • Microsoft Excel

  • Apple Numbers

  • Google Sheets

  • Google Docs

Process

After settling on our concept, we spent most of the first evening building paper prototypes and sketching wireframes for the game concept. After we settled on a concept we were happy with, we split up the team into various departments and started implementation. Our sub-teams worked on:

  • prototyping and concepting

  • art and design

  • coding and engineering

  • documentation and video production

  • playtesting and gameplay

Resources

Next Steps

  • use device location and electoral data to select member based on the player location

  • create artwork for more MPs

  • show more detailed result from Vote Compass after relevant policy questions based on MP’s demographic

  • create voice over lines for different electorates

  • expand game to include senators as well as MPs

  • introduce extra points for policies where MPs have crossed the floor

  • build a child-focused version of the game for raising political awareness amongst younger people

Team

  • Sebastian Cook – Data Masseur – stcook.gh AT tsuite.net 

  • Dr Paris Buttfield-Addison – Benevolent Overlord – paddison AT utas.edu.au

  • Rex Smeal – Pixel Pilot – rexsmealart AT gmail.com

  • Arabella Adelaide – Captain of the Sound – arabellaadelaide AT gmail.com

  • Dr Josh Deprez – Go(pher) Wrangle – josh.deprez AT gmail.com

  • Almost Dr Tim Nugent – Programming Procrastinator – tnugent AT utas.edu.au

  • Almost Dr Jon Manning – Swift Tailor – jam6 AT utas.edu.au

Software and Asset License

Copyright (c) 2015, The Team Members. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contact Us

Name *
Name

This project was built at GovHack 2015 in Hobart, Tasmania, July 3-5 2015.