#oneaday Day 100: What a Novelty

[Side note: Day 100! Yay. This marks my 448th day of blogging every day. I’ve been half-tempted to start numbering the posts from when I originally started again, but then that will just get confusing. Perhaps I’ll put the total number at the end of each post or something. I don’t have an eventual goal number in mind—I fully intend to keep doing this until I can’t do it any more, for whatever reason. But given that I continued writing through the disastrous events of last year, it’ll take something pretty severe to stop me being here every day. Now, on to your regularly scheduled blog post.]

I can’t program. Actually, that’s a lie; I wrote a very good Treasure Hunt game in ATARI BASIC once. It used Graphics Mode 2, a custom character set, featured a randomly-generated playfield and custom sound effects. Okay, it perhaps wasn’t “very good” but it was at least a completed project. Since then, though, my programming knowledge has tailed off somewhat. It’s when everyone stopped using line numbers that it got confusing. I know ditching line numbers was actually a good thing in that you could more easily insert code where it needed to go rather than having to resort to increasingly-convoluted GOSUB/RETURN subroutines, but as soon as all these punctuation rules started to come in? Hmmm.

Perhaps it’s just that I haven’t spent enough time trying to learn one language. I spent a bit of time doing JavaScript and managed to get some fancy DHTML working, but have since forgotten it. I did some Java once, though it didn’t do much. I worked my way through the first two chapters of a C# (pronounced “C-sharp”, for anyone who had been wondering about it for as long as I had before I eventually found out) book and thought I was doing pretty well until I got to the first “independent project” type chapter and completely failed to produce the program required.

This is why I enjoy tools that allow you to express your creativity without having to know how to write a complete program. Sure, if you need to do something exciting, you can (and probably will) delve into scripting, but for the most part, the built-in tools are enough to get something up and running.

Over the years, I’ve used many different tools like this. By far my most beloved (and now outdated) is Klik & Play from Clickteam, which later became Games Factory and Multimedia Fusion. These required absolutely no programming knowledge whatsoever and simply a logical mind to figure out a series of “When this happens, make this happen” statements. Winner. And surprisingly flexible.

I’m also a big fan of the RPG Maker series, especially the later ones that do include a scripting language that allows people far cleverer than me to completely replace the game’s battle system with something cool.

Most recently, I’ve come across Novelty, which is a tool for making Japanese-style visual novels. This is a completely free application—though still in beta—and is one of the most polished pieces of free software I’ve ever seen. It’s incredibly flexible and allows for everything from barely-interactive “click to continue” visual novels that don’t require any player decisions, to more in-depth Phoenix Wright-style affairs with buttons, hotspots, branching story paths and all sorts. There’s not only a scripting language, but also an impressive markup language for creating graphical assets. There’s no need to delve into these if you don’t want to, of course, but for “power users” they’ll be a boon I’m sure.

My only trouble with tools like these is that I have trouble getting started on something. I get some grand plan in my mind and either end up getting daunted by all the preparatory work which will need to be done (gathering/creating assets, planning and whatnot) or find myself starting, getting too ambitious and bumping into an insurmountable roadblock.

Still, it’s nice to know these tools are out there for creative types. I have idle plans to experiment with making some sort of visual novel, but whether or not that will ever happen is anyone’s guess.

void blog(string bollocks)
{
     Object@ myBlog = GetObject("Blog");
     if (myBlog !is null)
     {
            myBlog.SetText(bollocks);
     }
}

See? No problem at all.

blog(“Cock! Piss! Partridge!”)

Day 448