Mythic-forge is an online gaming platform for Web developpers. It allows you to build from scratch a entire 2D multiplayer game. You'll need to download and install it on a serveur. Once launched, you can begin to create and play your own game.
CoffeeScript CSS HTML Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
atlas
conf
docs
hyperion
licence
rheia
test
.gitignore
.travis.yml
README.md
gulpfile.js
package.json

README.md

Build Status Dependency Status Tips

Welcome !

Mythic-forge is an online gaming platform for Web developpers.

It allows you to build from scratch a entire 2D multiplayer game.

You'll need to download and install it on a serveur. Once launched, you can begin to create and play your own game.

What kind of games can I make ?

  • Web-based:

    It means that your game will be played with a (modern) web browser: Firefox or Chrome (and their respective mobile versions)

  • 2D:

    Mythic-forge is based on 2D tiles, which means you can make maps (or levels) with square, diamond or even hexagonal tiles.

  • Multiplayer:

    Many players can simultaneously play on your game. You choose to make them play alone, in groups, all together.

  • Centralized:

    Every action is performed on the server, and only the server. It garantees that nobody can break your laws.

  • Real-time:

    Every action done by a player is immediately broadcasted to all connected players: it garantees that all will play in the same universe !

  • Turn-based:

    A special feature allows to set regularly planned rules. In a word: a turn.

Mythic-forge was designed to make RPGs in the first place. But it's generic enough to powered a large variety of games ! For now, it does not have scripting built-ins (to make campaign, or just non player characters), but you can achieve it in rules.

Unfortunately, it does not suit to: 3D games, plateform games, shooters.

Where do I start ?

Grab the code from github:

git clone https://github.com/feugy/mythic-forge

Then follows Build instructions

Project layout

The project layout is the following:

atlas/          # Game client root library, used to interract with server
docs/           # Project documentation
conf/           # plateform specific configuration files. You probably need to change `dev.conf`
hyperion/       # Server code
  bin/            # Server executable
  lib/            # Generated Js from the CoffeeScript compilation (not commited !)
  src/            # Server CoffeeScript sources
licence/        # Well... licence information :)
node_modules/   # Server's dependencies, got by Npm (not commited !)
rheia/          # Admin client code
  nls/            # Language bundles
  src/            # Admin client CoffeeScript sources
  style/          # Stylus style sheets and images
  template/       # HTML Hogan template
  vendor/         # Admin client's dependencies
tests/          # Unitary and integration tests
gulpfile.js    # Description file for Npm.
package.json    # Description file for Npm.

Other considerations

It's a spare-time project :

  • I'm doing it for fun and practice.
  • I don't want to create commercial games and earn my life with it.
  • Even if tried to make it stable and bug-free, it may radically change or be refactored.

Therefore, you're free to join and walk a little with me :)

Previous documentation

Have a look at my first introduction.

TODO

I've stopped this project from summer 2014 to summer 2016. A huge refactor is needed, including:

  • allows to develop/test on a dedicated, isolated db and rule set
  • consider embeding CI (strider ?) to build dev, run tests and deliver a package
  • removing Mongoose to have better performances
  • use a coverage tool
  • maybe switch from coffee to ES6
  • use promises instead of callbacks