What a day it is, the Public Test Realm is now live and you can find the clients for download under the “Development” menu of the website if you want to get involved and help me test all the new stuff.
TLDR; You can download the clients via Development > Public Test Realm in the website menu.
What is a PTR?
The PTR, or Public Test Realm is essentially a special version of the game where all of the new features and updates will be deployed for you guys to test before they get rolled out to the main game. It will generally always be online, but could be restarted at any moment and may be in various states of very broken or totally awesome depending on which way the wind is blowing.
Nothing you do on the PTR will have any affect whatsoever on the Live game, and it is worth noting that your accounts and characters might be out-of-date, broken, or missing entirely! Progress you make on the PTR can be reset at any moment, and it might be set to a backup of the live server, a clean wipe, anything can happen at any time depending on the nature of what is being tested in that moment.
As this is a very close-to-the-development experience, client updates will be rolled out with extreme frequency – we are talking sometimes hourly and daily, for this reason you will not find the PTR in the play store and will always have to download it from the website. This is because it can sometimes take days for google to approve releases. Days!
Is it easy for me to take part?
Absolutely! I have taken special care to ensure it is as easy as possible for you guys to get involved and jump onto the PTR. The Mirage PTR client has a few distinct features from the Live client:
- Different package name so it won’t overwrite your live client install on Android
- Different app name and icon so it is easily distinguishable from the live client on Android
- Uses it’s own preferences file so it won’t interfere with the live client
- Works using a “PTR Build number” version system, so the client version tested might be version 0.7 or some such, but there can be many PTR builds for that one version
You can download and install the PTR client on any platform of your choosing and it will not interefere in any way with your live client installed on the same system.
Automated builds and deployment
A big part of Mirage Realms dev for me has always been manually faffing around with releases and inevitably missing some small bug that then means I have to go through the entire process all over again… it has been quite prone to error and quite brittle as sometimes I’d go to release a client and it’s just like, yeah, so one little thing has updated and the whole thing doesn’t work now so glhf for the next 5 hours noob.
This trend of releasing issues, coupled with the sheer size and scope of the changes I am making right now essentially made it time for a permanent test server. But with a permanent test server, you still have to release your clients and server code… just now with even more frequency! And you have to manage having two entirely separate environments while you are at it, as well as the new API service and in future the login server etc etc, very rapidly this gets out of control.
So, with this in mind, I have been working hard on implementing automated build pipelines. Essentially this means, when I push code to a certain place, the machines take over and do the rest for me. This means when I want to release a new PTR client build, I just push the code to the PTR branch and in about 5 minutes time both the apk and jar are available on the website automatically, all configured correctly for the PTR, and I didn’t have to lift a finger. The same goes for the API, Game Server, etc, and I can push both PTR and Live builds this way.
It’s taken me a week of frustrating to really get this all set up, but I am very happy now that I went through the pain as rolling out new code should now be easier than ever… and oh boy are we going to be pushing a lot of new code!
Brand new back-end architecture, new database, API server…
So this is the first PTR! Version 0.7.0 PTR Build #1.
This build represents an enormous set of changes to the back-end of the game, and as such when you log into the PTR you will see much of the game is actually now missing or not implemented. With this in mind, what the hell are you testing?!
New Database – MongoDB
Well, for starters the entire database has been ripped out and rebuilt from scratch using a new technology. This means anything that reads or writes to the database could now be something that is broken or doesn’t work! I would very much like you to test (as thoroughly and aggressively as you can):
- Creating Accounts
- Creating Heroes
- Deleting Heroes
- Logging in / out over the top of yourself with different devices
- The responsiveness of all of the above
Currently the only character data that the server will save is your location and the direction you are facing. Everything else is missing, that means it won’t remember your friends or appearance, monsters and items are not implemented, highscores don’t exist, any command that would have to talk to the database won’t work… you get the picture.
The database is now cloud hosted, and I am unsure what the usage fees are going to be or how viable it is going to be to leave it hosted in the cloud so I’ll monitor the situation and act accordingly.
New Account Recovery, Verification, and Email Transfer systems
A huge thorn in my backside has always been how bad and unreliable account management systems in the game have been. That stops today, one of the big things I would like you guys to test right now is anything and everything to do with account management, recovery, and email transfers. These systems have all been completely ripped out and replaced, they now leverage the new Mirage API service which means instead of messing around trying to copy and paste codes from emails, you are now sent a nice button to press instead 🙂 I would very much like testing and feedback around:
- Account verification
- Account recovery
- Email transfer process from an unverified account to a new email
- Email transfer process from a verified account to a new email
Email transfers will now take 1 day for an unverified account and 30 days for a verified account. This process no longer requires the previous email to accept the transfer, it instead requires the new email to confirm it – however if the previous email is verified it will be sent an email with a button to cancel the transfer. The transfer can be cancelled at any time via the email sent to either email, or in-game via the My Account section.
The status of any ongoing transfer should be clearly displayed in the My Account section, and the actions you can take should always make sense. This new process means if you lose access to an old email, you can transfer your account to a new one easily – but in the case of someone trying to compromise an account, they will be unable to take permanent control as the 30 days gives you plenty of time to recover your account and cancel the transfer.
The account recovery process is now also significantly improved, and it is worth mentioning emails should arrive near instantly.
This is something I’ve talked about a little bit but it is still in it’s infancy, with the new back-end changes one of the new services being built is the Mirage API service. Put simply, this will allow me to serve live data from the game to the web in real time and facilitate cool things like always up-to-date information on all of the monsters and items in the game, highscores, and even character armoury pages so you can share player info on the website.
It is my ambition that this data will allow you to see a heroes skills and worn equipment, but as none of that is actually implemented in the new game back-end we will have to imagine how cool that would be for now. In the meantime, if you want to look up anyone’s character information on the PTR you can do so using the following URL (replace coke with the character name):
Currently the Mirage API is not running on HTTPS as I need to figure out how to get the certificate stuff all sorted so you might get a browser warning, sorry about that. You might get a browser warning when downloading the PTR clients also as they are hosted in the same way!
I unfortunately still have a bunch of boring engineering tasks to do before I can get cracking on adding all the new skills, as well as scaling items and monster systems… however for the first time in a long time there is light at the end of the tunnel. I invite you to regularly check up on my progress using the Sprint Tracker linked in the website menu under Development, and I will be holding a long overdue Sprint Review livestream this Friday (time will be posted on discord closer to the date).
Please leave any and all feedback regarding the PTR on Discord in the #ptr-discussion and #ptr-bugs channels! You can find the Discord server link also in the website menu under Community.
Thank you all very much for being patient, I appreciate there is still a bit to go before exciting gameplay changes start rolling in but we are really making strides here! I am now just hoping the data charges from the cloud database back-end aren’t insane as that would throw a bit of a spanner in the works…