Branching Paths

Branching Paths

The Gateway

So now you’ve reached this point. Congratulations! Take a look back at how much we’ve mastered so far. It’s actually quite a lot. But in the grand scheme of things, there’s a lot more you can still learn! If this is an MMORPG, this would be the completion of the novice class, with us ready to enter the specialized disciplines. If this is a visual novel, this would be completing the common route, where we get an idea about the setting, the premise, and now we get a teaser for the girls (or guys for you otome fans!) to pursue.

But Why? Why Bother Expanding?

“Scripting is pretty useful,” you say, “I can whip up a relatively nice storyboard pretty quick, and with Easing, it can look pretty lit.” So then, you ponder, “Why should I spend more time when I already have a perfectly good set of skills trained down?” You can ask the same question if you’re in the Novice class in an MMORPG. You can continue questing, crafting, and trying to be the best there is, but do realize that in those subsequent class promotions, more options become available to you, built upon the foundations made before.

Here are a few reasons why it might be useful to pick up one of these mediums to storyboard.

Macroscopic Magic

When learning arithmetics, we first went through the very basics — think addition and subtraction. Upon those building blocks, we’ve (hopefully) mastered concepts such as multiplication, division, negative numbers, and fractions. From those blocks, algebra gets introduced, where all of these concepts begin coming together for critical thinking. When we reach such a level, those very basic building blocks have been continuously honed upon and harnessed that they become like clockwork. At that point, we can think of things on a higher level, solving new problems and widening our horizon of what’s possible.

A fancy pyramid showing skills.

In order to become a master character designer at Eagle Jump, you must first go through plenty of hoops.

The same applies to storyboarding. Those scripting commands we’ve first learned are just like our addition, subtraction, multiplication, and division operations in mathematics. Such commands can be considered our primitive operations. While it’s important to understand how these operations work, in order to display and perform much more grandiose visual arts of wizardry, it’s simply not practical to only stick with these operations. It’d be a nightmare to graph parabolic functions by manually charting out each point.

Consider the 3D bird displayed in Damnae’s masterful storyboard far east nightbird (kors k remix). Trying to calculate, feel for, and consider each edge of the bird would require knowing the coordinate of hundreds of points at a time. And then again, since it rotated a little bit. And again. Obviously, this implementation is simply impractical with direct scripting, yet the 3D makeup is composed of these very commands. In actuality, it’s thanks to osu!SGL that this is possible. By having more options available that take advantage of these primitive operations, we can create far higher visuals that were not practical before.

Putting the “Fun” in Programming Fundamentals

In Minecraft, the introduction of Redstone and logic gates allowed players to create their own contraptions in far elaborate scale. Start off with simple light switches and trapdoors, but with enough effort and fun, grow to create elaborate moats, dungeon systems, and even calculators and computers. Kids didn’t know it, but for each redstone circuit they’re creating, they’re mastering the basics of engineering and digital logic. And, most importantly, it’s fun.

Redstone block.

Some people just see this as some redstone ore. I see it as my bae’s first time... mining redstone in Minecraft.

Programming can often times be dry for many the apprentice’s tastes. But then a new opportunity arises! “Wouldn’t it be cool to make this bombastic explosion of particles?! What are the steps to do that?” And thus, storyboarding can be a great bridge to help begin that programming journey. If you’re planning to learn computer science down the line, why not gain that extra edge and flex your muscles with an interest that you’re already in? Even if computer science doesn’t sound like something you’re interested in the future, the knowledge of programming can be incredibly versatile. Need to approximate or make repetitive calculations or patterns? We got your back. The concepts you learn in this level of storyboarding can be applied in so many other applications, that the sky is pretty much the limit! The critical thinking gained from learning programming is invaluable.

Efficiency and Sanity

Consider this scenario: you are storyboarding lyrics for a song. As such, the first step is to then break down all the lyrics into their own individual images. Making it easier on yourself, you come up with a naming system: an additive number system beginning from 0, counting 1 up. Straightforward. So then you’re copy-pasting each line to their own image, trimming the text images of their transparency, and saving based on the new intuitive number system. Swell!

A window screenshot with lyrics files.

Handmade, circa 2010. When tools like this didn’t even exist.

Time to get those handmade lyrics images put up onto the storyboard. Sounds good! So that’s creating the sprite, then having some simple move and fade command transitioning in and out. There’s like, 20-30 of them, so we’d need to copy and paste all of those for convenience. But make sure to change each of the filenames to each lyric file! Don’t want to have the incorrect one sprout up. Now it’s a matter of changing the times to the correct ones, figuring out both the entry and ending offsets for each lyric bit.

When all of that is said and done, phew! How long must have that taken? Without distractions, it certainly must’ve been at least a couple of hours. And, as each step had to have been done manually, it may not have been perfect the entire way. Errors could have been made along the way. For instance, what if you accidentally cut-off text? Accidentally skipped a number? And so on.

OK. The ball’s in storybrew‘s court now. What can it do? Well... Lyrics can be generated from a subtitles file, the same kind that fansubbers make for their favorite anime. Paired up with the song, you copy and paste each line to each section of the song, no problem. Then on storybrew, you just add the Lyrics effect, import the subtitles file, then find the best font and other little embellishments to make your text look pretty. And there we go! That’s it. Add other adjustments and polish by editing the script manually.

How long must have that taken? Probably less than a half-hour.

Spend less time working on all the manual labor. Let programming carry you through the boring stuff, so you have more time and power to work on cooler things that are far more impressive.

XKCD Automation comic.

Sometimes the quest for efficiency takes over your sanity though.

The Routes


All the routes need to be finished writing for, probably. And also do cross-referencing links. Particularly, “storybrew” and “Other Pursuits” are blank. Also consider how programming fundamentals should be covered throughout the documentation.

Go on. Pick your best girl.

Design Editor

The built-in design editor has been available alongside storyboarding for the majority of osu!’s timespan. This is a good tool to immediately visualize and manipulate your sprites in storyboarding, as its drag-and-drop interface very much encompasses the WYSIWYG philosophy. It certainly complements itself well with the basic knowledge of scripting, and you’ll enjoy not having to scuffle around trying to calculate offset values or figure out coordinates with it.

However, at the end of the day, the editor does have an upper limit on what can be done. Going up in scale and trying to storyboard more elaborate systems will leave you spending hours inefficiently picking at each individual item. Not all commands, such as compound commands, are available either. Some of these solutions can be worked around or cheesed, but when compared to storyboarding via programming, there are very real limitations.

Interested in giving the Design Editor a shot though? Follow this route for more information!


Interested in pursuing storybrew? Follow this route for more information!


Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Readability counts.

Take all of that together, and you get the design philosophy for the programming language Python. As such, it is a language that spoils you silly and encourages rapid development. Naturally, this lends itself as a great candidate for storyboarding. Thus comes the mini-library of osbpy, developed by Wafu. Developed and scrunched within only a single file, this is as close as you can get with integrated development of storyboarding and Python together.

Interested in trying out osbpy? Follow this route for more information!


When a programmer thinks about how the stuff they’re working seems ultra-repetitive and inefficient, they think to themselves, “I can make this more efficient”. And so the prophecy came true, when MoonShade decided to develop a custom programming language to generate storyboards. Certainly osu!SGL was the starting catalyst to newer, higher levels of storyboarding. As a development medium, osu!SGL still provides itself as both quick to get into for a basic programmer and something that can quickly produce gratifying results.

However, its age shows with the lack of recent support, and the absence of essential programming features such as implementation of lists create another hard barrier in pushing this further as a medium. However, the barrier of entry is still relatively low, and it is certainly respectable as not only a historical relic, but as a means to still develop elaborate storyboards.

Interested in looking into osu!SGL? Follow this route for more information!

Other Pursuits