Spandex Force and Stockholm Syndrome

October 20th, 2010

“What have you been up to, Karja,” asks the casual browser of this blog. “You’re slacking off with the updates again!”

Before you read too much into the title of this entry, there will be no speculations regarding psychological reactions to hostage situations. Instead, I’ll give a brief summary of my last few weeks: packing, work, stress, threw away half of my belongings, moved the other half 250 km (thanks for the help, Mauri!), and – in general – more stress.

My life has changed quite a bit in the last year, and even more so in the last six months. I now find myself with a new job, living in Stockholm, in a large house instead of a rented flat, with a new girlfriend and adorable cats, about to get a driver’s license (hey, I’ve never needed one before now!) and generally with less spare time than I’m used to.

Despite this, Spandex Force: Superhero U has progressed! I’m currently working on episode 2 (seen above, but Time Master doesn’t make an appearance in that episode – he’s just there ’cause I love how he looks). I have also received invaluable feedback from Pätr regarding the first episode, and I’ll modify the difficulty and the minigames accordingly.

Oh, and apparently the music sounds like something from softcore porn. But hey, a bit of softcore never hurt anyone. (Okay, okay, I’ll see if I can do something about that too.)

One thing I got back from the feedback is that the game is very similar to the original Spandex Force. The art is improved, I’ve learned a bit more about game design and so on – but at the core I guess I am aiming for a similar experience. In fact, I chose to keep many of the situations from Spandex Force: you still rescue old ladies from being run over, there’s still fires to put out and so on…I guess one could say that this game will be more like what I wanted to do with the original one, but I didn’t have the resources back then.

Oh, and the humor isn’t quite as…daring. There are no animals getting hurt, there are no transvestite villains, and so on. This is a conscious choice, to keep the game family-friendly. Sometimes I feel like I’d love to make a very edgy game, but I don’t really have an urge to shock people with my games anymore; gone are the days of my (very old) Shit Invaders and Spank da Virgin games. Good humor is good humor, regardless of questionable themes.

Speaking of various approaches to humor, I’m on the fence regarding Comic Jumper. If I had an Xbox 360 I’d love to check it out, to see if I “get” the humor or not. Tentacle porn levels at Hent High… That’s clever.



Spandex Force: Superhero U Episode 1 Contents

October 1st, 2010

A while ago I discussed some things that are not present in Spandex Force: Superhero U. Since I’m done with v0.1 of the game I thought I’d mention some of the things that are present as well, for good measure.

Q: What’s the main structure of the first episode?

First you create a male or female hero, assign colors and choose hair/face styles. After that you’re dumped in the main university screen, where you get to meet your professors and classmates, and select three classes out of five to take in the first episode.

After you’ve finished your schoolwork there will be an interruption – a student has been kidnapped! It’s up to you to ask around for clues, and eventually storm off to the villain’s lair to rescue the damsel in distress.

Or at least, that’s what you think…

Q: Is there more to the game than that?

The text above describes the first episode of the Adventure Mode. If you want to just play around a bit, there’s also a Relaxed Mode, and later there will be a Battle Arena for fighting other heroes.

In other words, you can play the Adventure Mode when you have a lot of time, or just spend 15 minutes now and then. Everything you do in the Battle Arena or Relaxed Mode will benefit your hero in the Adventure Mode as well!

Q: What’s the gameplay like?

There’s a fair amount of dialogue and adventure-like gaming on the various screens, but the main gameplay is puzzle based. There are three different types of match-3 game mechanics (swap, slide, twist), in combination with three different main game modes (battle, clear all locked tiles, fill up the power meters).

The most important game mode is swap match-3 battles against villains, other students and various obstacles. In these you use your superpowers to defeat your opponents.

Additionally, there are also special modes e.g. when you collect clues.

Q: What about the RPG parts?

There’s a lot of RPG elements too in the game. You collect experience points that will level up your character. Leveling up gives you more health, and power points that you can spend on mental, physical or elemental power levels.

There are also 27 different superpowers, divided in the three different power types. Depending on your reputation level, you can buy new powers and level up old ones. This means that you can upgrade your old powers to make them useful later in the game.

If you have spare cash you can also buy artifacts such as helmets, weapons, shields and capes. These give various bonuses, for example power bonuses, extra health or bonuses to money collected.

Q: What about replayability?

You decide yourself which classes to pursue in each episode, you assign power points however you wish, and you upgrade powers at will. This means that there will be classes you haven’t seen and powers you (probably) can’t afford to buy on your first playthrough. The story will be the same, but your heroes will develop quite differently!

Now, I really should get started on making a webpage for the game!



Spandex Force Audio

September 23rd, 2010

Spandex Force: Superhero U is my ongoing superhero puzzle/rpg/adventure game scheduled for release late 2010. Just how I will manage that is…a bit unclear right now, but I still think it’s do-able. This week has been dedicated to make the game give of squeaks and whooshes and bangs, not to mention music as well. It’s only natural that each game I make takes up more space than the last one, but this time things have gone bananas: only the music takes up more than 50 MB right now. That’s more than the entire Wildhollow game.


Justice Gal (with awful colors that I selected) and Time Lord have a friendly chat

So, what does that mean exactly? It means that I have a large array of different scenes for which I need music. Also, inside the puzzle games I’m using longer music loops, and randomizing which ones to play. All in all, I’m trying to make this game more varied.

Another thing I have been working on is making a web version of the game. Yes, spandex will be readily available for all – no matter if you run on Windows, Mac or a public computer. In fact, it almost runs okay on my HTC Desire as well; some more tweaking is needed. Aforementioned 50 MB of music will of course have to go for that. I’ll have to lower the quality and reduce the number of songs I use. It also messes up the code a bit. Instead of specifying:

“In scene Y, play song X”

I have to make function calls:

“Gimme a song to play for scene Y”

But all of that is pretty much on the way now. Version 0.1 will be done in September, all according to my very well-defined pragmatic ad-hoc plan.

Game status as of September 23:

Art: 92% done
Sound: 70% done
Code: 80% done
Design: 75% done
Dialogue: 20% done
Homepage: 0% done!
Secret stuff: 10% done



Multiple Madness and Test Driven Development

September 16th, 2010

A recent private thread on Juuso’s GameProducer forums discusses Test Driven Development and offers insights into benefits of the paradigm. I can’t argue that there are benefits, but I also don’t see the point of applying it to minor projects like casual games. In general, I’m very sceptical towards evangelic people who claim that one process/development method/paradigm is applicable to all kinds of projects. TDD is great for large systems, TDD is a fresh way of looking at design, etc etc – but it’s not relevant for KarjaSoft.

Why not? The primary reason is that my games evolve relatively organically, and the initial overall design is rarely the final one.

“Well, that’s the beauty of it all! You can apply continuous refactoring – and TDD is great for that!”

Look, I don’t just mean that the code changes. I mean that I rewrite essential basic requirements of the game all the time. Partly, this is because I’m doing this for a hobby. It’s meant to give me pleasure, and just “doing stuff” feels good. But also, it’s largely because my game designs change along with the art I have. I’m very much doing art-driven game design, and the art I have depends on what artists I find and what I can do myself. …Nothing of which is set in stone at the beginning.

“Why don’t you just gather all the art you need and then do the design afterwards?”

Because that’d take longer, and because there’s a constant give-and-take between the art and the design. If I get a decent enough price for the backgrounds I can hire a GUI artist, and then I need to design the power and item stores to utilize the GUI art. But wait, I can’t afford a GUI artist! That means that I have to design the stores in such a way that I can create the art for them myself. All of this moves to and fro for many months.

But enough of that. Yesterday I encountered a situation where I really could have used a TDD approach. I have multiples among my tokens on the game board, and since the beginning I’ve had some issues with deciding if there are three or more matches when a multiple’s involved.

I decided to just let it go and finish all the other stuff first, but now the time has come to fix this bug. And for some reason the logic in my code isn’t working:

if ( found > 0 && index == multiple &&
tiles[i][j].active && tiles[i][j].state == "Active"
&& (tiles[i][j].index < 3 || tiles[i][j].index == multiple) )

It never correctly identifies a line of three or more, that begins with a multiple!

No big deal. I’ll just have a closer look at it, rewrite the function to become cleaner and easier to read, and then fix the problem. If I had used TDD the code would already have been prepared for this, and I could simply have added another test case. Now I have to spend an hour (-ish) to make this work properly instead. TDD would most definitely have helped.

…But on the other hand I just lose an hour this way, compared to the time I’d have had to spend if I went with full TDD from the beginning. I’m a firm believer that it’s way too easy to suboptimize, and that implementing a theoretically more effective method often will cause the end result to be more costly. Choose the right tool for the task; not the prettiest and sexiest tool.



Create Your Own Hero

September 14th, 2010

Spandex Force: Superhero U is moving along with gigantic strides. The first episode is playable, and it’s now possible to create a hero of your own – just like in the original Spandex Force. With a few additions.

So, what’s the current status overall?

Art: 90% done
Sound: 20% done
Code: 75% done
Design: 75% done
Dialogue: 20% done
Homepage: 0% done!
Secret stuff: 0% done!

What the…?! I have a bunch of stuff left to do! No time to waste on blog posts!



Abandoned Ideas for Spandex Force: Superhero U

September 6th, 2010

I’ve been working on my superhero rpg/puzzler Spandex Force: Superhero U for a while now, and many ideas have been implemented…and abandoned. For fun I thought I’d give an analysis of the various ideas I’ve had, that have been discarded.

Online multiplayer
This is a no-brainer really. Create your own superhero and battle others online. This would work great for a bigger production, but since I’m a small indie developer I can’t assume that there will always be dozens of players online at any time, ready to battle anyone who wishes to have a go. The idea is obvious and would be great for building a community, but it’s simply not feasible with my projected sales/plays.

But all is not lost: I have some fancy ideas for online multiplayer despite this. There will be lots of heroes created by everyone…but everyone’s not online at the same time. So what do I do? I’ll make an “offline” online mode, where you battle AI representations of players instead.

Superhero teams
Why just play one-against-one? Why not have superhero teams that battle against each other?

Well, the simple answer is: it doesn’t fit in well with the superhero school idea I went with. But this one is still on hold if I create another Spandex Force game.

Simultaneous play mode
I still have code to enable this mode in the game, but I’ll probably skip it – at least for the story mode. The idea is that instead of taking turns, you battle an opponent and you both make your moves simultaneously. This can be done on a common board, or on two separate boards.

It was a pretty neat idea, but in the end I decided to remove this. First of all, using a common board with simultaneous moves just becomes…chaotic. Things just happen with little strategy involved at all. If two separate boards are used, the strategy element is even farther removed and everything becomes a simple “who can make the fastest moves” competition. Also, it may sound like a stupid reason, but screen real estate is another problem. Two boards simple takes up a large amount of screen space, even if I make the opponent board smaller!

We’ll see if I revise this idea or not. For now, Spandex Force: Superhero U uses a common turn-based approach.

Sidekicks
A neat little idea where you can select a sidekick that will help you in various ways. Quite inspired by the companion in King’s Bounty: The Legend. This one is still on a “maybe” list. It’s a good idea, but the feature’s value might not be enough to warrant the development time.

…And lots of other things…

I’m certain that what IS left in the game will be plenty enough to make a thoroughly fleshed-out RPG/puzzler, though.



Spandex Force: Superhero U First Screenshots

September 1st, 2010

Time to show off some goodies! And by goodies I mean screenshots from my newest game, Spandex Force: Superhero U. I started the project with a single tagline in mind: “A mix between X-Men and Harry Potter, sprinkled with absurd humor á la Spandex Force,” and so far I think that I’m fulfilling most of what I aimed to accomplish.

The title screen in all its glory.

A friendly dispute with the resident mad scientist head of the Eccentric Research department.

Battle harmless weightlifting equipment!

Diffuse nasty bombs!

Defeat weak old supervillains!

And much much more! Spandex Force: Superhero U is scheduled for release by November/December, and I’m this close to having a fully playable first episode (out of six) ready. Many things will probably change from the screenshots above, but it’s starting to look pretty good now.



Copyright © 2009 KarjaSoft