top of page

SUPER LUMBERJACK

ROLE

Designer/Programmer

ABOUT

Super Lumberjack is a class project from my EGAM-266-01 class. It's a text-based adventure game that has an inventory system, a weight system, and complete gameplay.

YEAR

2023 Fall

GENRE

Text-Based Adventure/Analog

PLATFORM

HTML

CATAGORY

Class Project

EGAM-266-01

PROJECT TYPE

Individual

STATUS

Finished

Gameplay Mechanics

Technical Design

GAME TREE

Technical Structure

Modular Design: Different aspects of the game (like chopping trees, managing inventory, selling items) are encapsulated in separate code blocks, promoting modularity.

Reuse and Efficiency: Some routines, such as weight calculation, are reused across different parts of the game, aiming for code efficiency.

Inventory System

The inventory is a dynamic system that tracks items the player has acquired.

The total weight of the items in the inventory is calculated and compared against the maximum weight capacity.

Items can be added or removed from the inventory, affecting the total weight and other gameplay elements.

Variable Management

Global Variables

Used to track the player's health ($hp), coins ($coins), days elapsed ($days), maximum weight capacity ($maxWeight), current weight carried ($currentWeight), and inventory ($inventory).
Datamaps

Complex data structures (data maps) are used for items and tools, storing attributes like id, cost, damage, weight, and effects.

User Interface

Navigation Links: The game offers various choices to the player through hyperlinks, allowing navigation between different passages.

Dynamic Content Display: Content is dynamically updated based on player actions and game state, such as displaying current health, coins, and inventory details.

Player Input and Interaction

Prompts for Input: The game uses prompts for player input, like deciding the amount of wood to sell.

Error Handling and Feedback

Input Validation: The game checks for valid inputs, especially in scenarios like selling wood.

Players receive immediate feedback on this information.

bottom of page