idlerpg
v0.1.0
Published
generic implementation of IdleRPG
Downloads
7
Readme
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:
- Fork
idlerpg-bot
» git clone [email protected]:YOUR_USERNAME/idlerpg-bot.git
cd idlerpg-bot
npm install
cp config.json.sample config.json
then open in editor and configurenpm start
Running IdleRPG on its own:
- Fork
idlerpg
» git clone [email protected]:YOUR_USERNAME/idlerpg.git
cd idlerpg
npm install
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!