This is a text-based simulation game written in Perl, where players take on the role of a thief navigating a dynamic world full of choices and consequences. The game includes various interactive NPCs, locations, and challenges, including shopping, stealing, interacting with fortune tellers, and more. Players need to balance their health, coins, reputation, and inventory to succeed.
- Black Market: Players can buy or steal items (hats, weapons, potions, and bags).
- Reputation System: A dynamic reputation system based on the player’s actions (stealing, being caught, etc.).
- Fortune Teller: Receive mysterious advice and predictions.
- Inventory Management: Manage items such as potions, weapons, and money.
- Health Management: Players must manage their health, which can deteriorate if they are caught stealing or get sick.
- Drinking Game at the Tavern: Play a game to win or lose coins.
- Relic Route: Unlock and acquire a relic if you have a high enough reputation.
- Perl 5.10 or higher
- Basic understanding of object-oriented programming in Perl
- Clone the Repository:
git clone https://github.com/yourusername/thief-simulation.git
- Navigate to the Project Directory:
cd thief-simulation - Run the Game:
To start the game, simply run the
game.plscript in your terminal:perl game.pl
Once the game starts, you'll be prompted to make decisions that will affect your journey. You'll interact with various characters and locations, such as:
- The Black Market to buy or steal items.
- The Tavern for a drinking game or to recruit companions.
- The Apothecary to buy health potions or receive advice.
- The Fortune Teller for mystical insights.
- Explore Locations: Navigate through different locations like the market, tavern, or alleyways.
- Steal Items: Take items from shops or NPCs—this will affect your reputation.
- Talk to NPCs: Engage in conversations to gain valuable information or rewards.
- Check Inventory: Keep track of the items you have collected.
This project was developed as a student project to demonstrate skills in:
- Object-Oriented Programming (OOP) with Perl
- Decision-making algorithms and random events
- Interactive game design with multiple outcomes
- Managing game states such as health, coins, and inventory
- Perl Documentation: The official Perl docs were a huge help during the development.