diff --git a/docs/source/Howto/Starting/Part1/Starting-Part1.md b/docs/source/Howto/Starting/Part1/Starting-Part1.md index e3316e8a11..8c57b8c625 100644 --- a/docs/source/Howto/Starting/Part1/Starting-Part1.md +++ b/docs/source/Howto/Starting/Part1/Starting-Part1.md @@ -6,13 +6,13 @@ **Part 1: What we have** A tour of Evennia and how to use the tools, including an introduction to Python. - Part 2: `What we want <./Starting-Part2.html>`_ + Part 2: `What we want <../Part2/Starting-Part2.html>`_ Planning our tutorial game and what to think about when planning your own in the future. - Part 3: `How we get there <./Starting-Part3.html>`_ + Part 3: `How we get there <../Part3/Starting-Part3.html>`_ Getting down to the meat of extending Evennia to make our game - Part 4: `Using what we created <./Starting-Part4.html>`_ + Part 4: `Using what we created <../Part4/Starting-Part4.html>`_ Building a tech-demo and world content to go with our code - Part 5: `Showing the world <./Starting-Part5.html>`_ + Part 5: `Showing the world <../Part5/Starting-Part5.html>`_ Taking our new game online and let players try it out ``` diff --git a/docs/source/Howto/Starting/Part2/Game-Planning.md b/docs/source/Howto/Starting/Part2/Game-Planning.md index f37f04b7f4..19abd03e09 100644 --- a/docs/source/Howto/Starting/Part2/Game-Planning.md +++ b/docs/source/Howto/Starting/Part2/Game-Planning.md @@ -1,10 +1,10 @@ -[prev lesson](./Starting-Part2) | [next lesson](./Planning-The-Tutorial-Game) +[prev lesson](./Planning-Where-Do-I-Begin) | [next lesson](./Planning-The-Tutorial-Game) # 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. @@ -209,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](./Planning-Where-Do-I-Begin) | [next lesson](./Planning-The-Tutorial-Game) diff --git a/docs/source/Howto/Starting/Part2/Planning-Where-Do-I-Begin.md b/docs/source/Howto/Starting/Part2/Planning-Where-Do-I-Begin.md new file mode 100644 index 0000000000..6d8792b18e --- /dev/null +++ b/docs/source/Howto/Starting/Part2/Planning-Where-Do-I-Begin.md @@ -0,0 +1,149 @@ +[prev lesson](./Starting-Part2) | [next lesson](./Game-Planning) + +# 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](../../../index). + 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. + +[prev lesson](./Starting-Part2) | [next lesson](./Game-Planning) \ No newline at end of file diff --git a/docs/source/Howto/Starting/Part2/Starting-Part2.md b/docs/source/Howto/Starting/Part2/Starting-Part2.md index 906defaa29..9040bdefe7 100644 --- a/docs/source/Howto/Starting/Part2/Starting-Part2.md +++ b/docs/source/Howto/Starting/Part2/Starting-Part2.md @@ -2,25 +2,28 @@ ```sidebar:: Tutorial Parts - Part 1: `What we have <./Starting-Part1.html>`_ + Part 1: `What we have <../Part1/Starting-Part1.html>`_ A tour of Evennia and how to use the tools, including an introduction to Python. **Part 2: What we want** Planning our tutorial game and what to think about when planning your own in the future. - Part 3: `How we get there <./Starting-Part3.html>`_ + Part 3: `How we get there <../Part3/Starting-Part3.html>`_ Getting down to the meat of extending Evennia to make our game - Part 4: `Using what we created <./Starting-Part4.html>`_ + Part 4: `Using what we created <../Part4/Starting-Part4.html>`_ Building a tech-demo and world content to go with our code - Part 5: `Showing the world <./Starting-Part5.html>`_ + Part 5: `Showing the world <../Part5/Starting-Part5.html>`_ Taking our new game online and let players try it out ``` ## 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. + 1. Introduction & Overview (you are here) +1. [Where do I begin](./Planning-Where-Do-I-Begin) 1. [On planning a game](./Game-Planning) 1. [Planning to use some useful Contribs](./Planning-Some-Useful-Contribs) -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. \ No newline at end of file +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. \ No newline at end of file diff --git a/docs/source/Howto/Starting/Part3/Starting-Part3.md b/docs/source/Howto/Starting/Part3/Starting-Part3.md index 426469a02c..59bb23fb70 100644 --- a/docs/source/Howto/Starting/Part3/Starting-Part3.md +++ b/docs/source/Howto/Starting/Part3/Starting-Part3.md @@ -2,15 +2,15 @@ ```sidebar:: Tutorial Parts - Part 1: `What we have <./Starting-Part1.html>`_ + Part 1: `What we have <../Part1/Starting-Part1.html>`_ A tour of Evennia and how to use the tools, including an introduction to Python. - Part 2: `What we want <./Starting-Part2.html>`_ + Part 2: `What we want <../Part2/Starting-Part2.html>`_ Planning our tutorial game and what to think about when planning your own in the future. **Part 3: How we get there** Getting down to the meat of extending Evennia to make our game - Part 4: `Using what we created <./Starting-Part4.html>`_ + Part 4: `Using what we created <../Part4/Starting-Part4.html>`_ Building a tech-demo and world content to go with our code - Part 5: `Showing the world <./Starting-Part5.html>`_ + Part 5: `Showing the world <../Part5/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 diff --git a/docs/source/Howto/Starting/Part4/Starting-Part4.md b/docs/source/Howto/Starting/Part4/Starting-Part4.md index 68ee0a6c25..78dcb93f85 100644 --- a/docs/source/Howto/Starting/Part4/Starting-Part4.md +++ b/docs/source/Howto/Starting/Part4/Starting-Part4.md @@ -2,15 +2,15 @@ ```sidebar:: Tutorial Parts - Part 1: `What we have <./Starting-Part1.html>`_ + Part 1: `What we have <../Part1/Starting-Part1.html>`_ A tour of Evennia and how to use the tools, including an introduction to Python. - Part 2: `What we want <./Starting-Part2.html>`_ + Part 2: `What we want <../Part2/Starting-Part2.html>`_ Planning our tutorial game and what to think about when planning your own in the future. - Part 3: `How we get there <./Starting-Part3.html>`_ + Part 3: `How we get there <../Part3/Starting-Part3.html>`_ Getting down to the meat of extending Evennia to make our game to make a tech-demo **Part 4: Using what we created** Using the tech-demo and world content to go with our code - Part 5: `Showing the world <./Starting-Part5.html>`_ + Part 5: `Showing the world <../Part5/Starting-Part5.html>`_ Taking our new game online and let players try it out ``` diff --git a/docs/source/Howto/Starting/Part5/Starting-Part5.md b/docs/source/Howto/Starting/Part5/Starting-Part5.md index d316f61d17..9040df0948 100644 --- a/docs/source/Howto/Starting/Part5/Starting-Part5.md +++ b/docs/source/Howto/Starting/Part5/Starting-Part5.md @@ -2,13 +2,13 @@ ```sidebar:: Tutorial Parts - Part 1: `What we have <./Starting-Part1.html>`_ + Part 1: `What we have <../Part1/Starting-Part1.html>`_ A tour of Evennia and how to use the tools, including an introduction to Python. - Part 2: `What we want <./Starting-Part2.html>`_ + Part 2: `What we want <../Part2/Starting-Part2.html>`_ Planning our tutorial game and what to think about when planning your own in the future. - Part 3: `How we get there <./Starting-Part3.html>`_ + Part 3: `How we get there <../Part3/Starting-Part3.html>`_ Getting down to the meat of extending Evennia to make our game - Part 4: `Using what we created <./Starting-Part4.html>`_ + Part 4: `Using what we created <../Part4/Starting-Part4.html>`_ Building a tech-demo and world content to go with our code **Part 5: Showing the world** Taking our new game online and let players try it out diff --git a/docs/source/toc.md b/docs/source/toc.md index 8f8c322055..21f7217eee 100644 --- a/docs/source/toc.md +++ b/docs/source/toc.md @@ -114,6 +114,7 @@ - [Howto/Starting/Part2/Game Planning](Howto/Starting/Part2/Game-Planning) - [Howto/Starting/Part2/Planning Some Useful Contribs](Howto/Starting/Part2/Planning-Some-Useful-Contribs) - [Howto/Starting/Part2/Planning The Tutorial Game](Howto/Starting/Part2/Planning-The-Tutorial-Game) +- [Howto/Starting/Part2/Planning Where Do I Begin](Howto/Starting/Part2/Planning-Where-Do-I-Begin) - [Howto/Starting/Part2/Starting Part2](Howto/Starting/Part2/Starting-Part2) - [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)