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


Pie Noon can be downloaded from GitHub or the releases page.

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


Pie Noon code is divided into the following subsystems

  • PieNoonGame – holds game subsystems, state, and state machine
  • Engine – a simple, game agnostic renderer, file loader, and input system
  • GUI – a simple, game agnostic GUI

Pie Noon is built on top of SDL, a low-level cross platform library. SDL abstracts input, file loading, threading, system events, logging, and other systems from the underlying operating system. In addition, Pie Noon utilizes FlatBuffers for serialization, Motive for animation, and PinDrop for audio.

Source Layout

The following bullets describe the directory structure of the game.

Path Description
pie_noon base directory Project build files and run script.
assets Assets loaded by the game.
external OpenGL header required on Windows.
jni Top-level Android NDK makefile.
jni/SDL Android NDK makefile for SDL.
jni/SDL-mixer Android NDK makefile for SDL-mixer.
jni/gpg Android NDK makefile for Play Games Services.
jni/src Android NDK makefile for the game.
res Android specific resource files.
scripts Asset build makefiles.
src Game's source.
src/com/google/fpl/pie_noon SDL derived Android activity (entry point).
src/flatbufferschemas Game schemas for FlatBuffers data.
src/org/libsdl/app Real entry point of the app on Android.
src/rawassets JSON FlatBuffers used as game data.
tests Unit tests for some components of the game.