The Paper Game Engine
by Thomas Booker

Ever wondered how the Unity and Unreal game engines work?
Or how Scratch turns your code into a game?
I decided to learn the basic principles of how a game engine functions by creating my own.
I call it Paper because it is simple and 2 dimensional.


  1. Defining a World

    When creating a game, the first thing to do is to define a new world for the game to be contained in.

  2. Rendering to the Screen

    The camera acts like a window so you can see the world. It renders object images to the screen at every update, like taking a picture.

  3. Handling Events

    A game only becomes a game when you can play it. Paper registers an event when a key is pressed to control a character.

  4. Physics

    In Paper, objects have a position and they can move to other spots on the grid. I have been working on more detailed physics for Paper so that objects obey Newton's Laws of motion.

  5. Features

    Most games have scores to motivate players to achieve. An addiction to beating the 'high score' is what makes computer games successful.

Link to the code on GitHub