Short and sweet notes about Ring Fit Adventure, Nintendo Switch, and what the hell happened to Unity Engine!?

Posted in Personal on 28 March 2020

hero-image

When I mentioned I was working on a Design Document for a third person semi-open world game to a good friend of mine several months ago, he immediately asked me whether I had played The Legend of Zelda: Breath of the Wild or Super Mario: Odyssey. Naturally, not being a Nintendo Switch owner, I had no such experience. "Get the console!" — he replied immediately — "You gotta check out what those Zelda and Mario games have to offer in the way of game mechanics and overall flow."

"Yeah, right..." — Was my instant reply — "Getting an overpriced piece of hardware powered by a microwave-grade Tegra X1 SoC with games that cost a fortune each? I'll pass."

And with that, I returned to working on the DD and various side-projects and forgot the conversation ever happened.

The pitiful state of the Unity game engine

By mid-February the DD was about 70% done and I considered installing a brand new version of the Unity Engine to start prototyping the basic ideas. I might dedicate a whole post to what I had to go through trying to install and use the latest version of the Unity Editor, but will keep it short for now:

unity-crash

The Editor (version 2019.3.1) was crashy, buggy, had a lot of functions on the EOL list without any replacements available (Lightmapping and GI tools for example), the new high-definition UI was low-contrast, and text anti-aliasing looked like complete and utter trash on a full HD monitor.

Before the UI update:

prev

After the UI update. Now tell me this is more readable and better anti-aliased:

new

Feels as if Unity followed the same bullshit "modern" and "slick-corporate" UI approach Adobe took when they changed UI colors for their Creative Cloud desktop apps from orange/amber to blue, which is objectively the worst choice for the human eye when it comes to discerning small elements on the screen:

"The human eye can perceive more variations in warmer colors than cooler ones. This is because almost 2/3 of the cones process the longer light wavelengths (reds, oranges and yellows)."

And here is the before/after comparison:

orange-vs-blue-adobe-ui

And guess what? I'm not alone in this.

fuck-you-adobe

Now, back to Unity...

The Good

It's still free for personal use if your revenue or funding was less than $100K in the last 12 months.

The Bad

Unity Editor takes forever to launch. I experienced prefab-breaking bugs, where renaming nested prefabs and/or their children would completely screw up the whole chain of scripts on objects and so on, and so forth. There are rumors that even the High Definition Render Pipeline I was so hyped about is about to go via a myriad of changes which will break existing shaders and scene set-ups even though on the Unity website it's status is displayed as "released". I'm not even mentioning what a convoluted mess DOTS-oriented development actually is now that Unity are trying to get rid of the good old Monobehavior approach.

Oh, and the once-praised IL2CPP compiler? Yeah, I tried compiling a simple GPS app with a single native library to Android, which worked just fine with Mono — but this time with IL2CPP — to find out the app would launch, but not a single function call within it would work! No debug messages, nothing. Couldn't even figure out what caused the hiccups. Too bad, because the Mono version would take over two times longer to start and required twice as much space on the disk. What didn't help either was that the project Player properties window in the inspector was empty upon switching the target platform to Android! So to change player prefs I had to switch target platform to "Windows" or something else, change settings and switch project target back to Android.

Or how about the new Progressive GPU Lightmapper which freezes the Editor so often on my two machines with vastly different configuration? I was also shocked to find out that the UNet networking tool-set Unity promoted so much just a couple years ago is to be deprecated and... There's still no complete replacement available! Are you serious!?

It's as if instead of polishing and extending existing features Unity chose to chase after flashy tech such as ray-tracing (which is still in super-alpha preview), latest rendering technologies (without having a strong backbone for this in the engine), multi-core compilation (which is completely incompatible with the previous ways to code and super convoluted) and a bunch of other stuff which is continuously imported into the engine to be left half-baked or changed drastically in just a year or two, which is even worse, especially for projects for over a couple years in development. The engine is so bloated, that every second API has like 2-3 co-existing implementations which do the same thing. Which one should I use?

heretic-press-03

Nowadays Unity teams seem to be focusing on producing cool short films, but those are not what a game engine should be good for. It should be good for making games. No wonder Unity forums are full of people declaring they've had enough and are moving to Unreal Engine or even Godot.

The Ugly

Now, please note that this is pure speculation on my part, but seems like even larger companies aren't safe when it comes to engine stability issues of the recent Unity Engine releases. Take Ori and the Will of the Wisps for example, the sequel to Ori and the Blind Forest. The first game was (and still is) a masterpiece.

Ori_and_the_Will_of_the_Wisps

Built with Unity engine version 5, and even one of the earliest code-frozen releases of the new engine branch. Still, it worked like a charm! I can't for the life of me remember any discussion of serious technical issues and/or game-breaking bugs that plagued the game upon release.

Now, jump forward 5 years and what do we get? The sequel was built with Unity v2018.4.11f1 and...

review-001

review-002

review-003

Personally, I simply refuse to believe that the same team that produced the first game suddenly lost both their skills and sense of judgment and decided to release an unfinished product with a bunch of outright technical issues plaguing it. So... I blame Unity for this. Especially after experiencing the engine first-hand. I really want to play Ori 2, but will have to wait until hopefully the devs can find a way around those issues and patch the game for good. Somehow.

So, anyway... Taken aback by what Unity team did to their once awesome engine, I was left speechless. Now imagine how demoralizing this was, considering Unity was my go to engine for prototyping and later — actual game development. Now I'm aware that to use the current Unity Engine for gamedev you need to stay on the edge to make sure you keep up with all of the changes Unity team are applying from version to version (not even major ones, even intermediate updates sometimes remove or drastically change default and engine-integrated functions and tools!)

indiana

Just... What happened!?

Keep calm and play a game

OK, OK... The rant is over.

To cheer up and to take my mind away from Unity I decided to take a break from working on the Design Document and check out some games that had similar game mechanics to those I was planning to use in my project. One of those in the list just happened to be Zelda: Breath of the Wild for Nintendo Switch.

Welp... At first I considered emulating the game using CEMU, but having glanced at a list of unresolved issues, workarounds, quirks and several forum threads and manuals on how to make the game work from beginning to the end on PC, I finally gave up and got myself the original Nintendo Switch console (with a Pro controller, as recommended by a friend).

my-nintendo-switch-photo-001

Don't get me wrong: CEMU is a great project and I would never shell out for a Nintendo console unless it was absolutely necessary.

In this particular case I was just so frustrated after dealing with Unity I didn't even bother trying to tinker with CEMU and just purchased the damn console.

cemu-zelda-buggy

On the bright side, getting the real thing would allow me to check out the full library of Switch-exclusive games and maybe even take my Switch out for a ride, for it's a portable console after all.

I will probably dedicate a separate post to my experience with Zelda: Breath of the Wild, but in this one I'll only focus on one particular game that took me by surprise and since the first day I tried it kept helping me get better both mentally and physically.

I'm talking of course about Ring Fit Adventure. Probably, the best "novelty" videogame I ever played.

Challenge yourself!

I'm not much of a reviewer, but feel like I should support those bold claims with some screengrabs and an explanation of how the game actually works.

What sets Ring Fit Adventure it apart from most games is that it comes with a box of goodies, which contains a Ring Controller and a Leg Joy Con Strap:

ring-fit-adventure-box

ring-fit-adventure-controller

One of the Joy-Cons is obviously attached to the ring controller, whereas the second one should be strapped around your thigh. Surprisingly, I've never had a situation where the strap or the controller would fall off during even the most energetic of movements:

ring-fit-adventure-screenshot-0003

Having set everything up and created a profile of your avatar you're free to play quick games, do sets of exercises for a particular muscle group or dive straight into the Story mode, which I immediately did.

From here on I will briefly explain some of the most outstanding features of Ring Fit Adventure so as not to waste your time, for there is a like million reviews and videos on the internet on the topic in case you decide to learn more about the game.

You can actually skip my review and watch this one to get the idea:

The basics

Ring Fit Adventure uses a simplified format of an "Action RPG" where you level up your avatar and progress through the story whilst fighting enemies, doing errands for the village folk, buying stuff in the shop and ultimately battling the boss of each "World".

The world maps are colorful and provide a plethora of activities and a sensible feeling of story progression.

ring-fit-adventure-screenshot-0009

The environments are lush and colorful, there is a plethora of activities apart from running and jumping as well as unique enemies and obstructions to deal with along the way.

ring-fit-adventure-screenshot-0014

ring-fit-adventure-screenshot-0015

Experience points, exercises and challenges

Almost any activity in the game is rewarded by "experience points". Collect enough of those and you will "level up". Depending on how far you are in the game, each new level will either just increase your avatar's base "stats"...

ring-fit-adventure-screenshot-0012

...or unlock a new exercise!

ring-fit-adventure-screenshot-0013

You can "equip" unlocked exercises to make them accessible during battles:

ring-fit-adventure-screenshot-0010

Most exercises have two stages: a "slow" one, where you have to contract a group of muscles and hold the pose for a while and a "fast" section, where you need to perform the same reps rapidly:

ring-fit-adventure-screenshot-0004

Each exercise is clearly explained and the starting pose you need to take is verified before you can act:

ring-fit-adventure-screenshot-0002

Running and "battling" is supplemented by challenges where you can test your strength and skills in various forms of activities.

ring-fit-adventure-screenshot-0001

Upon completing a stage you'll be rewarded with a satisfying finish in the form of a "victory pose":

Apart from "damage-dealing" exercises, you will eventually gain access to "recovery" moves which if done well should recover some "hearts" lost during a battle. These are mostly stretch-type poses and some can be surprisingly difficult to follow. For example, the Fan Pose pictured below clearly showed me how inflexible I was. Gotta work on those bends!

ring-fit-adventure-screenshot-0011

Upon finishing a play session you're shown your results for the day. First briefly, then in detail:

ring-fit-adventure-screenshot-0017

ring-fit-adventure-screenshot-0018

Following this, your personal coach Tipp will also list your new achievements...

ring-fit-adventure-screenshot-0019

As well as propose a short series of "cool-down" stretching moves after a rigorous exercise:

ring-fit-adventure-screenshot-0020

ring-fit-adventure-screenshot-0021

Finally followed by a useful advice (which changes each day you play):

ring-fit-adventure-screenshot-0022

Some cool tech

Following each stage the game can analyze your heart's bpm using the right Joy-Con's infrared camera. The results are pretty accurate if you follow the guide displayed on the screen. I never knew the Joy Con actually had an IR camera and still am not aware of other games that make any use of it. Pretty cool!

ring-fit-adventure-screenshot-0006

ring-fit-adventure-screenshot-0007

Multitask Mode

Additional incentive to keep exercising even when you're away from the console comes in the form of a "Multitask mode". You see, the Ring controller actually comes with quite a bit of circuitry inside and can provide basic exercise logging functionality even in the absence of the console. It only needs a Joy-Con controller for power and well, controls.

ring-fit-adventure-screenshot-0023

So you can enable a reps counter by activating the Joy-Con in a particular way and log your reps. Up to 500 reps can be recorded which you can then "cash in" in-game for resources and experience points.

ring-fit-adventure-screenshot-0024

Does it really get intense?

Oh yes it does!

Just yesterday I attempted a "Leg Set Challenge" in World 4. Up to that point most challenges were mild to average when it came to how intense they could get. But this one... This one was a good demonstration of the fact that the game does not pull punches! I had to do 4 different leg exercises in a series with 35+ reps each, those including "mountain climbing", deep squats, knee raises and thigh presses. If you wonder what "mountain climbing" looks like, here:

giphy

Now try doing this at the end of a 30-minute fitness session straight after a full set of deep squats and you'll know what I mean.

deep-squats

I wouldn't necessarily consider myself to be out of shape, but by the end of the set I had a pulse of about 160 bpm and prayed it would end. That is with the game difficulty set to 25 of the maximum 30 (as recommended by the game after the initial set-up). Your experience may vary of course, but keep in mind that the difficulty setting directly affects how many reps you would have do do during battles and challenges, so be sure not to overestimate your abilities by immediately going for the "Nightmare" difficulty.

Know your limit!

Each 12-15 minutes the game will propose to take a break which is yet another useful reminder that there does actually exist such a thing as overtraining! You should always be aware of your abilities and not over-stress your body. This is something that could easily happen to one who is playing the game which does an excellent job of taking your mind off the fact of doing exercises by immersing you into a fictional world of "sunshine and butterflies".

ring-fit-adventure-screenshot-0008

Personally, I tend to keep playing until the in-game "activity timer" (which you can see at the lower-left corner of some screengrabs) reaches 30-40 minutes. This timer is running only when you're actually moving your body, so the actual play session may last for an hour or two, with all the menu tinkering, item shopping e.t.c.

If on the next day following a play session you wake up feeling sore or exhausted, do let yourself recover by not playing the game for a day or two! This is almost guaranteed to happen at some point after the game introduces a new exercise. So unless you are a hardcore fitness enthusiast, you will eventually stress some muscle groups which don't usually get a regular workout, which will in turn make those muscles sore for a couple or more days. That would be the perfect time to take a break and recover.

Remember: it's about fitness and wellness, not completing another single-player game "in one sitting".

Long story short

ring-fit-adventure-avatars

I still can't quite believe that in our screwed up times when most publishers (Nintendo included!) are neck-deep in petty and manipulative tactics like loot-boxes, paid subscriptions, releasing parts of an unfinished game in the form of DLCs, and an over-abundance and steady raise of the popularity of gacha-style games, we actually received a game that uses all of it's available mechanics to hook you up on... Exercising and becoming more fit!

To quickly summarize. Ring Fit Adventure:

  • is all kinds of fun;
  • has no pay-to-win bullshit, DLCs, loot-boxes e.t.c.;
  • makes you want to come back and exercise more;
  • has a "multitasking mode" where you can accrue up to 500 reps of the Ring with the Switch console unavailable or switched off. It's a very cool idea;
  • keeps introducing new exercises, simplified RPG-style mechanics and events non-stop;
  • monitors your pulse and gives valuable advice;
  • ...unfortunately is at the time of writing completely sold out in most countries. Getting a copy with the hardware (the ring and the strap) is very difficult.

Yes, yes... I know what you're thinking:

cool-story-bro-png

...but where can I get it!? It's sold out everywhere!

I'm sorry if you missed out and weren't able to obtain the bundle while it was available.

Still. There might be a way to get a hold of a copy of the game and the gear to try it out, but... If anyone asks, you didn't read about it here. Consider this just something I discovered while researching info on the game, since everything I'll describe here can easily be found on the web.

Ring Fit Adventure comes in two parts: a game cartridge and a Ring controller (with a strap for the second Joy-Con). To former doesn't work without the latter and vice versa.

Now... What if you could purchase a compatible Ring controller and obtain an digital copy of the game (for testing purposes only, of course)?

ring-fit-adventure-controllers-closeup

Here's how this might be done:

  • Check whether your Switch console can be booted into the RCM mode here. Then, depending on the check results:

    • if your console is patched, there's nothing you can do except look even harder for the original Nintendo Ring Fit Adventure game+controller package;
    • if your console is unpatched, you can follow one of the guides on the web on how to access the RCM mode and send a custom payload, which would allow to boot the console using a custom firmware like Atmosphere. This is needed to launch unsigned binaries and homebrew apps on the machine. This is not an trivial endeavor and not being an expert I won't be giving any advices on how to jailbreak your console this way.
  • If you somehow manage to boot your switch into Atmosphere, you can use a special package manager to install app packages from the SD card or via USB. One of those might even be a ROM of this game.
  • The game requires the controller and you can purchase a compatible one on eBay or Aliexpress. Just look for a "Ring Fit Controller".

In theory, these steps would allow someone to end up with a functional (albeit illegal) digital copy of the game. If you decide to go with this route, please do buy the original physical copy of the game when it becomes available to support the developer.

Get fit. Get Ring Fit.

Ring Fit Adventure is an impressive and successful attempt at the gamification of fitness exercises in the form of a simple and colorful entertainment product.

I believe the game simply must (and hopefully will at some point) escape the Nintendo Switch-only "exclusivity curse" and turn into a multi-platform product for all to experience and enjoy, whenever, wherever.

It's that good.

EXTRA! EXTRA!

March 26th saw the release of a free 1.2.0 update which also brought a brand new Rhythm Game mode!

Changes:

  • a new Rhythm Game mode (move to the beat of a dozen music tracks from Ring Fit Adventure and a few tracks from popular Nintendo games, including Super Mario Odyssey, Splatoon 2 and The Legend of Zelda: Breath of the Wild);
  • new option to switch the Ring to a female voice;
  • adds a Jogging Mode, where you can simply run through the courses without battling enemies;
  • user can now create up to 20 fitness lists;
  • an option in Fit Battles to complete the last exercise even after enemy HP reaches zero (very good!);
  • bug fixes and such.

Ring Fit Adventure March 2020 Update