An isometric Stealth-Game Features Wishlist

Not even a week ago, I decided that I want to try my hand at learning to make a simple 2D isometric RPG. But thinking about what I would want to do different from the games from the 90s that I am familiar with immediately led to my original plan getting completely overwhelmed by feature creep. Which this early in the concept phase isn't really a problem, as there isn't any existing work that becomes obsolete or needs to be completely redone because of it. But the list of features that I would ultimately want to have in a finished game has grown considerably over the last five days.

This is a list of things that I want the game to do, from the perspective of a gameplay designer. How the game would actually make these things happen is a programming task, which at this point I know only very little about. But I am already trying to define the features in a way that I can conceptualize as "if-then" statements and that would require the smallest number of calculations to produce a resulting value.

General Thoughts

  • Players should be able to play the game using the game mechanics in whatever way they like. The game should not try to make them have any specific intended experience. It should only try to help players understand that they have options and should try out different approaches if their current way of playing doesn't work out for them.
  • Ideally, I would like to produce and release the game in segments, with each segment being a different self-contained region in various parts of the game's world. If the character progression mechanics allow it, it would be great if players can move their parties between regions as often and in any order they like. The Elder Scrolls games all managed to do something like that with their dungeons. If the differences in capabilities between early game and late game PCs become too big, the segments could be arranged as chapters with a fixed order instead. Players could then choose to take their party from one chapter to the next, or start a new game at any chapter with a new party.
  • The game is intended as a free roaming game of exploration and investigation. There is not a main plot in the strictest sense. Instead, the motivation for playing should be to learn more about the fantastical world and piece together the origin of the many strange ruins by interpreting the remains and artifacts and making sense of inscriptions and ancient scrolls. The main reward for overcoming the obstacles of dungeons is more information and clues.
  • There is no main character. The starting town has a number of possible party members, which each have starting stats and equipment representing a different character archetype. The player begins the game by selecting one of the possible party members as the first character. For this first character, the appearance and name can be customized if a player wants to.
  • While it does not have to be easy, it should be able to find all the major discoveries in the game without fighting anyone. Every character or creature that impedes progress must have some way to get around it without fighting. The PCs are primarily explorers, not mercenaries or bounty hunters.

Game Engine

  • A 3D environment constructed of 2x2x2 meter blocks. This allows gameplay along a square grid floor, while making it possible to have multiple walkable floors stacked on top of each other. This way you can have gameplay take place on all floors of a tower plus its outside at the same time.
  • Characters can move into all blocks that are designated as "floor", but also into blocks above the floor that are touching a wall. This makes it possible for characters to climb up walls and into higher story windows.
  • The camera perspective is 45° angled to the grid and at a 45° up from the ground, emulating the perspective of isometric games while not actually being an isometric projection. The view of the level can be rotated by 90° and the player will see the camera make the rotation instead of instantly snapping to the new angle to avoid the player having to reorient in the new perspective.
  • A minimap can be set to either rotate with the camera, or always remain in the default orientation, allowing players to use whichever they are more comfortable with.
  • The game is in real time, but once the game goes into combat mode all characters stop their regular AI behavior and the game behaves turn based.
  • NPCs in the level that are outside of the PCs perception take their turns in combat mode instantly without any animation. Most likely doing nothing or continuing on their patrol path.
  • Dynamic lighting on the environment and characters to make torches and glowing vegetation look really good.
  • The outdoor day cycle is 25% full day and 25% full night, with late afternoon, sunset, and dusk making up another 25%, and dawn, sunrise, and early morning the remaining 25%. Transitions should be very gradual.

Character System

  • Characters are almost entirely skill based. The exception to that are hit points, sight rating, hearing rating, carrying capacity, armor class, and resistance ratings.
  • All skills on a character have a rating from 1 to 250. This rating is the base percentage chance to perform an action associated with that skill. If, after all modifiers have been applied to the skill check, the rating is still higher than 95, the probability of success is still limited to only 95%.
  • Any time a skill check is made, whether as a success or a failure, there is a chance that the skill rating is permanently increased by 1 point. The chance for this is 100% minus the current skill rating in percent. If the current skill rating is already 100 or higher, the chance to increase the skill is a fixed 1%.
  • The skills are:
    • Axes
    • Blades
    • Bows
    • Maces
    • Spears
    • Slings
    • Unarmed
    • Alchemy
    • Climbing
    • Healing
    • Hiding
    • Sneaking
    • Sorcery
    • Speech
    • Swimming
    • Thieving
    • Tracking
  • Equipped items can provide a bonus or penalty to skill ratings.
  • Characters have three weapon slots, plus a shield slot. If a two-handed weapon is selected as the active weapon, any equipped shield becomes automatically disabled. The UI also shows a fourth button for unarmed combat.
  • Armor is a single inventory item and equipment slot, and show on the character model as a single piece. Helmets and cloaks are separate items that are visible on the character model. (Masks and cloaks have special significance in the worldbuilding of the game's setting and deserve being visible in-game. This also allows wearing special winter clothing over armor for cold weather areas.)

Combat System

  • All characters can take one action per combat turn and also move a number of squares based on their equipment burden. They can move both before and after taking their action. The turn ends automatically when the action and all moves have been used, or when the player manually clicks a button to end the turn. (Or the enemy AI decides to end the turn with moves remaining.)
  • When a character attacks a target, a skill check is made with the appropriate weapon skill for the selected equipped weapon. The target's armor rating is subtracted from the character's skill rating, as well as a further decrease for every square between the character and the target. The final number is the percentage chance for the attack to hit. (Maximum 95%.)
  • An attack with a heavy weapon makes a single skill check and deals great damage on a success. An attack with a medium weapon makes two separate skill checks and can potentially land two hits on the target. An attack with a light weapon makes three separate skill checks, with each hit dealing low damage.
    • Using the attack action always has only a single chance to increase the skill level, regardless of the number of skill checks made by a heavy, medium, or light weapon.
  • All characters can take lethal damage points and nonlethal damage points. If the total number of damage points is equal to the character's maximum health, it drops unconscious. If the lethal damage points are equal to the maximum hit points, the character is dead.
  • Unarmed attacks are nonlethal by default, but have a 10% chance to deal lethal damage instead. Beating people unconscious can accidentally kill them.
  • Unconscious NPCs remain unconscious only for a short duration. They remain disabled (effectively unconscious) if they are tied up using a rope. If the player returns to the level after more than 6 hours since leaving it, any tied up NPCs lose the tied up flag.
  • Retreating from combat is possible. Once an enemy no longer detects a player character, it will continue to the last square where it did detect the character, and based on its AI script linger in the area for a short while before returning to its original position or resuming its patrol path.
    • Wounded enemies will recover 1% of their maximum hit points for every hour of in-game time. (Which might be difficult to code, as it would require knowing how much time has passed between the player leaving and reentering the level.)
    • As characters don't get XP and advance by skill checks instead, player's don't leave empty handed when running from a fight.
  • Killing an character belonging to a faction will subtract points from the player's reputation with that faction. Beating an enemy unconscious will subtract a much smaller number from the faction reputation. Either might increase the reputation with other factions. Leaving enemies behind still standing causes no reputation loss.
    • A really cool feature, that I have no clue how it could be done yet, would be for the players to be able to leave no trace that they are responsible for the attack, resulting in no reputation change with the faction.
  • As characters drop to lower percentages of their maximum hp, they apply increasing penalties to many of their skills. The hit point total is only indicative of how many hits it takes to kill them. The amount they can afford to lose before they become combat ineffective is significantly less than that.
  • There will be no health bar, but character posture and blood on their texture shows when they drop below 50% and 25% of total hit points.
  • As enemies can be acoustically detected around corners, or give away their position by lights, the game needs to have alchemical bombs with a blast radius to hit enemies that are outside line of sight.

Stealth System

  • Hiding mode and Sneaking mode are two separate mechanics that can be used individually or both at the same time. Both modes reduce characters' movement speed.
  • Visual detection is calculated by line of sight. Acoustic detection is calculated following the shortest path from the noise source to the character. (Which includes noise moving through windows and climbing up or down walls.)
  • All characters have a base visibility value, based on the ambient light level of the cube they occupy.
    • Giants have an increased visibility value; goblins have a decreased visibility value.
    • Making a successful Hiding skill check reduces the character's visibility value by half.
    • Carrying a light source with a base light level greater than the ambient light level for the cube greatly increases the character's visibility value (after cutting by half for using the Hiding skill), depending on the difference in light levels.
    • When an observing character has line of sight to a target character, the target's visibility level is reduced by any cube of distance between it and the observing character. This value is compared to the observer's sight rating to determine whether the observer detects the target or not.
    • NPCs within line of sight and maximum sight distance are always visible on the screen for the player. Even if none of the PCs have detected it using the visual detection mechanic. If a new NPC is visually detected by a PC during combat mode or stealth mode, the player receives a visual ping on screen to notify the arrival of new enemies.
  • All characters produce a noise when they move from one cube to another or perform an action. The noise produced can be either "fighting/shouting", "running/talking", "working/walking", or "standing". The "standing" noise is produced when a character ends its turn having neither moved nor taken an action.
    • Characters wearing armor have an increased noise level when "running", "walking", or "standing". The increase in noise is different for each action and each armor type. (Running in heavy armor produces much more additional noise than standing in heavy armor.)
    • Characters (including PCs?) can have the flag "sick". Sick characters have a 1% when walking into a cube or a 5% chance when "standing" to sneeze, cough, or sniffle, producing a "running/talking" or "working/walking" noise instead.
    • The value of a noise decreases with every cube it travels before reaching a target. If another character is within the range of a noise before it drops to 0, it makes a Hearing check. The noise value at the observing character's cube is compared to the observer's hearing rating to determine whether the observer detects the target or not.
    • If a PC in combat or stealth mode has acoustic detection of an NPC that is not within line of sight, the player receives a visual ping at the NPC's location. If an NPC has acoustic detection of a PC, it will walk over to the cube where it detected the noise. If an NPC has acoustic detection of any character fighting, or of an ally shouting alarm, it will run over to the cube where it detected the noise. If the investigating NPC has visual detection of a PC, it will stop moving to the location of the noise and the scripts for dealing with visually detected PCs take over. If the investigating NPC arrives at the location of the noise and has no visual detection of a PC, it will linger for a while and then go back to its previous position, as described above for fleeing from combat.
    • PCs can pick up dead, unconscious, and tied up NPCs and drop them in other locations or put them into large crates or closets. (Or permanently depose of them throwing them into wells and pits.)
    • If a guarding NPC visually detects a body on the ground, it will walk over to investigate. It will then follow the AI script for lingering in the area as if having lost a fleeing PCs trail or having heard a noise.

Magic System

I don't have the slightest clue yet. But I think the worldbuilding for the setting implies that there shouldn't be any fireballs and lightning bolts being thrown around like regular weapon attacks. There might not even be any spellcasting in the combat system. Something like the arcane tools in Bloodborne might be an interesting direction to pursue.

Other General Concerns

  • A simple trade system in which you click an item you want to buy or sell, and a fixed value of coins is transferred into the other direction. No bartering for prices. Stores have unlimited coins to pay for items they buy.
  • Very few items will be explicitly magic. None will have visible sparkling effects.
  • The only crafting system is alchemy. While magic items will be rare, potions will be very common.
    • Brewing a potion will always be successful and the effect of a potion will always be the same. The character's Alchemy skill determines how many potions are created from the ingredient.
    • Potions can be stacked up to five in one slot. The potion icon will look like a single bottle that is filled up 1/5th, 2/5th, and so on. A stack can be split at any time. No need for having spare bottles ready.
    • Alchemical bombs can cause physical damage, fire damage, smoke (to block line of sight) and stun or sleep effects.
  • As healing will be slow and there won't be any recharging spells, there is no need for a rest system in dungeons. Only a mechanic to fast forward time if waiting for daylight or nightfall.
  • Healing potions work slow enough that there's no point to drink one during a fight.
  • NPCs should have a day, evening, and night mode. Day mode is standard. Evening mode is people crowding taverns and such. Night mode is most NPCs going to their beds.
    • All NPCs need a bed.
    • Guards at night have different positions and patrol patterns.
  • Dungeons are unlit by default, and full nighttime and underground environments are almost pitch black, with only the outlines of walls close to PCs being visible. Lights burn only in rooms that are occupied or are carried by characters as they move around.
    • Light does not only shine through doorways and windows, it also shines through cracks in doors. Since there are no lights that will be unattended for long, this will be very important information for players.
    • Enchanted stones that produce a very faint glow will be important to have a little bit of visibility without immediately alerting any guard from miles away.
    • Night vision potions exist, but should be difficult enough to get that characters can't use them all the time when it's dark.
    • The character equipment sheet needs a slot for light source, and the main UI needs a dedicated button to unequip a light source.
    • The UI also needs a dedicated button to drop a light source on the floor.
    • Characters can not hold a light source if they have a two-handed weapon equipped. Characters who draw a two-handed weapon automatically drop their light source on the floor.
    • Characters with a shield in their shield slot will automatically unequip the shield when they draw a light source. They will also automatically reequip their shield when they put their light source away.