Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jwilferd10/arena-conquest

Embark on a text-based adventure in Arena Conquest! Compete in a tournament, defeat foes, collect gold, and rise to fame. Explore OOP and TDD principles in this game. Enjoy the journey to the top!
https://github.com/jwilferd10/arena-conquest

game inquirer javascript jest nodejs object-oriented-programming oop rpg tdd test-driven-development text text-based-game text-based-rpg turn-based

Last synced: 22 days ago
JSON representation

Embark on a text-based adventure in Arena Conquest! Compete in a tournament, defeat foes, collect gold, and rise to fame. Explore OOP and TDD principles in this game. Enjoy the journey to the top!

Awesome Lists containing this project

README

        

# Arena Conquest

## 📂 Table of Contents
- [Description](#wave-description)
- [User Story](#open_book-user-story)
- [Resources Used](#floppy_disk-resources-used)
- [Usage](#minidisc-usage)
- [Contributors](#paperclip-contributors)
- [Contact Information](#e-mail-contact-information)

## :wave: Description
### :crossed_swords: Welcome to the Arena
Arena Conquest is a text-based game in which the user's character participates in a brutal tournament in order to build fame, collect gold, and obtain new equipment. Will you emerge as a legendary champion or succumb to the challenges that await in the arena? There's only one way to find out!

### :rocket: Features:
- Text-Based Gameplay: Arena Conquest is operated through the console, providing a classic gaming experience.
- Turn-Based Combat: Each opponent has an opportunity to attack.
- Gold Collection: Win gold by besting your opponents.
- Weapon and Armor Upgrades: Visit a Merchant Shop to upgrade your characters stats
- Player Stats and Inventory: Your character starts off with random stats and two potions in their inventory.

### 🎯 Follows Best Practices:
The development of Arena Conquest was to learn and emphasize modern approaches. This repository was built using the principles of Object Oriented Programming and Test Driven Development.

### 🌐 Accessible and Open:
The repository encourages exploration and collaboration, with the codebase thoughtfully organized and easily modifiable. Feel free to delve into the code, contribute, and customize it to your needs.

### 💭 Developer Notes:
Arena Conquest has been both an educational endeavor and an enjoyable journey. Originating from my time in the UCLA Coding Bootcamp, this project has underwent extensive personalization to truly become a reflection of my own work. I invested countless hours tweaking and customizing every facet of the game, driven by a passion for continuous learning and a genuine love for game development.

List of Improvements:
- New Story
- Merchant Shop
- Player can purchase weapons & armor
- Updated Fighting Mechanics
- Character attacks have randomized emotes
- Characters can now block attacks
- Characters can now upgrade probability of landing an attack
- Characters can now upgrade probability of blocking an attack
- Game follows a new formula for calculating attacks: BA + AB > AC
- Added console dividers to clean up the game

### 🙏 Thank You!
So much for your interest in Arena Conquest. I've worked to ensure this project brings entertainment to the player and also provide detail comments in-case a programmer wants to make their own adjustments. Thank you always, happy coding!

## :open_book: User Story
AS A gamer I WANT a text-based RPG that I can play SO THAT I can experience a classic gaming experience.

GIVEN a command-line game
- WHEN I launch Arena Conquest,
- THEN I expect to be greeted with an engaging narrative introducing me to the world of the tournament.
- WHEN I create my character and enter the arena,
- THEN I anticipate facing challenging opponents, strategizing my battles, and earning fame and gold with each victory.
- WHEN I interact with merchants,
- THEN I hope to discover a variety of weapons, armor, and items to enhance my character's abilities and chances of success.

## :floppy_disk: Resources Used
- JavaScript
- Node.js
- Inquirer
- Jest

## :minidisc: Usage
Requires `node` to play this game

Run `npm i` to install dependencies
- "jest": "^29.7.0",
- "inquirer": "^7.0.3"

Invoke the game by running `node app` or `node app.js`

1) Enter your characters name
2) Character with the highest `agility` score initializes the fight
3) Use potions to upgrade skills or heal
4) Beat every enemy to win!

## :paperclip: Contributors
- UCLA Coding Bootcamp (Base-Setup)
- jwilferd10

## :e-mail: Contact Information

- GitHub: [jwilferd10](https://github.com/jwilferd10)
- Email: [email protected]