From ba717a437e1cc73888856e89766a6dc57b758bf8 Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 30 Jul 2020 20:06:57 +0200 Subject: [PATCH] More work on docs for starting-tut --- .../Howto/Starting/Part2/Game-Planning.md | 21 +- .../Part2/Planning-The-Tutorial-Game.md | 439 +++++++++++++++--- docs/source/toc.md | 1 + 3 files changed, 377 insertions(+), 84 deletions(-) diff --git a/docs/source/Howto/Starting/Part2/Game-Planning.md b/docs/source/Howto/Starting/Part2/Game-Planning.md index 893e61e650..678f597f73 100644 --- a/docs/source/Howto/Starting/Part2/Game-Planning.md +++ b/docs/source/Howto/Starting/Part2/Game-Planning.md @@ -1,4 +1,4 @@ -[prev lesson](../Starting-Part2) | [next lesson](Planning-The-Tutorial-Game) +[prev lesson](../Starting-Part2) | [next lesson](./Planning-The-Tutorial-Game) # On Planning a Game @@ -55,7 +55,6 @@ could ask yourself. - Should your game rules be enforced by coded systems by human game masters? - What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else? -- Should characters be able to send mail (IC/OOC?) to each other in-game? - Should players be able to post out-of-characters on channels and via other means like bulletin-boards? ### Building @@ -66,9 +65,8 @@ could ask yourself. ### Systems -- What are the game mechanics? How do you decide if an action succeeds or fails? - Do you base your game off an existing RPG system or make up your own? -- How does the character-generation work? Walk from room-to-room? A menu? +- What are the game mechanics? How do you decide if an action succeeds or fails? - Does the flow of time matter in your game - does night and day change? What about seasons? - Do you want changing, global weather or should weather just be set manually in roleplay? - Do you want a coded world-economy or just a simple barter system? Or no formal economy at all? @@ -84,7 +82,7 @@ dramatic weather, fire or magical effects? If so, how would this affect things i these things something admins/game masters should handle manually? - Can objects be hidden in the room? Can a person hide in the room? How does the room display this? -### Objects +### Objects / items - How numerous are your objects? Do you want large loot-lists or are objects just role playing props created on demand? @@ -92,22 +90,19 @@ created on demand? - Do multiple similar objects form stacks and how are those stacks handled in that case? - Does an object have weight or volume (so you cannot carry an infinite amount of them)? - Can objects be broken? Can they be repaired? -- Is a weapon a specific type of object or can you fight with a chair or a flower too? -- NPCs/mobs are also objects. Should they just stand around or should they have some sort of AI? +- Can you fight with a chair or a flower or must you use a specific 'weapon' kind of thing? +- Will characters be able to craft new objects? +- Should mobs/NPCs have some sort of AI? - Are NPCs and mobs different entities? How do they differ? - Should there be NPCs giving quests? If so, how do you track Quest status? ### Characters - Can players have more than one Character active at a time or are they allowed to multi-play? -- How will Character creation work? Walking room-to-room? A menu? Answering questions? Filling in a form? +- How does the character-generation work? Walk from room-to-room? A menu? - How do you implement different "classes" or "races"? Are they separate types of objects or do you simply load different stats on a basic object depending on what the Player wants? - If a Character can hide in a room, what skill will decide if they are detected? -- What skill allows a Character to wield a weapon and hit? Do they need a special skill to wield a -chair rather than a sword? -- Does a Character need a Strength attribute to tell how much they can carry or which objects they -can smash? - What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying? - May player-characters attack each other (PvP)? @@ -214,4 +209,4 @@ have made their dream game a reality! In the next lesson we'll make use of these general points and try to plan out our tutorial game. -[prev lesson](../Starting-Part2) | [next lesson](Planning-The-Tutorial-Game) \ No newline at end of file +[prev lesson](../Starting-Part2) | [next lesson](./Planning-The-Tutorial-Game) \ No newline at end of file diff --git a/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md b/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md index d18bf5ba7f..cccfaa1717 100644 --- a/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md +++ b/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md @@ -1,4 +1,4 @@ -[prev lesson](Game-Planningd) | [next lesson](Unimplemented) +[prev lesson](Game-Planningd) | [next lesson](../../../Unimplemented) # Planning our tutorial game @@ -26,92 +26,389 @@ Let's answer the questions from the previous lesson and discuss some of the poss #### Should your game rules be enforced by coded systems by human game masters? +Using game masters one need to add some new GM-helper commands to make their jobs easier. But overall there +is less work code-wise. GM:ing is work-intensive however, and they can't be online all the time. +We want our tutorial game to work without human Game masters. -We want to have a game that doesn't require human game masters to run. Human GMs are great but only when they are available. - -- _What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else?_ - - The default hierarchy should be enough: `Player` - `Player Helper` - `Builder` - `Admin` - `Developer`. -- _Should characters be able to send mail (IC/OOC?) to each other in-game?_ - Why not! -- _Should players be able to post out-of-characters on channels and via other means like bulletin-boards?_ - We will - not be implementing a bulletin-board in this tutorial, but we'll allow use of the default channels coming - with Evennia. - +#### What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else? + +The default hierarchy is + +- `Player` - regular players +- `Player Helper` - can create/edit help entries +- `Builder` - can use build commands +- `Admin` - can kick and ban accounts +- `Developer` - full access, usually also trusted with server access + +There is also the _superuser_, the "owner" of the game you create when you first set up your database. This user +goes outside the regular hierarchy and should usually only. + +We are okay with keeping this structure for our game. + +#### Should players be able to post out-of-characters on channels and via other means like bulletin-boards? + +Evennia's _Channels_ are by default only available between _Accounts_. That is, for players to communicate with each +other. By default, the `public` channel is created for general discourse. +Channels are logged to a file and when you are coming back to the game you can view the history of a channel +in case you missed something. + + > public Hello world! + [Public] MyName: Hello world! + +But Channels can also be set up to work between Characters instead of Accounts. This would mean the channels +would have an in-game meaning: + +- Members of a guild could be linked telepathically. +- Survivors of the apocalypse can communicate over walkie-talkies. +- Radio stations you can tune into or have to discover. + +_Bulletin boards_ are a sort of in-game forum where posts are made publicly or privately. Contrary to a channel, +the messages are usually stored and are grouped into topics with replies. Evennia has no default bulletin-board +system. + +In this tutorial game we will just use the default inter-account channels. We will also not be implementing any +bulletin boards. ### Building -- _How will the world be built? Traditionally (from in-game with build-commands) or externally (by batchcmds/code - or directly with custom code)?_ - We will show examples of a few differnt ways, but we'll build the brunt of - things using Evennia's Batchcode system. -- _Can only privileged Builders create things or should regular players also have limited build-capability?_ - We - will only allow privileged builders to modify the world. The exception is crafting, where we will allow players to - to use in-game commands to create specific, prescribed objects from recipes. +#### How will the world be built? + +There are two main ways to handle this: +- Traditionally, from in-game with build-commands: This pretty means builders creating content in their game + client. This has the advantage of not requiring Python skills nor server access. This can often be a quite + intuitive way to build since you are sort-of walking around in your creation as you build it. However, the + developer (you) must make sure to provide build-commands that are flexible enough for builders to be able to + create the content you want for your game. +- Externally (by batchcmds): Evennia's `batchcmd` takes a text file with Evennia Commands and executes them + in sequence. This allows the build process to be repeated and applied quickly to a new database during development. + It also allows builders to use proper text-editing tools rather than writing things line-by-line in their clients. + The drawback is that for their changes to go live they either need server access or they need to send their + batchcode to the game administrator so they can apply the changes. Or use version control. +- Externally (with batchcode or custom code): This is the "professional game development" approach. This gives the + builders maximum power by creating the content in Python using Evennia primitives. The `batchcode` processor + allows Evennia to apply and re-apply build-scripts that are raw Python modules. Again, this would require the + builder to have server access or to use version control to share their work with the rest of the development team. + +In this tutorial, we will show examples of all these ways, but since we don't have a team of builders we'll +build the brunt of things using Evennia's Batchcode system. + +#### Can only privileged Builders create things or should regular players also have limited build-capability? + +In some game styles, players have the ability to create objects and even script them. While giving regular users +the ability to create objects with in-built commands is easy and safe, actual code-creation (aka _softcode_ ) is +not something Evennia supports natively. Regular, untrusted users should never be allowed to execute raw Python +code (such as what you can do with the `py` command). You can +[read more about Evennia's stance on softcode here](../../../Concepts/Soft-Code). If you want users to do limited scripting, +it's suggested that this is accomplished by adding more powerful build-commands for them to use. + +For our tutorial-game, we will only allow privileged builders to modify the world. The exception is crafting, +where we will allow players to to use in-game commands to create specific, prescribed objects from recipes. ### Systems -- _What are the game mechanics? How do you decide if an action succeeds or fails?_ - We will let the system decide this - from case to case by passing questions to a rule module we'll create. -- _Do you base your game off an existing RPG system or make up your own?_ - We will make use of - [Open Adventure](http://www.geekguild.com/openadventure/), an 'old school' RRG-system that is available for - free under the Creative Commons license. We'll only use a subset of the rules from the blue "basic" book. -- _How does the character-generation work? Walk from room-to-room? A menu?_ - We'll be fancy and do this as a - as a menu, it's all the rage. -- _Does the flow of time matter in your game - does night and day change? What about seasons?_ - We'll find there - is a contrib to add this, so we'll do so. -- _Do you want changing, global weather or should weather just be set manually in roleplay?_ - We'll not model - weather in this tutorial. -- _Do you want a coded world-economy or just a simple barter system? Or no formal economy at all?_ - We'll - allow for barter and buying/selling but we won't try to emulate a full economic system here. -- _Do you have concepts like reputation and influence?_ - We will not have anything like that. -- _Will your characters be known by their name or only by their physical appearance?_ - We can easily add this - because we happen to know there is a contrib available for it, so we'll add it. +#### Do you base your game off an existing RPG system or make up your own? + +We will make use of [Open Adventure](http://www.geekguild.com/openadventure/), an 'old school' RRG-system +that is available for free under the Creative Commons license. We'll only use a subset of the rules from +the blue "basic" book. For the sake of keeping down the length of this tutorial we will limit what features +we will include: + +- Only two 'archetypes' (classes) - Arcanist (wizard) and Warrior, these are examples of two different play + styles. +- Two races only (dwarves and elves), to show off how to implement races and race bonuses. +- No extra features of the races/archetypes such as foci and special feats. While these are good for fleshing + out a character, these will work the same as other bonuses and are thus not that instructive. +- We will add only a small number of items/weapons from the Open Adventure rulebook to show how it's done. + +#### What are the game mechanics? How do you decide if an action succeeds or fails? + +Open Adventure's conflict resolution is based on adding a trait (such as Strength) with a random number in +order beat a target. We will emulate this in code. + +There are no pre-set "skills", all resolution is based on using suitable traits in different combinations. +The computer can't do this decision on-the-fly like a GM could, so we need to encode what is needed +to achieve a certain effect - this will be a set of 'skills'. We will only make the minimum amount of skills +needed to accomplish the actions we want to support. This will mean custom Commands. + +#### Does the flow of time matter in your game - does night and day change? What about seasons? + +Most commonly, game-time runs faster than real-world time. There are +a few advantages with this: + +- Unlike in a single-player game, you can't fast-forward time in a multiplayer game if you are waiting for + something, like NPC shops opening. +- Healing and other things that we know takes time will go faster while still being reasonably 'realistic'. + +The main drawback is for games with slower roleplay pace. While you are having a thoughtful roleplaying scene +over dinner, the game world reports that two days have passed. Having a slower game time than real-time is +a less common, but possible solution for such games. + +It is however _not_ recommended to let game-time exactly equal the speed of real time. The reason for this +is that people will join your game from all around the world, and they will often only be able to play at +particular times of their day. With a game-time drifting relative real-time, everyone will eventually be +able to experience both day and night in the game. + +For this tutorial-game we will go with Evennia's default, which is that the game-time runs two times faster +than real time. + +#### Do you want changing, global weather or should weather just be set manually in roleplay? + +A weather system is a good example of a game-global system that affects a subset of game entities +(outdoor rooms). We will not be doing any advanced weather simulation, but we'll show how to do +random weather changes happening across the game world. + +#### Do you want a coded world-economy or just a simple barter system? Or no formal economy at all? + +We will allow for money and barter/trade between NPCs/Players and Player/Player, but will not care about +inflation. A real economic simulation could do things like modify shop prices based on supply and demand. +We will not go down that rabbit hole. + +#### Do you have concepts like reputation and influence? + +These are useful things for a more social-interaction heavy game. We will not include them for this +tutorial however. + +#### Will your characters be known by their name or only by their physical appearance? + +This is a common thing in RP-heavy games. Others will only see you as "The tall woman" until you +introduce yourself and they 'recognize' you with a name. Linked to this is the concept of more complex +emoting and posing. + +Adding such a system from scratch is complex and way beyond the scope of this tutorial. However, +there is an existing Evennia contrib that adds all of this functionality and more, so we will +include that and explain briefly how it works. ### Rooms -- _Is a simple room description enough or should the description be able to change (such as with time, by -light conditions, weather or season)?_ - We will make use of a contrib to allow us to change these things, so yes. -- _Should the room have different statuses? Can it have smells, sounds? Can it be affected by -dramatic weather, fire or magical effects? If so, how would this affect things in the room? Or are -these things something admins/game masters should handle manually?_ - We will not model any of this. -- _Can objects be hidden in the room? Can a person hide in the room? How does the room display this?_ - We will - not go into hiding and visibility in this tutorial. +#### Is a simple room description enough or should the description be able to change? + +Changing room descriptions for day and night, winder and summer is actually quite easy to do, but looks +very impressive. We happen to know there is also a contrib that helps with this, so we'll show how to +include that. + +#### Should the room have different statuses? + +We will have different weather in outdoor rooms, but this will not have any gameplay effect - bow strings +will not get wet and fireballs will not fizzle if it rains. + +#### Can objects be hidden in the room? Can a person hide in the room? + +We will not model hiding and stealth. This will be a game of honorable face-to-face conflict. ### Objects -- _How numerous are your objects? Do you want large loot-lists or are objects just role playing props -created on demand?_ - We will have a mix - some loot from monsters but also quest objects. -- _If you use money, is each coin a separate object or do you just store a bank account value?_ - We'll use - coin as-objects. -- _Do multiple similar objects form stacks and how are those stacks handled in that case?_ - We want objects - to to stack when they are put together. -- _Does an object have weight or volume (so you cannot carry an infinite amount of them)?_ - Sure, why not. -- _Can objects be broken? Can they be repaired?_ - While interesting, we will not model breaking or repairs. -- _Is a weapon a specific type of object or can you fight with a chair or a flower too?_ - We can let all - objects have the ability to be used in an attack. -- _NPCs/mobs are also objects. Should they just stand around or should they have some sort of AI?_ - We won't - be very sophisticated about it, but we want them to move around and have some rudimentary AI. -- _Are NPCs and mobs different entities? How do they differ?_ - Monsters you fight and NPCs will be variations - of the same parent. -- _Should there be NPCs giving quests? If so, how do you track Quest status?_ - We will design a simple quest system. +#### How numerous are your objects? Do you want large loot-lists or are objects just role playing props? + +Since we are not going for a pure freeform RPG here, we will want objects with properties, like weapons +and potions and such. Monsters should drop loot even though our list of objects will not be huge. + +#### Is each coin a separate object or do you just store a bank account value? + +Since we will use bartering, placing coin objects on one side of the barter makes for a simple way to +handle payments. So we will use coins as-objects. + +#### Do multiple similar objects form stacks and how are those stacks handled in that case? + +Since we'll use coins, it's practical to have them and other items stack together. While Evennia does not +do this natively, we will make use of a contrib for this. + +#### Does an object have weight or volume (so you cannot carry an infinite amount of them)? + +Limiting carrying weight is one way to stop players from hoarding. It also makes it more important +for players to pick only the equipment they need. Carrying limits can easily come across as +annoying to players though, so one needs to be careful with it. + +Open Adventure rules include weight limits, so we will include them. + +#### Can objects be broken? Can they be repaired? + +Item breakage is very useful for a game economy; breaking weapons adds tactical considerations (if it's not +too common, then it becomes annoying) and repairing things gives work for crafting players. + +We wanted a crafting system, so this is what we will limit it to - repairing items using some sort +of raw materials. + +#### Can you fight with a chair or a flower or must you use a special 'weapon' kind of thing? + +Traditionally, only 'weapons' could be used to fight with. In the past this was a useful +simplification, but with Python classes and inheritance, it's not actually more work to just +let all items in game work as a weapon in a pinch. + +So for our game we will let a character use any item they want as a weapon. The difference will +be that non-weapon items will do less damage and also break and become unusable much quicker. + +#### Will characters be able to craft new objects? + +Crafting is a common feature in multiplayer games. In code it usually means using a skill-check +to combine base ingredients from a fixed recipe in order to create a new item. The classic +example is to combine _leather straps_, a _hilt_, a _pommel_ and a _blade_ to make a new _sword_. +A full-fledged crafting system could require multiple levels of crafting, including having to mine +for ore or cut down trees for wood. + +In our case we will limit our crafting to repairing broken items. To show how it's done, we will require +extra items (a recipe) in order to facilitate the repairs. + +#### Should mobs/NPCs have some sort of AI? + +A rule of adding Artificial Intelligence is that with today's technology you should not hope to fool +anyone with it anytime soon. Unless you have a side-gig as an AI researcher, users will likely +not notice any practical difference between a simple state-machine and you spending a lot of time learning +how to train a neural net. + +For this tutorial, we will show how to add a simple state-machine for monsters. NPCs will only be +shop-keepers and quest-gives so they won't need any real AI to speak of. + +#### Are NPCs and mobs different entities? How do they differ? + +"Mobs" or "mobiles" are things that move around. This is traditionally monsters you can fight with, but could +also be city guards or the baker going to chat with the neighbor. Back in the day, they were often fundamentally +different these days it's often easier to just make NPCs and mobs essentially the same thing. + +In our tutorial game, Both Monsters and NPCs will be the same type of thing; A monster could give you a quest +and an NPC might fight you as a mob as well as trade with you. + +#### _Should there be NPCs giving quests? If so, how do you track Quest status? + +We will design a simple quest system to track the status of ongoing quests. ### Characters -- _Can players have more than one Character active at a time or are they allowed to multi-play?_ - We will - allow -- How will Character creation work? Walking room-to-room? A menu? Answering questions? Filling in a form? -- How do you implement different "classes" or "races"? Are they separate types of objects or do you -simply load different stats on a basic object depending on what the Player wants? -- If a Character can hide in a room, what skill will decide if they are detected? -- What skill allows a Character to wield a weapon and hit? Do they need a special skill to wield a -chair rather than a sword? -- Does a Character need a Strength attribute to tell how much they can carry or which objects they -can smash? -- What does the skill tree look like? Can a Character gain experience to improve? By killing -enemies? Solving quests? By roleplaying? -- May player-characters attack each other (PvP)? -- What are the penalties of defeat? Permanent death? Quick respawn? Time in prison? +#### Can players have more than one Character active at a time or are they allowed to multi-play? + +Since Evennia differentiates between `Sessions` (the client-connection to the game), `Accounts` +and `Character`s, it natively supports multi-play. This is controlled by the `MULTISESSION_MODE` +setting, which has a value from `0` (default) to `3`. + +- `0`- One Character per Account and one Session per Account. This means that if you login to the same + account from another client you'll be disconnected from the first. When creating a new account, a Character + will be auto-created with the same name as your Account. This is default mode and mimics legacy code bases + which had no separation between Account and Character. +- `1` - One Character per Account, multiple Sessions per Account. So you can connect simultaneously from + multiple clients and see the same output in all of them. +- `2` - Multiple Characters per Account, one Session per Character. This will not auto-create a same-named + Character for you, instead you get to create/choose between a number of Characters up to a max limit given by + the `MAX_NR_CHARACTERS` setting (default 1). You can play them all simultaneously if you have multiple clients + open, but only one client per Character. +- `3` - Multiple Characters per Account, Multiple Sessions per Character. This is like mode 2, except players + can control each Character from multiple clients, seeing the same output from each Character. + +We will go with a multi-role game, so we will use `MULTISESSION_MODE=3` for this tutorial. + +#### How does the character-generation work? + +There are a few common ways to do character generation: + +- Rooms. This is the traditional way. Each room's description tells you what command to use to modify + your character. When you are done you move to the next room. Only use this if you have another reason for + using a room, like having a training dummy to test skills on, for example. +- A Menu. The Evennia _EvMenu_ system allows you to code very flexible in-game menus without needing to walk + between rooms. You can both have a step-by-step menu (a 'wizard') or allow the user to jump between the + steps as they please. This tends to be a lot easier for newcomers to understand since it doesn't require + using custom commands they will likely never use again after this. +- Questions. A fun way to build a character is to answer a series of questions. This is usually implemented + with a sequential menu. + +For the tutorial we will use a menu to let the user modify each section of their character sheet in any order +until they are happy. + +#### How do you implement different "classes" or "races"? + +The way classes and races work in most RPGs (as well as in OpenAdventure) is that they act as static 'templates' +that inform which bonuses and special abilities you have. This means that all we need to store on the +Character is _which_ class and _which_ race they have; the actual logic can sit in Python code and just +be looked up when we need it. + +#### If a Character can hide in a room, what skill will decide if they are detected? + +Hiding means a few things. +- The Character should not appear in the room's description / character list +- Others hould not be able to interact with a hidden character. It'd be weird if you could do `attack ` + or `look ` if the named character is in hiding. +- There must be a way for the person to come out of hiding, and probably for others to search or accidentally + find the person (probably based on skill checks). +- The room will also need to be involved, maybe with some modifier as to how easy it is to hide in the room. + +We will _not_ be including a hide-mechanic in our tutorial game though. + +#### What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying? + +Gaining experience points (XP) and improving one's character is a staple of roleplaying games. There are many +ways to implement this: +- Gaining XP from kills is very common; it's easy to let a monster be 'worth' a certain number of XP and it's + easy to tell when you should gain it. +- Gaining XP from quests is the same - each quest is 'worth' XP and you get them when completing the test. +- Gaining XP from roleplay is harder to define. Different games have tried a lot of different ways to do this: + - XP from being online - just being online gains you XP. This inflates player numbers but many players may + just be lurking and not be actually playing the game at any given time. + - XP from roleplaying scenes - you gain XP according to some algorithm analyzing your emotes for 'quality', + how often you post, how long your emotes are etc. + - XP from actions - you gain XP when doing things, anything. Maybe your XP is even specific to each action, so + you gain XP only for running when you run, XP for your axe skill when you fight with an axe etc. + - XP from fails - you only gain XP when failing rolls. + - XP from other players - other players can award you XP for good RP. + +For our tutorial game we will use Open Adventure's rules for XP, which will be driven by kills and quest successes. + +#### May player-characters attack each other (PvP)? + +Deciding this affects the style of your entire game. PvP makes for exciting gameplay but it opens a whole new +can of worms when it comes to "fairness". Players will usually accept dying to an overpowered NPC dragon. They +will not be as accepting if they perceive another player is perceived as being overpowered. PvP means that you +have to be very careful to balance the game - all characters does not have to be exactly equal but they should +all be viable to play a fun game with. PvP does not only mean combat though. Players can compete in all sorts of ways, including gaining influence in +a political game or gaining market share when selling their crafted merchandise. + +For the tutorial game we will support both Player-vs-environment combat and turn-based PvP. We will allow players +to barter with each other (so potentially scam others?) but that's the extent of it. We will focus on showing +off techniques and will not focus on making a balanced game. + +#### What are the penalties of defeat? Permanent death? Quick respawn? Time in prison? + +This is another big decision that strongly affects the mood and style of your game. + +Perma-death means that once your character dies, it's gone and you have to make a new one. + +- It allows for true heroism. If you genuinely risk losing your character of two years to fight the dragon, + your triumph is an actual feat. +- It limits the old-timer dominance problem. If long-time players dies occationally, it will open things + up for newcomers. +- It lowers inflation, since the hoarded resources of a dead character can be removed. +- It gives capital punishment genuine discouraging power. +- It's realistic. + +Perma-death comes with some severe disadvantages however. + +- It's impopular. Many players will just not play a game where they risk losing their beloved character + just like that. +- Many players say they like the _idea_ of permadeath except when it could happen to them. +- It can limit roleplaying freedom and make people refuse to take any risks. +- It may make players even more reluctant to play conflict-driving 'bad guys'. +- Game balance is much, much more important when results are "final". This escalates the severity of 'unfairness' + a hundred-fold. Things like bugs or exploits can also lead to much more server effects. + +For these reasons, it's very common to do hybrid systems. Some tried variations: + +- NPCs cannot kill you, only other players can. +- Death is permanent, but it's difficult to actually die - you are much more likely to end up being severely +hurt/incapacitated. +- You can pre-pay 'insurance' to magically/technologically avoid actually dying. Only if don't have insurance will + you die permanently. +- Death just means harsh penalties, not actual death. +- When you die you can fight your way back to life from some sort of afterlife. +- You'll only die permanently if you as a player explicitly allows it. + +For our tutorial-game we will not be messing with perma-death; instead your defeat will mean you will re-spawn +back at your home location with a fraction of your health. + +## Conclusions + +Going through the questions has helped us get a little bit more of a feel for the game we want to do. There are +many other things we could ask ourselves, but if we can cover these points we will be a good way towards a complete, +playable game! + +Before starting to code in earnest a good coder should always do an inventory of all the stuff they _don't_ need +to code themselves. So in the next lesson we will check out what help we have from Evennia's _contribs_. - - -[prev lesson](Game-Planningd) | [next lesson](Unimplemented) +[prev lesson](Game-Planningd) | [next lesson](../../../Unimplemented) diff --git a/docs/source/toc.md b/docs/source/toc.md index 49e8767f87..b5b67899ca 100644 --- a/docs/source/toc.md +++ b/docs/source/toc.md @@ -99,6 +99,7 @@ - [Howto/NPC shop Tutorial](Howto/NPC-shop-Tutorial) - [Howto/Parsing commands tutorial](Howto/Parsing-commands-tutorial) - [Howto/Starting/Part2/Game Planning](Howto/Starting/Part2/Game-Planning) +- [Howto/Starting/Part2/Planning The Tutorial Game](Howto/Starting/Part2/Planning-The-Tutorial-Game) - [Howto/Starting/Part2/Some Useful Contribs](Howto/Starting/Part2/Some-Useful-Contribs) - [Howto/Starting/Part3/A Sittable Object](Howto/Starting/Part3/A-Sittable-Object) - [Howto/Starting/Part3/Implementing a game rule system](Howto/Starting/Part3/Implementing-a-game-rule-system)