Garfield: Larger than Life! (a horror/adventure RPG)
Published: 2022-06-16 20:40:28

# Garfield: Larger Than Life

Garfield: Larger Than Life is a python-based Adventure/Horror RPG to be run on the command line. It was my first "big" self-developed project and was to be a demonstration of OOP and all of our skills we've learned in our short, but intense 2 weeks of coding. 


## Developed by

Ethan Gula

[Email Me](Ethangula96@gmail.com) / [github link](https://github.com/Emgula96/DCBC/tree/main/On%20going%20projects/Games)


## Requirements

- Python3 or later (built on Python3.10)



## To run

- On Mac Terminal: `python3 GarfieldLTL .py`
- On Windows Command Line: `python3 GarfieldLTL.py`


## Tech and Why
Characters and Garfield are coded as classes with interactive health, attack, and items. The game code, laid out as functions, interacts with the class defaults to make the game fluid. I used a series of while loops to prevent the user from breaking the game by entering options that do not exist.

GarfieldLTL.py was designed to develop my coding skills across a larger project. Before developing the game, I did not know how to properly utilize classes to their full potential as well as organize code on a larger scale. My sucess was largely thanks to the help of my instructors at Digital Crafts, fellow cohort members, and through supplemental practice. The book I used for supplemental practice was Zed Shaw's, *Learn Python the Hard Way* (available [here](https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0134692888/ref=sr_1_1keywords=python+the+hard+way&qid=1577465107&sr=8-1)).

## How it works

| Feature | Description |
| ----------- | ----------- |
| Locations | Garfield: Larger Than Life involves traveling to different areas in and out of Jon's house while trying to avoid the stalking Garfield. Locations are unique functions, each containing unique paths, interactive text, items,  and ability to travel to other locations. You will need to interact with each area in order to beat the game or unlock different endings. |
| Items | Items are appended to a list of supplies and are used to meet the end game requirements. You collect items by traveling around the house and inspecting the environment you are in. Exploring is encouraged and necessary to beat the game, but doesn't come without its own risks. The game is full of pit falls and forces the player to think really hard about their choices. |
| Fights | Since this is a horror game with the presence of a very formidable boss, the object is not to fight if given the option. Each character (stored as a class) is given attack power and health points and starting items that can be used to meet the victory parameters or increase survivability. |
| Dying or Winning | If a player runs out of health completely, they die and the game exits. To defeat the cat overlord, you must carefully navigate the game and collect the necessary items to 'End it all'. If you do not, well I think you know what happens. 

## Current bugs and possible additional developments
- Add items to increase health or distract Garfield(prevent damage)
- Cleanup of coding lines to make game more visibly readable
- Add more playable characters or unique endings.

## Future Projects like GLTL
- Zodiac Zealot
- Garfield: The Second Coming