Landing : Athabascau University

Reflections on Assignment 4_Game Project

Text Adventure Game in Java – Theme: Lewis Carroll's Alice in Wonderland

This challenge question is mapped to the following learning objectives:

  •      articulate the principles of object-oriented problem solving and programming.
  •      outline the essential features and elements of the Java programming language.
  •      explain programming fundamentals, including statement and control flow and recursion.
  •      apply the concepts of class, method, constructor, instance, data abstraction, function abstraction, inheritance, overriding, overloading, and polymorphism.
  •      program with basic data structures using array, list, and linked structures.
  •      explain the object-oriented design process and the concept of software engineering.
  •      program using objects and data abstraction, class, and methods in function abstraction.
  •      analyze, write, debug, and test basic Java codes using the approaches introduced in the course.
  •      analyze problems and implement simple Java applications using an object-oriented software engineering approach

Overview of this Game.

In a nutshell, the Wonderland Java game is an interactive adventure where players take on the role of Alice, exploring the whimsical and mysterious world of Wonderland. The game involves navigating through various rooms, collecting treasures, solving puzzles, and interacting with iconic characters like the White Rabbit and the Queen of Hearts. Players must use their wits and inventory items to overcome challenges and random encounters, with the ultimate goal of reaching a safe area and winning the game. Inspired by Lewis Carroll's classic tale, the game combines exploration, strategy, and storytelling to create an immersive and engaging experience.

My personal Reflection of this task:

Reflecting on the Text Adventure Game project based on Lewis Carroll's Alice in Wonderland, I found it quite challenging to complete. Developing this game required me to dive deep into object-oriented programming principles and apply them effectively in Java. Each aspect, from setting up the game world and managing player interactions to handling random encounters and combat, pushed my understanding of Java and game design to new heights.

I particularly struggled with integrating the game mechanics seamlessly, ensuring that the player could navigate through different rooms, interact with characters, and solve puzzles without encountering bugs or unexpected behavior. The challenge of maintaining clarity and coherence in the game’s logic, while also keeping the code modular and maintainable, was daunting. However, this experience significantly enhanced my problem-solving skills and deepened my grasp of Java’s object-oriented features, such as inheritance, polymorphism, and data abstraction.

Overall, despite the hurdles, the project was immensely rewarding, allowing me to create a partly functional and engaging text adventure game that mirrors the whimsical world of Wonderland (my game still has a couple of logical errors that need to be addressed, however it would be submitted as is). This project was a journey of learning, debugging, and ultimately, creating something truly unique. 

Reference:

Collingbourne, H. (2021, December 12). Complete course in adventure game programming. YouTube. https://youtu.be/2Lo_SE9qHH8?list=PLZHx5heVfgEvThLmdx7KySZhCrdvDLmeQ