I thought you may all be interested in knowing about my current roadmap of features that I’m working on or planning on adding within the next few weeks or months. I’ll try to keep this up to date as much as possible.
There are of course many things that I want to do, but let’s concentrate on the next few major features :
Payment processing improvements => Assets Management => User & World Integration => Infrastructure revamp
Payment processing improvements
I know that after the Bazaar, the next task was going to be Assets Management, but I feel like this is a slightly more urgent thing to take care of, so I’ve bumped it to the top of the list. It’s also because it’s a rather simple and quick thing that I will do, whereas the Assets revamp task will be quite extensive and take a lot of my time before it’s ready.
If you’re wondering what this task is about… just checkout the current process needed in order to change your billing information and you’ll understand how badly needed it is.
What I basically want is these things :
- An area to change your billing information and payment methods
- A quick link to view your payment history and invoices
- Add Paypal support
- Add warning notifications on the site when your payment has failed so you can be aware of it (for those who don’t check their emails)
- Add a new Extra option to allow to increase the asset file size limit (so you can use UHD maps without having to upgrade your tier if you don’t want to)
- Allow plan upgrade with disabling extras (for those who don’t need the extra quotas anymore on a higher tier)
- Automate the locking/unlocking of accounts based on payment status
That last one is because at the moment, I need to check daily on who has failed to pay their subscription (due to credit card issue, insufficient funds, or blocked by bank while they verify the purchase is legitimate, etc…) and when a subscription has failed to be paid after multiple attempts, I need to lock the account (which usually results in the person finally noticing the emails I send and fix the problem), then once the invoice is paid, I need to be notified about it then manually unlock the account again. This takes time and is annoying, so it’s better if I make the website take care of that automatically, so it can free me up to do other things than handle these issues every day.
One of the most requested feature is the ability to rename assets, as well select multiple files to delete, or drag & drop an asset in a different directory to make it easier to organize files after upload.
This is unfortunately not just a change in the UI, but it will require a revamp of the Assets Library system to even allow it because of how the S3 storage that backs the Assets Library does not allow for renames, only copies, and it’s rate limited to 2 copies per 5 minutes (absolutely ridiculous), so I want to create a new abstraction layer to allow for instant renames and moves and deletes, and it will allow me to bring back one of my original optimizations from before I moved to this S3 storage, which allowed me to save user’s bandwidth and time by doing a local copy if the same file had already been uploaded by another user, so you wouldn’t need to upload all your assets, only the new unique assets. I’ll also use this opportunity to improve the upload process to allow batch uploads in parallel to speed up big imports for example.
This feature will also allow me to do smart in-world renames, which is something I feel is needed before renames are even made possible. What this means is that if you rename an asset and that asset is in use within one of your worlds, I need to update that world to use the new asset URL automatically so it doesn’t break it.
User & World Integration
This is the features I’m most excited about and which I wanted to implement since the first day I envisioned The Forge. I am talking of course about the Story Teller features of having full user integration. What I want is to have the ability to launch into a world directly by going to its URL. You can already do that when you have a world that goes idle, but I want to be able to have one unique URL per world and have it auto launch the correct world based on the URL, but also auto-login into the game. This means that when you send an invitation link to a player and they join the game, The Forge would automatically create a new user for them within the world and log them in automatically as their player when they go to the world.
What I basically want is for the Forge to completely abstract away the
/players pages from Foundry to make it easier to manage those elements of the game and have full integration.
This requires a little bit more work and is a massive feature, and that’s what the Story Teller Tier is all about. At least, the systems and modules management parts of the setup page will already have been done with the inclusion of the Bazaar.
To my great pleasure, The Forge has been growing quite well since the release, and while I’ve set things up to be able to scale easily as demand grows, I want to work a little bit more on that aspect of the service to make things even better. For most people, this will mean nothing, no particular change, or advantage, other than the potential for running more smoothly and less work for me to maintain the servers and keep an eye on them, especially during peak hours.
For the more technically inclined, I want to move the entire design of the service to using Kubernetes. This has quite a few challenges, and it seems I’ve already implemented a few of the things that Kubernetes does, so I’d need to adapt The Forge to use a different method of orchestration and process launching and scaling and routing and region inter-communication, etc… I’m a little excited to be doing this, cause it looks like a really interesting challenge and there will be a lot of knowledge that I would be gaining (and it’s always fun to learn new things!).
One additional challenge is that I will of course want to switch the infrastructure from what I currently have to the new Kubernetes system with zero downtime and a completely transparent move without any effect on the users. So I’ll work hard on making that happen. Unfortunately, it’s unrealistic to think that there won’t ever be a small period of adaptation as I iron out the bugs that I won’t be able to discover until I make the change happen in production.
There’s more of course for the future, The World Builder tier features of course, but many other things that I want to do to improve the overall experience for everybody. For now, I don’t want to speculate on which features I will do in which order, and I think I’ll be busy enough with these 3 major features already. I don’t have an ETA but I expect within a couple of months, I’ll be revisiting this thread and updating it with the new roadmap.
Let me know if you have any questions or feedback on this.