Murasaki

Our 4th project at The Game Assembly was a 2D adventure game. I contributed with gameplay, audio, particles, physics and the input system.

Project Details

  • 8 weeks half-time
  • Custom DirectX 2D engine provided by the school
  • 5 Programmers | 2 Level Designers | 3 Graphical Artists

Audio

I designed all the sound effects using whatever sources I could find and tweaking them in Wwise to fit our game. I also added them into the game in code.

Gameplay

  • Made sure feedback on the sword attack felt good. I added particles, hitstop, screenshake and knockback for maximum game juice.
  • Implemented Screen shake and screen flash effects.
  • Implemented player death when out of bounds and respawning them inside bounds.
  • Scripted the final boss's bullet patterns in LUA, at the request of a Level Designer.

Particles

I created the particle system used in the game. I also designed most particle effects and added them to the game.

Physics

All the physics were implemented by me. It had support for AABBs, OBBs, circles and used a quadtree for optimization. Because we had tile-based levels, each tile had its own collider. I optimized this by coding an algorithm that merged adjacent tile colliders, which gave us fewer, longer rectangular colliders instead.

Input

Binding actions to keyboard, controller and mouse

The input system I created allowed us to write code based on what actions the player did, rather than what keys were pressed. This made it easier when implementing controller support. It also made it easier change the controls or support multiple control schemes.