Pie Noon
An open source project by FPL.
 All Classes Pages
Pie Noon

Pie Noon

Pie Noon is a simple multiplayer party game where you can throw pies at your friends. It is written in cross-platform C++.

Motivation

Pie Noon demonstrates a quick and fun party game for the living room via support for the Nexus Player, an Android TV device. The game shows how to use several open source technology components developed by Google.

Google Play Games Services is used to share scores and reward players with achievements.
WebP, an image compression technology, is used to compress textures which reduces the size of the final game package and ultimately reduces download time.
FlatBuffers, a fast serialization system is used to store the game's data. The game configuration data is stored in JSON files which are converted to FlatBuffer binary files using the flatc compiler.
CORGI, an extensible entity-component system, allows for easy abstraction of game behaviors into reusable components, which can be mixed and matched to create any new behavior you can imagine!
MathFu, a geometry math library optimized for ARM and x86 processors. The game uses MathFu data types for two and three dimensional vectors, and for the 4x4 matrices used by the rendering system, and also by the Motive animation system.
The game uses an input device abstraction which enables it to work effectively with multiple control schemes including touch for Android, joypads on Android TV and keyboards on desktop platforms.
The Renderer is used conjunction with a normal mapping shader to provide cardboard rendering.
FlatUI, an immediate mode GUI library, written in C++ with the aim of being a simple, efficient way to add menus, HUDs, and other in-game UI. and HMDs.
FPLBase, a low-level game library that handles input, rendering, resource-loading, as well as useful interfaces for Android input devices and HMDs.

In addition, fplutil is used to build, deploy, and run the game, build and archive the game, and profile the game's CPU performance.

Functionality

Pie Noon is a cross-platform, open-source game that supports,

  • up to 4 players using Bluetooth controllers,
  • touch controls,
  • Google Play Games Services sign-in and leaderboards,
  • other Android devices
    • you can play on your phone or tablet in single-player mode,
    • or against human adversaries using Bluetooth controllers.
    • or in multi-screen mode with an Android TV and 1-4 Android phones/tablets (new in v1.1!)
    • or in a virtual reality mode with a Google Cardboard device (new in v1.2!)

Supported Platforms

Pie Noon has been tested on the following platforms:

We use SDL as our cross platform layer. The game is written entirely in C++, with the exception of one Java file used only on Android builds. The game can be compiled using Linux, OS X or Windows.

Download

Pie Noon can be downloaded from:

Important: Pie Noon uses submodules to reference other components it depends upon, so download the source from GitHub using:

git clone --recursive https://github.com/google/pienoon.git

Feedback and Reporting Bugs