Karan Sequeira
  • Home
  • Professional Games
  • Student Games
  • Books
  • Systems
  • Resume

Simple 2D Game Engine (2017)

Source

Thread-safe Memory Management System:
- Provides a variable size allocator with byte alignment & defragmentation
- Provides a fixed size allocator for quick allocations with low overhead
- Provides overwrite detection by guardbanding memory for debug builds
- Provides a smart pointer suite, complete with implementation for shared, weak & unique pointers
- Provides usage statistics with respect to count and size of incoming allocations

Multi-threaded Job System:
- Provides multiple job queues, each with multiple workers
- Each worker contains an std::thread and waits for jobs to be posted in the corresponding queue
- Any kind and amount of jobs can be added to the job system.

Timer and Time-based Events:
- An updater that manages broadcasting the tick to all entities that need it
- The updater also maintains a list of timer events and broadcasts them
- A timer event contains a function object. It invokes this function object after a specified duration either once, multiple times or till it is destroyed

2D Collision System:
- Provides 2D collision detection using a swept separating axis collision test
- Provides classification of physics objects and collision filtering using bit masks
- Provides default collision response using reflection
- Provides callbacks on collision detection

Miscellaneous:
- A logging and asserting utility
- A pooled and hashed strings utility for efficient handling of strings
- A primer for a game object with corresponding geometry & *very* simple physics
- A set of optimized geometry classes using Intel SSE instructions
- A lua-parser for data driven development
- A thread-safe file caching utility

Quest System (2013)

Source: Coming soon...

​Description:
  • A generic quest system written entirely in C++.
  • Each quest is defined by arbitrary variables (e.g. number of enemies crushed) and their corresponding activation values.
  • Quest data can be filled into a sheet following which, a custom script can be run on the sheet to export a JSON file.
  • The quest system parses the JSON file and maintains a list of quests and their corresponding variables/counters.
  • Based on gameplay events, a developer then needs to update the respective variables in the quest system.
  • The quest system internally uses the observer pattern to update individual quests based on these variables and provides interfaces that can be implemented to receive notifications when quests are completed.

User Interface Framework (2015)

Description:
  • A streamlined user interface framework built on top of the Cocos2d-x game engine.
  • It offered graphic designers the flexibility of designing various UI screens for games in Photoshop and exporting the relevant data to XML through a custom Photoshop script.
  • The framework written entirely in C++, would then read in any such XML, load the necessary assets and create the corresponding user interface.
  • In addition the framework also supported focus highlighting between the UI elements.

Features:
  • Support for common game UI elements such as text labels, buttons, scroll views and sprite animations.
  • Support for focus highlighting in case of joystick/keyboard control.
  • Managed loading/unloading of assets.
  • Streamlined process, minimal human error.
Picture
Picture
Picture
Powered by Create your own unique website with customizable templates.
  • Home
  • Professional Games
  • Student Games
  • Books
  • Systems
  • Resume