Finally, we are no longer at the Beta version! After 2 years on rewriting version 3, I think the structure is stable to design RPG and MMORPG
What does the new version of RPGJS add:
Better compatibility with Tiled Map Editor
Before, RPGJS uses the node-tmx-parser package. The developer did a good job, but unfortunately it is no longer maintained.
I decided to rewrite the Tiled Map Editor package, and for several reasons:
- Accept groups of layers. Now it works (it didn't before)
- Accept text on maps
- Accept tiles as object
- Rotate and flip tiles
In addition, an optmization was performed on the collisions of the tiles. Before, a loop was done on the layers (imagine you have 300 layers, at each movement, a loop of 300 was done). Now, there is a caching of the information of a tile allowing to test the collision in one time
Put several graphics
From now on, a sprite will be a set of possible components (color, text, graphics, etc.). For the moment, the version of RPGJS gives the possibility to put several spritesheets on an event.
And you can animate them all at once:
player.showAnimation(['body', 'shield'], 'attack', true) // You have to create the "attack" animation on the client side
Some improvements have been made on the compiler. The main improvement is that you don't have to define the tileset in a spritesheet on the client side anymore!
Version 3 will be released in the near future after adding some unit tests.
But here are some thoughts for the future:
- Adding behaviors on characters (chase movement, flee movement, etc.) that would be useful for creating real-time combat
- Adding a guild / team management system
- Effects on the map (rain, light, fog, etc.)
- Add several elements easily on a character (HP Bar, Name). This is already possible but make it easier
Go to Web3 (under consideration)
- Create a module to connect with MetaMask
- Earn NFT / Crypto according to actions (currently under review only)
I'm also thinking about version 4. There will be no changes on the structure but, this version 4 would have:
- A REST or GraphQL API to interact with the game (create a map, add an event).
- A Studio Mode: a graphical interface with the API to manage the game (administration)
- Re-develop the compiler with Vite and not Webpack
- Update PixiJS on the last version
- Make RPGJS compatible with the latest versions of NodeJS
Note that the developments of the version 4 (studio mode for example) is already in progress