Casual Pro Wrestling cover
Casual Pro Wrestling screenshot
Genre: Sport, Indie

Casual Pro Wrestling

Steam Workshop & Modding Outlook

In the past few weeks, I have worked on game content management, something which is commonly referred to as "modding". Casual Pro Wrestling has been developed with extensibility in mind from the very beginnings as far back as 2017. Most of the moves, the weapons, the arena, the parts that the ring is made of as well as all the items available in Create-A-Wrestler mode are basically part of a core "mod" that is integrated into the game - and all these kinds of things can be added to the game at will. Thanks to a proper content management system, CPW now fully supports the Steam Workshop, so finding and playing community-made content becomes as easy as possible!

Now, with the technical yada out of the way, let's have a look at the current possibilities and then get an outlook on the modding capabilities to come during the game's Early Access phase (which - reminder - begins around Christmas).

Share created wrestlers, play what others created!



We start with the most straightforward player-made content in a pro wrestling game: Create-A-Wrestler mode! We will have an in-depth look at the quite powerful creation system in a later dev blog post, but note that all wrestlers shown in picture or video material so far have been created with it, and there aren't even too many different items yet!

Sharing created wrestlers on the Workshop is as easy as hitting a "Share" button in the menus, and if you'v ever used the Workshop to install content, you know how installing a wrestler created by somebody else is as easy as hitting "Subscribe" on the Workshop item.

Here's a small example with a handful of crazy creations we came up with:


Naturally, your created wrestlers can be used in online multiplayer matches with your Steam friends! More on this will follow in yet another dev blog.

Outlook on content creation



Sharing wrestlers from the game's Create-A-Wrestler mode will be available immediately when the game enters Early Access by the end of this year.

However, that is only the beginning. During Early Access, a Content Creation Kit will be released that will, step by step, allow advanced creators to add the following types content to the game:

  • Wrestlers imported from 3D models: No matter how much stuff is ever made available in Create-A-Wrestler mode, it will always have its limitations. Worry not, folks, CPW can use any rigged humanoid 3D model with some extra information given via the Content Creation kit! This shall turn the Workshop into a GMod level of crazy in no time!
  • Weapons: Feel that a crazy weapon is missing in the game? Find or make a 3D model an import it! Any type of weapon that is in the game can be added via the Content Creation kit.
  • Animation & Moves: If you happen to be versed in 3D animation, CPW uses plain old skeleton bone animation on generic humanoid rigs (see Dev Blog #4 for details), so adding custom animations in standard formats is surprisingly simple. With additional scripting against CPW's API, you will be able to orchestrate custom wrestling moves.
  • Arenas: Set up the ring on a beach, inside a volcano, on the top of a tower (whoever would do that) or whatever by creating your own arena - if it fits a wrestling ring, it works!
  • Rings: Speaking of wrestling rings, CPW generates them procedurally from modular parts that can be modded just as well.
  • CAW Items: Dealing with 3D software is not for everyone, and you will see that the Create-A-Wrestler mode has some pretty neat features to play around with. To put it briefly - combinatorial explosion makes little new content create loads of new possibilities. Because I'm not much of a 3D guy myself, I made it as easy as possible to add new items (attires, textures, even base models). Also, created wrestlers are saved as optimized, standalone 3D models, so players won't need to install any mods to play wrestlers made with modded content.
  • ... and much more? The game is modular in many regards, so once things stands and as new features are added, new ways to mod it till it breaks will be added eventually.

You may think all that is promising way too much, but remember that the game itself is made using these same tools! Making them available to the public is mostly a matter of polishing and documentation, and Early Access will be the ideal environment for getting this done.

Conclusion



Community-created content is what makes games strive over time. Some games from the early 2000s and even late 1990s are still actively played today, and in many cases that wouldn't be possible without mods. This is the long-term goal of CPW. As a solo developer, I can only fill the game with so much content, but I can and will try to make it as easy as possible to add to it. So if you are a content creator and have your eyes on CPW, please know that you are invited to help make it a long lasting and fun community experience!

Full Match Gameplay Footage

Hello everyone!

Despite the recent lack of development blog posts, the second half of 2022 has seen a lot of exciting updates to CPW gameplay. Those who follow me on Twitter may have seen a snippet or two, and those who don't can look forward to a summary by the end of the year.

In any event, it's the holiday season - what a wonderful occasion to share with you the first full match gameplay footage of Casual Pro Wrestling!

So far, I have shared various short scenes mostly focusing on a specific feature, but I have never recorded a full match. Frankly, this is because a lot of content was (and still is) lacking. Therefore, to be able to show as much gameplay as possible, I decided to record a 4-Way No-DQ Elimination Match:
CPW Man vs. Ana Ki vs. El Vikingo vs. Shawn Cool. You have seen these characters in previous clips - and by the way, they were all made in the game's own CAW mode. I decided to play as the flag bearer, CPW Man, while the other three are controlled by the game's AI.

So, without further ado... Happy Holidays, enjoy, and please leave your thoughts!

Early Access Release Date

I'm afraid I've got some bad news today that may be disappointing to some, but I want to remain transparent about the game's development. I feel an announcement like this is the best way to share these news and now, as the project's popularity is still rather small, is the best time to do it.

To get straight to the point: I decided to postpone the Early Access release of Casual Pro Wrestling by one year to December 22, 2023. Here's why.

Frankly, I overestimated how far the game already was when I announced it 8 months back, and how far I was gonna get it according to my internal roadmap. To some degree, I also chose a rather short time frame to boost my motivation - which, by the way, worked. CPW has already been in development for several years and I thought that by the end of this year, I could release something for Early Access. While that statement still holds, and albeit I'm a solo developer and the game literally has "Casual" in its title, I don't want to release unfinished garbage. This past month, I realized that I couldn't get the game to a state that I'd be going to be content with just until the end of the year. After some struggling about how far to postpone, I decided that a full year should give me all the room I need, also to avoid having to postpone again in the future. So there's that: I consider the new date a deadline.

I promised to be transparent, so what is it that takes so much time? The following are the bigger bullets on my roadmap for an Early Access release:

  • Improve match flow by adding counters to moves, grappling scenarios with transitions, the ability to interact with wrestlers in "passive" states (e.g., while getting up, while perfoming a move, etc).
  • Implement holds, effectively adding submissions to the game, in an interesting manner.
  • Carefully balance how a wrestlers' stats affect their actions and (AI) behaviour, and how actions affect the wrestlers in the match.
  • Add CAW content, most importantly by finishing the female model and providing basic attires for it.
  • Create a first version of a modding kit that will allow importing rigged humanoid 3D models and make them playable wrestlers, as well as adding custom CAW content.
  • Steam Workshop integration of CAWs, both in-game as well as 3D model imports, including making them playable in network multiplayer.
  • Implement a first rudimentary, arcade-ish career mode for a start.

While the list doesn't seem very long, bear in mind that every bullet requires research, creative thought processes, content creation (especially animations), programming and, to an extent, documentation, aside from the many details that come and unfold on the fly that I can't possibly list. Take into account that this is a solo hobby project with no team or noteworthy budget behind it. The named points are also core mechanics that, in my view, need to be worked out before releasing the game, even to Early Access, because a release would most certainly shift priorities and delay those things even more.

In the past months, I have posted some development blogs on selected topics and I will continue to do so. The Twitter feed, @CasProWrestling, is updated more regularly with mostly short gameplay clips, and you can expect that to go on as well.

I hope that the disappointment is bearable for those who have been following - sorry for that. On the bright side, a real alternative to the 2K games is coming soon and from a studio with an actual budget. I'm sure it will breathe long-awaited fresh air into the genre and inspire this project as well as the many other indie wrestling games currently in development (check out Twitter, you'd be surprised). Certainly, it will bridge the gap until everyone gets what they really want - Casual Pro Wrestling! ːsteammockingː

Feel free to ask or discuss anything about the development process and stay tuned!

Artificial Intelligence

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!

Animation

Today's dev blog will be a little more technical and deserve the name dev blog a bit better than the previous.

In an interview with Fightful, the legendary Mat Dickie can be quoted as saying that "we all know, for a fact, how difficult it is [to make a wrestling game]". From the several years of experience working on CPW, we can assure you it is. One of the main reasons for this is animation. There are several aspects about animation in a wrestling game that take very much to get right. In this dev blog, we'll cover a few of those things and what CPW's take is on them.

The Sheer Amount of Animation Clips


This is the first real issue when dealing with wrestling games. The number of required animation takes is immense, because there are so many possible actions, moves, taunts, etc. Many of the basic actions you would expect from a wrestling game are implemented in CPW, but far from all, and most importantly, there aren't too many different moves yet to choose from. Still, we count as many as 194 different animation clips at the time of writing.

While large companies can have most of the handiwork done using motion capture (which still requires a lot of postprocessing and isn't as simple as it may read here), in CPW, all animations are modeled by hand keyframe by keyframe, which is probably true for most indie wrestling games. In addition to that, many animations have scripts attached that help with issues described later in this post.

Dynamic Transitions



In many games, there's that character that the player controls and they have a set of actions at their disposal where most of the time, it's pretty clear what action can follow another. In wrestling games, this is a little more tricky. You may be swinging for a big punch but your opponent flinches in a swift kick and interrupts you. You may be climbing up to the top rope when somebody smashes you in the back. The move you're going to execute? Well, it may be countered, somebody may interrupt it from outside, but maybe also you're just out of gas to lift the opponent and botch the whole thing. Any of these things can happen at any point during an animation. From a developer perspective, there is no real telling what happens next, and that makes it pretty difficult.

Needless to say, the animation system has to be as flexible as possible. You can't draw up something like a state machine that defines possible transitions and implement that. Any animation may have to transition into any other at any point in time and the developer never saw that coming.

CPW does work with a state machine to determine what a wrestler can do right now, but the animation system is completely decoupled from that, allowing transitions at any time. Here's a tiny demonstration of a poor guy being pingponged:


Ragdoll Transitions


What you also see in that short clip is what we've been talking about in the first dev blog, wrestlers in CPW ragdoll when they lose composure. That doesn't make animation any easier: at any point, a wrestler may ragdoll and the transition should look fluent. Whatever movement and rotation the body was going at during the animation should plausibly be passed to the physics system so there are as little hickups, slowdowns, boost, teleports or similar. CPW tracks the movement of every part of the ragdoll individually during animation to make this as flexible as possible, nothing is hardcoded here.

Then there's also the reverse direction. Ragdolling wrestlers will, at some point, go back to being animated from wherever and in whatever position they've been laying around. The back-transition from ragdolls to animations is tough to get right at all times. Here's somebody sitting up from an unfortunate pose:


Animation Frame Sampling


In CPW, it is as you would picture it, one animation for certain actions. As an example, let us take climbing up the ring apron from outside: there is one animation for it. So far, so good.

Not every apron is the same. In fact, the ring is generated procedurally in CPW (a necessity for ring customization) and may have different heights than the animation anticipates. Furthermore, not every wrestler is the same, and smaller wrestlers may need to start climbing closer to the ring apron for the animation to look plausible. There is no way to premake an animation for every possible scenario, and still, for one and the same apron climbing animation, we want the wrestler to begin and end up on the correct spot.

CPW employs a technique we call animation frame sampling to get this to work: before climbing, the game internally "plays" the animation to the end and looks where the wrestler would end up with no adjustments. It compares that to where the wrestler should end up, and then adds the difference as motion that is gradually applied while the animation is playing. An example is shown here:


In the first picture, the sampled skeleton at the end of the climbing animation is visualized in magenta. It's obviously sunken into the apron too much, so we'll have to adjust the animation by the yellow arrow. In the second picture, we see that it worked pretty well!

Inverse Kinematics


Let's stick with standing on the apron. We want the wrestler's hands to be on the ropes as we see in the second picture. Again, there's exactly one animation of a wrestler standing on the apron, and it must be adjusted for wrestlers of different heights, arm lengths, hand sizes, and so on.

CPW uses Inverse Kinematics, a very common technique in games that helps place endpoints of a skeleton - e.g., the hands - where they should be, or make sure the feet are on the ground when standing on slopes.

Synchronized Animations


Finally, there's one problem where all of the above come into play: synchronizing animations between two or multiple participants. CPW has a separate animation clip for the instigator and the victim of a wrestling move. During actual gameplay, however, the wrestlers may be at different starting positons, may have different sizes, may or may not be ragdolling and may need to take into account the sorroundings. Still, you want the hands on the opponent's shoulders while grappling, or when doing a chokeslam, the hand of a larger wrestler shouldn't end up in the opponent's mouth just because they're smaller.

CPW has a separate animation clip for the instigator and the victim of a wrestling move, and uses all of the techniques described earler to make sure things are in sync on one hand, but very flexible on the other. This is done by adding extra scripting that orchestrate the animation, positioning etc. during a move. Let's have a look at an Irish Whip, which looks simple enough, but has quite some synchronization going on internally:




To round it up, animation is the most important aspect of a wrestling game, because wrestling is all about motion of human bodies. While this is true for many games, wrestling games need to synchronize animations between multiple characters and the environment at the same time, which is but one aspect that makes their development a real challenge. For CPW, we have our ways to tackle this challenge and try to make a fun gameplay experience out of it.

For those who have been following, thank you for reading and stay tuned for the next update!

Foreign Objects

Today, we will have a first look at weaponry of the game.

You may think to yourself that it's a bit early for this, given this is a pro wrestling game and only few of the actual mechanics have been presented so far. But let's face it - few matches in pro wrestling games go clean, because involving foreign objects is too much fun. So let's get that topic out of the way!

In Casual Pro Wrestling, weapons that aren't being carried around are handled by the physics simulation. This means that wrestlers being slammed and thrown around (as ragdolls, as you'll recall) fully interact with them, ensuring impactful crashing and burning. Many weapons can break, and we're not only talking about the infamous tables that are undoubtedly featured: weaker weapons like brooms can only be used to deliver so much punishment before they fall apart. At the end of the match, you'll know there's been some chaos going on, because parts of broken weapons will stick around for "decorative" purposes (with negligible performance impact).

There are various ways to interact with foreign objects already. Surely, one of them is picking them up and beating up your opponent until you drop it or it breaks. But why not throw one at them and see if they can catch? It's also common practice in pro wrestling to arrange furniture by placing things at certain places, e.g., setting up a table to lay an opponent on them (as seen in a previous tweet), or a chair to make your opponent have a forceful upside-down seat by suplexing them onto it. You can find weapons standing around casually in the arena, but of course, there are many surprises under the ring for you to find and use!

The following trailer shows a small compilation of what's possible:

Of course, at this point, this is only scratching the surface of what you want to be able to do. In the future, special moves involving certain weapons are planned, and you'll notice that there aren't even any ladders yet. Still, it's already quite some fun to play around with the weaponry!

From here on out, however, until Early Access, focus will be laid on the base mechanics of the game, and that's what we'll delve into starting with the next dev blog. Stay tuned!

It's Getting Crowded

It's that time of the year again!

The arguably most iconic wrestling matches is where a couple of participants start off in the ring and at a fixed rate, the buzzer sounds and another participant enters the bout. Elimination occurs when both feet touch the ground after going over the top rope, and the last participant standing wins. We can't count the many great moments this match has given us watching, but also in pro wrestling games, it offers a perfect setup for couch multiplayer action.

While the countdown battle royal is but one of many match types featured in Casual Pro Wrestling, it's the one that makes a certain feature come into effect the most: there is no limit as to how many wrestlers can be in the ring at the same time! Where many popular games will simply halt the countdown once a handful of participants are in the ring, in Casual Pro Wrestling, they'll just keep coming. Let's have a look at some of the chaos, shall we?

[previewyoutube="wj_owRTm85k;full"]
As you can see, there can be a lot of things going on at the same time. Of course, this is only fun when the game runs smoothly, and the good news is that Casual Pro Wrestling handles this quite well. The above footage was recorded on a medium tier gaming notebook using an unoptimized development build of the game. While, frankly, that isn't saying too much, what you can take from it is that we're not talking about high-end hardware being required for experiencing this kind of chaos.

The game has been designed with bigger matches in mind, and performance is always a key criterium when making decisions about how new features are implemented. Created wrestlers are good example: the vast majority of the wrestlers in the video were created in the game's CAW mode (and they need not necessarily appear in the release version). When saving a created wrestler, there is some post-processing to ensure that we get the best possible performance. Most importantly here, body and attires are baked into a single 3D model with a single texture, with body parts occluded by the attire being removed completely from the model. This reduces complexity, and therefore, created wrestlers are relatively lightweight on the graphics card.

Other portions of the game will hopefully benefit from larger matches being possible. For instance, we have seen a Las-Vegas-themed variation of the aforementioned match emerge that will likely find a way into the game, and while team matches are not yet implemented, they are definitely on the roadmap - maybe we'll have look at that when it's that other time of the year?

There's a few more things you may have noticed in the video, one of which will be featured in a future development blog. To that end, stay tuned and feel free to ask away about anything. At the very latest, see you for the next development blog!

Wrestling with Ragdolls

Happy New Year, everyone!

Over the course of 2022, as we approach the planned Early Access launch around Christmas, I will give several insights into this upcoming professional wrestling game: Casual Pro Wrestling.

This first blog is about wrestling with ragdolls. Ragdolling wrestlers are a fundamental feature in Casual Pro Wrestling that adds drama to all kinds of bumps, as well as a lot of fun. But what are ragdolls, how does the idea fit in a wrestling game and how does it look in this game?

Human Bodies in Games


Chances are you already know ragdolls. The basics are simple: a human body can roughly be described mathematically by a set of volumes. For example, an arm could be composed of two cylinders representing the upper and lower arm, plus a box to roughly describe the bounds of the hand, disregarding the fingers. The volumes are interconnected by joints with certain limits regarding how they can rotate (e.g., you cannot typically rotate an elbow outwards). When we define a human body programatically in this fashion and we give all this information to a physics simulation, we speak of a ragdoll.

This is how such a body definition could be visualized (click to enlarge):

You'll notice the boxes and cylinders that approximate the extremities, as well as other points that are marked on the body, which are used for other purposes.

Passive vs. Active


We can differentiate between active and passive ragdolls. Passive ragdolls, despite the term arguably not being used often, are very common in games. They can be thought of as limp bodies that would simply crumple, e.g., to indicate that a character is dead. Contrary to that, when speaking about active ragdolls, we typically mean that artificial physical forces are being added to the body to keep it upright and impose some kind of control over it. While that can be pretty cool, active ragdolls tend to be very hard to control for human players. A prominent — albeit very primitive — example for this is QWOP ...

Wrestling with Ragdolls


In Casual Pro Wrestling, players are to assume full control over their characters. Therefore, wrestlers are animated in classical fashion most of the time, this is not an active ragdoll game. Only when wrestlers lose composure after being hit very hard, or if they are on the wrong end of a maneuver, they are simulated as passive ragdolls to add a pinch of drama to the situation. In that sense, the ragdoll feature in Casual Pro Wrestling is just for fun.

So let's have a look at some footage, shall we?
[previewyoutube="0zk520pU_64;full"]
As you see, the passive ragdolls create some authenticity on one hand: the bodies interact with the environment in a more or less realistic fashion. This is especially visible when throwing opponents into the ropes, into objects or onto one another. On the other hand, this is clearly a bit over the top – exactly as intended, because this opens up a lot of possibilities to wreak havoc!

I hope you enjoyed this first look at the game and began to think about what you'll try when your get your hands on this. If you have any questions about this feature or about the game in general, please ask away, I'll be happy to answer. In any event, see you for the next development blog!