Cubot

Cubot

by Team Cubot

Software Engineering Project 1 (GAM100)

Introduction

In Software Engineering Project 1, I encountered the foundational stage of game development by using CProcessing, a fundamental game engine that operates on the C language. Collaborating with 3 other programmers, this initial project was an exercise in applying core programming concepts to create a functional and interactive 2D game environment without the aid of an engine editor.

Game Objective

The game, titled "Cubot," invites players into a 2D platformer world where the protagonist, Cubot, a detective, seeks to unravel a mystery. The gameplay involves navigating through the different levels, engaging in combat with various enemies and recover the stolen money for NPC Chick. Featuring a parallax background that enhances the depth of the environment, the game offers players a rich visual experience alongside its challenging gameplay.

Accomplishments & Challenges

Role: Programmer

In the role of enemy AI programmer, I was tasked with developing the attacks for the different enemies in the game. My responsibility entailed creating distinct and intelligent behavioral algorithm patterns that would present a varied and strategic challenge to players. This endeavor allowed me to deepen my practical understanding of algorithms and their application within an interactive gaming context.

I also took on the responsibility of developing the parallax background, adding visual depth to the game. Coming from a strictly programming background, venturing into environmental and character art presented a steep learning curve. Despite this, I persisted, expanding my skill set into the visual domain of game development.

An additional feature of the game was the custom map editor, designed to enhance player engagement by allowing for personalized level creation. The development of this tool was both technically complex and rewarding, as it required careful consideration of user interaction and functionality.

This project was a significant stepping stone in my educational path, pushing me to apply and extend my computer science knowledge in new and practical ways. It tested my ability to solve problems and adapt to new challenges, underscoring the connection between analytical skills and innovative solutions in software engineering. The insights and skills I gained have provided a robust foundation for my future pursuits in technology and software development.