Making a game out of the OSR System: Lamentations of the Flame Princess

Hi, I'm wanting to make a text based game where the player controls a party of 4 characters with different classes to pick from.
Here's a free copy of the rpg system's rules: https://www.drivethrurpg.com/product/115059/LotFP-Rules--Magic-Free-Version

LotFP has 6 Attributes: Charisma, Constitution, Dexterity, Intelligence, Strength, and Wisdom.

In alphabetical order the ability score is determined by rolling 3d6 dice. A table exists for what the modifier is according to each ability score number.

The other attributes are: Levels, Experience, HP, Paralyze, Poison, Breath, Device, and Magic. A table exists for each class that when the character levels up the system should be able to automatically change and rolls the hit dice for an HP increase.

There are 10 Skills: Architecture, Bushcraft, Climbing, Languages, Open Doors, Search, Sleight of Hand, Sneak Attack, Stealth, Tinkering.

A skill check is made by a 1d6 dice roll and the success is based on if the dice number is under a specific number. For example, a Fighter trying to sneak has a stealth of 1 out of 6 so he must roll a 1 to succeed. The fighter also has a 3 out of 6 for open doors which means he must roll a 1, 2, or 3 to succeed.

I understand this is a big project, so my first goal is to get one character class working and add them over time. The spellcasting classes will take the longest since all of the spells have to be developed. I want to start with the Fighter class as all monsters in the OSR systems are developed off of the fighter class tables.

I don't know the programming language for this engine and was thinking of looking for a programmer to help me in this project, but I wanted to mention my project here and ask how much of this I could do before needing to code.

Thanks


(Edit: Nevermind, it seems they put this thread on the appropriate category.)

You can use a library. The one that's most commonly used nowadays is the Combat Library by Pertex. You'll need to be playing on the desktop version to play it. I highly recommend you download the desktop version of Quest at least once, if you haven't already.

Other than that, I recommend ThePixie's "The Zombie Apocalypse" game. I've made three good games with it, and I highly recommend the code to those who make games using the online version. It does have a few minor glitches he hasn't patched out yet, but they're simple to fix if you know how. Try object.alias instead of object.listalias sometimes. For instance, this is what I have for my equip command, instead of what he put:

if (HasBoolean(object, "dead")) {
  msg ("That's not something you can wield.")
}
else if (not HasAttribute(object, "damage")) {
  msg ("That's not something you can wield.")
}
else if (not object.parent = player) {
  msg ("You are not carrying it.")
}
else if (object = player.equipped) {
  msg ("You already have.")
}
else {
  if (player.equipped = null) {
    msg ("You equip your " + GetDisplayAlias(object) + ".")
  }
  else {
    msg ("You put away your " + GetDisplayAlias(player.equipped) + " and equip your " + GetDisplayAlias(object) + ".")
    list add (player.equipped.inventoryverbs, "Equip")
    list remove (player.equipped.inventoryverbs, "Unequip")
    player.equipped.alias = Replace(player.equipped.alias, " (equipped)", "")
  }
  player.equipped = object
  list add (object.inventoryverbs, "Unequip")
  list remove (object.inventoryverbs, "Equip")
  object.alias = object.alias + " (equipped)"
}
WeaponUpdate

That's all the major, general glitches I can remember off the top of my head. If you are still working on the game past when ThePixie update Quest to the next update, whenever that is is anybody's guess though, then be careful of minor changes happening. If you start the game now and end it in, say, between a few months and a year, you will not see this glitch, hopefully. Hopefully, these glitches will be fixed instead of staying the same during the updates, hopefully I'm wrong. For instance, ThePixie has something like this:

SpawnZombie (this)

Whereas in my game I have something like this:

SpawnSentret (Route 24)

Route 24 is the room name.
This does not happen in any of my other games.


For you, I think Pertex's code is the best.
Either way, I wish you good luck in the future.


This topic is now closed. Topics are closed after 180 days of inactivity.

Support

Forums