User Tools

Site Tools


development:player:web

This is an old revision of the document!


EasyRPG Player for the Web

EasyRPG supports running games directly inside your web browser.

If you want to test it you can play with a Demo of our TestGame. Try also a working game: Ib

How does it work

Web request are asynchronous. This means that all assets like pictures and music must be fetched asynchronously. When the Player wants to display a new graphic it will appear on the desktop versions (Windows, Linux, Android, …) immediately but on the web it will be invisible while the file is downloaded. Once the downloaded finishes it is replaced with the real image.

In contrast to images and music some files are important to continue execution. When a map file is pending the Player will halt until the file is downloaded. The first halt is while the Logo is displayed on startup, it downloads the database and the maptree here. Download of map files is blocking, too. But this is usually not noticeable because the download is executed while the fade out animation plays (it will stay black when the map downloading takes longer then this).

Hosting your own games

Hosting your own games is quite simple. Just follow these three steps.

Deploying the Player on your server

Download this archive and extract it on your server.

You will get the following files and folder:

  • index.html
  • index-master.js
  • index-master.data
  • index-master.html.mem
  • games/

Note: if you want to try it locally you need a HTTP server, using file: protocol locally will not work, install Apache httpd server (or any other) on localhost instead.

Preprocessing steps for games

Because of current player for the web is not supporting MP3 playback properly in browser yet (there are resampling and buffering issues in SDL_mixer) you should convert MP3 audio files to Ogg Vorbis. Also, EasyRPG Player supports existing WAV files but Ogg Vorbis is a lot smaller and worth for the web. Do the same following process for both Music and Sound folders and remove unneeded MP3 and WAV files after the conversion.

MP3 to Ogg Vorbis conversion

GNU/Linux command line option
  • First, install lame and decode all MP3 to WAV:
for song in *.mp3; do lame --decode "$song"; done
  • Then, install vorbis-tools and encode all WAV to Ogg Vorbis.
oggenc -q0 *.wav

Beware of existing MS ADPCM WAV files, they are not supported by oggenc. If you get conversion errors, use ffmpeg -i adpcmfile.wav -o pcmfile.wav and rename it.

Windows drag and drop tools option
  • Open the LameDropXPd app (it is a square window), select all MP3 files from the folder, then drag and drop them over the square app window. They will be converted to WAV.
  • Then, download oggdropXPd (aoTuV version is preferred).
  • Open the oggdropXPd app (it is a square window), select all WAV files from the folder, then drag and drop them over the square oggdropXPd window. They will be converted to Ogg Vorbis. If you want to make smaller Ogg Vorbis files, do secondary mouse button click over the square window to select options and adjust the compression quality option to 0 (~64 kbps) -1 (~48 kbps) or -2 (~32 kbps).

Deploying a game on your server

Because RPG Maker games refer to files without extension and querying the server for every supported extension would be slow, you need to run a small tool to generate a file called 'index.json' (containing an game file list index with extensions) for every game before uploading. The tool is a php script called "indexgen".

If you use Windows you can get the tool in .exe format here: indexgen.zip Unpack indexgen.zip contents (indexgen.exe and php5.dll) in a game working folder (the folder containing RPG_RT.* files) to generate the index.json. Move indexgen.exe and php5.dll to working folders for each game you want to upload and run indexgen.exe again to generate the index.json for them. Once finished you can remove (don't upload them, they are unneeded and useless in the server) the indexgen.exe and php5.dll from any game folder.

If you use other operating system, install php-cli and run this script with php path/to/file/indexgen.php from the game working folder (the folder containing RPG_RT.* files), for each game you want to upload.

Your games are expected in subdirectories of the games directory. The default game executed is the one in games/default. You can create further games by just by putting them in subdirectories of the games directory.

Now open the index.html file and your default game should start. To play a different game pass ?game=folder_name to your index file.

development/player/web.1458447712.txt.gz · Last modified: 2016/03/20 04:21 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki