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