A downloadable game engine

LoveStory (LSE) is a dynamic and super customizable text adventure engine built with Lua & Love2D. Inspired by 1970s–90s interactive fiction, LSE has evolved from a code-first parser engine into an open-ended text engine framework capable of powering traditional text parsers, choice-based CYOAs, gamebooks, text demakes, arcade-style games, and almost anything you can think of!

> CURRENT STATUS: Active development. Alpha test coming soon, testers and storytellers wanted!

> FEATURES

  • Classic UI: A minimal retro-inspired terminal/micro-computer style graphic UI. Has an old school feel with tons of modern features! Inspired by legends like Zork/ZIL.
  • Multiple Game Modes: Supports classic parser commands (ATTACK DUDE WITH SWORD), choice-driven gamebooks (with optional built-in combat system), combined/hybrid systems, and clipboard game import for universal game sharing!
  • Survival + Hazard Mechanics: Optional darkness/lighting systems with fuel/battery management, optional classic dark hazards, and global/room-based timers for traps and user-defined events.
  • RPG + Combat Systems: Built-in stats, health, damage calculations (with random/range values), armor, ammo system, wearable equipment, inventory/capacity limits, containers, with planned upgrades that will provide deeper mechanics including a Spell System, Item/NPC respawn, and more weapon properties/mechanics!
  • Customization + Accessibility: Built-in color palettes, including default high-contrast and user-defined custom story themes, CRT effects, and optional audio (BGM and SFX, MP3/WAV/OGG). A variety of system options are accessible from the menu and during gameplay.
  • WHY LSE? LSE is old-school at heart with a minimal but informative interface and retro aesthetic, modern features, a super simple, flexible, and powerful scripting language, portability, and built-in support for popular and traditional core systems and mechanics. It started as a game and turned into a game engine! (v1.0 will support webplay)

> WHAT CAN YOU CREATE WITH LOVESTORY?

  • Classic Parsers: Traditional old school text adventures with expansive Room/Item mechanics that create an immersive game world.
  • Choice-based, CYOAs, Gamebooks: Branching narrative games with A, B, C, etc. choices. You can still match and max parser/choice mechanics!
  • Simulation + Management Games: Custom variables with support for random flags/values and simple math operations and a huge library of event triggers/conditions/actions allows for all sorts of custom mechanics like managing the oxygen, fuel, and general operation of a submarine on a combat mission.
  • Deduction Games:  Random antagonists can be assigned at the start of the game along with other random events and actions to keep you guessing every playthrough!
  • Retro-Demakes: Text-based dungeon crawlers, roguelikes, shooters, arcade-style games, and more! Multi-line ASCII graphic support allows for limited graphics and creative shenanigans.

> HOW LOVESTORY SCRIPT (LSS) WORKS

LSS is a simple, plain-text markup/YAML-like scripting language that defines rooms, items, NPCs, in-game events, timers, win/lose conditions, and a whole lot more without complex coding. Scripts are saved as plain-text files with a .LSE extension. LSE/LSS does not run arbitrary code so it's secure by design.

Note: There's no visual editor for LSS (yet) so graph paper or a graphic editor is recommended for planning/mapping out medium to large/huge/etc. worlds. If you've never drawn a dungeon on graph paper, you're missing out on a valuable life experience!

Check out the example game below!

> included with LSE in /stories
> sample_game.ogg must be provided in root or /audio folder, if not found, game will start without BGM

[META]
title: Sample Game
author: Crapsoft Studios
version: 0.7.X
intro: Welcome to the Sample Game. Find the trophy in less than 20 turns to win.
bgm: sample_game.ogg
comment: This is a comment!
comment: Optional ascii art can be added here.

[THEME]
name: Sample Theme
bg: 0.00, 0.02, 0.05
bright: 0.20, 0.90, 1.00
dim: 0.60, 0.75, 0.85
dark: 0.15, 0.30, 0.45
alert: 1.00, 0.25, 0.25
comment: Theme uses unit rgb format!

[ROOMS]
id: 1
title: The Regular Hall
desc: You stand inside a hall. It's a regular hall. Nothing great about it.
hint: Why don't you go north?
exits: north=2

Id: 2
title: The Great Hall
desc: You stand inside a hall. It seems pretty great.
exits: south=1

[ITEMS]
id: 101
name: Trophy
synonyms: cup, prize
desc: It's a standard golden trophy.
loc: 2

[RULES]
id: win_trophy
event: ON_TAKE_ITEM
target: 101
action: ADD_SCORE 100
action: GAMEOVER_WIN You have won!

[TIMERS]
id: game_clock
ticks: 20
scope: global
message: Time is up! You lose!
action: GAMEOVER_LOSE

comment: End of Sample Game.

Choice System Snippet:

[ROOMS]
id: 1
title: The Endless Void.
desc: You are standing on a dark, endless plain of polished black stone. It seems like some sort of strange illusion. To all sides, in all directions, you see nothing but an endless black horizon that seems to stretch beyond existence...
choices: A: Shout to see if you are alone in this endless abyss of darkness. (to=2) | B: A second option! They can't all be winners! (to=3) | C: A third option? Yes, and you can still have more options! (to=4)

> SEE? IT'S THAT EASY!

Congratulations. You know kung-fu LSS. There's a little more to it (READ THE MANUAL) (Coming Soon) but that's the gist. EZPZ, lemon squeezy.

P.S. I've ported the classic "Hello World!" of text adventure games, Cloak of Darkness to LSE/LSS! Only one minor feature was needed to 100% port it.

> CREATORS & TESTERS WANTED!

  • Testers: Find bugs, test games, try to break the engine, and provide feedback on the engine, games, and player/creator manual.
  • Creators: LSE v1.0 will ship with script libraries, sample games, and full launch games including narrative, survival, simulation, X-vania style games, and more! Crapsoft Studios is looking for creators with unique ideas for games with engaging narratives and functional mechanics, and also games in specific genres/styles with some minimal guidance but full creative license.

> PLATFORMS

  • Currently supports PC/Win. Web support (and possibly other platforms) is planned for v1.0. 
  • LSE alpha/beta tests and official release will be FREE. LSE v1.0 will launch as optional donationware. LSE will continue to be free and feature complete for all users with no ads or other donk.

> MORE PLANNED FEATURES!

  • Ammo System, Item Respawning/Duplication (new id), Spell Casting and Mana System, Full Classic RPG Stat System (optional, stat values can be used with conditionals or variable substitution), Flight/Levitation system/etc. (more environmental immersion actions/options), Upgraded Combat System (support for dual_wield, two_hand, charge_weapon, load_weapon, is_charged, is_loaded, tweak use_equipped/wield/wear/attack system), More META story options/settings, and LOTS MORE STUFF!

Special Thanks to the Lua+Love2D, gamedev.net, and IF/IFDB fans and communities for helping make this happen!

Follow this project for more information and announcements!

Development log

Comments

Log in with itch.io to leave a comment.

v0.7 is ready for testing! ...but I'm still writing the documentation for LoveStoryScript (LSS). It does a lot so there's a lot to explain. So, it's almost ready.

So, in the process of documenting, I had to make some more changes and tweaks. So, 0.7.X is NEARLY ready for testing!