Nikujin (にくじん) is a short, tough-as-nails action platformer created by the prolific and bizarre Ikiki. The game stars a ninja who apparently wears nothing but a face mask, infiltrating a fortress of nude ninja and samurai, with the goal of assassinating the official hidden deep within. (If you're worried about the nudity, don't be... it's all cartoony with no depicted genitalia.) This submission attempts to complete the game as quickly as possible, finishing with a total time of 2:53.72, or 1:48 on the in-game clock.

Game objectives

  • Game Version: 1.12
  • Emulator used: hourglass-r81
  • Aims for fastest time
  • Takes damage to save time
  • Manipulates luck

Hourglass settings

The game was recorded on Windows 7 with Multithreading and Wait Sync disabled as well as Directsound Creation. However, playback works just fine with those settings enabled, with the exception of music. (See Additional Comments.)

This is a preliminary encode of the run, so the quality is probably a bit low. Someone better with video editing and such could probably clean it up.
Music was edited into the audio track manually to improve the viewing experience, so don't mind that discrepancy between playback in Hourglass and the youtube video.

Techniques, Tricks and Glitches

Though the game normally requires some difficult and convoluted platforming, a few programming oddities and glitches enable extreme shortcuts, and understanding of the base mechanics allow for further optimization.
High Jump
If you press left, right and jump at the same time, or if while holding one direction you press the opposite direction and jump, you do a high jump. A high jump is identical to a regular jump aside from the fact that it instantly shifts your character up one block at the start of a jump. This technique significantly speeds up sections which have primarily vertical travel, allows for many of the major shortcuts used in the run, and enables glitching into the ceiling. Unfortunately, a high jump sometimes cannot be performed without losing horizontal velocity.
Mid-High Jump
A mid-high jump is much like a high jump, but the boost you get is only half a block. It can be executed by pressing jump while holding both left and right, or by pressing up or down simultaneously with jump. Since it can be activated with no horizontal input, the mid-high jump can always be executed at a run without losing speed.
Sword Speed Manipulation
By attacking, you can influence your horizontal velocity. The effect is less noticeable in the air, but on the ground a sword attack can be used to accelerate very quickly to walking speed, as well as to stop or change directions more quickly. Later in the sword attack animation your character stops again, so to get sustained speed you must either attack repeatedly or cancel your slash with a jump.
Double Slash Trick
During the animation of a sword attack, your character will not cling to walls you come in contact with. If you press attack again after a certain point, your character will follow up that slash with a second slash. This second slash, after a couple of frames, can be interrupted by clinging to a wall. There are two main applications for this: one is to delay when your character can cling to the wall, useful for kicking off of a wall at floor level on the first possible frame. The other is to use the sword slash to influence your horizontal velocity without delaying (too much) when you become able to cling again. Both of these are used extensively in the run.
Rolling and Extended Rolling
Rolling allows you to avoid damage from a long fall, but is also useful in that it instantaneously resets your character to walking speed even more quickly than a grounded sword attack. Like a sword attack, a roll can be cancelled with a jump and will prevent clinging to walls. Additionally, during the beginning of a roll your character cannot attack. Attempting to attack during this time will instead reset your rolling animation (though not the duration of this delay period). It also seems that rolling may be very slightly faster than normal walking; an extended roll can move the character a fraction of a pixel further than a normal roll followed by walking for the remaining time. Exactly how much faster is difficult to gauge, and that tiny amount of extra distance is as often harmful as it is helpful.
Fast Wall-run
You can run up a wall faster (and further) by holding jump as well as pressing up. As is probably obvious, you need to have already been holding jump before you came in contact with the wall, since pressing jump will jump off of the wall.
Instant Wall-kick
You cling to a wall by holding toward it, and then can kick off of that wall by pressing the other direction. You can kick off a wall immediately by holding toward the wall, and then on the frame you will come in contact with the wall, press the opposite direction without letting go of the first. e.g. hold left, then press right while still holding left.
Wall-jump Speed
Though not as fast as the speed you receive from a wall-kick, your horizontal velocity after a wall-jump is slightly higher than your normal walking speed. Walking or rolling will soon reduce your speed to normal, but by jumping on the first frame you touch the ground you can preserve that speed for a bit longer.
Ceiling Cling Slide
When pressing up to cling to the ceiling, you normally lose horizontal velocity very quickly. However, by rapidly pressing the attack button, you can reduce this friction and slide further and faster than you otherwise could.
Ceiling Glitches
The instantaneous upward movement of the high and mid-high jumps can put the character into the ceiling if he is in a passage that is only one block tall. A mid-high jump will only put the character partially inside the ceiling and he will quickly be dislodged, but a high jump will fully embed the character into the block above. Once inside a block, the game will push the character to try to force them out... usually down, but occasionally up or sideways depending on level geometry. Additionally, once inside a block, sword attacks bump the character significantly upward and to the side.
Harmless Spikes
The hitbox of a set of bamboo spikes is somewhat finicky. All sources of damage normally don't take effect until one frame after they touch the player, but depending on position, timing, and some other factors, the game will sometimes allow you to spend two or three frames in a set of spikes before actually damaging you. If you can escape the spikes before then, the spikes will never deal damage to you at all.

Stage-by-stage comments

Stage 1

Here is where I make most significant usage of entering a ceiling. Upon destroying the wooden grate to gain entrance to the fortress, I take advantage of the fact that its opening is only one square tall to high jump into the ceiling. By alternating between high jumps and sword slashes, I can ascend much more quickly than any other method of travel. The rest of the level is straightforward, though it's important to note the existence of an offscreen box to the left of the start, allowing for the initial wall-kick.

Stage 2

This stage features the first usage of the fast wall-run and wall-jump speed preservation. When descending to the button I angle my jump from the second story such that I can jump off of the wall rather than merely dropping down, achieving a wall-jump speed boost there as well as on the way up. Though I'm willing to take damage to save time, I'd like to avoid it when it's unnecessary, so I jump over the shuriken ninja to avoid detection. As an added bonus, being detected less often improves my score.

Stage 3

The normal route through this level requires pressing the blue and red buttons to allow a wall-kick off of the crate to make the later jumps more manageable, but I just take a straightforward route over the top. This stage is also an example of high jumps being uncooperative: When making the jumps toward the end, I have to use only mid-high jumps. High-jumping there would lose speed. A previous playthrough of the stage skipped the high jump to wall-jump I use at the end of the upper platform and in turn was able to high jump for either (but not both) of the final jumps, but it was still slower than jumping off the wall.

Stage 4

An odd bug makes it difficult to jump to the left at the beginning of this stage. At the start of the stage, almost any time you jump your horizontal velocity is immediately set to walking speed to the right. I'm not sure exactly what leads to this. On the third floor, this helps because it makes it unnecessary to roll after running up from the wall. However, on the second floor it makes it very difficult to jump up to the third floor. For this reason I opt to get the boost from headstabbing the sword ninja rather than simply high jumping, even though under normal circumstances high jumping would be much faster. This, as well as the bomb ninja on stages 6-8, are where luck manipulation is most critical. Enemy facing is random, so I manipulate the ninja to face to the right at the start of the level.
This stage also features the only time in the run I take advantage of harmless spikes. With very precise manipulation of the jump down from the fourth floor, I manage to cling to the wall behind the spikes in a position such that the spikes don't harm me, and at a height such that I can wall-jump and cling to the ceiling. This wall-jump saves a bit more than half a second over the normal route.

Stage 5

Mercifully, boss AI in this game seems not to use the RNG, making the luck manipulation much more manageable. Anyway, when you lose control during the boss introduction cutscene, if your character is too far to the right you'll be teleported back to your position at the start of the level. I carefully move as far to the right as allowed so I can reach the boss more quickly once I regain control. The Stage 5 boss becomes vulnerable to a head stab shortly after he does his dual sword attack, so I run behind him to dodge the attack while still leaving myself in position the moment he becomes vulnerable.

Stage 6

I take damage during the high falls in this level so I can wall-kick as soon as early as possible; as mentioned, rolling prevents wall-clinging for the duration of the roll. When alerting the bomb ninja, I use a sword slash to turn around as soon as I've alerted him, a jump to cancel the slash, and a roll to get back up to full speed at the earliest safe moment. Attacking the first shuriken ninja on the third floor allows me to avoid damage without slowing down; otherwise, the necessary jumps would be less conducive to extended rolling.

Stage 7

Most of the tricks in this stage I've already used elsewhere, but right before the end I find another opportunity to glitch into the ceiling. After breaking the grate, a well-timed mid-high jump pushes me far enough into the ceiling that a subsequent sword slash causes me to be shoved out of the left side of the wall, facing right. With this I can double-slash to catch the wall below and wall-jump across to the goal.

Stage 8

By far the most complex stage to TAS, Stage 8 requires basically every trick in the book and then still features some waiting around. At the start of the level, I immediately roll backwards to kick off the wall rather than waiting until I have crossed the upcoming crates. By attacking while jumping, I can hit the two shuriken ninja and deflect their attacks without losing the speed I received from the wall kick. I use rapid presses of the attack button to slide to the end of the ceiling more quickly and save a few frames. When crossing the spike pit after the bomb jump, I couldn't manage to avoid damage from the spikes, so I just hop into the pit, take the hit, then high jump out the other side. At the end of this all, I actually arrive at the final crate slightly too early - it saves me quite a bit of time to wait at the crate for a few frames and let the four staff ninja clump up so I can kill them more quickly.

Stage 9

Easily the hardest stage when playing normally, Stage 9 is a breeze with high jumps. For whatever reason, getting hurt by the spikes at the bottom of this stage won't interrupt you if you're rolling, so just rolling through spikes is a fast way to move to the left at the start. A high-jump onto the front staff ninja allows you to neck stab and boost up to the third platform, and from there, it's basically just high jumps straight up for the rest of the level. My initial instinct was that the intended solution, bomb-jumping off of the ninja, would be a faster way to reach the top... but testing showed that just continuing to high-jump is faster.

Stage 10

More boss-fights. Again, I'm very thankful that the bosses' AI doesn't depend on the RNG. As with the mid-boss fight, the cutscene that first reveals the bosses will teleport you back if you move too far to the right, so I move only as far as allowed. When the first boss appears, I move slightly further to the right to position myself at the boss's preferred distance, making him start his extended staff attack as soon as possible. Once he's committed to the attack, I hop to the left and roll to the right for speed and positioning purposes, deflect his attack, and score the instant kill. I use a similar strategy for the second boss. Though he spends less time "locked in" to an attack, I was able to manipulate him to attack a bit earlier by spending some time facing away from him. The third boss doesn't really have a preferred distance for his charge attack, so I didn't really need to position myself to bait out an attack sooner. Unfortunately, his charge attack will grab you even if you're significantly above him, making it very difficult to set up for a neck stab at the earliest moment. Its horizontal grab range is significantly shorter, so rather than trying to position myself so I'd fall on him at the right time, I instead jumped to the wall and back and made horizontal positioning the main issue. This enabled me to get the stab a few frames earlier.

Background and Additional Credits

I got partway through making a segmented speedrun of Nikujin several years back, but repeatedly having to start over as I discovered superior techniques for earlier levels eventually discouraged me from ever completing it. When Hourglass first came out, the idea of making a TAS crossed my mind, but I wasn't really sure I knew the ins and outs of the game engine well enough to really make something TAS-worthy.
Early this month, I discovered Blaizerazer's segmented speedrun which used a ton of tricks I had never seen previously. Shortly after, I also discovered SeraHarms' abandoned TAS WIP of the full game, as well as Blaizerazer's very impressive training stage TAS. The combination of these factors encouraged me to pick up Hourglass, learn more about the game, and contact Blaizerazer to consult him about the run. It worked out that I was making a full-game TAS while Blaizerazer was working on improving his training stage TAS, so we swapped notes and exchanged information... though I'll admit he clued me in on more techniques than I did for him. In addition to the new techniques he'd been discovering as he worked on his training stage TAS, he also reminded me of the speed benefits of rolling which had somehow slipped my mind.
Blaizerazer's youtube page is here, with his Nikujin segmented speedrun and training stage TAS. For many stages I used basically the same route as in his segmented speedrun. SeraHarms' TAS WIP is here [dead lnk removed], which is fairly sloppy but I do build upon a couple of tricks used in the run... specifically the head stab in stage 4 and the wall-jump at the end of stage 7.

Other comments

For some strange reason, the game allows you to begin input in each level slightly earlier with music on than with music off. Also, for whatever reason, even with sound active in Hourglass and music set to "on" in the game options, the music did not play and the "no music" delay applied. If this problem can be resolved, it will save time as well as make movie playback a bit more enjoyable. Of course, for this same reason, if a later version of Hourglass corrects the music issue this video will almost certainly desync.
Some other aspects of the game engine also remain a mystery, and a better understanding could lead to significant improvements. Understanding the causes of high jump speed loss, for example, could lead to some major improvements. If it was understood why the player receives those mysterious speed boosts in stage 4, it could be possible to prevent the issues associated with them, or to cause them and take advantage of them elsewhere. Additionally, it seems that your sword slash animation takes a variable number of frames, which poses some extra challenges when attempting to time your attacks or optimize a double-slash to save frames. Minimizing animation length at times that it matters could also be a major time-saver. As such, someone more familiar with digging into a game's RAM could likely better understand and manipulate these phenomena to improve on the run.
I'm not really sure what frame would be best for a screenshot. 281 could be good for the "what?" factor, and something like 1627 or 6177 would be pretty visually interesting, but generally the game's simple art means it looks much better in motion than in stills.
Lastly, the rerecord count is a bit inaccurate. I was working with multiple files most of the time, and started over at one point, so the actual rerecord count is probably in the high 7000s or low 8000s.

turska: Judging.

turska: Excellent game choice, excellent first submission. I look forward to more from you.
The issue with Hourglass is unfortunate, but the music can be stitched in to encodes without too much trouble.

natt: Processing. This is going to take a while because of the hourglass midi issues.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14859
Location: 127.0.0.1
This topic is for the purpose of discussing #3581: BrotherMojo's Windows Nikujin in 02:53.72
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
Wow! This has all the aspects of a good TAS: fast, somewhat glitchy, action-packed, decent stage variety, comic relief, and nice music! (Oh, and also nudity.) This is what Bio Force Ape should have been. Also, great documentation for only a 3-minute-long TAS.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
Nice run, BrotherMojo! Short, glitchy and fast-paced. Also, the technical quality of this movie is evident from your well-written submission text. Yes vote!
Samsara
She/They
Senior Judge, Site Admin, Expert player (2120)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Watching my old TAS WIP is dreadful. Barely knew what I was doing, didn't really intend on finishing/submitting, and the older version of Hourglass made it damn near impossible to actually play the game. Very well done, glad to see a proper run done for this. Any other Ikiki games in mind? Buntan would be interesting with the ledge-grab glitch...
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
Awesome run and funny game.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Good job. Throwing in a yes-vote.
Joined: 8/31/2011
Posts: 11
Having worked very closely with this game, I can say that the quality of this TAS is tremendous. I'm very happy to see the run completed.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2174
Location: A little to the left of nowhere (Sweden)
That was great, a lot of cool tricks and very entertaining. Yes vote.
Joined: 5/30/2007
Posts: 324
What a pleasant surprise. Lots of extremely fast-paced, acrobatic goodness, with the occasional geyser of blood and the constant display of naked ninjas and samurai. Easy yes vote.
Active player (372)
Joined: 9/25/2011
Posts: 652
Ninja runs through game Slaughtering all time records Yes vote is assured!
NitroGenesis
He/Him
Editor, Experienced player (551)
Joined: 12/24/2009
Posts: 1873
Samsara wrote:
Any other Ikiki games in mind? Buntan would be interesting with the ledge-grab glitch...
I've always thought of doing Spyman. With the grappling hook and short length, it could look very cool. On the run: Well done, yes vote.
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Syncs on hourglass r81 (OS: w7 64, no vm)
  File: にくじん.exe
CRC-32: fc652d32
   MD4: 9e2cf7a6da16ee7c2a02ae4b221e9f10
   MD5: 93fdec12a9f051839f37fd31030b4658
 SHA-1: 57aee41ed34383b5489618f32e1ad280347ba970
Download: http://ikiki.sokushinbutsu.com/himoji/game/nikujin.zip (No referrer allowed)
Joined: 4/24/2012
Posts: 129
Location: Atlanta, GA
Fast, plenty of action, and an obviously great understanding of the game. Certainly has the look of a superplay. This was great.
Editor, Skilled player (1504)
Joined: 7/9/2010
Posts: 1317
Well done! Yes vote.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Joined: 12/30/2009
Posts: 49
Very entertaining run! Out of curiosity, are you the same BrotherMojo that made stepcharts for DDR/ITG? If so, I have to say I play your Buns of Steel chart like every day as a warmup, so thanks much for that!
Active player (405)
Joined: 3/22/2006
Posts: 708
This was amazing. Extremely exciting all the way through. Very well done.
Player (228)
Joined: 4/25/2012
Posts: 73
Hi, everyone. Thanks for all the support! It's my first time putting together something like this so I'm glad to see it so well-received.
Samsara wrote:
Any other Ikiki games in mind? Buntan would be interesting with the ledge-grab glitch...
I don't really have any specific plans for other TASes, Ikiki or otherwise. I have a bit of a history with Nikujin that led me to making this TAS. I'd love to do something else like it, but I'd need to have a project that presented me with the same degree of... compulsion. So this probably isn't the last you'll see of me, but I don't know what is next, or when.
Blazier wrote:
Having worked very closely with this game, I can say that the quality of this TAS is tremendous. I'm very happy to see the run completed.
That means a lot to me, thank you. How are things progressing with your revised Training run?
keatsta wrote:
Out of curiosity, are you the same BrotherMojo that made stepcharts for DDR/ITG? If so, I have to say I play your Buns of Steel chart like every day as a warmup, so thanks much for that!
I am indeed that same BrotherMojo. Always glad to know people are enjoying my work.
Active player (434)
Joined: 2/5/2012
Posts: 1687
Location: Brasil
y is he naked?
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general
NitroGenesis
He/Him
Editor, Experienced player (551)
Joined: 12/24/2009
Posts: 1873
i dont know y i think it bcuz sum1 on the devlpment tem thought it would b fanny
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Joined: 3/14/2012
Posts: 1
BrotherMojo wrote:
keatsta wrote:
Out of curiosity, are you the same BrotherMojo that made stepcharts for DDR/ITG? If so, I have to say I play your Buns of Steel chart like every day as a warmup, so thanks much for that!
I am indeed that same BrotherMojo. Always glad to know people are enjoying my work.
Awesome, your Mnemoniq stepchart is one of my favorites.
Joined: 4/6/2012
Posts: 44
Location: Lawn, PA
Voting Yes because this game, which I myself played years ago, is so difficult and the author finishes it so fast you barely have time to comprehend what's going on. I remember this game being very unforgiving when it came to crossing gaps (many are barely less than you can jump distance-wise) and getting in and out of places you need to go to (if you kill certain enemies the wrong way, it becomes impossible to clear the room; several are necessary stepping stones). I'd evidently gotten quite far, but couldn't clear the last two rooms. So that's what the ending looks like.
1/60 of a second is important; every frame matters.
Joined: 2/17/2012
Posts: 10
Great run
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Here's my progress so far: Hourglass simply ignores midi calls; they're not hooked or anything. This means that they get passed on to the regular subsystem. The reason you get no midi at all, is because Microsoft GS Wavetable Synth (the most likely one to use) bombs out because it can't operate in the Hourglass tasee environment. Some other wave synths bomb out as well. Using loopMIDI, I get functional midi output; but now the problem is how to get a\v sync. The TAS does sync properly when I'm using loopmidi, but there's significant studdering whenever midi playback starts or ends, so I can't use that realtime audio capture for anything. I have high hopes though.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Would like some feedback on this audio track Link to video The midi data was outputted from a modified build of hourglass. There's no stitching involved, since hourglass was actually running the submission when I did this. The midi was rendered with fluidsynth 1.1.3 using default settings and weedsgm3.sf2. Would like some feedback before I move to publication.
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
looks awesome to me :D voting yes