back to Platos Revenge

Platos Revenge project goals

What I was hoping to achieve




My first project

This was my first Android project so its primary purpose was to familiarise myself with the android system and development environment. The idea for the game was born out of my first experiments with 3D programming on Android, putting a coloured cube on screen. The initial idea was to show a cube, rotate it and change the colours of each face when touched. The aim of making all faces the same colour came naturally from that, as did the idea of extending the range of solids to cover all the platonic solids.

The development environment

When I initially started expermenting with Android, I was using the Eclipse development environment, but shortly after I started, it became clear that Android studio would become the standard and preferred development environment. I therefore started my 'Platos Revenge' project using Android Studio, partly as a way of learning Android Studio.

The basics of the Android API

The Android API is large and complex and navigating it can be difficult to learn. Platos Revenge gave a simplified introduction to the API since it used only a small part of it. It did however cover some of the more basic parts of the API such as creating the initial app, responding to touch events, and storing data in an SQLite database. It therefore allowed me to become familiar with the basic API and its reference materials. This familiarity will no doubt com in useful in future projects which make more extensive use of the API.

The openGLES2.0 system and API

3D programming is a large and complex subject and is becoming more and more important for all types of computing, including mobile. OpenGLES is the most common 3D system used in mobile and embedded devices, and Platos Revenge gave a simple introduction to it. The game was written using OpelGLES version 2.0, which at the time I started was the standard version used in Android devices. It used the shader system for rendering 3D scenes but since the game used only simple scenes it allowed the writing of simple shader programs without the distraction of having to render complex scenes. This allowed easier learning of the basics of creating and rendering 3D scenes.