Built by Team Executive Swivel in Hobart, Tasmania at GovHack 2015
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?
- Australian Parliament House Hansard – http://www.aph.gov.au/Parliamentary_Business/Hansard
ABC Vote Compass 2013 Responses – http://data.gov.au/dataset/vote-compass-2013-overall
Federal Electorate Boundaries – http://www.aec.gov.au/Electorates/gis/
Open Australia Public Whip – https://github.com/openaustralia/publicwhip
Open Australia Parser – https://github.com/openaustralia/openaustralia-parser
ParlParse – http://parser.theyworkforyou.com
They Vote For You API – https://theyvoteforyou.org.au/help/data
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!
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).
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.
Final Cut Pro
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
GitHub Repository – https://github.com/admiraldolphin/govhack2015
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
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.
This project was built at GovHack 2015 in Hobart, Tasmania, July 3-5 2015.