Note
This repository is currently undergoing updates. While changes are being made to the Wiki, the project repository and README remain up-to-date and reliable.
An immersive, text-based interactive narrative set in the League of Legends universe, allowing players to experience a unique storytelling adventure through player-driven choices.
- Project Overview
- Getting Started
- Story Creation Guide
- Features
- Technical Requirements
- Technical Details
- Wiki
- License and Copyright
- Contact and Support
This interactive story transports players into the world of Xayah and Rakan, two legendary characters from the League of Legends universe. Players step into the role of Xayah, embarking on a critical mission to rescue her soulmate, Rakan, from human captors. The narrative is designed as a Choose Your Own Adventure (CYOA) experience, where each decision fundamentally alters the story's trajectory. Unlike traditional linear narratives, this game empowers players to shape the protagonist's journey through strategic choices, leading to multiple potential outcomes and endings.
- Create an engaging, interactive storytelling experience
- Demonstrate the potential of narrative branching in game design
- Provide an accessible entry point into interactive storytelling
- Showcase Python's capabilities in creating dynamic narrative experiences
- Immersive text-based gameplay
- Multiple narrative branches and endings
- Player-driven storytelling
- Rich, character-driven narrative
- Simple, intuitive interface
- Replayability through different story paths
- Python 3.7 or higher
- Git
- Visual Studio (VS)
- Basic understanding of Python
- A interactive story
- Ensure your prerequisites are installed on your system
- Clone the repository
- Navigate to the project directory
- Run the Python script
- Clone the repository
git clone https://github.com/FizzyMo/lovers-story-CYOA.git
- Navigate to project directory
cd lovers-story-CYOA
- Run the game
python lovers-story-CYOA.py
No installation required besides the prerequisites.
- Interactive storytelling mechanic
- Dynamic narrative branching
- Player choice tracking
- Multiple narrative outcomes
- Minimal system resource requirements
- Make choices that shape the destiny of Xayah and Rakan.
- Experience multiple endings based on your choices.
- Immerse yourself in the rich storytelling set in the League of Legends universe.
1. Search for Rakan in the forest
2. Head to the village
Enter your choice: 1
You venture into the forest, hoping to find clues about Rakan's whereabouts...
The game is built using a simple text-based architecture, with a Python script that handles user input and provides the game logic.
lovers-story/
├── lovers-story-CYOA.py
├── README.md
└── LICENSE
The project consists of a single Python script lovers-story-CYOA
that contains the game logic and a
README file that provides instructions and information about the game.
- sys: used to exit the program
- time: used for delays and pauses
- os: used to clear the terminal screen
This Wiki is your guide to League of Legends Interactive Narrative project. Explore behind-the-scenes insights into the development, narrative design, and technical details. Discover how the branching storylines are crafted, learn more about Xayah and Rakan's world, and find answers to frequently asked questions. Whether you're a player, a developer, or a storytelling enthusiast, this wiki offers valuable resources and a deeper understanding of the project.
- Interactive Storytelling: Shape Xayah's fate through meaningful choices, experiencing a unique adventure with every playthrough.
- Multiple Endings: Your decisions have real consequences, leading to a variety of satisfying (and sometimes heartbreaking) conclusions.
- League of Legends Universe: Immerse yourself in the rich lore of Ionia as you navigate familiar landscapes and encounter iconic characters.
- Xayah and Rakan's Story: Experience a captivating tale of love, loss, and resilience, inspired by the legendary Vastaya duo.
- Easy to Play: Jump right into the action with a simple, text-based interface and intuitive gameplay.
- Behind-the-Scenes: Explore the Wiki to learn about the project's development, narrative design philosophy, and technical details.
- Community Resources: Find answers to your questions in the FAQs and support resources.
- Open Source Project: Explore the code and learn how to create your own interactive narratives.
This project is licensed under MIT License
- Inspired by League of Legends narrative
- Characters and universe owned by Riot Games
- Original implementation by Carisa Saenz-Videtto
This project is not affiliated with Riot Games or League of Legends. All characters and assets are owned by Riot Games.
Have questions, feedback, or just want to connect? I'd love to hear from you! Choose the platform that suits you best:
- For project inquiries, collaborations, or feedback: carisa.dev@gmail.com
- Social Media:
- Instagram: Connect with me on Instagram, where I share insights and updates about my projects and personal journey.
- Tumblr: Follow my Tumblr, where I express my thoughts and experiences through writing.
- LinkedIn: Connect professionally and explore my other projects.
- Blog:
- Debugging My Code, Debugging My Life: Join me on my blog, where I document my coding efforts and personal development stories. It's a space for learning and growth in technology!
- GitBook: A collection of notes and guidelines focused on backend development. Here, you'll find:
- Personal Project Guidelines: A comprehensive guide for managing coding projects from start to finish.
- Real World Guidelines: Practical advice for applying backend concepts in real-world scenarios.
This GitBook is a work in progress, and I appreciate your patience as I continue to add and refine content. Your feedback is always welcome!
Carisa Saenz-Videtto
-
Q: Do I need to be familiar with League of Legends to enjoy this interactive story?
A: Not at all! While the story is set in the League of Legends universe and features familiar characters like Xayah and Rakan, it's designed to be enjoyable even for those who haven't played the game. The narrative stands on its own, focusing on a compelling story of love, loss, and resilience.
-
Q: What's your process when you hit a roadblock during development?
A: For this interactive narrative the main challenge I faced in this project was the code stonewalling the storytelling. I realized I was working harder not smarter.
I took a breather put on my creative writing hat and switched gears. I grabbed my trusty notebook and outlined the entire story, mapping out different choices and their outcomes. This gave me a much clearer vision. Next, in order to prevent doing the same work twice, I moved the draft to Word revising the story before ultimately merging it back into the code. Much smoother!
My "typical" method for solving problems is:
-
Take a Moment to Stop and Inhale: I physically shut my eyes, inhale deeply a few times, and empty my mind. This is incredibly beneficial!
-
Assess the Situation: I use my project notebook to jot down what's working, what's not, and where I'm headed. It's like taking inventory of my progress.
-
Analyze and separate: I break down the issues into smaller more manageable parts. Breaking it down into smaller chunks can feel less overwhelming.
Refer to Resources: If I'm really stuck, I'll look for inspiration in other interactive narratives, games, or even books. Seeing how others approach similar challenges can spark new ideas.
-
Q: How long did it take to develop?
A: This project is ongoing! The initial development phase took 2 weeks that I started in February, 2024 but I see it as an evolving passion project.