In this dev blog, we will look at the Artificial Intelligence of Casual Pro Wrestling.
Unless you're in a small match with only a couple of friends in either couch multiplayer or netplay (more on these in future blogs), it is absolutely crucial to have AI-controlled wrestlers that play along. Apart from that, it's so much fun to watch AI-only matches in wrestling games!
Naturally, CPW features AI controlled wrestlers. The main idea is that they should be able to do all available actions and create a pinch of unpredictability. In the following, we will look at some details.
Virtual Controllers and Reaction Times
Fairness is likely the most important aspect when dealing with AI players. If the AI has silly shortcuts unavailable to human players, it's usually where the fun ends. In CPW, picture the AI holding a virtual controller: in order to do anything, they have to point a direction with a virtual analog stick and press virtual buttons just as a human would have to. If humans need to hold a button, e.g., to perform a heavy strikes, so have the AI players.
Further, the AI in CPW doesn't always click instantly. As human players do, they have to react to what is going on first, which may take some time (determined at random and eventually by difficulty). As a result, what may happen is that an AI player simply starts blocking too late and you still land that punch.
Goal-Oriented Behaviour
CPW's AI wrestlers act goal-oriented. This does pertain to Goal-Oriented Action Planning (GOAP) that some of you may know per se, but a variant of it that is also used for the mobs in Minecraft, to name a pretty popular example.
The AI knows a predetermined set of actions and how to perform them (i.e., what virtual buttons to press). These actions are very fine-grained, e.g., "approach the opponent", "do a weak strike", "try counter the current move". Each goal has a priority based on the current situation, so while "try counter the current move" may be of zero importance when running the ropes, it will have a high priority when the opponent is performing a move on them. Whatever goal has the highest priority in any given moment will be pursued. To spice things up, there is always some randomness involved that cause priorities to shuffle to an extent. The following flowchart sketches how the AI ticks roughly:
Action goals are completely decoupled from navigational goals. To see what this means, "approach the opponent" knows nothing about climbing out of the ring if said opponent is outside. This is handled by the navigation behaviour, which in its own knows goals like "go to the apron" and "climb off", or simply "quickly slide out". Again, the choice here is based on current priorities.
This system is extremely flexible and ridiculously easy to maintain and extend. Subtle changes in priorities may cause a wholly different behaviour, and adding or removing goals allows to enforce behaviours helpful, e.g., for wrestlers entering the ring, which is done simply by an entrance AI. At the same time, this system does not do any complicated computations behind the scenes and is thus very performant.
Grid-Based Pathfinding
Today's free-roam 3D games are probably dominated by navigation meshes, which are basically a compressed form of navigation grids that you may know from strategy games. Navigation meshes require very little RAM and allow for very simple pathfinding, and thus they seem like the best choice for a wrestling game initially.
Now let's say somebody places a large object, a table, somewhere in the ring. AI wrestlers shouldn't try and walk right through that table to reach the opponent, but walk around them. For that to happen, the pathfinding system needs to be updated. Updating navigation meshes, however, is everything but simple. The easiest and safest way is recomputing them, but this can be extremely costly.
For this practical reason, CPW uses a good old grid instead, as shown in the following picture:
Green cells are perfectly accessible, whereas red cells employ a penalty (the table could be moved if need be, but this takes longer than just walking around it). Note how some cells beneath the wrestlers are also slightly red-ish - this is to avoid that wrestlers walk through one another for no reason, all without the need for complex (and hard to get right) algorithms like Reciprocal Velocity Obstacles or similar. Grids are very easy to update and allow for well-known pathfinding algorithms like A* to be used directly.
The downside of grids, in general, is that they require substantially more memory than navigation meshes. It turns out, however, that the grid doesn't need to be too fine-grained for a wrestling game. We're talking only a bunch of megabytes in RAM, which even on horrible hardware nowadays is negligible.
To round it up, AI has been a key endeavour in CPW's development. Naturally, it's a topic that will not end with the game's release and will remain subject to tweaks and balancing for a long time. To this end, it has been designed to be easy to maintain and extend. The virtual controllers were actually meant to make machine learning a possibility, but this is definitely something for the far future when the game is in a very ready state.
For those who have been following, thank you for reading, feel free to discuss and ask questions, and stay tuned for the next update!
※ Be advised that HD / SHD pattern contains gimmicky note effects.
2. Improvement
- Added UI animation for score summation on the result screen. - JUDGE RATE in JUDGEMENT TRACKER now shows an identical value to the one in the result screen.
3. Bug Fixes
- Fixed bug where certain patterns would not show properly when player is using low note speed. - Improved server stability. - Tweaked server parameter to mitigate 'Request Timeout' errors. - Fixed the SSL CA certificate error.
Hi there everyone -- just a small update post today, letting you know about a few bug fixes and updates that have gone through over the last week or so.
Route Planner
As many of you would have seen by now, there is a new feature I’ve just added named “Route Planner”, which enters a simulation time mode where you can traverse the Map, without risks. This is super helpful when learning Vaults slightly obscure map movement method. It’s also a great way to mark out a path for Veterans of the game!
Daily Draft Reset and Anti-Cheat
I’ve gone ahead and reset the Overall Top 100 Leaderboard as promised, some great new high scores already coming through! I’ve also gone ahead and updated the anti-cheat system a bit, and will continue to keep an eye on decks and ensure they are being played and submitted legally.
Swift Changes
A small presentation change of note. The Swift tag at the bottom of cards has been switched out to now be a keyword on cards. This should help new players onboarding when it comes to Combo and what cards get multi-triggered. Being a tag meant it often got missed, so moving into the body text of the card will help alleviate that problem.
Humble Bundle!
As many of you may have seen already, it was a huge honor to be asked to be involved with the Humble Bundle Deck Builder Bundle (try saying that 10 times fast!) that was released a few days ago. If you haven’t checked it out already, this is a great opportunity to score some awesome games, and support charity at the same time! A huge welcome to all the new players who have come across Vault from the Bundle as well!
Bug Fixes
I’ve been tinkering away at lots of little bug fixes over the past little while as well! From cards doing wrong damage (Grapeshot!) to other display issues, lots of things have been crossed off in the Discord. Thank you to everyone who’s been reporting things as wel go!
Thank you everyone for making Vault what it is, its awesome to see so many new players and active discussion happening around the game. There's a small card infusion coming for the Daughter of the Void, then we’ll move over to the Tempest for one last balance pass -- then, some exciting news regarding 1.0!
Thanks everyone! If you're enjoying Vault of the Void, please do leave a Review if you don't mind, it really does help a lot for small Devs like myself!
The Lumena store has now been restored and you can use it normally. We apologize for the inconvenience caused, and thank you for your understanding and support.
If there is any problem in the game, please feel free to contact us. Regards
This is quite a different from what I usually post, but I would like to invite Iron Snout players to check out my TikTok channel in which I'm talking about game development, my old/failed/jam games, other indies and try to highlight Lithuanian projects.
Let me know what you think and what kind of content you would like to see on my channel!
Cheers!
P.S. I have some Iron Snout updates ready (mostly skins and UI changes), but I want to rewrite Wolfball multiplayer before I can release them to the public...
We have received a lot of feedback from the players on the first day of "Graduated" early access version, there are suggestions, criticism and encouragement, first of all, we are very grateful to have your support, some bugs we have made adjustments, at the same time, for the current optimization and experience problems, we are also in the process of trying to deal with, any results we will be the first time to update all residents.
Then we would like to address your various questions and comments and say what we are going to do next:
The relationship and marriage system you've been waiting for! This is being done, and we will also add more ways to strengthen the emotional social play
The manual archive function will be available, and will be online after testing
The archive function will provide multiple files, so that you can start a variety of life
Automatic archiving will add more tips
The setting options of the home page will be increased, and the overall color of the home page will be adjusted.
Various key tips for skipping and operation
Adjustment of the judgment of certain items (talking about lobsters)
UI overall look and feel adjustment (will enlarge a level)
the avatars of some Houhai town residents will be tuned
Inspiration system late value adjustment, at the same time will optimize the entire inspiration system, reduce the sense of powerlessness
Marketing system adjustment, mainly for the timeliness of the goods and the object to be marketed to add more personalized settings and sales revenue tips
Takeout system adjustment, reduce all kinds of invalid orders
Continuously optimize the preliminary experience and difficulty curve
Finally, regarding the plot of Graduated, I would like to say that Graduated is not exactly a plot-driven game. There will be a plot and interpretation, but more also fragmented, emergent type, will allow players to experience their own unique plot, rather than a unified arrangement of the mandatory main line, which is the ultimate hope of the game of small life to show the experience, belonging to each person's unique own life.
We will still work faster to fix and optimize Graduated, thank you for your support and suggestions, please keep giving us feedback!