About Ryusui


Ludum Dare 37
Ludum Dare 36
Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32
Ludum Dare 31
Ludum Dare 30
Ludum Dare 28
Ludum Dare 26
Ludum Dare 23

Ryusui's Trophies

This is for being an awesome sport!
Awarded by Dizzyman572
on September 14, 2015

Ryusui's Archive

Forever Isn’t Long Enough – A Kudzu Post-Mortem

Posted by
Saturday, December 19th, 2015 9:57 pm

Kudzu: I Can Grow Forever… makes my eighth successful Ludum Dare entry, and my fifth entry in a row. A shout-out to the devs of Love2D for making this achievement possible.

The tied vote caught me off guard (has that ever happened before in the history of Ludum Dare?), but I was up for a challenge. It didn’t take me long to decide I wanted to make a game where you controlled a perpetually growing vine with two-button left-and-right steering controls, and with that concept in mind, Kudzu! seemed like a natural choice for a title (though obviously not the final one). So I spent my whole first day hammering out the look and the feel of the vine-growing effect – not to mention figuring out a way to keep the ever-growing plant from overwhelming the draw and update loops.

Once that was done, I realized I was facing a dilemma I’d never encountered before: I had a gimmick and a pretty graphical effect to go with it, but I didn’t have a game.

Days 2 and 3 were spent taking my vine and figuring out how to make an actual game out of it. The first prototype limited the game world to a single 640×480 playing field; the final version adds scrolling (which was tricky to get to work right with the method I’d used to keep the vine from eating too many resources), and a little feature I’m particularly proud of where the vine will automatically turn around when it approaches the edge of the world. I have to confess I was inspired by Race the Sun to add chasing after sunlight to extend playtime as a mechanic, though I’ll admit the sunspots don’t make make a lot of real-world sense (let’s pretend the field the game takes place in is covered by randomly-moving clouds with the occasional perfectly circular break in them). Before I decided on the sunspots, I had it in mind that you would be chasing down and eating randomly-spawning bugs (which is why, even in the final version, the flower on the end of the vine looks like a chomping Pac-Man mouth) – ironic given how the bugs ended up spawning to chase down and eat you. I’ll admit they’re slightly, ahem, bugged: the idea was they would swoop across the screen and try to pass at you, but I made their turning radius too tight – they’re fully capable of taking multiple passes before they pass beyond the edge of the world and vanish. Maybe in a post-compo version I should put in something at the edge of the arena for them to run into so that this accidental mechanic actually makes sense?

The main game code comes out to only 550 lines; there are some utility snippets in other files more or less copied from my past projects, as well as copious use of the hump and Tactile libraries (the latter of which made it trivial to support a bevy of control options – six different two-button configurations between keyboard and gamepad!), but I take an odd bit of pride that I didn’t recycle the entity framework I wrote for S-LAYER and reused in CRUNCH!!! (which probably should be thrown out and rewritten from scratch anyway), nor did I write any new classes for this project – it’s all functions, loops, and arrays. Of course, I could get away with that because Kudzu officially has the fewest number of unique object types to keep track of in any game I’ve written…

Sound effects were made using my own voice and copious use of Audacity filters. I didn’t feel I had time to fiddle with Bfxr and get the sound effects juuuuust right, but I think the SFX turned out surprisingly good regardless. The music was composed in 15 minutes using FL Studio. I accidentally used the same instrument for both the back beat and the main melody, but I think the tune ended up nicely capturing the whimsical feel I was going for regardless.

On a final note, the background was made using Love2D’s built in random noise functionality – though not on-the-fly. I actually had it set up to generate the background at the start of play, but this resulted in an uncomfortable loading pause, so I temporarily added a line that saved the image to PNG and then used the saved image (with a little color tweaking after the fact) as the game’s background.

I hope you all enjoy playing Kudzu: I Can Grow Forever… as much as I enjoyed making it!

Asteroids for Dessert: LD33 Aftermath

Posted by
Tuesday, September 15th, 2015 7:33 am

So here’s how CRUNCH!!! An Intergalactic Meal Trip did:

Coolness 71%
#39 Fun(Jam) 3.98
#152 Overall(Jam) 3.72
#203 Theme(Jam) 3.86
#257 Innovation(Jam) 3.37
#266 Mood(Jam) 3.48
#307 Humor(Jam) 3.20
#331 Audio(Jam) 3.24
#505 Graphics(Jam) 3.43

A bit disappointed I didn’t manage to break into the top 100 overall, but check it out – #39 for Fun, with nearly a four-out-of-five average! (Woulda thought I’d have ranked higher for Humor, though – had a lot of positive feedback about my Space Police. They do get a bit annoying when there’s too many of them in play, though…)

In fact, I just checked, and this is the single highest average I’ve had for any category in any Ludum Dare so far (and again, this makes my seventh!) Thanks for the ratings, all! Hopefully this isn’t the last we’ll see of the Big Crunch and his planet-eating antics. Or the Space Police.

CRUNCH!!! 1.1 Post-Jam Version

Posted by
Monday, September 14th, 2015 2:32 am

In a last-ditch effort to snag some votes before time’s up, I just finished up CRUNCH!!! 1.1, which fixes some performance issues and makes gamepad controls a bit easier to work with.

Check it out here. Enjoy!

My seventh successful (and fourth consecutive) Ludum Dare entry, CRUNCH!!! An Interplanetary Meal Trip, has been out in the wild for a little over a day now and all the feedback I’ve gotten so far has been highly positive. For whatever it’s worth, CRUNCH!!! is the first time since Five Floors, Two Worlds back in LD30 I feel like I’ve gotten a complete game out the door – in fact, it might be the most complete-feeling game I’ve ever done.

It didn’t take me long after the theme announcement to decide on “ravenous space monster on the rampage.” At this early stage in development I called the game “Space Cruncher” (my work folder even used this name all the way up until I was ready to release it); the tadpole-like “space citizens” (or just “critters” as I ended up calling them) were firmly a part of my design at this point, but the project didn’t really take off until I started implementing the procedurally generated planets. At first I wanted to use trapezoid-shaped segments which I could put together into solid planet shapes, but when I couldn’t get the mesh-deformed sprites and the collision boxes to line up, I settled for square ones instead. The exact geometric arrangement of the planets was something of a lucky accident: originally they used multiples of four blocks per layer, but I wasn’t happy with the end result, so I bumped it up to six, as seen in the finished version. When I saw how the planets looked after that, I realized using multiples of six to approximate a circular shape should have been obvious in retrospect. ^_^;

Before this point, I’d already considered the fact that CRUNCH!!! was basically Squeeps, my LD26 entry, with its “helpless critter fleeing from implacable monsters” dynamic flipped on its head. The planets brought to mind something older than that, though: my early prototype idea for Corebound, my first-ever LD entry, which involved digging your way out of planets made of bricks arranged in hexagon patterns (hence the title, originally meant to suggest stuck in a planet’s core rather than headed there). Also like Squeeps, most of the game’s sound effects were made using Audacity and my own voice: Bfxr was brought in for the zaps, chomps, and explosions (with a bit more post-processing in Audacity than I’ve previously bothered with), but the critters’ yelps, the monster’s snarls and roars, and yes, the Space Police’s ineffectual calls for you to stand down are all my own voicework. (The Space Police is probably the closest to my regular voice I’ve ever put in a project so far – all I did was speed it up and add an echo.)

CRUNCH!!! was also, purely by accident, an experiment in graphical style: it’s my first Ludum Dare entry to render at 640×480, but not a single one of the game’s sprites was actually drawn with that resolution in mind: the end result is blocky sprites with smooth scaling and rotation (an effect I’ll admit I’ve deliberately avoided in previous entries for the sake of “authenticity”). And while the monster, the critters, and the Space Police all render at the same 2x display scale, the planets don’t: this was a holdover from the original plan to have planets in multiple scales, but I ended up using a 4x scale for all of them (tinier planets were harder to maneuver through). I think the blockier, chunkier style nicely conveys a sense of hugeness, though I’ll admit the planet cores do clash a bit with the rest of the game’s aesthetics. The rounded square particles, by contrast, were a deliberate choice; I really like the way explosions ended up looking with them. XD

The font was also the product of happenstance: when I was done with my title screen logo, I had a six-pixel-tall space at the bottom of my 32-pixel-tall graphic to wedge in a subtitle, and rather than expand the logo to accommodate a bigger font, I just drew the subtitle in a tiny little 5×4 font. When I realized I still needed an actual font for text, I quickly made one in the same style – legibility suffers a bit on some of the lowercase letters, but I kinda like the retro low-def look of the text. And speaking of title-induced idiosyncrasies, I couldn’t resist going with the three exclamation points on the “GAME OVER!!!” or (my personal favorite) “SYSTEM DEVOURED!!!” messages.

I’ll freely admit to using the entity framework I wrote for S-LAYER, my previous LD Game Jam entry, plus an off-the-shelf camera implementation. I learned my lesson back in One-Floor Dungeon with my disastrous day-eating attempt to roll my own collision detection system: don’t write any code you don’t absolutely have to. I also used the excellent Tactile library to handle controls: I backported it into both One-Floor Dungeon and S-LAYER as a practice exercise, and it nicely fixed an odd controller glitch in both of them.

As for the subtitle…I’ll confess I wasn’t sure “meal trip” was a real turn of phrase until I bothered to Google it after release. It just sounded like a funny, understated way to express the game’s concept. XD

It’s CRUNCH!!! time!

Posted by
Monday, August 24th, 2015 8:35 pm


I knew I was gonna have fun with this theme. :3

Crunch!!! An Interplanetary Meal Trip puts you behind the wheel of a planet-eating eldritch horror. I’d explain more, but instead I’ll  leave you all with this sweet screenshot of a truly gibtacular exploding planet:ss+(2015-08-24+at+06.15.44)Enjoy!

I’m in!

Posted by
Monday, August 17th, 2015 9:54 pm

This will be my seventh Ludum Dare and – hopefully – my fourth successful entry in a row.

Gonna be making my game using Love2D, with Aseprite for graphics, BFXR for sound effects, and FL Studio for music. (Possibly Tiled for maps if it ends up being that kind of game!)

Wish me luck!

S-LAYER Post-Mortem

Posted by
Monday, May 11th, 2015 3:38 pm

S-LAYER is my sixth Ludum Dare Game Jam entry, and my third successful entry in a row. It’s not the first shmup I’ve made; that distinction goes to Hitotsu – Last of the Dragon Keepers back in LD28, but I’d like to think it’s the better game by far in terms of graphics, gameplay, and gimmick.

I finally got around to releasing my Post-Compo Version 1.2 a couple days ago, and in honor of this milestone (the first Post-Compo release I’ve managed to get out the door since Corebound back in LD23!), I’m gonna try to sit down and discuss some of the stuff that happened during the game’s development, both before and after the submission hour.

  • S-LAYER runs at 160×120, the lowest resolution I’ve ever made a game at. I wish I could remember the precise article I read that made me sit up and go “wait, you can do that?” so I can give it proper credit. I’d like to think going lower-res helped me stretch my limited art talents further than usual; at any rate, I think S-LAYER looks better than Hitotsu, which ran at 320×240.
  • Like my previous two entries, Five Floors, Two Worlds and One-Floor DungeonS-LAYER was made using the excellent Love2D framework. It could have gone differently, though: I had the idea of entering MiniLD 58 with a project written in Stencyl, but I couldn’t quite get it to come together. That failure inspired my decision to go back to Love2D for my LD32 project – if it hadn’t happened, S-LAYER might have come out much differently, or not at all!
  • In my initial concept for S-LAYER, the “baton” was supposed to be a high-tech ovipositor: you would stab enemies with it, and they’d explode into tiny automated drones which would swarm other enemies and destroy them. This got scrapped in favor of simply taking over enemies outright and making them fight for you, an idea I’ll admit I ripped straight out of Darius Gaiden (and possibly other Darius games), but it did beat out my original “spawning drones” concept by a country mile in terms of sheer cool factor. That’s not to say there aren’t still hints of it present: your fighter is still deliberately insectile in appearance, and the title itself – S-LAYER – was originally meant as a nod to the whole “parasitic wasp”  mechanic.
  • The eye blocks were the very first “enemy” I came up with. I’m happy I was able to successfully implement them, complete with a rotating eye tracking your ship’s movements.
  • The bright pink walls were meant to resemble some sort of biomechanical entrails (complete with tanks of neon green bile). This aesthetic ended up spilling over into the enemy design: the popcorn fighters are pairs of lungs, the mines are hearts, the rapid-fire heavies are livers, the bouncing pink things are stomachs, and the vertical-flying obstacles are supposed to be intestines. All of them are outfitted with glowy bits and/or protruding pieces of machinery to reinforce the whole “gruesome hybrid of meat and electronics” look.
  • One of my biggest disappointments with Hitotsu was having to compromise on the final boss. I sought to rectify that with S-LAYER by designing and implementing the final boss early – before I’d even come up with all the regular enemies, in fact! I quickly sketched out the overall appearance in Photoshop using a thick binary brush (i.e. pencil tool), scaled it down to the game’s resolution, imported it into Aseprite, and then refined it into the final graphic you see in the game. I think it might be the most elaborate graphic I’ve ever produced for a Ludum Dare project (apologies if it still kinda sucks ^_^;).
  • Most of the sound effects were created in BFXR, but the snarl of the eye blocks as they shoot out of the walls, the end boss’s death growl, and the buzz of the locked baton are actually my voice recorded and tweaked in Audacity. (And there’s more where that came from in 1.2: the “whoosh” of the title screen logo as it comes on screen is my voice as well, and I recorded some speech samples for the end boss.)
  • The background “music” in the initial release is a heartbeat-like loop created using Bosca Ceoil. There were enough people saying the game didn’t have music at all that I composed something a little less subtle for the 1.2 release using FL Studio: still a heartbeat-like back beat, but now accompanied with some foreboding high-pitched strings intended to amplify the creepy atmosphere. There’s also a boss theme now, as well as ending and game over music. (Bosca Ceoil is some great software, and free to boot, but it drives me nuts how it doesn’t remember the directory I last saved in!)
  • The initial release has some bugs, as you might’ve noticed. I reduced the end boss’s HP to 3 for testing purposes but forgot to change it back. (It poses a proper challenge in 1.2.) More frustrating was the inexplicable performance drop as the game progressed: if you made it far enough on a single life, the game would stutter and eventually become nigh-unplayable. After some extensive refactoring, I eventually discovered the problem was a simple typo in the cleanup code for “dead” objects: two cases where I’d put a period in the “remove” function call instead of a colon. Whoops!
  • The Post-Compo release was going to be 1.1, but the feedback I got from my last-minute bug testers resulted in a bunch of new features and tweaks getting added. There were just enough improvements to warrant bumping up the version number.:3

Overall, I’m happy with how S-LAYER turned out, and I’m proud of how professional the Post-Compo version looks and feels. A real title screen with a real logo! Music! High scores! Pause menu! And so forth! It took a while to get it polished, but I really hope it’s worth the wait for those of you who enjoyed my initial release.

And maybe this will finally be the game I get around to expanding into something worth putting up on itch.io or Greenlight. Fingers crossed!

Let’s try this again.

Posted by
Friday, August 24th, 2012 4:31 pm

This is Ryusui, creator of Corebound and fan translator of a bunch of stuff. I’m gonna try to make another Stencyl game for the Jam. Can’t wait for the theme announcement. :3

I’ll be using BFXR for my SFX creation, and probably gonna try FL Studio (which I got on sale) for the music. Graphics will be done in GiMP 2.6 – 2.8 broke my freaking workflow with its insistence on saving in GiMP format by default. >_<#

Good luck to everyone!

[cache: storing page]