The Adventurer

The Adventurer

by The NexTeam

Software Engineering Project 2 (GAM150)

Introduction

Software Engineering Project 2 (GAM150) presented me with a valuable opportunity to delve into game development during my computer science studies. This project involved using AlphaEngine, a basic yet versatile game engine tailored for introductory game development. Collaborating with a team of 3 other programmers, this project was a valuable exercise in applying foundational coding principles to game design. Working with AlphaEngine, which lacked a game editor, pushed me to delve deeper into the core aspects of programming and creatively overcome the engine's limitations using C++.

Game Objective

"The Adventurer" is a single-player 2D platformer/Hack 'n Slash game, which immerses the player in a quest to rescue a friend from a mysterious creature. Set in a variety of environments, the player battles numerous enemies, earning gems to upgrade weapons. The game offers a unique combat system where players choose between two weapons — a Spear, and a Sword and Shield, each with distinct attack combos. The choice of weapon and attack strategy is crucial to overcoming the game's challenges. Designed to blend platformer and Beat 'Em Up genres, "The Adventurer" features three levels, each ending with a boss fight, and offers a training level for mastering combat controls.

Accomplishments & Challenges

Role: Product Manager, Enemy AI Programmer and Environment and Character Artist

In this project, my primary technical endeavor was the development of AI for the enemies and one of the main bosses in the game. This task involved programming diverse behavioral patterns for various enemy types, such as slimes, melee, and ranged adversaries, each requiring unique algorithmic strategies to enhance the gameplay experience. This task not only tested and expanded my abilities in AI programming, a crucial aspect of game development, but also significantly enhanced my broader software development skills, coding proficiency, and problem-solving capabilities.

In addition to this, contributing to the game's artwork presented a unique challenge, especially as a novice in this area. It required me to extend beyond my usual technical expertise and explore the creative aspects of game development, translating conceptual designs into tangible art elements. This experience was invaluable in developing a more holistic understanding of the game development process.

Simultaneously, my responsibilities as Product Manager entailed overseeing team coordination, project documentation, and submission logistics. It allowed me to cultivate essential skills in project management and team leadership, critical competencies in any technical field.

Overall, this project was an invaluable and integral part of my educational journey in computer science. The experience enriched my understanding of how software development principles are intricately applied in game design, intertwining technical knowledge with creative application. This project also broadened my skill set beyond traditional computer science, emphasizing the importance of adaptability, team collaboration, and leadership in a technical environment, and preparing me for the multifaceted challenges of the technology sector.