1. Vault of the Void
  2. News

Vault of the Void News

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:
[[{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


Dev Diary: To Battle!

Hello folks! Its been almost a full month now since the last Dev Diary -- I was so caught up in work I didn’t manage to step aside and get you all updated, sorry about that! I’m here now to give a full run down on where things are currently at.

[h3]Before I begin, a quick heads up to let you all know that Vault is currently on Sale for 25% off to celebrate the Steam Summer Sale![/h3]

https://store.steampowered.com/app/1135810/Vault_of_the_Void/

For those new here, I'm currently in the middle of doing a full rewrite of the game code to support future content expansions, and most importantly, exporting to Mobile and Switch in the future. Today I'm giving another update on how things are progressing on that front :)

Alright let's dive in!

[h3]Animations[/h3]
Sanjeev the Animation Wizard has been hard at work just crushing out all the Monster Animations for the game, and converting them over. As of right now, all Monsters have been re-animated with both the condensed and expanded frame style, ready to be imported into the game! Export and re-import of all these is slated for later this week. A huge task and another exciting milestone.



[h3]Instability[/h3]
Shu has wrapped up the Instability screen and got it working very smoothly. The screen now also has been setup with pagination for smaller screens, (ignore my Max Instability here, we’ve been testing the unlocks there as well!)



[h3]Event Rooms[/h3]
Shu has now moved over to getting the Events queued up and working. To start with, work has begun on the black screen, full image style events (Matron of Memories, Shrine, Ravens Gift etc).

So far, completed are :
  • Matron of Memories
  • Ravens Gift
  • Shrine
  • Dark Idol
  • Treasure Room
  • Aftertifact Treasure Room




We have a meeting today to sweep over these and finalize the art/particles and get them squared away 100%. They also support 2 page styles for smaller screens (Mobile and Switch!) due to a lot of the text being quite long. Really happy with progress here, and we should be moving onto the rest of the rooms next!

[h3]Battle Screen[/h3]
This is one I’ve been putting off for some time, due to how ominous the task was. But I kicked myself into gear and have been progressing very nicely so far. The Battle screen is where you spend about 80% of your time, and I’m very particular about getting things right. This is not only an opportunity to fully optimise the system, but also to ensure that gameplay on Mobile and small screens is smooth and enjoyable, and doesn’t feel like a hacky port.

I started with the State Machine and rewrote that to be more robust and stable than the previous. I also defined a few more states to clarify things like “Start of Turn” and “Start of Players Turn” etc to help clearly define when things happen, at least in the code! I then started with “At the start of your turn” stuff, known internally as “Player Upkeep”. There were a huge amount of artifacts, abilities and effects to move over here, and that is now all setup correctly and working. Once I was able to progress through a turn, it was time to add the Enemies!

Migrating the Enemy code was a long job of copy and pasting and moving scripts over, but it also gave me a chance to audit their State Machine, and clear up a lot of stuff. Previously things like Bleed, Future Strike, Shii checks etc were all looped into the one state, so I was able to split that out for easier processing and triggering. As of right now, I have fully migrated over the Enemies, they now spawn, respawn, select their actions as they should, perform their actions as they should, and die like they (hopefully) should. Once I import over all the new animations, these should 100% be sorted!

So now -- it's onto probably the biggest component to a card game... the cards! I’ve got these all setup in deck viewer and external to battle, however it's now time to migrate over cards which are intractable and playable! I’ll be getting started with that later this week, and will have more to share in the next Dev Blog!

[h3]Pricing[/h3]
I wanted to take some time here to talk about pricing on other platforms. Although this post's goal is to update everyone on the Steam version, I did want to mention this briefly here. Firstly, I’ll admit I’m very new to this space so originally when I announced other platforms, I went with my gut. However, I’ve had some time now to talk with some other developers who have been super generous with their time, and learnt a bit more about the mobile market. So here is where I need to backtrack a little on what I said, and I’m really sorry about this. Originally I was going to have Vault priced on mobile as Free, with paid unlocks for the 3 later classes (Hidden would be unlocked automatically).

After learning a bit more about the mobile market, and the nature of “Free” games, I decided it’s really not the space where I want Vault to play in. I want to offer a fair priced product, with one off purchase unlocks, rather than try to compete with loot crates and predatory purchase models. For this reason, I’ve decided to move Vault of the Void to a single price upfront purchase on Mobile, which will have all content unlocked. At the end of the day, the price for the end user will be the same, but I really do apologize to anyone who was waiting hoping for a free upfront version of the game.

[h3]With that said, I do want to look into the possibility of a Steam Demo with this new version as well, allowing players a chance to try Vault of the Void on Steam obligation free. I’ll be looking more into that in the coming months! [/h3]

[hr][/hr]
Okay -- that's all from me here! I thank you all so much for your patience. It's so painful to not be able to provide you all with new content for so long, but I promise lots of awesome new stuff to come as soon as this is done. Both Shu and I are optimistic about getting a PC Beta out on Steam in the next 4-6 weeks or so, which will run on an opt-in branch whilst we finalize controller implementation and small screen displays. From there, I’ll provide details on other Betas!

Thank you everyone for all your support! I’ll be back in 2 weeks with more good news!

All for now.
- Josh


Dev Diary: The Journey Continues!

Hey folks! Time for another update on how things are going on the re-code. Hopefully this sheds some light on where things are at, and how things are going. It hurts to let Vault go so long without any content updates, but both Shu and I are working around the clock here to get things going as quickly as possible!

It's been good progress the last 2 weeks. Shu is offically onboard now as a fulltime developer, and we've been working well together! There has been a lot of time spent with data migration scripts which... aren’t the funnest. Thankfully Shu is a data wizard and now we have most of that all locked down, so it will be more front end progress from here on out!

Let's show some previews!

[h2]Run History[/h2]
Shu has been hard at work getting the Run History and Statistics side of things all sorted. Not only did this include the visual side of things, but also included getting all the old data formats converted to the new JSON. This is now all 100% setup and working, and even all the old stats have been migrated over and displayed correctly.

All Run History results will be merged over from the old version seamlessly, so you’ll be able to continue tracking your past victories without issue!



The Run Result screen has been rebuilt and now allows for scrolling on Mobile and smaller screen, however we’ve done what we can to ensure that on default PC screens (1920x1080) and higher, this Run Result screen won’t scroll, so will fit perfectly into the single page screenshots we love to see!



[h2]Pre Fight Screen[/h2]
Next up on the list was the Pre Fight Screen -- I had to spend a bit of time on this to get it right. One of the main things I needed to ensure was that on smaller screens (Mobile, small PC and Switch etc), the screen would condense the information in a few ways. Firstly, it won’t show the card reward by default, to save space to show the enemies. It will also use the new “Condensed Card Frames”, which Sanjeev is blazing through now!





I know some of you may prefer the condensed version, even when not on mobile. So there is now also an option to enable these by default! Also, these new frames may be used on one of the new Classes, as they need a bit more .... space, for extra things :)

[h2]Map Screen[/h2]
This was by far the most complex thing I’ve needed to work on so far, and there were many interwoven bits and pieces that had to be moved over. Performance wise, this screen's optimization is so much better, and seems to run really smooth on even the low end test phones here!

Next on the list was the player data bar (the bar that runs along the top of the screen). This was the bane of my existence in the original project, just due to the dynamic length and segment size, and limitations with the tools at the time. However now, I’ve managed to get this to be fully flexible and scalable, at all resolutions and locales! The Void Stone bar track also changes size if you’re on a smaller screen.

I’ve also redone the Tooltip system to be super flexible, mapping the screen at the time and checking where is the best place to display the tooltips (cause yeah, Vault kinda has a lot of those...).

[h2]Controller Support[/h2]
I’ve spent some time going back over screens already done and implementing the new Controller support as well. I gave this code a refresh, and it seems to be working much better now as well. This will be something that continues throughout the rework, but it will definitely be done and included when it goes live.

[h2]In Closing[/h2]
Progress Has started today with Shu moving on to the Instability Screen, whilst I now wrap up the Post Fight rewards. After that, we’ll start moving onto events and I’ll finally tackle the big beast, the Battle Screen!



Thank you so much for everyone's patience and support. We’ve still got a bit to go here, but we’re working as hard as we can! I’ve settled back into the 4am wake up schedule to get as much done everyday. I’ll continue to keep these Dev Diarys going every 2 weeks so you’re all well aware of where we’re at.

Until next time, thanks for all those lovely comments, and the reviews as well! Its so nice to have a supportive community like Vault does, and they’re lovely to read at the end of a long (and tiring) day!

All for now,
- Josh



Dev Diary: The Great Recode!

Hello everyone! Welcome to the first Dev Diary aimed at updating you all on the progress of The Great Recode, which I mentioned briefly a week or so back. A TL:DR on things if you missed it, I currently am going through the progress of fulling updating Vault of the Voids codebase to allow for many things, including easier expansions, but also the ability to publish to Mobile and Switch as well! Things have been pushing along here, I wanted to keep everyone in the loop with progress.

Firstly -- a huge thank you to all who reached out! From what I heard, everyone was okay with me sidelining the Daughter update so I can get the main codebase transfered over. Its not ideal, but I promise it will be for the best! It does save the issue of trying to maintain 2 code bases at once.

[h3]This will officially be the longest Vault of the Void has gone without a proper content update to the main game since well before Early Access.[/h3] To be truthful -- this is terrifying for me. I was always one that wanted to focus on getting fresh content to you all as often as possible -- so I really do apologise in advance! However, not only does this re-code allow for multi-platforming, it also does clean up a lot of the mistakes I made along the way, optimises a ton and also setups up for some great future content (new classes, finally!).

I'm not going to talk about the other platforms here, my focus with this post is to update re: the PC Steam version, which will be the first to get the new update.

[h3]So where are things at? [/h3]
Stuff has been happening around the clock! Firstly, I get to officially announce that Girlphobia, the brains behind the amazing Companion website has joined me on this quest to 2.0! Having someone to code alongside with for the first time since the dawn of the project has been amazing, and its really, really speeding things up as well! So far, they’ve done some amazing work with API’s to set up for cross platform progress syncing, and also cross system leaderboards. Also, this week we’ve just finished wrapping up the conversion scripts to bring players profiles from the old version of the game to the new 2.0 save system!

[h3]So what's been done? [/h3]
Right now, finished, or at least 90% done are:
  • Main Menu
  • Profile and Past Runs
  • Statistics
  • Options
  • Compendium
  • Challenge Coins
  • Difficulty Selection
  • Class Selection
  • Booster Screen
  • Map Screen
  • Full run generation scripts with new JSON load/save system


This is actually a lot further than I originally thought I would be at this stage! It doesn’t sound like much, but a lot of this includes framework which will make the future screens much easier to fill out. On top of this, all these screens have been tested and, where needed, re-coded to fit on Mobile and smaller screens as well.

The biggest stages to come are the Battle Screen (card processing, monsters etc) and also the Deck Manager. I'm hoping to get a jump on these starting from next week!

Heres a few snippets from the new version so far!

Full UI Scaling option:


New Difficulty Screen:


New JSON save system, including proper support for 100% seeding:


Better space and layout inside the Compendium:


I hope this helps give people a bit of transparency around what's going on! I still don’t have a timeframe on completion, but I’ll continue to provide typed updates here every 2 weeks or so. The next big things to tackle will be the Deck Manager, and also some new animation frames for enemies, for screens with reduced sizes (Mobile/Switch). I'll be diving into these next week so I'll be able to provide a bit of a clearer update in the next Dev Diary!

As always -- thank you so much for your continued support! If you'd like more updates or to speak to me directly, please feel free to join the Discord. Please know I'm working as hard and fast as I can to get this out to you all -- I hope you're all looking forward to this 2.0 version!!

All for now,
- Josh



Vault of the Void is coming to Mobile and Switch!

Hey folks! I’ve got some super exciting news to share today (maybe the worst kept secret)! Some of you may have seen me hinting at this on Reddit or in the Discord, but I can finally officially announce the good news! With good news however, there is often some less than great news to follow. Same case here, but I wanted to at least make my intentions and plans public so you all know what the Roadmap is going to look like moving forward.

But first -- kitty update!



We haven’t seen any photos of Kiri or Yuki for a while now -- so here's a kitty update! Both are doing good and getting bigger. Might have to squeeze these into Vault at some stage. Maybe a kitty deckback!

[h2]Good News[/h2]
So the good news -- as you can tell by the title, Vault of the Void is officially coming to Mobile and Switch! I know a lot of people have been asking for this for a long time, so I’m finally excited to be able to confirm it!

I’ve had goals to port Vault since the beginning -- however logistically it's never really lined up. There's been many offers from companies over the years to handle all this for me, but I really wanted to be the one to do it, and to make sure I did it right. After some discussions earlier this year, I finally decided to take the plunge. I applied to Nintendo to ask if I could bring Vault to Switch at the sametime, and have since been all approved!



So -- what's the Bad News?

[h2]Bad News[/h2]
The bad news is -- when I started making Vault back in 2018 or so, I had no idea how to program. I barely was able to get it onto the PC -- let alone a mobile device. I had no idea the game would be as popular as it is -- so things like porting etc were a completely disregarded.

Fast forward to now -- Gamemaker has moved a long way, as has a lot of the plugins I use (especially the text rendering engine!). I was unable to upgrade a lot of this because Vault was coded the way it was.

The bottom line is -- for Vault to move to be multi-platform, it means almost a full rewrite of the core code base. This is one of the reasons that held me back from doing it for so long.

However, I've already started on this process! I've been working hard over the past 6 weeks or so (between my fulltime job) to get the core of things in place, and its actually going really well! What does make things problematic though -- is the fact that whilst I'm doing this upgrade, updates to the old version of the game make the process a little trickier.

Obviously -- the Daughter of the Void was due for her balance and content update. This is still happening, but I'm just trying to see where this sits in the pipeline. I can either leave the current porting and version upgrade for now, jump back to the old code base and get that update done. The other option is to get this full upgrade done, and bundle the Daughter patch in as the first update.

This is where I wanted to come to you all -- the playerbase -- to be transparent about my plans here. As usual, I'm still learning on the fly, and before I commit to either plan, I'd like to take the rest of May if possible please, to just see if I can get a firmer idea on how long this upgrade is going to take. I'm deep in the trenches, and feeling like with a lot of the core parts done now, I should get a firmer grasp of time soon.

Ideally, if I priortise the upgrade first, the new version (which I'm calling 2.0 interally) will launch on PC first, brining the PC client up to this latest version. So lets talk about the benefits:

  • Huge optimsation tweaks. The game runs, and is coded, so much better. Much higher FPS and better support for low end machines.
  • Full UI scaling options and better Ultra Wide support. There is now a slider that correctly scales the UI to the users liking, alongside also the Large Font option.
  • Fully updated Save system to fix all those annoying save game issues that show up from time to time. Everything has move to .json and been standised. With the new system you'll be able to pass save files between players for speedrun events as well.
  • Greatly improved workflow when it comes to adding new Classes and Cosmetics. Expect much more in both these areas.
  • Link Code setup, meaning you are able to sync your progress (I+ Levels, cosmetics, Mastery, Challenge Coins etc) between Mobile, PC, Switch etc. 100% crossplay is being investgated as well!
  • Cross system Leaderboards for Daily Draft.
  • Full re-write of the seeding and level generation to make things more accessible for the speed runners and competition gamers.


Also -- with the re-write, I'll be able to tend to the 2-3 issues keeping Vault from a "Certified" rating on Steam Deck!

So in terms of a rough timeline, the rollout will look something like :
  • PC version gets update to 2.0 client. Bug testing and mass user testing happens here on Beta, then synced to Live (with the Daughter update).
  • At this stage, Android Beta testing will have started, and be ongoing. iOS potentially as well.
  • Android Launch
  • iOS Launch
  • Switch Launch


The reason I need to stage things out like this, is purely because I'm only one person. I can't stay across all fronts in a way that I'd be happy with if I launched all at the same time. The decision to push Android first is based purely off how simplier the deployment is. I'm unsure about the time gap between each, although I can't imagine the time betwen Android and iOS to be more than a few weeks. If Android launches well, I'll push the go-live on iOS sooner.

As you may be able to tell, I'm very excited! Althought I do ask if you could please give me just a bit more time to plug away here, before I decide on where the Daughter patch will land. Its 100% coming, just trying to decide which is best.

[h2]Tacticon 2023[/h2]
As you may have noticed, Vault of the Void has been included in Tacticon 2023! Its a huge honor to be included with so many amazing games. To celebrate, Vault is also on Sale right now for 25% off!

Thank you everyone for being part of this journey so far! There is much more to come, and I'm really excited about the future!

If I end up focusing on the upgrade first, I'll try to push out fortnightly Dev Posts to Steam, showing progress and keeping you all in the loop on how things are going!

All for now!
- Josh