Adventure Game Engine

Description

The “Adventure Game Engine” is made for Point&Click Adventures. It includes the fundamental elements to create a game of this genre.

I implemented some of the game programming patterns I thought myself recently. The engine includes two external frameworks: SFML and rapidXML. 

Most impacting Worksamples

XML Import

  • Used Framework: rapidXML
  • Read assets from drive via XML
  • Supported types of assets: sprites, sprite-maps, animations, sounds, fonts
  • Create game content combining provided assets and data stored in XML-file
  • Assets and Gameobjects are split to save up system resources using the “Flyweight-Pattern”

Graphics

  • Used Framework: SFML
  • Render-Depth is determined by the order the objects are created
  • Custom Render-Layer for special purposes like text, which is drawn after the regular objects
  • Distance Scaling based on the player’s y-axis

Input

  • The left mouse button performs default action on an object or a move action
  • The main character will tell details about an object, using the right mouse button
  • User Input and the progression of the game are decoupled using the “Game-Loop-Pattern”
  • Sequences are the main pillar to tell the narrative. An active sequence will take over the player’s control until it is finished. A sequence can perform the same action the player can do but contains multiple ones aligned in a row.  

Miscellaneous

If you like to know more about the project, proceed to the specific blog posts by clicking on: Adventure Game Engine (2018/2019)

Project Overview​

Project Type
Third Semester Game Programming Assignment at Cologne Game Lab

Development Time & Current State
6 weeks – Finished

Platform
Windows 64 bit

Genre
Game Engine

Links
Git Repository

Team
Manuel Ott: Programming, Project Lead

My Accomplishments
Besides the framework I used, SFML and rapidXML, and the assets I “borrowed”, everything showcased is made by myself.

Tools
MS Visual Studio, Git

Language
C++