From eca9ed4d781e4bbd75abc7bca88c163704b96d4b Mon Sep 17 00:00:00 2001 From: Griatch Date: Fri, 31 Jul 2020 19:25:22 +0200 Subject: [PATCH] Wrote introduction to tutorial-game coding section --- .../Part2/Planning-The-Tutorial-Game.md | 38 +++++++++++++------ .../Howto/Starting/Part3/Starting-Part3.md | 21 ++++++++-- .../Howto/Starting/Part5/Starting-Part5.md | 3 +- 3 files changed, 47 insertions(+), 15 deletions(-) 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 0438a64a4c..82cebc05a7 100644 --- a/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md +++ b/docs/source/Howto/Starting/Part2/Planning-The-Tutorial-Game.md @@ -3,11 +3,14 @@ # Planning our tutorial game Using the general plan from last lesson we'll now establish what kind of game we want to create for this tutorial. -Remembering that we need to keep the scope down, let's establish some parameters. Note that for your own +Remembering that we need to keep the scope down, let's establish some parameters. +Note that for your own game you don't _need_ to agree/adopt any of these. Many game-types need more or much less than this. But this makes for good, instructive examples. -- We want a small game we can play ourselves for fun, but which could in principle be expanded +- To have something to refer to rather than just saying "our tutorial game" over and over, we'll + name it ... _EvAdventure_. +- We want EvAdventure be a small game we can play ourselves for fun, but which could in principle be expanded to something more later. - Let's go with a fantasy theme, it's well understood. - We'll use some existing, simple RPG system. @@ -16,7 +19,7 @@ But this makes for good, instructive examples. - We don't want to have to rely on a Game master to resolve things, but will rely on code for skill resolution and combat. - We want monsters to fight and NPCs we can talk to. So some sort of AI. -- We want to be able to buy and sell stuff. +- We want to be able to buy and sell stuff, both with NPCs and other players. - We want some sort of crafting system. - We want some sort of quest system. @@ -26,10 +29,23 @@ 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. +Generally, the more work you expect human staffers/GMs to do, the less your code needs to work. To +support GMs you'd need to design commands to support GM-specific actions and the type of game-mastering +you want them to do. You may need to expand communication channels so you can easily +talk to groups people in private and split off gaming groups from each other. RPG rules could be as simple +as the GM sitting with the rule books and using a dice-roller for visibility. -We want our tutorial game to work without human Game masters. +GM:ing is work-intensive however, and even the most skilled and enthusiastic GM can't be awake all hours +of the day to serve an international player base. The computer never needs sleep, so having the ability for +players to "self-serve" their RP itch when no GMs are around is a good idea even for the most GM-heavy games. + +On the other side of the spectrum are games with no GMs at all; all gameplay are driven either by the computer +or by the interactions between players. Such games still need an active staff, but nowhere as much active +involvement. Allowing for solo-play with the computer also allows players to have fun when the number of active +players is low. + +We want EvAdventure to work entirely without depending on human GMs. That said, there'd be nothing +stopping a GM from stepping in and run an adventure for some players should they want to. #### What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else? @@ -67,7 +83,7 @@ _Bulletin boards_ are a sort of in-game forum where posts are made publicly or p 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 +In EvAdventure we will just use the default inter-account channels. We will also not be implementing any bulletin boards. ### Building @@ -265,7 +281,7 @@ shop-keepers and quest-gives so they won't need any real AI to speak of. 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 +In EvAdventure, 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? @@ -329,7 +345,7 @@ Hiding means a few things. 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. +We will _not_ be including a hide-mechanic in EvAdventure though. #### What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying? @@ -348,7 +364,7 @@ ways to implement this: - 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. +For EvAdventure 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)? @@ -359,7 +375,7 @@ have to be very careful to balance the game - all characters does not have to be 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 +For the EvAdventure 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. diff --git a/docs/source/Howto/Starting/Part3/Starting-Part3.md b/docs/source/Howto/Starting/Part3/Starting-Part3.md index 369bcb2dc1..426469a02c 100644 --- a/docs/source/Howto/Starting/Part3/Starting-Part3.md +++ b/docs/source/Howto/Starting/Part3/Starting-Part3.md @@ -13,7 +13,22 @@ Part 5: `Showing the world <./Starting-Part5.html>`_ Taking our new game online and let players try it out ``` +In part three of the Evennia Starting tutorial we will go through the creation of several key parts +of our tutorial game _EvAdventure_. As we go, we will test each part and create a simple "tech demo" to +show off all the moving parts. -Now that we have a good idea of what we want, we need to actually implement it. In part three of the -Starting tutorial will go through the creation of several key parts of our game. As we go, we will -test each part and create a simple "tech demo" to show off all the moving parts. \ No newline at end of file +1. [Changing settings](../../../Unimplemented) +1. [Applying contribs](../../../Unimplemented) +1. [Creating a rule module](../../../Unimplemented) +1. [Tweaking the base Typeclasses](../../../Unimplemented) +1. [Character creation menu](../../../Unimplemented) +1. [Wearing armor and wielding weapons](../../../Unimplemented) +1. [Two types of combat](../../../Unimplemented) +1. [Monsters and AI](../../../Unimplemented) +1. [Questing and rewards](../../../Unimplemented) +1. [Overview of Tech demo](../../../Unimplemented) + +If you followed the previous parts of this tutorial you will have some notions about Python and where to find +and make use of things in Evennia. We also have a good idea of the type of game we want. +Even if this is not the game-style you are interested in, following along will give you a lot of experience +with using Evennia. This be of much use when doing your own thing later. \ No newline at end of file diff --git a/docs/source/Howto/Starting/Part5/Starting-Part5.md b/docs/source/Howto/Starting/Part5/Starting-Part5.md index 886a3e4280..d316f61d17 100644 --- a/docs/source/Howto/Starting/Part5/Starting-Part5.md +++ b/docs/source/Howto/Starting/Part5/Starting-Part5.md @@ -16,4 +16,5 @@ You have a working game! In part five we will look at the web-components of Evennia and how to modify them to fit your game. We will also look at hosting your game and if you feel up to it we'll also go through how -to bring your game online so you can invite your first players. \ No newline at end of file +to bring your game online so you can invite your first players. +