Skip to content

mja9/Duel-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 

Repository files navigation

Duel-Game

Warning: This repository is a work in progress. It contains both examples of possible 2D game solutions as well as unfinished classes. The purpose of this game is to enhance understanding of the design patterns taught in class and to practice video game design principles.

Most of the work done so far has provided the infrastructure required for a game loop and interfacing with a client. As such the repo contains the following utilities:

  • Asynchronous dispatcher for sending update commands to game objects
  • Key Debouncer to avoid redundant execution of key-binded logic
  • Strategy design pattern implementation allowing programmer to implement dynamic game object behaviour. An implementation of the resulting state design behaviour can be seen in the Player and Boss classes.

Note: The asynchronous dispatcher was made with the intention to gain familiarity with the Observer-Observable design pattern. It is currently programmed to dispatch to all game objects in the game world. This is not scalable and not the suggested method for game update dispatching in a single player game. A well defined area-of-interest coupled with a spatial tree structure and search algorithm would provide a more robust solution. The intention is augment the Dispatcher accordingly, implementing an appropriate data structure such as an AABB tree.

Upcoming Goals:

  • Finalize Boss (phase 3), creating add-spawning behavior (additional enemies)
  • Implement spatial tree structure and incorporate in game loop for update dispatching
  • Create health and damage components, reflect such work in

Copyright © 2020 mja9 - Miguel Josemaria Arana, aviole - Andressa Lemgruber Viol, vvn1 - Vikram Nayar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages