I stumbled across RPG-JS recently, it's a TypeScript framework which enables you to rapidly develop both RPGs and MMORPGs with relative ease.
The stack is quite simple, you create a TypeScript project and load your Tiled assets through the RPG-JS compiler by running the web app in dev mode and it spits out a fully functional browser based RPG experience!
When I first began working on this I thought I'd be spending most of my time entirely within my code editor, but instead I'm spending most of my time within Tiled placing tiles, events and shapes which the user can interact with directly. Despite spending less time coding than I expected, I'm able to make significant progress creating something worth demonstrating and blogging about!
A major limiting factor which slowed down initial Tiled progress was the need to hunt for CC0 public domain game art assets for use in this project since it's going to be MIT licensed, openly distributed via GitHub and linked to blockchain & NFT technologies many available game assets for use in this kind of project cannot be used, not without extensively listing credits for all art used.
I've had luck using OpenGameArt to find relevant public domain game tile sets, and thankfully the RPG-JS starter also comes with some useful initial tile sets and character sheets.
I've since created a small map with several multi-floor buildings, including a shop which the user will be able to buy in game items for gold, demonstrating the RPG-JS functionality, and an NFTEA Gallery which shows off the latest NFTEA NFT collection!
Getting to this point where I am able to show it off, I've had to learn a lot about how Tiled works, how RPG-JS works internally and how to create TypeScript based player interactivity with the in-game world items!
So what's the plan going forwards with this project?
This project is going to be a tech demo with the following functionality:
- Integrating BeetEOS deeplink/qr-code functionality for:
- buying NFTs on the Bitshares blockchain
- buying/wrapping/unwrapping EOS RAM
- buying items in-game with bitshares assets
- Creating an NFTEA NFT art gallery which users can walk around and interact with the NFT collections on display.
- Querying the Bitshares blockchain within the game
- Querying the EOS blockchain
- Implementing some of the basic RPG-JS functionality like buyable consumable items for your inventory as a coding generic tutorial
- Long term? Exploring the creation of a multiplayer DEX trading floor
- like an IRL stock trading floor
- in game offices with interactable computer terminals
- meet in-game to barter over a bitshares transaction
- per-market troll box lobbies
The code isn't yet open source, however in the near future the code will be moved to an open source repository on GitHub, worry not!
This may be one of the first example tech demo 'games' which other aspiring RPG-JS developers may use as inspiration/help, so showing off Bitshares and BeetEOS technology may bring new and inspired members to our communities, hopefully!
So, what do you think?
Does RPG-JS, Tiled and top-down 2D game development with Bitshares & BeetEOS integration interest you?
What kind of game would you create with RPG-JS and Bitshares blockchain interactivity?
Are you interested in running your own Bitshares based NFT gallery using this project as a template?
These developments were brought to you by the NFTEA Gallery.
Consider collecting an NFTEA NFT to or donate to the following BTS or EOS blockchain accounts directly, to continued developments.