On Planning a Game¶
-This lesson will be less hands-on and more introspective. We’ll go through some general things to think -about when planning your game. In the following lessons we’ll apply this to plan out the tutorial-game we will -be making.
+Last lesson we asked ourselves some questions about our motivation. In this one we’ll present +some more technical questions to consider. In the next lesson we’ll answer them for the sake of +our tutorial game.
Note that the suggestions on this page are just that - suggestions. Also, they are primarily aimed at a lone hobby designer or a small team developing a game in their free time.
Planning our tutorial game¶
In the next lesson we’ll make use of these general points and try to plan out our tutorial game.
- +Planning the use of some useful contribs¶
Evennia is deliberately bare-bones out of the box. The idea is that you should be as unrestricted as possible @@ -262,7 +262,7 @@ to our needs.
We will now move into actually starting to implement our tutorial game in the next part of this tutorial series. When doing this for yourself, remember to refer back to your planning and adjust it as you learn what works and what does not.
- +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.
@@ -53,7 +56,7 @@ to something more later.
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.
Administration¶
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.
+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.
+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?¶
@@ -100,7 +114,7 @@ would have an in-game meaning: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 +
In EvAdventure we will just use the default inter-account channels. We will also not be implementing any bulletin boards.
“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 +
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.
look
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?¶
@@ -382,7 +396,7 @@ you gain XP only for running when you run, XP for your axe skill when you fight -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)?¶
@@ -392,7 +406,7 @@ will not be as accepting if they perceive another player is perceived as being o 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 +
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.
Where do I begin?¶
+The good news is that following this Starting tutorial is a great way to begin making an Evennia game.
+The bad news is that everyone’s different and when it comes to starting your own game there is no +one-size-fits-all answer. Instead we will ask a series of questions +to help you figure this out for yourself. It will also help you evaluate your own skills and maybe +put some more realistic limits on how fast you can achieve your goals.
+++The questions in this lesson do not really apply to our tutorial game since we know we are doing it +to learn Evennia. If you just want to follow along with the technical bits you can skip this lesson and +come back later when you feel ready to take on making your own game.
+
What is your motivation for doing this?¶
+So you want to make a game. First you need to make a few things clear to yourself.
+Making a multiplayer online game is a big undertaking. You will (if you are like most of us) be +doing it as a hobby, without getting paid. And you’ll be doing it for a long time.
+So the very first thing you should ask yourself (and your team, if you have any) is +why am I doing this? Do some soul-searching here. Here are some possible answers:
+-
+
I want to earn recognition and fame from my online community and/or among my friends.
+I want to build the game so I can play and enjoy it myself.
+I want to build the same game I already play but without the bad people.
+I want to create a game so that I can control it and be the head honcho.
+A friend or online acquaintance talked me into working on it.
+I work on this because I’m paid to (wow!)
+I only build this for my own benefit or to see if I can pull it off.
+I want to create something to give back to the community I love.
+I want to use this project as a stepping-stone towards other projects (like a career in game design +or programming).
+I am interested in coding or server and network architectures, making a MUD just seems to be a good +way to teach myself.
+I want to build a commercial game and earn money.
+I want to fulfill a life-long dream of game making.
+
There are many other possibilities. How “solid” your answer is for a long-term development project +is up to you. The important point is that you ask yourself the question.
+Help someone else instead - Maybe you should not start a new project - maybe you’re better off +helping someone else or improve on something that already exists. Or maybe you find you are more of a +game engine developer than a game designer.
+Driven by emotion - Some answers may suggest that you are driven by emotions of revenge or disconcert. Be careful with that and +check so that’s not your only driving force. Those emotions may have abated later when the project +most needs your enthusiasm and motivation.
+Going commercial - If your aim is to earn money, your design goals will likely be very different from +those of a person who only creates as a hobby or for their own benefit. You may also have a much stricter +timeline for release.
+Whichever your motivation, you should at least have it clear in your own mind. It’s worth to make +sure your eventual team is on the same page too.
+What are your skills?¶
+Once you have your motivations straight you need to take a stock of your own skills and the skills +available in your team, if you have any.
+Your game will have two principal components and you will need skills to cater for both:
+-
+
The game engine / code base - Evennia in this case.
+The assets created for using the game engine (“the game world”)
+
The game engine¶
+The game engine is maintained and modified by programmers (coders). It represents the infrastructure +that runs the game - the network code, the protocol support, the handling of commands, scripting and +data storage.
+If you are just evaluating Evennia, it’s worth to do the following:
+-
+
Hang out in the community/forums/chat. Expect to need to ask a lot of “stupid” questions as you start +developing (hint: no question is stupid). Is this a community in which you would feel comfortable doing so?
+Keep tabs on the manual (you’re already here).
+How’s your Python skills? What are the skills in your team? Do you or your team already know it or are +you willing to learn? Learning the language as you go is not too unusual with Evennia devs, but expect it +to add development time. You will also be worse at predicting how ‘hard’ something is to do.
+If you don’t know Python, you should have gotten a few tastes from the first part of this tutorial. But +expect to have to refer to external online tutorials - there are many details of Python that will not be +covered.
+
Asset creation¶
+Compared to the level of work needed to produce professional graphics for an MMORPG, detailed text +assets for a mud are cheap to create. This is one of the many reasons muds are so well suited for a +small team.
+This is not to say that making “professional” text content is easy though. Knowing how to write +imaginative and grammatically correct prose is only the minimal starting requirement. A good asset- +creator (traditionally called a “builder”) must also be able to utilize the tools of the game engine +to its fullest in order to script events, make quests, triggers and interactive, interesting +environments.
+Assuming you are not coding all alone, your team’s in-house builders will be the first ones to actually +“use” your game framework and build tools. They will stumble on all the bugs. This means that you +need people who are just not “artsy” or “good with words”. Assuming coders and builders are not the +same people (common for early testing), builders need to be able to collaborate well and give clear +and concise feedback.
+If you know your builders are not tech-savvy, you may need to spend more time making easier +build-tools and commands for them.
+So, where do I begin, then?¶
+Right, after all this soul-searching and skill-inventory-checking, let’s go back to the original +question. And maybe you’ll find that you have a better feeling for the answer yourself already:
+-
+
Keep following this tutorial and spend the time +to really understand what is happening in the examples. Not only will this give you a better idea +of how parts hang together, it may also give you ideas for what is possible. Maybe something +is easier than you expected!
+Introduce yourself in the IRC/Discord chat and don’t be shy to ask questions as you go through +the tutorial. Don’t get hung up on trying to resolve something that a seasoned Evennia dev may +clear up for you in five minutes. Also, not all errors are your faults - it’s possible the +tutorial is unclear or has bugs, asking will quickly bring those problems to light, if so.
+If Python is new to you, you should complement the tutorial with third-party Python references +so you can read, understand and replicate example code without being completely in the dark.
+
Once you are out of the starting tutorial, you’ll be off to do your own thing.
+-
+
The starting tutorial cannot cover everything. Skim through the Evennia docs. +Even if you don’t read everything, it gives you a feeling for what’s available should you need +to look for something later. Make sure to use the search function.
+You can now start by expanding on the tutorial-game we will have created. In the last part there +there will be a list of possible future projects you could take on. Working on your own, without help +from a tutorial is the next step.
+
As for your builders, they can start getting familiar with Evennia’s default build commands … but +keep in mind that your game is not yet built! Don’t set your builders off on creating large zone projects. +If they build anything at all, it should be small test areas to agree on a homogenous form, mood +and literary style.
+Conclusions¶
+Remember that what kills a hobby game project will usually be your own lack of +motivation. So do whatever you can to keep that motivation burning strong! Even if it means +deviating from what you read in a tutorial like this one. Just get that game out there, whichever way +works best for you.
+In the next lesson we’ll go through some of the technical questions you need to consider. This should +hopefully help you figure out more about the game you want to make. In the lesson following that we’ll +then try to answer those questions for the sake of creating our little tutorial game.
+ +Lessons for Part 2¶
+In Part two of the Starting tutorial we’ll step back and plan out the kind of tutorial +game we want to make. This is a more ‘theoretical’ part where we won’t do any hands-on +programming.
Introduction & Overview (you are here)
-- -
- +
- +
- +
In Part two of the Starting tutorial we’ll step back and plan out the kind of tutorial -game we want to make. In the process we’ll go through the common questions of “where to start” -and “what to think about” when creating a multiplayer online text game. We’ll also look at -some useful Evennia settings to tweak and designs to consider.
+In the process we’ll go through the common questions of “where to start” +and “what to think about” when creating a multiplayer online text game.
+