Thursday, August 27, 2015

Release!!!! (And beginner mode)

And....Robo-Ninja is released!  It's up on the Play Store (although might take a few hours to appear for everyone).   Thanks for your help, everyone who tested, contributed graphics, ideas, etc.


Or, if you want to donate $1.00 and get to play the "harder" mode, use this one:

  Android app on Google Play


And for all you of you that found the game too difficult, you can thank my friend Bryan who finally convinced me to add an easier "beginner mode."  If you start in beginner mode, the game is 10% slower, and, more importantly, you have unlimited uses of the slowmo and checkpoint items. Being able to set a checkpoint after each set of obstacles makes the game a lot more playable if you aren't into crazy frustrating challenges.

You still have to pick one mode or the other at the start, and if you pick beginner mode, you don't get any achievements or get to post to the leaderboards (big whoop, eh?).

Friday, August 21, 2015

Good enough? Beta Test time

Ok, I think I found a cheesy solution to the problem (which involves looping the laser sound continuously the entire time you're playing, but mostly at zero volume), although I still see an occasional stutter right as you start a map.

I don't think I'm going to let that hold me up though.

If anyone wants to take a stab at it, I've got a build up on Google's Play's beta test system that I'm thinking of pushing to release, that you can try out: https://play.google.com/apps/testing/net.tolberts.android.roboninja.android

Just follow that link, and give it a whirl. Feel free to email me any bugs, or leave comments here.

If nothing drastic appears, I'll probably release it in the next couple days!

So close...but so laggy

I'm so almost done. Most of the bugs are gone.

Except there's one thing that I just can't seem to resolve. There's some weird gotcha in libgdx's audio engine (on Android) where there will be a brief pause, or drop in framerate, whenever a sound effect stops playing. During most of the game, there's very few sounds, so it's not a huge issue, but the lasers that the blue guards shoot (and that Robo-Ninja shoots) are causing problems.

I've tried all sorts of things, but I just can't seem to work around it.

I've got a couple more things to try, and if those don't work, then I'm giving up and removing the laser sounds. Ugh.

Saturday, August 15, 2015

Testing and Fixing

I remember this point with Anguna. Every couple nights, I'd go to bed and say "I think I'm done," but the next day I'd find 5 more bugs. My wife would laugh at me each time I'd think I was done.

I've been playing a lot of Robo-Ninja, and finding a fair number of little bugs. I spent tonight figuring out what was going on, and fixing a bunch of them, but there's still a small handful left.

Then I get to do this again.

And again.

Someday, I'll play through the game, and won't find a single bug. Today is not that day.

Tuesday, August 11, 2015

Robo-Ninja first draft finished?

Tonight I finished the last few features of Robo-Ninja (at least for the Android version, I'd still like to make some tweaks for a Chrome version), finished changing things to use Chris's awesome graphics, and fixed the last couple of known bugs.

The first "maybe" build is currently building on my Jenkins server. Tomorrow I get to start intensive testing (otherwise known as "playing through the game over and over until I'm sick of it") to see how many more bugs I can find and squash before releasing it.

It sure feels nice to be almost finished.

For those of you that signed up to be actual testers on the play store, I'll try to get the test build posted tomorrow if there's no glaring immediate issues.  

If anyone wants to test and hasn't done so, let me know. (In the comments below, or you can email me)

Friday, August 7, 2015

Retrospex 32 Review

RetrospexInternational recently sent me a couple units of their new handheld device, the Retrospex 32, a new dedicated GameboyAdvance emulator handheld.  To make the unit playable out of the box, they pre-loaded a handful of homebrew games, including Anguna, which is why they were kind enough to send me 2 of the units to play with.  I was pretty excited to get my hands on the device and try it (I loved my old GBA micro with a good flash cart!), and see Anguna running on it. So here's my thoughts after playing with it.



Their website lists the Retrospex 32 for £59.99, which is around $100 USD. It seems like it's marketed toward people into retro-gaming (which makes sense for a dedicated GBA emulator device). At that price, with that target market, and such a limited set of functionality (why not make it a multi-machine emulator, and emulate all the old consoles?), it would hopefully do a really good job of it.

The short version of my review: it doesn't. It has one job (emulating GBA games), which it does fairly poorly. It's a mediocre device that you'd expect your grandma to buy for $15 at Big Lots next to those fake Wii consoles.  I'd maybe buy one as a novelty for that price, but anybody that spends $100 on this will be severely disappointed.

So let's get down to the actual review here.

Hardware

The console is a little bigger than I expected, almost 6 inches long (about the same length as my Nexus 5, but about twice as thick.) The plastic feels cheap and flimsy, and the various pieces give and shift a little if you apply pressure in the wrong places.  (On one of the two devices they sent me, there's a loose piece inside that rattles around if you shake it) The buttons and d-bad aren't particularly comfortable, but they work ok.  The charger uses mini USB instead of micro USB, which is just a minor annoyance that adds to the cheap feeling. It takes an SD card (not a micro SD card!) which is a bit weird these days, but not a real problem. It gave me a use for those SD cards I still have lying around with no purpose.

It does have an RCA TV-out port, and a cable to connect to your TV's RCA ports. I haven't yet tried that, but it is one of the nicer touches.

Overall, it feels a little cheap, which wouldn't be a big deal if rest of the package was there, or if the price was a bit lower.

Controls

Here's where it starts to fall apart. Any fan of the Gameboy Advance knows that it has two thumb-buttons (A and B), and 2 shoulder buttons (L and R).  The Retrospex adds an X an Y button, but has no shoulder buttons. So you have to use X and Y for L and R.  This is pretty awkward for quite a few games (particularly racing games where you use those to help steer, and have to keep your thumb on the accelerator).

Like I mentioned earlier, if this was a multiple machine emulator, I'd shrug it off. But for a device with one job, to emulate GBA games, you'd think they'd take the time to make sure it had at least somewhat of a similar button layout as the emulated controller.  Or if they couldn't rearrange the layout, at least label the buttons with L and R so non-gamers would understand what it meant. (Once again, I'm confused about the target market -- real gamers would be put off by the wrong layout, and casual folks would be confused when a game, including the bundled Anguna, tells you to push L or R and that button doesn't exist!)

The other big offense, at least to those of us that actually played older games, is that they reversed the positions of the A and B buttons. If you played many Nintendo games it's ingrained in your muscle memory that A is on the right and makes you jump, B is on the left and makes you attack.  Why would you build a handheld dedicated emulator and get this wrong?

The ENTIRE point of having a dedicated hardware emulator instead of just buying an older Android device for $50 would be to have decent hardware controls.  But you won't find those on the Retrospex32.

Emulation

Emulation itself on the Retrospex 32 is "not too bad". By that I mean, if you weren't particularly picky or demanding, you wouldn't notice any issues. Most of the games I played worked correctly.

That being said, it doesn't quite run at full speed. It's close -- maybe 90 or 95% of full speed?  I first noticed while playing Anguna -- it just felt slightly sluggish (and I've tested it enough that I ought to know!) I pulled out my real GBA to compare -- on both devices I'd clear the enemies out of a room, move the character to a wall, then simultaneously start walking on both devices. Out of about 10 tries, the character reached the opposite wall about 1/3 to 1/2 a second earlier on the real GBA than on the emulator.

I noticed this slowdown even more when I decided to get crazy and try running PocketNES (a nes emulator for GBA) on it. PocketNES isn't flawless, but did a surprisingly great job of running nes games on the GBA on actual hardware (I probably spent as much time playing NES games on my GBA as I ever did playing GBA games!) On the Retrospex32, PocketNES just couldn't keep up on most games, dropping the frame rates like crazy.

Once again, casual players probably wouldn't care, but hardcore retro-gamers wouldn't find the slightly slower performance to be acceptable on a $100 device.  Nobody would complain if a GBA emulator on their computer, phone, or other multi-purpose device ran 5-10% slower than the real thing. But if that's the device's entire job, you'd expect emulation to be pretty accurate.

The major show-stopping issue is that for most games, the built-in save functions don't work (and there's no save-state feature). Meaning you can't save your game at all. You can't even save on Anguna, one of the built-in games! (it acts like you can save, but if you turn the device off and back on, everything is erased). This pretty much ruins the device for me. There aren't that many GBA games that I'd want to play without being able save my progress.

UI and Misc

A few other comments about the device are worth mentioning. The roms on the SD card must be put into a folder called GAMES (case-sensitive). There's no folder browser or anything, it just finds the roms if they're in the right place, or gives up if not. Not a big deal, but not a simple task for the casual crowd.

The UI itself is mostly functional, but a little bit clunky and unpredictable. Many of the menu messages are mis-spelled or don't quite make sense. You can press Select+Y to exit the pre-loaded games and return to the root menu, but that doesn't seem to work reliably for other roms.

Conclusion

Really, I just don't understand this thing. It really wishes it was either a nice multi-console emulator device, or a cheap novelty. But at the current price, it's not really either one.

The broken control scheme and inability to save really are the main problems, but are critical ones. We took both of the Retrospex 32 handhelds on vacation, but they never got played. My son decided that, despite the touchscreen controls, he'd rather play the same emulated GBA games on the $40 android tablet, where he could, you know, save.

Batari Basic and Fixed Point

When I'm too tired/frustrated to work on my NES game, I've been playing around with ideas for another hobby project that I've he...