Dev Diary: Simulation and Customisation
Hey everyone -- time for me to swing in with another Dev Diary update, sharing a bit of progress on the 2.0 Patch coming!
Not much preamble here from me -- just wanted to say a huge thank you for all the words of support on the last Dev Diary re: pricing structure. I was worried that some may feel let down a little by my pivot there, but it was really reassuring to see that everyone agrees with the decision! Thank you all!
Okay let's dive into things...
[h2]Card/Item Structure[/h2]
So as I continue working through the battle screen, as I mentioned last week, it was time to get the cards working! I originally planned to continue with the old way of cards programming, where I just code up the effects manually in a card processor. Shu and I had a chat and want to try something however, and I’m glad we did!
Basically, the Card/Item/Void Stone code has now pivoted to a PlayOps system which uses JSON code on the card entries themselves to perform and list all the effects. The underlying setup here was a bit larger, however, the end result is a chance at something that everyone has been asking for -- mods(ish).
I’ll clarify a little bit more -- right now the way things are setup means that custom Cards and Items are technically possible. Shu and I will be working on some documentation to show what methods and calls are permitted from custom stuff, and how to code these. A lot of this we're still trying to figure out the best way forward, but we also don't want to clog up the pipeline of 2.0 and Mobile release too much right now. The ability to code and load your own custom cards and items probably won’t be ready at 2.0 -- we’re not pushing too much focus there right now. Rather, right now, we’re working on the infrastructure to allow this in the future. Here is an example of a few cards:
Slash:
Smash:
Time To Maim:
These are a few more simple examples, however hopefully it shows how easy it will be to string some new cards together. More on this to come in the future, but very excited about how this is working!
[h2]Simulated Results[/h2]
One of the other major let downs of 1.x, is the damage preview scripts. Probably the most !bug reported issue on the Discord is based on damage previews being wrong on cards. Previously, this was mostly hand code with me, a 1300+ line script with many "ifs" and catchs and exceptions trying to semi-simulate results. This also never took into account Artifacts or other effects.
I decided to rectify this issue!
The way I’ve code things now, the game has a full card and artifact simulation process going on when you hold a card up to play. The game simulates the results before the card is played, showing the exact amount of damage, no matter the Void Stone, trigger count, Rage mid-trigger, enemy status etc. So far, it's perfectly accurate and the ability to preview Artifact effects at the same time is great as well!
Heres an example of Fan of Blades ready to trigger (I gave Smash Swift in this example to test the Rage stacking mid trigger). You can see the small amount of Bleed showing on preview.

It brings up a small discussion that's been going on internally right now -- and that is the simulation of random effects. Take for example, Grapeshot. As programmed right now, holding Grapeshot up to play will actually preview the exact damage results across enemies on the field. This has been a bit of a hot topic internally, and most people are leaning towards wanting this information not shown. Whilst the system is set up to support it, a decision on if it will be enabled or not will be made shortly!
Simulated Grapehot:

[h2]Event Rooms[/h2]
Shu has been actively working on Event Rooms, and as of this typing, I think it's just the Well of Stars left to code up! All events are in the Run JSON, predetermined, with the long standing bug of some rooms “not being re-enterable” finally fixed. I’ll be moving to these rooms and redoing the UI on all these after battle, to make sure they’re working to the new UI Scaling and small screen layouts.
[h2]Run JSON[/h2]
As part of the Event Rooms, Shu has also been working through the Run JSON to ensure its all in there, and cleaned up and ready to go. The structure seems pretty set in stone, and we’ll be testing it more over the next 2 weeks. However, if it gets the tick of approval, I’m going to be releasing an example of this JSON early here for you all. This means that those of you who like to make tools/websites etc for these games, you’ll be able to see how things are structured. Also, it means the Speed Running/Competition community can get an early look at things to set up processes on their end. More of that in the next blog!
[hr][/hr]
Overall, that's pretty much where things stand now. I just got the final few animations back from Sanjeev as well, so the Swamp Witch Totems and also the Voidling are all finally animated! There's much more happening and we’re working around the clock to get this finalised and released on PC, so you all can be playing this whilst we optimise the last few bits for Mobile and smallscreens.
I’m still optimistic about getting a PC Beta out hopefully around mid August, even if its just for the Hidden to start with. I can’t wait to have this done so we can start crushing out some awesome new content for Vault!
Thank you everyone for the kind reviews, and for staying so patient during this process. I’ll make sure it's worth the wait!
All for now
- Josh
Not much preamble here from me -- just wanted to say a huge thank you for all the words of support on the last Dev Diary re: pricing structure. I was worried that some may feel let down a little by my pivot there, but it was really reassuring to see that everyone agrees with the decision! Thank you all!
Okay let's dive into things...
[h2]Card/Item Structure[/h2]
So as I continue working through the battle screen, as I mentioned last week, it was time to get the cards working! I originally planned to continue with the old way of cards programming, where I just code up the effects manually in a card processor. Shu and I had a chat and want to try something however, and I’m glad we did!
Basically, the Card/Item/Void Stone code has now pivoted to a PlayOps system which uses JSON code on the card entries themselves to perform and list all the effects. The underlying setup here was a bit larger, however, the end result is a chance at something that everyone has been asking for -- mods(ish).
I’ll clarify a little bit more -- right now the way things are setup means that custom Cards and Items are technically possible. Shu and I will be working on some documentation to show what methods and calls are permitted from custom stuff, and how to code these. A lot of this we're still trying to figure out the best way forward, but we also don't want to clog up the pipeline of 2.0 and Mobile release too much right now. The ability to code and load your own custom cards and items probably won’t be ready at 2.0 -- we’re not pushing too much focus there right now. Rather, right now, we’re working on the infrastructure to allow this in the future. Here is an example of a few cards:
Slash:
[[{damage: 6}, {combo_add: 1, combo: 0}], [{damage: 9}, {combo_add: 1, combo: 0}]]
Smash:
[[{damage: 16}, {rage_increase: 50}], [{damage: 20}, {rage_increase: 50}]];
Time To Maim:
[[{block: 6, rage: 0}, {rage_increase: 50}], [{block: 6, rage: 0}, {rage_increase:50, rage: 0}, {rage_increase: 50}]];
These are a few more simple examples, however hopefully it shows how easy it will be to string some new cards together. More on this to come in the future, but very excited about how this is working!
[h2]Simulated Results[/h2]
One of the other major let downs of 1.x, is the damage preview scripts. Probably the most !bug reported issue on the Discord is based on damage previews being wrong on cards. Previously, this was mostly hand code with me, a 1300+ line script with many "ifs" and catchs and exceptions trying to semi-simulate results. This also never took into account Artifacts or other effects.
I decided to rectify this issue!
The way I’ve code things now, the game has a full card and artifact simulation process going on when you hold a card up to play. The game simulates the results before the card is played, showing the exact amount of damage, no matter the Void Stone, trigger count, Rage mid-trigger, enemy status etc. So far, it's perfectly accurate and the ability to preview Artifact effects at the same time is great as well!
Heres an example of Fan of Blades ready to trigger (I gave Smash Swift in this example to test the Rage stacking mid trigger). You can see the small amount of Bleed showing on preview.

It brings up a small discussion that's been going on internally right now -- and that is the simulation of random effects. Take for example, Grapeshot. As programmed right now, holding Grapeshot up to play will actually preview the exact damage results across enemies on the field. This has been a bit of a hot topic internally, and most people are leaning towards wanting this information not shown. Whilst the system is set up to support it, a decision on if it will be enabled or not will be made shortly!
Simulated Grapehot:

[h2]Event Rooms[/h2]
Shu has been actively working on Event Rooms, and as of this typing, I think it's just the Well of Stars left to code up! All events are in the Run JSON, predetermined, with the long standing bug of some rooms “not being re-enterable” finally fixed. I’ll be moving to these rooms and redoing the UI on all these after battle, to make sure they’re working to the new UI Scaling and small screen layouts.
[h2]Run JSON[/h2]
As part of the Event Rooms, Shu has also been working through the Run JSON to ensure its all in there, and cleaned up and ready to go. The structure seems pretty set in stone, and we’ll be testing it more over the next 2 weeks. However, if it gets the tick of approval, I’m going to be releasing an example of this JSON early here for you all. This means that those of you who like to make tools/websites etc for these games, you’ll be able to see how things are structured. Also, it means the Speed Running/Competition community can get an early look at things to set up processes on their end. More of that in the next blog!
[hr][/hr]
Overall, that's pretty much where things stand now. I just got the final few animations back from Sanjeev as well, so the Swamp Witch Totems and also the Voidling are all finally animated! There's much more happening and we’re working around the clock to get this finalised and released on PC, so you all can be playing this whilst we optimise the last few bits for Mobile and smallscreens.
I’m still optimistic about getting a PC Beta out hopefully around mid August, even if its just for the Hidden to start with. I can’t wait to have this done so we can start crushing out some awesome new content for Vault!
Thank you everyone for the kind reviews, and for staying so patient during this process. I’ll make sure it's worth the wait!
All for now
- Josh