/pre-rendered-backgrounds

An Adventure in Pre-Rendered Backgrounds. (Video game prototype.)

Primary LanguageCGNU General Public License v3.0GPL-3.0

An Adventure in Pre-Rendered Backgrounds

Created by programmer Justin Meiners and 3D artist Hunter Rasmussen.

This repository contains:

  • the source code for our pre-rendered backgrounds game prototype.
  • a summary of our project.
  • the source code for a game engine written in C focused on mobile devices.

Building on macOS

  1. Install SDL 2

    Homebrew makes this easy:

    brew install sdl2
    
  2. Build and run in Xcode

Building on other Platforms

This project was written for macOS, although it should be reasonably portable to other systems. The bulk of the code is portable C, or C which can be trivially adjusted to build on other platforms.

It also depends on:

  • SDL 2. Just used for windowing and input. This can be replaced with any other method for creating an OpenGL context.

  • OpenGL 3.2

  • Core Audio

The engine uses an abstraction layer between OpenGL renderer and CoreAudio. These modules are independent of the rest of the engine and could be easily replaced with another implementation. For example, the OpenGL renderer could be replaced with one for Metal or DirectX.

iOS

Another game I wrote uses this engine on iOS. To port to iOS, the SDL windowing needs to be replaced with a standard iOS OpenGL view. The shaders need to be changed from 3.2 GLSL grammar to the ES 2.0 version.

Structure

  • data/ game data such as models, textures, etc.
  • docs/ the summary of our project.
  • source/engine/ portable game and engine code.
  • source/platform/ API or platform-specific modules.
  • support/ project files for Xcode or your IDE.
  • tools/ asset creation tools such as scripts for Blender.

Game Data

To run the game, you will need to acquire the data. You can download this from the releases page.

License

The code is licensed under GPL.