mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
145 lines
8.3 KiB
Markdown
145 lines
8.3 KiB
Markdown
# 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.md).
|
||
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.
|