Hey there! I'm here to show off a small project I call Pokemon Arena. Please forgive the very low quality GIFs. The game looks better in a regular format!
Pokemon Arena should be viewed as an enclosed simulator of what a real-time action RPG version of Pokemon might look like. I wouldn’t consider it to be a fighting game even though some might. It does share some similarities, but to treat it strictly like a fighting game would do it a disservice I think and would likely lead to confusion in general.
The idea here was to try to turn a turn-based game that relied on careful methodical strategy and some randomness into a pure skill-based game. Each move has set values that include damage, hit velocities, status effect data, and a ton of other values. Additionally, any randomness that exists in traditional Pokemon is replaced completely with something fitting to this type of game. Sometimes I also equip moves to Pokemon that are "impossible". I'm not too interested in being perfectly accurate here. Sometimes an illegal option is more interesting than a legal one. I'm doing this project purely for fun to take a break from another project I have been on for 5+ years. Fun is the number one priority here and I view this game as an experiment to see how successful a re-genred (not a real word ¯\_( ͠° ͟ʖ °͠ )_/¯ ) version of Pokemon could play. Balance isn't much of a concern here either. I will occasionally make changes to things that are grossly over powered, but there is so much counter play in this game that trying to balance something perfectly would be not only virtually impossible, but would also be considerably less fun to develop and play.
I would consider this game to be a battle simulator of sorts; something that gives an example of the types of fights you'd encounter at the mid-game level in a full game centered around this sort of combat. Trainer fights would play out just like fights in this simulator would while exploration of the world would function about the same. This concept assumes that you, as the player, already know a lot about how Pokemon battles work and what each move does. There are, of course, ways to refresh your memory on this, but it still assumes you have at least a casual sense of the game already. I make no effort to teach the ins and outs of Pokemon in this game as I do not have the time to do so.
Here’s the controller layout. Some of these functions may be confusing, but I’ll go into more detail as the post continues:
All moves are on a set cool-down that can only be performed at preset intervals. Generally speaking, all moves can be cancelled into and out of each other as long as another move is available.
You'll also notice that each move has its own warning system built in. A red warning indicates a normal attack and a yellow one indicates a move that cannot be interrupted. The latter are rare. Also a standard hit will be indicated by a circle or a box that gives you the area in which the attack will have its effect.
A move that is indicated with an exclamation point indicates a projectile and a move with no warning whatsoever indicates that it is a non-hitting status move.
Finally, almost all moves have some level of automatic tracking. This effect can be overidden by holding the "Macro" button to manually aim a move.
As mentioned, everything can cancel into everything. This is the core of the game. Learning to use your moves optimally is key to this game. There are some limitations, but generally speaking this rule applies all around. This allows you to perform combos for more damage or to set up something unique. It should be noted that there are systems in place to prevent infinite combos. One prevents hard stuns from happening more than once per combo. Additionally, when juggling, each concurrent hit will cause the target to fall faster. Eventually they will fall so fast that further moves cannot connect. Finally there is a OTG (off the ground) decay. Each time the target hits the ground, the window to hit the target closes until they become fully invincible. Of course, move cool downs can help mitigate larger combos, but careful timing and planning can get around some of these limitations:
For example, no move will randomly miss and status effects are guaranteed as long as you can land the move. Moves like “Toxic” or “Will-O-Wisp” fall into this category. Other moves like “Poison Jab” don’t instantly poison, but slowly build up a “Poison” value. Once that value hits a certain threshold, Poison is inflicted. Additionally, while status effects have a minimum amount to fully activate, they have an "over fill" amount that allows you to extend a status effect beyond its normal limit. A flashing bar indicates when a status is over filled. Finally, you can continue to fill a status effect simply by landing an attack that builds a status. As usual, only one status effect can be active at once.
Currently, only some status effects are fully implemented. Side note, no electric types cannot be paralyzed in Pokemon Arena. The following GIFs are just for demonstration purposes.
Z Moves / Mega Evolution
Treat these moves like you would a super or ultimate move in a fighting game. Do damage to build a super meter up and activate! In the highly rare event that a Pokemon is equipped with a Mega Evolution, they will also have a separate Z Move they can perform after transforming. These moves have very high damage or a very unique utility. They are also somewhat hard to attain. It requires you to stay in for quite a while generally.
For the most part, these function just as they do in the traditional games, but with no randomness. I also tend to take some liberties with these. You might see a Pokemon with an “impossible” ability if their normal ones don’t make sense in this format.
Similar to moves, you can switch at any point as long as you have the ability to do so. Swapping is on a rather long cool down, though, so don’t expect to do it often.
Similar to the traditional game play, your stats can change in battle. They have been condensed, however, into 3 stats : power, defense, and speed. Game play rules have been adjusted to conform to this condensed format.
This works identically to traditional game play. Not much here has changed. When landing an attack, the color of the damage text will denote its effectiveness. Green is super effective, grey is normal, red is not very effective. For now, ineffective moves do not connect in any way. This might change later on.
Up to 4 players can play simultaneously. Right now, only free-for-all is supported, but I plan to add at least a 2v2 mode as well.
Each player selects up to 6 Pokemon. On top of that, each Pokemon (currently) has 4 preset move sets. Each move set is unique in its own regard, but generally follows a specific archetype. Let’s go over each here:
In case you are unfamiliar with how a move or ability works, you can press a simple combination of buttons to get more in-depth info.
As you can see, each Pokemon has 4 moves, an ability, and a Z-move OR a mega evolution. Each Pokemon also has access to two mobility options.
Weather works similarly to how it does in traditional Pokemon. Weather wars can also work the same as only one effect can be active at once. Randomized turn counts are removed in favor of set timed amounts. Also, in some cases, effects are simplified to conform to the game's style. Currently I have these weather effects functioning:
Listen, I’ve been playing Pokemon since Gen 1. I was roughly 11 at the time. Since then, I have rarely found legendaries all that interesting (Mewtwo and Suicune are pretty much it). This generally is true for final evolutions as well. What this means is you likely wont see a ton of "popular" Pokemon in this. I'm pretty much adding Pokemon that I personally find interesting. Having said all that, if I decide to take this further than I already have, I may do some kind of poll every now and then. Here’s who I have planned. This is subject to change, but for now, it’s who I like:
Not 100% sure when I’ll have this ready to release, but I’m aiming to put it out soon (hopefully within a week or so). It wont have any online functionality any time soon though. I recommend using Parsec to play with friends online. It’s free and it’s amazing.
Pokemon Arena was built from the ground up in Unity3D. I used an action RPG / fighting game engine that I have been developing for the past 6 years. I call the engine "Park Engine" for short since it was largely developed for another unrelated project (more on this later). I built the engine from scratch. This includes too much to list, but the basics of it are hit detection, effect and sound spawning, character creation, any many MANY more features. On top of all this, I have created a toolset that allows me to create a character and a ton of other features with no programming. Occasionally I have to add a new feature with some light programming, but this is rare. Park Engine also has a lot of functions that allow NPCs and other RPG related functions to be created, but those are unused in Pokemon Arena. Here's a few shots of the toolkit I have built for this engine.
This is a tricky one. Obviously Pokemon is a big one here, but Tera Online is likely the biggest. Before they changed the PvP servers to what they are now, I had a great deal of fun "challenging" other players at inopportune moments. Low level PvP was always my favorite. I never really enjoyed it in the post game. Back when I used to play Tera Online, I wanted to make a game like that, but somewhat simplified and more focused on skill-based combat. This is the direction I took it. I also draw a lot of inspiration from Dark Souls and Kingdom Hearts; though the connections to those are probably more subtle than I think they are.
As of right now I am the sole developer. Here’s what I have done on my own:
UI design / layout
Here’s what someone else did
Model rips - Model Resource
Sprite rips - Spriters Resource
Sound rips - Sound Resource
Music - Peanut / Wurd Munchaz