idlerpg

0.1.0 • Public • Published

IdleRPG

Simple, self-playing game intended for chat servers.

Getting Started

It is recommended to use idlerpg-bot to run IdleRPG as a useful service, which can be accomplished as follows:

  1. Fork idlerpg-bot »
  2. git clone git@github.com:YOUR_USERNAME/idlerpg-bot.git
  3. cd idlerpg-bot
  4. npm install
  5. cp config.json.sample config.json then open in editor and configure
  6. npm start

Running IdleRPG on its own:

  1. Fork idlerpg »
  2. git clone git@github.com:YOUR_USERNAME/idlerpg.git
  3. cd idlerpg
  4. npm install
  5. node examples/simple.js

Examples

The simplest way to see IdleRPG in action is to join #idlerpg:verse.im, which will automatically join you into the official public game session. This channel is powered by idlerpg-bot, a pre-configured bot for Discord, Matrix, and Slack.

Simple Example

In the examples directory, you can find the following sample program:

'use strict';
 
const IdleRPG = require('idlerpg');
const game = new IdleRPG({ interval: 1000 });
const name = 'Yorick';
 
async function main () {
  game.on('patches', async function (patches) {
    game.fabric.applyPatches(patches);
  });
 
  game.on('message', function (msg) {
    console.log('[MESSAGE]', msg);
  });
 
  game.on('ready', function () {
    game.fabric.emit('service', { name: 'local' });
    game.fabric.emit('join', {
      user: name,
      channel: 'idlerpg'
    });
  });
 
  return game.start();
}
 
module.exports = main();

This minimal program demonstrates the full IdleRPG loop using a "local" service, including composing a local copy of the in-game state (stored in game.fabric).

idlerpg-bot

idlerpg-bot is a [doorman]-powered chatbot with good examples of how the underlying messaging layer operates, as well as how to integrate IdleRPG into your own applications.

API

IdleRPG uses an event-driven API to send messages between entities tracked by the game state.

For example, registrations use the join event:

game.fabric.emit('join', {
  user: name,
  channel: 'idlerpg'
});

For detailed documentation, see the docs folder. Happy hacking!

Next Steps

IdleRPG is an experiment in swarm computing, as part of an effort by the Verse team to create a serverless web. Game engines are complex programs, but we're starting with our own ("verse") as a demonstration of how a distributed computer & accompanying operating system might replace the need for servers altogether.

If this is an idea you're interested in, come join the Fabric community!

Readme

Keywords

Package Sidebar

Install

npm i idlerpg

Weekly Downloads

3

Version

0.1.0

License

MIT

Unpacked Size

28.8 kB

Total Files

13

Last publish

Collaborators

  • martindale