River City Ransom: Underground on openSUSE Linux

RCRU-Title Screen

Sometime in the early 1990s, when it was still a thing to rent Nintendo Entertainment System cartridges from a video store, a friend and I came upon this game, “River City Ransom” which, to our understanding was supposed to be similar to “Double Dragon II”. It was but FAR better. “River City Ransom” is referred to as an “RPG Beat ’em up”. The roll playing bit of it is to power up your character with new abilities and upgrade stats by making purchases using the money you “earn” from the antagonists you beat up.

NES River City Ransom Cartridge.pngI started to reassemble all of my vintage tech about a year ago and in that time, I introduced my oldest boy to the colorful, fun-packed wonders of the Nintendo Entertainment System and one of those games was “River City Ransom.” We both had loads of fun. In my idol searching around for information about “River City Ransom”, I learned of the sequels that weren’t released in the US and more importantly, the Sequel to this game on Steam by a Canadian company, Conatus Creative.

Steam

I was very excited to see there was a Linux version of this game on Steam and when I saw this promotional video of it, I jumping out of my seat in excitement.

If you notice, toward the end, you will see that delightfully, semi-pompous-looking penguin toward the end that made my heart skip a little with excitement. Up to this moment, there haven’t been any new games ported to Linux of which I was interested.

Installing Steam

opensuse-logo2I now had a real, true and burning reason to install Steam on openSUSE. I had to play this game, so it was time to get on the “Steam Wagon”. Installing it is as straightforward as most anything else on openSUSE. Either do the direct one-click install here:

https://software.opensuse.org/package/steam

Or install it through the terminal as it is available in the main repository:

sudo zypper in steam

Steam Logo.pngI think Steam has a very decent interface. There is no need to dig into any help sections to understand how to use it. I did the search, found the game and went through the purchase process.

After purchasing and downloading the game, I realized, I didn’t know anything about Steam gaming in Linux, or any form of gaming that didn’t use the keyboard or analog joystick. I didn’t know anything about “modern” controllers to use in Linux and so forth. That forced me into a mode of doing some research quite rapidly on what controllers would be compatible with Linux and I was impatient, unwilling to order and wait for their arrival. I decided to reduce my options and I went to a local store and looked up each model of controller and the challenges of using them on Linux. There is SO MUCH conflicting information out there… I settled on two wireless, PS3 Rock Candy controllers at about $15 each.

After plugging the wireless dongles in, they weren’t immediately usable and I couldn’t figure out why. They were recognized properly as an input. I could check that all the buttons and joysticks were working from the KDE Plasma System Setting for input devices window. They didn’t have any odd behavior so I went digging through the forums and the settings in hopes of finding the problem.

What it boiled down to was ensuring there was generic controller support in the Steam Settings.

Steam > Settings > Controller

Steam Controller Settings

Select, GENERAL CONTROLLER SETTINGS

Steam General Controller Settings.png

Just make sure that Generic Gamepad Configuration Support is selected.

After that, everything should work tip-top.

Wii U Pro ControllerIf you look above, you will see that Wii U – Generic Gamepad is the detected controller. After trying a few controllers, I ended up liking the and preferring the Wii U Pro Controller for gaming. It it quite literally the best feeling gamepad controller I have used to date. My fingers comfortably wrap around the controller and it fills my hands quite nicely. Also note, there are several controllers I haven’t yet tried.

Playing on Linux

Had this game not been released for Linux, I probably would not have purchased it but for some fantastic reason the fine developers at Conatus Creative chose to release it on Linux and for that, I am quite grateful.

Some tips on playing this game on Linux. I use KDE Plasma Desktop and I have noticed one little, teeny, tiny issue. If you use Xrender as the Rendering backend, even if you disable it for gameplay, does cause some frame-rate issues.  If I use OpenGL for the rendering backend, I have a better, smoother experience. Your results may vary.

Controls

I blame the fact that my gaming has basically stagnated and I don’t do much of it that I became unfamiliar with control schemes and much of what I had to do was dig around and piece information together and just become familiar with these newer controllers.

This is a reference for me, mostly as I will likely forget again.

River City Ransom: Underground Default Control Scheme

I had some issues really understanding, while playing, what all these buttons did so I  laid it out visually like this.

River City Ransom Underground Controller_defined-01

I would have died a lot less in the beginning had I done this from day one. Once you get used to it, as it is far different to the original Nintendo’s “River City Ransom”, it can become quite natural, even for those raised in the 1980s and 1990s era of gaming.

Game Play

The premise is simple and could almost be ancient in the ideas of video gaming since, arguably, 1987 when “Double Dragon” was introduced in the arcades and the following year on the Nintendo Entertainment System. You walk around and beat up the bad guys, pick up weapons and use them. In case this style of game play is completely foreign to you, no need to fret, as “River City Ransom Underground” starts off with a kind of tutorial. The Game starts off near the end of the original “River City Ransom”, right before entering River City High School.

RCRU-01-Tutorial

Once you complete this portion where you become acquainted with the updated game play, you will jump ahead some years with the option to select your character of choice. Each character has a different fighting style.

RCRU-03-Character Selection.jpg

What is also quite fun is that you can have four players at once. Admittedly, it can get a little crazy with so many characters on the screen at once, it is also incredibly fun and makes the cartoony violence very, very funny.

Throughout the game, you meet new friends of which you can change to those new found characters. It adds to the many layers of fun in this game.

RCRU-04-More friends

You also meet up with Alex and Ryan, the characters from the original game but 20 years or so older.

RCRU-05-Alex and Ryan.jpg

Game Progression

As you progress through the game, your character becomes more capable through eXperience Points (XP), gained from beating up the enemy and powering up by using the money you earn from your fallen opponents for purchases.

RCRU-06-Shopping

The map also helps with navigating and guiding you to your next “mission” in the game. Outside of a few confusing points in the game, perhaps intentionally, the map is a welcome addition over its progenitor.

RCRU-08-Map

This is much like an open world type game where you are free to explore as you wish. You can go to an objective to progress the story or work on building up your characters capabilities through XP, purchases from vendors in the malls and gaining new fighting abilities by visiting the dojos.

RCRU-09-Dojo.jpg In order to learn new moves, you have to have sufficient XP to be able to acquire it. Unlike the first “River City Ransom”, there are built in controls to limit how quick you can power up your character.

RCRU-10-Stats.png

The limits of your “max” on these stats is driven by your characters XP level. You can buy all the consumables to power up your character but you will hit those limits based on your characters XP level. This will force many hours of beating up rival gangs but it is really quite fun and not tedious at all.

In short, here are what the Stats mean:

ATK – Attack, How much damage you deal with special attacks, not the standard punch and kick but what is considered “special”.

WPN – Weapon, damage inflicted by a strike from a weapon.

THR – Throw, damage from throwing a weapon and presumably throwing an opponent.

AGI – Agility, Effects your character’s stun time (when knocked down, frozen by nerd grenades, etc). Also effects jump attack damage.

DEF – Defense, How much damage you can withstand blocking.

STR – Strength, How much damage you deal hand to hand, punching and kicking.

WLP – Willpower, this can be thought of as a stamina reserve, once you exhaust your stamina, you get a bit of a boost from willpower. This is a good stat to keep full.

STA – Stamina, like many other games, this is your life. Run out of this and you are “dead” which means you lose half of your money and return to the last visited hangout or story element end point.

ENG – Energy, this is not as clear as the other stats but this has to do with how much you can defend yourself before you are no longer able.

SPC – Special, this is another form of energy you have for doing special moves. Special moves are of a greater violence of action and generally do more damage than regular strikes. It is best to use Special moves in conjunction with standard attacks for maximum effectiveness

Visit this Steam Community site for a guide on all the shop items and their stat boosts and meanings of the stats.

What I like

RCRU-Glen-00This game is fun and quite funny. I spent several hours laughing at the absurdity of the 8-bit-like cartoony violence. The variety of characters from which to play is also a fine element that adds another depth of enjoyment. At first I wasn’t keen on the idea because, I didn’t have such variety in 1989 so why do I need it now? This game really does the original “River City Ransom” justice with nods to it all throughout the game. It pokes fun at itself and at the charming ridiculousness of the original. “River City Ransom Underground” is everything that the original game was with so many added elements.

I appreciate how this game starts out at near the end of the original game as a kind of tutorial and walks you through how to use the controls. They kind of rewrite the end of the story a bit to feed into this new adventure. As you start out with the game, there are on screen dialog boxes that will stop the game to give you hints about stamina, willpower and so forth. Many of the screen backdrops are similar enough to the original game that it has a very welcoming familiarity to it but yet adds some additional flare for enjoyment as well as showing neglect. The backdrops are also more interactive than the original. There are things you can break, cars driving, wrecking balls swinging… and much more. The over-world map and subway system is a welcome addition over the original too. I am very much a fan of the “level up” system and how to earn new abilities through the dojos.

The music in the game is also really great. It is similar enough to the sounds of gaming past yet different enough from the original with additional musical elements to not get tiresome to hear for long periods of time.

What I don’t like

Not much, there is not much I don’t like about this game but there are a few nitnoids. The number one is, if the wireless controllers fall asleep because you take a break they can be reassigned to different characters. Not really a big deal if you are playing by yourself but if you have a kid that is VERY particular about using HIS controller. This is enough cause to save and exit the game, come back and re-add players in the desired order. It would be nice if there was a way to associate controllers to player numbers, much like how the Wii U does it.

This game gets Nintendo Hard at times. This isn’t all bad and wouldn’t be as much of an issue if my hand-eye coordination hadn’t degraded over time coupled with the need to learn this new controller scheme. Certainly not the fault of the game.

When you couple the increasing difficulty of the game with some of the story elements that are a bit confusing, I had some frustrating moments. Thankfully there was the Steam forums where that could guide me through these roadblocks.

Final Thoughts

I am a huge fan of the original “River City Ransom” game on the Nintendo Entertainment System. Although I was excited to see this new game based on the original, I was a bit hesitant to buy a re-imagined sequel as I hold the original in such high esteem. I also have been out of “modern gaming” for some time.

I enjoy the new characters with their unique fighting styles, the more interactive environment as well as the “shopping” aspect of the game for powering up. The city map that shows your location as well as the location of your objectives and hideouts is extremely valuable. The subway and car traffic is also a great game play addition. The fact that there is a DeLorean driving by, really made my day too.

RCRU-11-DeLorean

I am very glad that Conatus Creative built this game to run in Linux. I run Steam within openSUSE Tumbleweed and I don’t have a real high end gaming machine but this game doesn’t tax my system at all. It will easily run using on an 4th generation Intel Graphics chipset proving that you don’t have to have amazing, high-end graphics to have fun with Video Games. My thanks to the developers for time and care of making this run so efficiently.

“River City Ransom Underground” is a great game that pays great respect to the original. The 8-bit-like graphics and music gives that vintage feel and bits of humor scattered about makes this a fun game for the whole family. The outlandish fighting leaves me belly laughing and just doesn’t get old. This is a GREAT game. I have no buyers remorse, whatsoever. I highly, highly recommend it.

I do hope that this game was lucrative enough that there will be either a sequel or an expansion pack for the game. I would imagine that the hard work is done, most of the elements are there, it’s just a matter of wrapping it around another story, some additional game elements and further refinements.

One can hope.

External Links

River City Ransom on Steam

Steam Install for openSUSE

Conatus Creative

All Shop Items and their Stat Boosts

River City Ransom on the NES

 

Advertisements

Snappy Packages on openSUSE Tumbleweed

openSUSE Snappy

I don’t see much on the webs about people using Snaps on openSUSE nor have I seen any experiences by openSUSE Users with Snaps so I thought I would see how it goes for me.

First off, the word “snap” appears in too many projects. A quick software search on opensuse.org gets you:

  • snapd
  • rsnap
  • snappy
  • snapper
  • esnappy
  • tarsnap

For this project, snapd is the right answer.

I prefer to use the openSUSE Packaging system for all my software but the idea of having a universal packaging system is seemingly a great idea and I can see this as a very practical method for 3rd party software distribution. Right now, we have three universal packaging formats: AppImage, SnapCraft and Flatpak. I have now used them all but for now I am going to focus on using Snaps.

Installation

https://software.opensuse.org/package/snapd

Using the “Experimental” package System:Snappy One-Click install

At the time of writing, I installed version 2.23.5. The install was without incident, as to be expected with openSUSE.

First run

I went to the SnapCraft home page and just wanted to check out a “featured application” and chose to try out Minecraft. I figure, if something is going to fail, it will be a game that requires 3D acceleration, and sound.

https://snapcraft.io/minecraft

For my first experience, I am already pleased to see that right at the top of the page there is the command to copy and paste into a terminal to install the software.

sudo snap install minecraft

It is simply beautiful that this can all be done in in the terminal too. No silly GUI front end required. Simple, straight forward, copy from the page and paste into terminal.

Unfortunately, I had to do some troubleshooting. I received an error when trying to install Minecraft.

error: cannot communicate with server: Post http://localhost/v2/snaps/minecraft: dial unix /run/snapd.socket: connect: no such file or directory

A quick search told me to check the status of the snapd daemon:

systemctl status snapd

The output from that:

● snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: inactive (dead)

That told me I needed to start the service

sudo systemctl start snapd

Checked the status, once again:

snapd.service – Snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2018-05-11 11:21:40 EDT; 2s ago
Main PID: 7611 (snapd)
Tasks: 10 (limit: 4915)
CGroup: /system.slice/snapd.service
└─7611 /usr/lib/snapd/snapd

I wanted to be sure that the service starts at system boot, as well so I executed this:

sudo systemctl enable snapd

With the nice to see, somewhat interesting output:

Created symlink /etc/systemd/system/multi-user.target.wants/snapd.service → /usr/lib/systemd/system/snapd.service.

This is where I say the unpopular statement: SystemD is Awesome to use.

Now I could try to install Minecraft once again and received this upon completion:

minecraft latest from ‘snapcrafters’ installed

Success!

The first run launcher popped up and the next round of installation (presumably) commenced.

Screenshot_20180511_121456

I was interested in seeing the command the snapy package added in my applications menu and here it is.

env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/minecraft_minecraft.desktop /snap/bin/minecraft

First run, and it worked as expected but since everything defaults to the Intel GPU on my system, I wanted to test offloading Minecraft to the AMD GPU. It works well with Steam, Descent and any emulators, so now I wanted to see if I prepend the same command “DRI_PRIME=1” if it would work as well.

It did and did so glitch free.

Screenshot_20180515_083037.png

Conclusion

Although Snaps, or Snappy or Snapcraft is considered an experimental package in openSUSE, it seems to work perfectly fine within Tumblweed. There was just a bit of extra leg work required to start and enable the daemon but outside of that, it seems to work smashingly.

This is my first experience and I will continue to play with this as well as Flatpak and AppImage. My preferred method of software installation is still using the openSUSE software repositories but it is great to see that the option of Snaps are [nearly] effortless to get going.

See Also

openSUSE Project

SnapCraft Daemon Installation for openSUSE

Minecraft Snap Package

 

Wii U Pro Controller on openSUSE Linux

e6440-WiiU-Pro-Controller.pngI don’t do much serious gaming on Linux but I do like to play the occasional Steam or older games in an emulator. I have historically liked the PS3 controllers in Linux. There is nothing you have to do to get it to work. Plug the dongle in a USB, pop in some batteries and away you go.

The Wii U is now a deprecated gaming console, which makes me much more interested in it. I have had one for a little while but the Gamepad digitizer has been broken for some time. I originally set out to fix the game pad but the issue with some of the buttons not working along with the digitizer, it had me thinking I should just replace the whole thing so I can start using the console. On the hunt for the replacement Gamepad, I also acquired a couple of these Wii U Pro Controllers. I wanted these in order to play this “New Super Mario Wii U” game and compare it against my favorite of the franchise. I think putting “New” in the title is a bit silly because it isn’t new now.

Upon holding the Wii U Pro Controller in my hand, it felts so good… almost perfect for my somewhat long and gangly fingers. I wanted to try out these Wii U pro Controllers on Linux, play some Steam games but fully expecting the process to be a headache; you know, because Nintendo. I made the assumption that I would have to install xwiimote to get it to work but upon reading and some further understanding of all the work some incredibly smart people have done, I only need that for the Wii Remotes. The machine I tested this on is running openSUSE Tumblweed Kernel 4.16.0 and it is my understanding that the wiimote kernel drivers have been in place since 3.1.

Setting up the Wii U Pro Controller

Screenshot_20180402_122527Nintendo chose to use Bluetooth technology in the Wii and Wii U so I started off by Pressed the Sync button on the controller and it showed when selecting Add Device on the KDE Plasma Bluetooth configuration tool. It connected, the lights stopped flashing on the controller with one solid light glowing. I checked the capabilities of the controller, to see that it was usable, in the System Settings > Input Devices > Joystick. It was just as I would expect from any other controller I own.

I opened terminal to see the kernel messages concerning this device by running: dmesg

[86905.904160] wiimote 0005:057E:0330.000B: hidraw1: BLUETOOTH HID v0.01 Gamepad [Nintendo RVL-CNT-01-UC] on 80:00:0b:82:a8:1f
[86905.904169] wiimote 0005:057E:0330.000B: New device registered
[86905.981821] wiimote 0005:057E:0330.000B: detected device: Nintendo Wii U Pro Controller
[86906.011799] wiimote 0005:057E:0330.000B: detected extension: Nintendo Wii U Pro Controller
[86906.011889] input: Nintendo Wii Remote Pro Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/bluetooth/hci0/hci0:34/0005:057E:0330.000B/input/input33

Now I was excited.

I opened up Steam and started the game, “River City Ransom: Underground”, completely bypassing any of the configure input device to see what would happen. To my shock and blissful amazement, everything worked as expected. I hopped out of the game to see the controller settings and it was recognized it as a Wii U controller.

Detected Controller Wii U

I also checked out this “Desktop Configuration” setup with Steam. As long as Steam is running, I can use this Wii U controller to as an input device for controlling my Linux Desktop. I like this particular interface because I can define what each button does. This is a feature that KDE Plasma doesn’t seem to have built in and I don’t want to create an Xorg configuration for this either.

Desktop Configuration

This truly is a lot of fun to play with. Sure, it is probably just a novelty for now but I am thinking that I might want to make this a controller for my living room media machine along with the wireless keyboard/touchpad device as that is almost overkill when you just want to browse and watch some Netflix.

Final Thoughts

I really was expecting to do so more to do to get this working. On one hand I am very pleased on how easy it was to get working. On the other had I am a bit disappointed as I expected a bit of a project out of this and I was going to make the whole process “easy” and simple in a short write up. Instead, I get to tell you that the Wii U Pro Controller works great in Linux and is a great choice for modern (what little I do) and retro gaming. Best of all, no USB dongles to worry about losing!

External Links

XWiimote open-source Linux device driver for Nintendo Wii / Wii U Remotes

Wii U Pro Controller