All Projects → Jerenaux → Westward

Jerenaux / Westward

Licence: mit
A collaborative MMORPG made in Javascript

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Westward

Otxserver
OTX Server from:
Stars: ✭ 187 (+183.33%)
Mutual labels:  game, mmorpg
Mmorpg
springboot编写的轻量级高性能mmorpg手游服务端框架,基本功能逐渐完善中。
Stars: ✭ 309 (+368.18%)
Mutual labels:  game, mmorpg
Stendhal
Stendhal is a fun friendly and free multiplayer online adventure game with an old school feel.
Stars: ✭ 194 (+193.94%)
Mutual labels:  game, mmorpg
Knightonline
OpenKO is an open source version of the old school Knight Online MMORPG
Stars: ✭ 146 (+121.21%)
Mutual labels:  game, mmorpg
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+892.42%)
Mutual labels:  game, mmorpg
Gserver
通用的实时流golang框架,可以方便的创建游戏服务/聊天服务等
Stars: ✭ 164 (+148.48%)
Mutual labels:  game, mmorpg
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+4836.36%)
Mutual labels:  game, mmorpg
Rpg
Online Role Playing Game (based on Laravel)
Stars: ✭ 121 (+83.33%)
Mutual labels:  game, mmorpg
Opensc2k
OpenSC2K - An Open Source remake of Sim City 2000 by Maxis
Stars: ✭ 4,753 (+7101.52%)
Mutual labels:  game, phaserjs
Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (+487.88%)
Mutual labels:  game, mmorpg
Rhisis
Rhisis is an experimental FlyFF MMORPG emulator built with C# 9 and .NET 5
Stars: ✭ 132 (+100%)
Mutual labels:  game, mmorpg
Ao Server
Server for Argentum Online
Stars: ✭ 32 (-51.52%)
Mutual labels:  game, mmorpg
Reldens
Reldens - You can make it - Open Source MMORPG Platform
Stars: ✭ 130 (+96.97%)
Mutual labels:  game, mmorpg
Ryzomcore
Ryzom Core is the open-source project related to the Ryzom game. This community repository is synchronized with the Ryzom Forge repository, based on the Core branch.
Stars: ✭ 171 (+159.09%)
Mutual labels:  game, mmorpg
Tap Tap Adventure
Tap Tap Adventure is a massively online 2D MMORPG set in the medieval times with twists.
Stars: ✭ 123 (+86.36%)
Mutual labels:  game, mmorpg
dungeonz
Everything for the game Rogueworld.
Stars: ✭ 88 (+33.33%)
Mutual labels:  mmorpg, phaserjs
Openmmo
OpenMMO - Groundwork
Stars: ✭ 115 (+74.24%)
Mutual labels:  game, mmorpg
Mir2x
open source MMORPG game
Stars: ✭ 118 (+78.79%)
Mutual labels:  game, mmorpg
Phaser3 Docs
Phaser 3 Documentation and TypeScript Defs
Stars: ✭ 339 (+413.64%)
Mutual labels:  game, phaserjs
Openkore
A free/open source client and automation tool for Ragnarok Online
Stars: ✭ 956 (+1348.48%)
Mutual labels:  game, mmorpg

Westward

Westward is an open-source aspiring MMORPG written in Javascript. The latest version of the game is accessible at all times at www.westward-online.com.

Disclaimer: Westward began as a closed-source project, and has grown that way for more than 2 years. As a result, the current codebase is messy and not very collaboration-friendly. Documentation is sorely missing, the tests are a mess, and the code itself looks like what a 2+ years codebase maintained by one guy can look like. You can make that change! I invite you to point out where the code is particularly unclear and where the lack of documentation is particularly painful. I will give top priority to addressing these feedbacks.

Vision

As a game, Westward aims to be a collaborative MMORPG where the players have to build a nation, starting from scratch and progressively settling a large continent. A more lengthy description can be found on the description page of the game.

As an open-source project, Westward aims to be a great collaborative experience for contributors of all sorts. The goal is also to be a learning experience, for me as well as for developpers interested in gamedev. I hope the contributions and the community will grow into a space for us to learn and have fun improving that game.

For more insight into the evolution of the project, check out the dev logs.

Community

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. At some point a Docker image should be rolled out to facilitate that process (feel free to contribute on that front if that's your area of expertise!)

Prerequisites

  • A recent version of Node.js
  • A MongoDB instance listening on port 27017

Installing

Clone this repository, then navigate to it and install the dependencies:

npm install

You should also create a file called .env at the root of the directory. This is where the dotenv package will be looking for environment variables. Your local version doesn't need to define any environment variables, but dotenv will complain if that file is missing.

touch .env

Running the game

The most straightforward way ton run the game server is to do:

node dist/server.js

Then navigate to localhost:8081 to play the game.

If you make modifications to the game, don't forget to rebuild it using webpack, which you can do by running:

npm run webpack

Alternatively you can run webpack-dev-server to automatically watch for changes and rebuild when changes are detected. You can do so by running:

npm run watch:webpack

The file package.json defines all the npm run ... commands that are available. Feel free to add more if you think that would be useful!

Running the tests

Some tests have been set up, mainly focusing on testing the client/server API and some internal server functions. They can be run as follows:

npm run test

These tests could be improved in a million ways, by being better documented, being more clean, or simply by adding more tests. In an ideal world, the tests could act as a gateway to the codebase, providing a clear view of what is going on and helping contributors dive in. It's not the case yet, but feel free to contribute on that front!

Deployment

The master branch of this repository is deployed on an AWS EC2 instance maintained by myself. I will not elaborate too much on that aspect since it doesn't impact contributions, but I can provide more information if there is demand for it.

Built With

  • Phaser 3 on the client side - The best Javascript game engine
  • Node.js on the server side
  • MongoDB for the database

Contributing

Please read CONTRIBUTING.md for details on the process for submitting contributions.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Thanks

Many thanks to the following people for supporting Westward on Patreon:

  • Sean Pope
  • Flavius Poenaru, currently working on Kaetram, an open-source 2D HTML5 adventure

Donate

If you are interested in Westward and want to see it grow, I invite you have a look at my Patreon page where you can find a listing of rewards for various levels of recurring contributions. Even the smallest contributions can go a long way as a signal of your interest and your support.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].