An article of the campaign wiki, as the Internet Archive captured it at wiki.ryzom.org/en on 12 February 2007. Wiki index · All captures

Menu:

MMOFromScratch Objectives

See Building from scratch - step 1 - defining objectives for the related forum topic. Original author: Sylvain Dahan.

Contents

Introduction

The aim of this text is to define what we can do and what we should do, then to define some common technical objectives. For any project to succeed, clear objectives need to be drawn and understood. With enough resources, a task based design becomes very important so people can focus on creating interoperating components and collaborate together to accomplish a goal. BuildAWorld is doing task based design.

Defining our strength and weakness

We have:

  • programmers motivated to build a new game
  • programmers that like resolving difficult problems
  • role players that like creating new background
  • role players that can make good stories

We do not have:

  • people who know how to do good looking models
  • people to create music, sound and avatar animation
  • money

Game design

Defining player liberty

The first choice is how easy it is to add new things in the game. Total liberty is cool, because if I want a new hat for my avatar, I just have to create one, and, abracadabra, I can use it. The bad part is that some children will use it to show off with avatar that have enormous genital organs. My opinion about this question is that big nude dicks are just a small inconvenience compared with the benefit that anyone can add its own graphics and the children will be quickly banned from serious community.

Another question is how easy it is to add some new area. We can design a multiverse where every body can add its new world that can contradict the other, or do we make strict rules in the aim to have a unique and consistent world?

Leveling and grinding?

Does the game involve a leveling process or not? Personally, I can not find any good reason to include a leveling process with xp in the game. But I should be an exception because so much game is based on leveling. Thus, there should have some fun on the leveling process.

However there is several advantages to not implement a leveling process. First newcomer do not need to spend six months killing zombies before being able to play with high level character. The other is everything about cheating and bot to leveling quickly will pose no problem.

Personally I am for creating a social game without character levels or need to farm resources for a long time but to find new way to play a MMORPG.

Common technical plateform

How about graphics?

I think that it is not reasonable to try to get graphics who are similar to the other game. We can accept a game with average and bad graphics or we can try to find a way where it is easy to make good looking graphics.

For that, we can make a game where graphics are easy to make like a spaceships game. I have no experience in 3D, but I already design several spaceships with a 3D program or directly in OpenGL and it is not difficult. On the other hand, drawing something that look like a living being is far too difficult for me without taking about the animation.

An other solution is to find an original style that is hard to screw up with. Manga, south park, and the seed game mentioned here http://www.ryzom.org/forums/viewtopic.php?t=173 are examples of style, but their are to easy to screw up.

Does someone is interested by the defy of creating this new style that always look good?

There are probably also lot of choices to make regarding the 3D engine, but I can not list them because of my 3D illiteracy.

Centralized or distributed servers?

This is a tough question. Should we must centralized everything on few expensive servers or do we build a peer-to-peer game.

Every body understand the notion of a server that control everything, so I am going to explain the distributed programming concept and related questions.

The aim of distributed computing is to distribute task between several computers. For example, when you chat, every message is send to a server that forwards them to the other players. The server is a bottleneck: if it is not quick enough, it has effect on everybody. In a distributed solution, you do not send the message to a server but you send it directly to the players. advantage:

  • no server bandwidth is necessary for the chat system because the server does not receive or send any message.
  • if A say something to B, the program can send each character separately when A is typing its message. Thus B does not have to wait that A types "enter" to read what A is saying. This is possible because without server, ther e is less need to limit the bandwidth consumption.

problem:

  • it is easy to know the address IP of someone.
  • the server can not censure messages

Another point is about monsters. With a centralized server, the server manages every monster. So, big computers are needed because if there is lot of players, then there is lot of monsters that are fighting. In a distributed version, the administrator can tell which computer control the monster. So important one can be managed by the server to avoid cheating, when small ones are controlled by the player computer (exactly like when you play mono-player games) or controlled by another player computer.

Conclusion

We can not create a game if we do not have objectives and we can not get the good technical objectives if we can not take into account every possibility, our strength and our weakness. So, I count on you to add more questions and give our opinion about what has been said. Then, it will be probably possible to make some choice and start coding.