Skip to content

Releases: sebsuenkler/holmes-adventure

Release v0.1

20 Apr 23:39
d98f8fd
Compare
Choose a tag to compare

Release v0.1: Sherlock Holmes: Interactive Adventure Launch! 🕵️‍♂️

Prepare to don the deerstalker and step into the fog-shrouded world of Victorian London! We're excited to announce the initial release of Sherlock Holmes: Interactive Adventure, a unique text-based game where you become the legendary detective.

Powered by advanced AI through the Nebius API, this game generates dynamic mysteries across various genres. Experience the thrill of the chase, the satisfaction of deduction, and the atmosphere of Conan Doyle's world, all narrated from Holmes' own first-person perspective.

✨ Features:

  • Become Sherlock Holmes: Immerse yourself fully with a narrative told through Holmes' eyes ("I examined the clue...", "My deductions led me to...").
  • AI-Generated Mysteries: Encounter unique, dynamically created cases every time you play. No two investigations are exactly alike!
  • Genre Selection: Tailor your adventure by choosing from genres like classic Mystery, thrilling Murder, eerie Supernatural, fantastical Fantasy, intriguing Sci-Fi, cunning Espionage, or engaging Historical cases.
  • Truly Interactive: Your typed commands, dialogue, and questions directly shape the investigation and the unfolding story.
  • Atmospheric Setting: Explore vividly described Victorian London locations.
  • Save & Load: Preserve your progress in complex cases and return to your investigation whenever you wish. Game states are saved as user-specific JSON files.
  • Automatic Case Tracking: The AI keeps track of vital clues, suspects, locations, and items you discover, presenting them clearly.
  • In-Game Commands: Manage your game easily with commands like /save, /quit (with save prompt), /delete (to remove a saved game), and /help.
  • User Accounts & Authentication: Securely register and log in to manage your personal investigations. Includes email verification and password reset functionality.

🚀 Live Demo:

Put your deductive skills to the test: https://suenkler-ai.de/sherlock

🔧 Getting Started:

  1. Prerequisites: Python 3.7+, Nebius AI API Key (or compatible OpenAI-like service), PostgreSQL database.
  2. Installation:
    git clone <your-repo-url> # Replace with your actual repo URL
    cd <your-repo-directory>
    python3 -m venv venv      # Create virtual environment (recommended)
    source venv/bin/activate # Or .\venv\Scripts\activate on Windows
    pip install -r requirements.txt
  3. Configuration:
    • Create a .env file in the project root.
    • Add your NEBIUS_API_KEY, DATABASE_URI, SECRET_KEY, RESEND_API_KEY, FROM_EMAIL, and APP_DOMAIN. (See .env.example if available, or the README for details).
    • Run flask init-db (ensure FLASK_APP=app.py is set or use flask --app app init-db) to create database tables.
  4. Running:
    • Use a WSGI server like Gunicorn for deployment: gunicorn --bind 0.0.0.0:5000 wsgi:app (adjust port/workers as needed).
    • For development only: python app.py

🎮 Gameplay:

  • Navigate the menus to register/login.
  • Start a new case by selecting a genre or load a previous investigation.
  • When prompted, type your actions or dialogue as Holmes (e.g., Examine the letter, Ask the constable about witnesses).
  • Use commands like /save or /quit as needed.

📝 Notes:

  • The quality and coherence of AI-generated narratives can vary.
  • The first-person perspective is a core goal; LLM adherence may occasionally fluctuate. Prompting in prompts/sherlock_system_prompt.txt aims to maximize consistency.

🤝 Contributing:

Feedback, bug reports, and contributions are welcome via GitHub Issues and Pull Requests!
3. Use a title like "v1.0.0: Sherlock Holmes: Interactive Adventure Launch!".
4. Paste the text above into the description.
5. Fill in:
* The actual (Release Date: YYYY-MM-DD).
* Your correct repository URL in the git clone command.
* Add any last-minute bug fixes or specific notes relevant to this release version.
6. Optionally attach assets.
7. Click "Publish release".