-
Notifications
You must be signed in to change notification settings - Fork 0
Home
WoG is a proof of concept of a 2D wiki-MMORPG running on Linux. It's intended to be a framework for multiplayer role playing games in which players are able to have interactions with other player's characters or non-player's characters but also with the map itself. WoG allow you to set-up your own world with your own graphics and rules and then invite your friends to build or destroy this new world.
This is an exemple which is currently implemented in the demo01 of the source code: The game starts with 3 selectable characters: a god, a lich and a knight. Let's choose the god first. He appears in the middle of a map covered with water. As a god, he has the power to raise some ground to create island on this map. He can also summon some dolphins which will swim freely along the newly created islands. To add some colors, he can spawn a flower on the ground. This flower will slowly spawn other flowers around them to finally have a nice garden full of flowers.
Enough of the nice god, let's disconnect him and try the evil lich ! The lich first goal will be to find a place for it's evil lair. He has the ability to create a dungeon entrance on the ground and so use this ability somewhere on the island created by the god. Then he will go through the entrance and enters its dungeon. It'a tiny dungeon whith only the dungeon exit and a dungeon square. But the lich can digg the wall to create a bigger dungeon. He can even create other dungeon levels and digg them too ! Anyway this dungeon is a bit empty. The lich has the ability to summon two types of NPC: a skeleton and a black dragon. When created, those creatures will randomly explore the dungeon waiting for some daring adventurers.
It's time for us to connect with the knight character. The knight character has only one ability: hit ! He can use it to destroy the lich's skeletons and eventually get some reward.
Technically, all this is a set of configuration files, media files and LUA scripts which are served by WoG server and interpreted by WoG client.
The current state of the project (as of 23/01/2014) is proof of concept. There are many things to add and many things to fix or clean-up but it works in some kind of limited way.
In Ubuntu 14.04, from the code sub-directory:
git submodule init
git submodule update
sudo apt-get install autoconf libavformat-dev libswscale-dev libsdl2-ttf-dev libpng12-dev libconfig-dev liblualib50-dev libsdl2-net-dev libgif-dev libsdl2-mixer-dev nlohmann-json3-dev libprotobuf-dev
cmake .
make
This will give you 2 binaries: client/wog_client and server/wog_server
First you need a server running. For a server running demo01, from the "code" directory, you may type:
./server/wog_server --input ../data/demo01
You will then need to run wog_client. All data needed by wog_client are served by wog_server. You just have to connect to the server and the client will download the required files. You can pass all connection information directly on the command line:
- ip: the wog_server IP.
- user: your user name.
- pass: your password.
To play as user "bob" in "demo01" on a locally running wog_server, from the "code" directory just type:
./client/wog_client -ip 127.0.0.1 -user bob -pass bob
All demo should have a "bob" user with password "bob". Nearly all demo should have a second user called "zed" with password "zed"