The first big news of this version is the switch to ViteJS as compiler and the latest version of PixiJS. This strategic choice allows RPGJS to take advantage of the latest technological advances in web development, offering a more fluid and immersive game experience. Developers will be able to take full advantage of the performance of these modern tools to create rich and engaging game worlds.
Another major change is the compatibility with Node.js 18. RPGJS thus adapts to the latest developments in the Node.js ecosystem, offering developers a solid and secure platform for creating their role-playing games. Compatibility with Node.js 18 also ensures better performance and increased stability for RPGJS projects.
The project creation structure has also been simplified in this new version. Developers now have a more intuitive and user-friendly process for starting their role-playing game project. Whether you're a beginner or a veteran in the field of game development, RPGJS makes it easier for you by reducing tedious steps and allowing you to focus on the creative aspect of your game.
One of the most exciting features introduced in RPGJS 4 is "Hot Reloading" for map creation. This mechanism allows developers to instantly view changes made to game maps without having to reload the entire application. The result is a more efficient workflow and increased productivity for role-playing game designers. This feature allows for quick iteration on the visual and gameplay aspects of maps, providing a convenient way to perfect the game experience.
AutoLoad
In RPGJS, the folder structure plays an important role in organizing and loading the various elements of a role-playing game. Files and resources are placed in specific folders according to their function or type, and RPGJS is able to detect them automatically without having to declare them explicitly.
For example, RPGJS can automatically load script, sprite, sound, or game data files by analyzing the project's folder structure. When you add a new file to an appropriate folder, RPGJS detects it and makes it available for use in the game without you having to do any additional configuration.
This folder autoload feature in RPGJS simplifies the development process by reducing the amount of manual configuration required. It also makes it easier to manage resources and game elements by organizing them consistently in specific folders.
Documentation: https://github.com/RSamaium/RPG-JS/blob/v4/docs/guide/autoload.md
Hot Reloading
You can change the map without restarting the game 🙂
Video for example: https://vimeo.com/830100086
Migration from v3 to v4
There are brief changes:
https://github.com/RSamaium/RPG-JS/blob/v4/docs/migration/to-v4.md
Installation of v4
For the moment, the site is not to be updated while v4 is in beta but you can try the beta right now:
npx degit rpgjs/starter#v4 my-rpg-game
cd my-rpg-game
npm install
npm run dev # and go to localhost:3000