1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Main Page

From somnopatru

Jump to: navigation, search

Contents

Overview

Somnopatru was inspired largely by the game Chips Challenge in the Windows Entertainment Pack. The basic idea is that the player controls their character with the arrow keys through a tile-based world to get to the exit and move to the next level. It is still in the alpha stage, and development is stalled.

(If you're here from the PCC Advising office, Welcome!)

Get Somnopatru

For Windows users, the easiest path is likely to be to download the binary release from the Download Page. Unfortunately, people using other systems will need to build it from source. Instructions for getting and building Somnopatru can be found on the Building page.

Design and Theme

The intended theme of Somnopatru is that of a conflict between Organic and Mechanical forces, on a jungle planet that was taken over and experimented on by a mysterious organization which has since largely abandoned it. The player's character was sent to the planet to gather items that the organization left behind. For more details, read the pages linked below.

Implementation

Somnopatru is written in C++. I have tried to use good software engineering practices and sound architecture, but there are still rough places. I have been moving the architecture away from a traditional game-object hierarchy to a more component-based one, with a focus on creating reusable code. The following pages describe the internal design of Somnopatru

  • High Level Architecture. The way the sub-projects are organized and their relationships.
  • View System. The main graphics "engine" used in the game.
  • Somnopatru Architecture. How the main game sub-project works.
  • Level Format. A description of the game's level format, and also how entity types are defined.
  • Lua API. The Lua script-side API, used to define the bulk of the game logic.
  • Elemental Interaction. The game revolves largely around the interaction of entities' "Elemental" properties. Here's how it works.
Personal tools