Beta.24 is here!
Finally after a long time working on it the beta.24 is out!
Let's go straight into the new stuff!
The first items are quite related to the deploy process, with the upgrade of Colyseus to the version 0.14.22, this allow us to use the Colyseus Arena as server provider, and at the same time with the fixes for the server URL, you can take the "dist" folder (that contains your client bundled), and deploy it to any CDN.
This brigs a lot of benefits at the time to pick your hosting and scale, but I have to mention didn't had time to test the entire with the Arena, mostly because how the admin and the hotplug features works.
The next big upgrades were: Phaser to version 3.55.2, and Parcel to 2.8.0.
The Phaser upgrade didn't had much impact but with the Parcel upgrade, we fully included it into Reldens through the ThemeManager to handle the entire client bundling without requiring to have Parcel installed locally. Though the main lib now looks a bit ugly (because the amount of packages required), it made the skeleton much more clear and only required to include the reldens main package.
Other big improvements were the implementation of the client interpolation (to get a bit smoth movement), client prediction and reconciliation, where the last two are experimental. The main reason is because was really hard to make the ticks work with the physics engine and on the other hand the benefits and improvements were not that good... keep in mind that we can only predict what the connected client does but not what the other players are doing, since most of the actions on the platform are related to what the other clients are doing the reconciliation was making a lot of visible corrections, for example: when players use physical skills like fireballs or throwing rocks, those visible corrections looked awful.
For now, I will leave it as experimental until we can get time enough to tackle it properly.
Another funny addition, are the new Top-Down scenes with gravity (platformer style), in order to see test new area in the demo, you need to go to the town, go to the house at the right, enter and go up the stairs. You will be able to move left / right, and up will behave like "jump". Then only issue here is that I've made this at the beginning of the beta.24 and didn't wen't back to check it, and now it seems that some missing config is making the player not walk while you maintained a key pressed (known issue noted in the road-map tasks to fix).
A huge addition in terms of new MRPG features, the trade-system!
The @reldens/items-system package was updated and it now includes an exchange platform.
The exchange platform allow developers to use two inventory instances and set requirements and rewards for each case, then when both inventories confirmed the transaction it will be processed automatically. At the same time you can specify other options like drop exchange or make items not required to be available in one inventory, to make the inventories behave more like how a sell or buy from NPCs works.
For example: inventory A, has a "gold" item with quantity = 2, and the inventory B has 1 "arrow", on the inventory B you can set 1 "gold" as required and by default when both confirms then 1 "gold" will be moved from inventory A to B, and the "arrow" will be moved from inventory B to A. Now, with the mentioned options, we can drop the "gold" that should be moved to inventory B (because an NPC won't need it), or we can make the arrow don't be "removed" from inventory B (like if it was owned by the NPC for sell).
For beta.25 we have huge plans!
The main focus will be on refactor most of the code and start making the platform more open in terms of technology. In the same way we created a driver for the storage and you are able to use SQL or nonSQL databases, the idea is to make the server and the client open to use other platforms as well.
That been said, the first thing we are extrating is Phaser out of the client, this way we will be able to easily extract Colyseus, the idea is to have drivers to cover the functionality these libraries provide in an abstract way, and later we could potentially create drivers for other libraries, like Babylon, Socket.IO, etc.
The second will be to add the still missing big MRPGs feature "Teams and Clans". This has been on our road map for a while by now and we need to really think how we will implement it to make it pretty configurable.
At the same time we will be polishing the current features and include some more options on them, for example: we could make the players been able to setup their own stores to sell their items, or (also pending) improve the chat system-messages and chat configurations for that matter.
We also need to make the battle system rewards and the quests configurable from the admin, and also make the enemies and respawn areas configurable.
I think that will be all for now, if you have any questions or like to have a chat you can join us on our Discord channel.
Hope you like this update and enjoy the new stuff! I'll be glad to get any comments about it!
See you soon!