Kirby Custom Character V3
(The video seems to be erroring, sorry if you can't see it. It was pretty outdated anyway)
Version 3 of the Kirby character is released. This update focuses primarily on adding new copy abilities to the character (and enemies to provide them), but as always comes with some internal improvements you won't notice, and balance fixes you will. No new campaign content has been added to the mappack this time around. Details on the new features and changes can be found in the relevant tabs below.
Anyway, this character aims to replicate Kirby gameplay in Mari0. It's not accurate to any game in particular, it's just meant to be kinda like the series as a whole. It features Kirby's usual moveset of inhaling, spitting, flying, sliding, etc. You can also gain any of twenty six copy abilities. It uses fancy technology to have a more advanced combat system, approximate to modern Kirby games. All of the char's features work with all existing objects, and have full support for making compatible custom enemies. The char also works in 2 player, provided player 1 is Kirby, and you can enable pvp from a config option. It does not support more players than 2, and it also does not work in online because online sucks. I don't know if it works on mobile, but if it does it does. This is easily my favorite thing I've made in Mari0, it's an incredible technical showcase as well as being a fresh way to experience the game.
Although it looks decently normal, this character is very very different from existing custom characters. I don't think you can fully appreciate how it works unless you have a lot of experience making enemies, just know that it's WAY more complex than it looks on the surface. Basically I made a new system of custom characters, entirely from scratch out of custom enemies. If you're unfamiliar, this is not coding; there is not a single line of code in any of this. All of the things it does work through complex exploits of Mari0's poor assemblage. It doesn't use fireenemy, or enemy riding, or even normal movement or graphics. You can think of it kinda like a cyborg, but the "human part" only exists because it has to, the robot parts do all the work. Why'd I do that? The new system is much more flexible. It allows for all sorts of things that would be difficult or impossible in a normal character, like a real state system not bound by riding, flexibility of animation, and easy contextualization of actions and moves.
In addition, this character also features another new custom enemy creation I've made, called the WCD system (WilliamFrog's Custom Damage). Like the char as a whole, you probably can't fully appreciate how it works, the game was not made for this at all. While it's included in the Kirby char, it's actually a standalone system, and I plan to use it in future projects as well. Methods of dealing damage to enemies in Mari0 are extremely limited. The WCD system uses cutting edge technology to expand how this can work. Moves and objects can spawn and utilize hitboxes, which are able to deal damage to enemies. It comes complete with knockback, damage types and resistances, complex death behaviors, healthbars, and more. It works with all built in enemies, but also has full support for making custom enemies compatible with it, and good automatic detection of how preexisting enemies should work. This version is specialized for Kirby, but is robust and can handle a wide variety of scenarios where normal hp doesn't cut it. I don't plan to make a "retail version" though, as I don't think many people will be able/willing to use it effectively.
In addition, this character also features another new custom enemy creation I've made, called the WCD system (WilliamFrog's Custom Damage). Like the char as a whole, you probably can't fully appreciate how it works, the game was not made for this at all. While it's included in the Kirby char, it's actually a standalone system, and I plan to use it in future projects as well. Methods of dealing damage to enemies in Mari0 are extremely limited. The WCD system uses cutting edge technology to expand how this can work. Moves and objects can spawn and utilize hitboxes, which are able to deal damage to enemies. It comes complete with knockback, damage types and resistances, complex death behaviors, healthbars, and more. It works with all built in enemies, but also has full support for making custom enemies compatible with it, and good automatic detection of how preexisting enemies should work. This version is specialized for Kirby, but is robust and can handle a wide variety of scenarios where normal hp doesn't cut it. I don't plan to make a "retail version" though, as I don't think many people will be able/willing to use it effectively.
Also included in the file is a mappack for the char. It must be placed in your mappacks folder to be used. The char uses complex exploits to work, and as a result, you must start the mappack with the char before the char becomes usable. This only needs to be done once per game session, and once you do it, you can use the character in any other mappack. It's inconvenient, but this is the price of greatness. You may want to rename the Kirby map to move it to the top of the mappack list for easy access. If you're feeling a pinch savvy, you can copy the "data changer" enemy to another mappack, and put it on a track there. That will allow you to prime the character there too, for your convenience.
The mappack also includes an ability room, a few arenas for use with pvp, and a 24 rooms-style campaign showcasing all the abilities (in version 1), complete with Kirby themed enemies, graphics, and an original boss battle. (You can use the Kirby enemies if you want, just be sure to credit me)
As of version 2, a second campaign has been added: the timer challenge. In it, you race the clock through a set of new levels, complete with new enemies, mechanics, and remade bosses from the Kirby series. At the end, you get a score and rank based on your performance. It's unlocked after beating 24 Rooms, so if you already did that, you'll have to do it again.
Version 3 added new enemies to correspond to the new abilities added, tuned some things, and replaced a pvp arena.
The mappack also includes an ability room, a few arenas for use with pvp, and a 24 rooms-style campaign showcasing all the abilities (in version 1), complete with Kirby themed enemies, graphics, and an original boss battle. (You can use the Kirby enemies if you want, just be sure to credit me)
As of version 2, a second campaign has been added: the timer challenge. In it, you race the clock through a set of new levels, complete with new enemies, mechanics, and remade bosses from the Kirby series. At the end, you get a score and rank based on your performance. It's unlocked after beating 24 Rooms, so if you already did that, you'll have to do it again.
Version 3 added new enemies to correspond to the new abilities added, tuned some things, and replaced a pvp arena.
Copy abilities can be obtained through the typical methods of swallowing enemies with similar powers, and by mixing by inhaling multiple enemies of different abilities. Abilities carry between levels, and even different mappacks and daily challenges. You drop them when you take damage, and they can be retrieved from the dropped star as normal. Many maps don't have much variety, so you can also mix by swallowing enough neutral enemies in a row, indicated by the "mix meter" on the HUD. Note that abilities are not powerups. Though some abilities can be obtained from inhaling powerups, touching them will only heal you and will not provide the ability. Getting abilities will not affect your health, or size, or anything else typical of powerups.
List of abilities:
List of abilities:
- Fire - Breath a stream of fire, or become a ball of flames to blast through foes. Disproportionately common, it comes from Fire Flowers, Lava Bubbles, Fire Bros, and Fire Piranha Plants.
- Needle - Become spiky and hurt anything that touches you, as a potent defense. Mostly obtained from Spinies but it also comes from Spike Tops, Dry Beetles, Spikeballs, and Pokies.
- Hammer - Use an unwieldy but extremely powerful hammer to pulverize tough opponents. Obtainable from Hammer Bros, but also the DK Hammer and Hammer Suit.
- Ice - Use cold-themed attacks to freeze enemies solid, and kick them at other foes. Obtainable from Ice Flowers, Ice Bros, Snow Pokies, and Snowballs.
- Stone - Become an invincible stone to slide down hills, crush enemies, and block attacks. Obtainable from Thwomps, Thwimps, Meteors, and Tanooki Suits.
- Sleep - Fall asleep on the spot, just be sure not to do it anywhere dangerous. Obtainable from and only from Rip Van Fish.
- Spark - Shamelessly violate the first law of thermodynamics to attack your enemies with electricity. Obtainable from Amps, Turrets, and Energy Pellets.
- Cutter - Throw sharp edged boomerangs to hit foes in front of you, and even farther behind you. Obtainable from Boomerang Flowers and Boomerang Bros.
- Bomb - Throw ballistic bombs with careful aim, with the power to take out groups of enemies. Obtainable exclusively from Bob-Ombs.
- Magnet - Climb on anything and throw enemies with the power of electromagnetism. Not obtainable from any built in objects.
- Wheel - Rev your nonexistent engine, and sacrifice utility to drive through levels at unrivaled speeds. Obtainable exclusively from Barrels.
- Ball - Embrace chaos, and become an erratic bouncy ball to eviscerate foes, or be eviscerated yourself if you aren't careful. Obtainable from Superball Flowers, or the balls Lemmy shoots.
- Impact - Launch baddies into next week, or whatever is unfortunate enough to be behind them. Obtainable from Sledge Bros.
- Spear - Use everyone's favorite polearm to stab enemies from a distance, or illogically become a helicopter. Not obtainable from built in objects.
- Tank - Charge powerful attacks and recover damage unfazed, at the cost of a little mobility. Not obtainable from built in objects.
- Sword - Master the sword to slice your enemies with speed, agility, dexterity, and twice the average number of moves. Not obtainable from built in objects.
- Wing - Fly gracefully through the air (flight limit permitting), and preform agile maneuvers to get where you need to be. Obtainable from flying parakoopas, swim wings, cape feathers, and carrots, honorable member of the "most common abilities" crew.
- Light - Charge up bursts of light to illuminate dark spaces and somehow kill enemies. Not to be mistaken for the official Light ability, it is completely different. Not obtainable from built in objects.
- Shadow - Fade into the shadows, duck and dodge to evade attacks and leave a trail of deadly shadow in your wake. Not obtainable from built in objects.
- Mirror - Reflect projectiles and project mirror images of yourself to multitask or dodge blows. Not obtainable from built in objects.
- Shield - Guard yourself from enemy attacks, then retaliate with a throw. Obtainable from blue shells, it doesn't really make sense but all these things being unobtainable makes me sad.
- Paper - Use folded creations as weapons and hurl paper everywhere, rocks beware. Not obtainable from built in objects.
- Crash - Self destruct in a spectacular explosion that kills (or at least severely injures) every enemy on screen. Obtainable from lucky stars and pow blocks.
- Combo - Dash, jump, and spin between enemies to kill them all in one epic combo. Not obtainable from built in objects.
- Cosmos - Manifest bite-sized space phenomena to send enemies out of this world. Not obtainable from built in objects.
- Beam - Wield an electric laser whip thing with sweeping range. Not obtainable from built in objects.
A is the button assigned to jump
B is the button assigned to run, you do not run using this button
x2 means press, release, then hold. If you were already holding it, you can just release then hold.
Controls file also available in the download (though the paper plane control is wrong oops)
B is the button assigned to run, you do not run using this button
x2 means press, release, then hold. If you were already holding it, you can just release then hold.
Controls file also available in the download (though the paper plane control is wrong oops)
Code: Select all
Move Name Control Notes
=====================================================================================
--Universal--
Slide Down + A
Float A in midair
Poof B while floating
Water Gun B underwater 4 directional
Run Forward x2
Drop Ability Reload (not during actions)
--Normal--
Inhale Hold B
Star Spit B after inhaling star size varies by items eaten
Swallow Down after inhaling get abilities from some things
--Fire--
Fire Breath Hold B
Fireball Spin Down + B in midair
Fireball Roll Hold B during Fireball Spin climbs walls
Fireball B while running
--Needle--
Needle Attack Hold B on ground
Midair Needle Hold B in midair sticks to things
Mega Needle Up + B
Rolling Needle B while running on ground
--Hammer--
Hammer Swing B on ground
Hammer Spin B in midair, B underwater
Hammer Flip Up + B on ground
--Ice--
Ice Breath Hold B on ground
Ice Sprinkle Hold B in midair
Ice Storm Hold B while running on ground, B x2
--Stone--
Stone Hold B
Rolling Stone Hold B while running on ground
Thwomp Stone Up + Hold B in midair Down to fall, release Up
--Sleep--
Fall Asleep Automatic
--Spark--
Spark Attack Hold B can walk while using
Chain Spark Up + B hits multiple enemies close together
Spark Drop Down + B
--Cutter--
Cutter Throw B Up/Down to steer cutters
Cutter Wave B then catch cutter
Cutter Drop Down + B in midair
Cutter Dash B while running on ground
--Bomb--
Bomb Throw B Hold B + Up/Down to aim
Bomb Drop Down + B
Bomb Suplex Up + B in midair
--Magnet--
Magnet Throw B + Up/Down/Left/Right sticks to things, jump off with Up/Down/Left/Right/A
Magnet Attract Hold B on ground Up to aim up
Magnet Hover B x2 hold Up to fling at peak
--Wheel--
Drive Hold B invincible, can still jump
Turn Backwards while driving not invincible
Downshift Down while driving in midair invincible
Rocket Start Hold Down while driving on ground more speed by charging longer, not invincible
--Ball--
Ball Hold B Hold A to bounce, Left/Right to spin
--Impact--
Impact Punch B Up/Down to aim
Impact Shock Down + B
Impact Kick Down + Left/Right + B while running
--Spear--
Spear Thrust B
Spear Throw B while running
Spear Copter Hold B move with Up/Down/Left/Right
--Tank--
Quick Shot B
Bounce Shot Hold B briefly
Explosion Shot Hold B longer
Mine Lay Down + A
Autoheal Take Damage takes 18 seconds
--Sword--
Sword Slash B
Sword Beam Sword Slash with full hp
Chop and Thrust B in midair
Spin Slash B while running in midair
Rising Slash Up + B
Sword Dive Hold Down during Rising Slash
--Wing--
Wing Flap A in midair
Condor Head B, B running in midair
Dive Bomb B in midair, Down + B during Condor Head
Condor Dive Down + B running in midair, B during Condor Head
--Light--
Flashbang Hold B
Arc Flash Up while fully charging Flashbang Left/Right to steer
Laser Left/Right + Hold B bounces off slopes
Sunray Down + Hold B in midair
--Shadow--
Shadow Trail Hold B
Shadow Duck Down + B, Down during other moves Left/Right/A to move
Shadow Splash Down + B running in midair, Hold Down + B during Darkness Dodge
Darkness Dodge B while running
--Mirror--
Reflect Force Hold B reflects projectiles
Mirror Body B while running tangent to your velocity
Mirror Image Down + B running on ground
--Shield--
Shield Guard Hold B
Shield Surf Run + Hold B can control slightly, hit enemies by jumping
Shield Throw Up/Down + B B to resummon
--Paper--
Fan Wave B
Paper Plane B while running
Paper Crane Up + B hold to delay throw
Paper Toss Down + B
--Crash--
Crash B
--Combo--
Combo Tackle B, B running in midair Up/Down/Left/Right to angle
Enemy Jump Hit enemy during Combo Tackle Up/Down/Left/Right to angle
Radius Spin B in midair, Hold B during Enemy Jump
Collide during diagonal Combo Tackle can cancel after hitting enemy
--Cosmos--
Gravity Shift A
Ring Spin B
Shooting Star Down + B
Black Hole Up + B Left/Right to aim
--Beam--
Beam Whip B
Cycle Beam B while running
Beam Blast B running in midair
The config.json file has several options available to modify the Kirby experience. They are split into 4 categories. Details on their functions are below:
Config edits take effect after restarting the game. Note that enabling pvp makes a few balance adjustments to specific moves (for example, Stone and Spark have time limits), and is not recommended for singleplayer. You can enable the portal gun from the regular "noportalgun" property if you'd like, though I do not take responsibility for things that don't work.
Code: Select all
Name Default Description
=================================================================================
--Basic--
- "ability" "normal" The starting ability when you prime the char, "ability2" also exists for p2
- "flightlimit" 3 How long you can fly
- "movesunderwater" true Makes most abilities (and inhaling) usable underwater
- "mixmeter" true If the mix meter should be usable
- "pvp" false Enables pvp in multiplayer, along with related balance adjustments
--Adjustments--
- "noflyingfish" true Prevents flying fish from appearing
- "nogroundshock" true Prevents stun from stompy enemies
- "laserimmunity" false Become immune to lasers if you hate them like I do
- "fireflowermix" false Get mixes from fire flowers, to reduce Fire's chokehold on some mappacks
- "normalballcontrols" false Changes Ball's spin controls to plain air steering
- "healfromsleep" false Using the Sleep ability heals you
--Handicaps--
- "halfdamage" false Multiplies all damage by 0.5
- "quarterdamage" false Multiplies all damage by 0.25
- "noairsteering" false Disables air steering and also the aerial speed cap
- "falldamage" false Take damage from landing too hard
- "invisible" false Become invisible
--Novelty--
- "wideglitch" false Enable a funny glitch (now feature) that makes you wide and makes some moves fast
- "fancyinhale" false Use an alternate inhale animation
- "chaosmode" false Every move you do is randomized from every move in the char
- "momentuminhale" false Objects carry speed into the inhale animation
- "chainice" false Iceblocks deal ice damage and freeze things
- "oldmode" false Makes the char play like Kirby's Dream Land (fly by holding Up)
The char is built to be compatible with all manner of external creations. In order to create functionality related to the char, I've created basically custom properties, that can be assigned to enemies to modify how they interact.
All properties are case insensitive and are ideally lowercase, though they may be cased here for readability
Properties marked as Boolean+ can be set to either a boolean, or "default" for the standard autodetection behavior.
All properties are case insensitive and are ideally lowercase, though they may be cased here for readability
Properties marked as Boolean+ can be set to either a boolean, or "default" for the standard autodetection behavior.
Code: Select all
--Kirby Properties--
- "copyAbility": String Name of the ability to grant when swallowed, or "mix" for a mix
- "inedible": Boolean Makes the enemy unable to be eaten
- "edible": Boolean Makes the enemy able to be eaten, if it couldn't be otherwise
- "foodValue": Number Overrides the calculated mass of the enemy when eaten
- "doesntCount": Boolean Makes the enemy unable to be held in Kirby's mouth when eaten, like keys
- "poison": Boolean Makes the enemy damage Kirby when swallowed, like a poison mushroom
- "inhaleProperties": Object [ADVANCED] Properties to write to the enemy instead of inhaling them
- "inhaleEffect": String Name of an enemy to spawn when inhaled
- "inhaleEffectOffsetY": Number Y offset of the inhaleffect
- "inhaleFrame": Number Frame to display while being inhaled
- "ungrabbable": Boolean Makes the enemy unable to be grabbed
- "grabbable": Boolean Makes the enemy able to be grabbed, if it couldn't be otherwise
- "grabFrame": Number Frame to display while being grabbed
- "nonStick": Boolean Makes Magnet and Needle unable to stick to the enemy, if they could otherwise
- "noChainSpark": Boolean Chain Spark will not target the enemy
- "impactBounce": Boolean+ If you should or should not bounce off the enemy using Impact Punch
- "mirrorprojectile": Boolean+ If the enemy should be reflected by Reflect Force
- "mirrordamage": Number Damage once reflected
- "mirrordamagetype": String Damage type once reflected
- "combojump": String Restrictions on Combo Tackle jump (for bosses); set to "away" or "notup"
--WCD Properties--
- "tracked": Boolean Not a WCD property, but setting it makes damage carry over after transforming
- "noWCDdamage": Boolean Makes the enemy immune to WCD system damage
- "WCDvulnerable": Boolean Makes the enemy able to take WCD damage, if it couldn't otherwise
- "WCDhealth": Number The hp of the enemy used by the WCD system
- "noWCDknockback": Boolean The enemy will not take knockback from hits
- "noWCDknockX": Boolean The enemy will not take horizontal knockback
- "noWCDknockY": Boolean The enemy will not take vertical knockback
- "WCDknockXmult": Number Multiplier for horizontal knockback taken
- "WCDknockYmult": Number Multiplier for vertical knockback taken
- "deathFrame": Number Frame to display while dying (I forgot to put WCD in the property name)
- "WCDhealthbar": String Type of healthbar to use: "small", "big", an enemy name for a custom bar, or false to disable
- "WCDknockreturn": Boolean+ Resume trajectory after taking knockback
- "WCDdamageproperties": Object Properties to apply to enemies when hurt, use with caution
- "WCDdeathProperties": Object Properties to apply to the enemy when killed by WCD damage, see below for detail
- "WCDdamageResistances": Object Resistance to damage types, see below for detail
This property is a list of damage type strings, assigned to numbers for damage multipliers.
Set "default" to apply to all unlisted damage types.
Untyped attacks do "physical" damage
Damage types used by Kirby are: "physical", "pvpenemy", "fire", "ice", "electric", "sharp", "heavy", "mirror", and "impact"
Damage types set to 0 will prevent attacks of that type from landing entirely, unless "solidresist" is true (also within the property)
Set "default" to apply to all unlisted damage types.
Untyped attacks do "physical" damage
Damage types used by Kirby are: "physical", "pvpenemy", "fire", "ice", "electric", "sharp", "heavy", "mirror", and "impact"
Damage types set to 0 will prevent attacks of that type from landing entirely, unless "solidresist" is true (also within the property)
This property contains values to assign to the enemy when killed by the WCD system, for complex behaviors. It works similar to supersizeproperties, but also has special values to be used inside. These MUST BE LOWERCASE, they are only cased here for readability.
Code: Select all
- "dontFreeze": Boolean Will make the enemy unable to be frozen by Ice
- "dontImpact": Boolean If the enemy can't be shot using Impact (defaults to the value of dontFreeze)
- "noDeathThrow": Boolean The enemy will not experience the knockback animation on death
- "deathEffect": Boolean Enemy to spawn on death, replacing the usual sparkle explosion
- "deathEffectOffsetY": Number Offset for the deatheffect
Notes (not bugs)
- Since he uses small form, hitting item blocks with your head will always produce mushrooms. If you want a good item, you need to attack them, usually with a star if you don't have an ability.
- Many attacks do not break bricks, this is intentional
- Ice skating does not protect you from hazardous surfaces
- Ball works on slopes, you should try it (it was so much work)
- For maximum enjoyment, I recommend you edit a mappack's custom enemies to provide appropriate copy abilities, be properly treated as bosses if applicable, and track damage across transforms before playing it (see Creation Compatibility). The SMM2 enemy pack along with a few enemies I've made are preprogrammed to grant abilities.
- He has no interaction with some gels, or helmets, or shoes
- The camera is a little stubborn on the Y axis if you're on the ground, usually irrelevant
- You can't move in the editor
- He appears invisible on the title screen and menus
- Animation or enemy instakill deaths do not trigger death behaviors such as losing your ability
- Some things, in particular risingwater, show over the custom hud
- There is no particular death animation; it may often show the hurt frame, but it could be anything, and in multiplayer it's usually the jump animation. It's purely cosmetic anyway.
- Speed is capped, so maps that use faithplates or other mechanics to launch you may have issues. I hate faithplates and excessive speeds anyway, and you should too. If necessary you can change the flight limit.
- Koopalings teleport to a fixed coordinate position when you kill them, and the wand will always drop there. This would be a massive pain to fix.
- Long sound effects sometimes have cutting issues in multiplayer.
- Things generally work better on higher fps, including WCD damage being processed faster. If you slide into something and take damage, or have a piercing attack stop on something, blame the fps
- Bobombs have weird collision so movementy attacks will run into them
- If you die to spikes in the editor you can get stuck getting hit repeatedly. I don't take responsibility for this, because being able to get hurt in the editor is dumb.
- Physics is bad, and that may cause certain entities to "run into" hitboxes. This is greatly improved from V13e though, and is much less prevalent.
- Hit enemy recovery times are very short if hit left (I made a typo). If you'd like to fix this yourself, you can do it by swapping lines 720 and 719 in "k enemy register.json". I won't make an update just to fix it though.
PLEASE READ
I know the post is big, but the information here is important. At the very least, read the Mappack tab, but I would also appreciate if you read the Background Info tab for a better understanding of what makes this character special. If you have any questions or trouble using the char, check this post before contacting me, that's why it's here. If you contact me and the answer is in the post, I will refer you back here.
Made for AE V13.1. This is a character (and mappack) not a mod, and must be placed in your characters folder to work. As usual, please report any NOT KNOWN bugs or mess-ups you encounter. Credits are in credits.txt
I know the post is big, but the information here is important. At the very least, read the Mappack tab, but I would also appreciate if you read the Background Info tab for a better understanding of what makes this character special. If you have any questions or trouble using the char, check this post before contacting me, that's why it's here. If you contact me and the answer is in the post, I will refer you back here.
Made for AE V13.1. This is a character (and mappack) not a mod, and must be placed in your characters folder to work. As usual, please report any NOT KNOWN bugs or mess-ups you encounter. Credits are in credits.txt
- kirby v3.zip
- (4.01 MiB) Downloaded 1426 times
For use with AE V13.1 (latest version as of writing)
For use with AE V13e (viewtopic.php?p=138725#p138725)
- kirby v2.zip
- (3.88 MiB) Downloaded 1591 times
For use with AE V13e (viewtopic.php?p=138725#p138725)
- kirby v1.zip
- (3.64 MiB) Downloaded 1679 times