My Next Project is a Spandex Force Sequel

January 17th, 2010

My latest game Wildhollow was released before Christmas, and while I’m still no millionaire it’s selling enough to finance my next project. I’ll do a proper Wildhollow postmortem later, but right now I’m going to babble on about upcoming things. Interestingly enough, when I started working in Wildhollow it was just going to be a quick intermediate game before my next real project, Spandex Force 2. Stuff(TM) got in the way, though, and in the end I got delayed about a year. But now I’m back on track again, and the next game has the working title Spandex Force: Superhero U.

Just a crappy placeholder logo. Artwork and final title is still pending.

I’m pretty excited about this game for a number of reasons. If everything goes as planned, these are some of the highlights:

  • More puzzles and more game types
  • Battle mechanics innovations
  • More customization with skill trees, sidekicks and items
  • Wacky superheroes/villains combined with a superhero university setting. “X-Men meets The Tick meets Harry Potter.”
  • Larger budget for backgrounds and (hopefully) GUI artwork
  • Some voice acting, if the budget allows
  • Possibly some online battles…
  • And finally, I’m aiming for a release before summer

Another big thing about this game is that I’m trying a new development platform: Actionscript 3/Flash, which opens up a lot of new possibilities… I have some very cool ideas for that, but I need to see if everything is feasible first.

So yeah, this is what I’ve been occupying my time with for a number of weeks now. If nothing unforeseen comes along I think the schedule might hold, but we shall just have to wait and see…

Am I the Crossdresser?

April 30th, 2008

Yesterday I received a very kind e-mail thanking me for developing Spandex Force, heaping enough praise over the game to make me blush like a little girl.

This morning I blushed almost as much, as I got another mail from the same source, suggesting that The Crossdresser (one of the villains in Spandex Force) bears quite some similarity to me. I leave it up to you to decide:

The Crossdresser to the left. No, right.

Arguments for:

  • Both have long hair and a beard.
  • I have been known to wear a dress in order to disguise myself.
  • The Crossdresser is completely insane; I think most people would say that we share that trait.

Arguments against:

  • The Crossdresser’s wearing a wig in that picture.
  • Uh…
  • It’s not me, I promise!

Man! Outwitted by my own lists!

Game Economics Design Thoughts

April 15th, 2008

I’ve been a lazy bum lately – my new puzzle/management/adventure game Wildhollow is progressing very slowly. This last week I have only written one dialogue, and added eyeblink and speaking animations to the dialogues. I’ve tried to defend myself with the fact that I’m still waiting for some art in order to test the dialogues properly…but the fact is that I still have a lot of work left on the puzzle and management parts of the game.

First of all, I need to decide where to apply puzzles. I’m thinking that the player has to capture wild animals in order to get new traits and fresh genetic material to crossbreed with the existing animals, but I haven’t decided on the puzzle mechanic for these captures. Also, I haven’t decided what other puzzles should be present. Puzzles when the player breeds animals? Gambling in towns? Tasks the player can perform for various people in order to earn money? I’m still undecided…

And this leads to the second big issue: how the game economics should work.

In Spandex Force I decided early on to have a number of resources: money, reputation and experience. It made sense to have many resources that have to be gathered, which enable different things in the game. Money allows you to upgrade your base, buy powers and get artifacts. Reputation decides your rank, affects the difficulty level of the minigames, and decides what artifacts you have access to. Experience decides your level and what powers you have access to. There are many other kind of resources and checks in the game (clues, power levels, etc) but these are the most important resources and checks. It wasn’t completely trivial to come up with this structure, though: the biggest task was to try to think of a scheme in which the player always has need for all of the resources.

In my first Spandex Force designs, money essentially became useless after a while. I partly solved that by raising the base upgrade costs in the later game, but even that would have made money completely irrelevant after the last upgrade. So, instead I went for a solution where you can only have a certain number of powers and artifacts at a given time. This has made people annoyed, but it was a carefully selected choice in order to make money useful throughout the entire game – there’s always a new artifact to try, or a new power to try out. (Well. At least for a long while.)

Now I’m facing similar problems with Wildhollow. I’ve cut down on the number of resources to one: money. Yes yes, I’m a capitalistic pig who can’t see beyond monetary power, but it was the only thing that would make sense. Granted, there are lots of other things to keep things interesting: items, animal food, animals themselves, etc. But money is the common thread throughout – every item and animal has a value.

But how can I make money useful throughout the game, except as a score-keeping mechanism? In order to make money relevant, there need to be things that have a cost. “Well duh,” the reader sighs. But this isn’t as easy as it sounds. What can I introduce into the game that the player wants and/or needs? Food for the animals, of course. Items that improve the animals. Upgrades to the ranch. But then what?

And, more of a problem, I’ve almost decided that the player should be able to sell his animals to make room for new and interesting breeds. But this will generate money – and I still have no real solution to the what-to-spend-money-on problem. It’s easy to fall back on the upgrade solution. You need to collect cash to upgrade your ranch. Then you can breed more expensive animals that you can sell in order to get more cash you can use to upgrade your ranch. …But after the last upgrade, this economic setup will crash and burn like a tinder house in hell. (Unless it’s Dante’s version of hell.)

I’ve been trying to think of ways to get around this:

  1. The tired old cliché: you’ve borrowed money in order to build your ranch in the first place. When you’ve paid off your debt you’ve finished a vital part of the game! Go you! This is actually surprisingly tempting, and would work very well. But it’s not a solution – it just delays the point of economic failure.
  2. Capturing animals costs money. You can capture new animals but this costs something. I don’t know why exactly - it could be bait for the animals, or one-shot items used to capture beasts… This is still vague and undefined.
  3. There’s no way to capture wild animals; you have to buy all your animals at the market. I don’t like this solution, but irritatingly enough it would solve a lot of things. This would mean that you could never get an animal for free, so, while you might make a profit on selling it later (after some grooming and taking care of), it wont be as big.

There are probably hundreds of other things I could do. As I’m writing this I’m starting to realize that point number three makes way too much sense for my own liking – I just might be forced to go for a combination of one and three. …With the possible addition of just capturing a couple of magical beasts in the wild…

Wildhollow – First Art Delivery

April 10th, 2008

The regular readers of this blog is probably wondering what I’m doing right now.

“You’ve reached fame and fortune with Spandex Force. Have you taken the money and gone on a cruise or something? Have you bought a house in Monaco? Have you bought a space shuttle?”

Alas, while Spandex Force inded has sold decently I’m still not able to roll around naked in cash.  But I have been finding ways to spend my hard-earned cash on art for Wildhollow, my upcoming adventure/management/puzzle game. More specifically, I’ve been trying to find art for the game!

The character art was very easy to decide upon: I loved the art for Spandex Force, so I took a few days to come up with an insane storyline and then sent a list of more-or-less strange characters to the secret artist located in a secret country, and asked her to come up with more-or-less strange designs for the characters in question. Oh, and by secret I mean not secret at all. But I’m not writing her name here, ’cause then she’ll be able to find this post when she googles her name, and she’ll see how I’m flaunting her excellent artwork downsized by a million per cent, saved as a lousy JPEG, essentially making it look like a smeared patch of mud instead of the brilliant character art I received.

Anyway, here’s the first completed art delivery for the game. The male hero:

Smeared patches of mud that once was great art.

See the expressions to the right? If you thought I was going to repeat the static dialogues from Spandex Force you’re incredibly wrong! This time there’ll be mouths flapping and our brave hero or heroine will show emotions. KarjaSoft is moving into 90s technology!

Aside from this I’m estimating a dozen backgrounds and another 20-something characters, plus a world map, plus item icons and puzzle elements. Dang, there’s going to be a lot of art!

Software 3D Algorithms Revisited

March 3rd, 2008

This will be a very nerdy blog post describing some technical aspects of Spandex Force. Sorry in advance.

Many moons ago I complained about BlitzMax and 3D, and described how I solved that problem. Well, it turns out that I’m a moron and the solution described didn’t solve anything at all. This is essentially what I wanted to acheive:

Well, when I switched to a more detailed texture everything got jagged and crappy. Which I should have foreseen if I hadn’t felt so proud of myself for working around my limitations. I know, I suck. Anyway, I needed a better solution.

Someone in the old post mentioned that you can do 3D in BlitzMax by using textured polygons, but I don’t know if he’s ever tried. Using the common textured poly functions result in affine texture mapping, which is completely useless for depth effects. So, the only solution left was to go for proper 3D.

This is surprisingly simple in BlitzMax as long as you know how to do it. (Duh!) All you have to do is set up the projection matrix properly, and then do the primitive drawing commands. I won’t paste the dull code here, but it involves some trigonometry and a glFrustum() call (for OpenGL). That took care of the background itself.

But wait, that’s not all! What about the little objects on top of the background? Well, I wanted a billboard effect (the images should always face the screen) so I could either do a lot of rotations and draw everything in 3D…or draw the icons in 2D afterwards. I chose the latter approach and was thrilled when I noticed that OpenGL has a function called gluProject() which would let me find the screen coordinates from 3D space coordinates. Yay!

All for this little minigame!

Time for a short interlude. “Why are you mucking around with OpenGL like this,” the eager reader asks. “Isn’t DirectX the standard for Windows?” Sure it is, but I also want my game to run on Mac and Linux. So in my first approach I chose an OpenGL-only solution. But, as the experienced game developers out there could have told me, that just wouldn’t do. OpenGL works most of the time, but there are severe compatibility problems with out-of-the-box XP and Vista installations!

I was aware of this limitation, but I just didn’t know how to get around it. See, the magical gluProject() function has no corresponding function in DirectX. After a lot of messing around with matrices I managed to make the DirectX projection matrix similar to the OpenGL one, so the background could be drawn in both modes. But I still had no way to draw the icons correctly. I tried lots of various interpolative methods but everything looked pretty crappy.

Then it struck me like Mjölner from a clear sky.

In my old blog post I ranted about how old methods can be utilized to good effect even today, and there was one old method that I had overlooked. Can you see what I’d missed?

Lookup tables!

When running the game in OpenGL I could create a lookup table for the projected X and Y coordinates of the icons. This table could then be used for both the OpenGL and DirectX versions of the game to create identical results for the 2D icons. It worked perfectly, and this enabled me to have DirectX as the default renderer in Spandex Force from v1.1 and onwards.

Many times I thought about skipping the Catch ‘n Match minigame completely in order to have DirectX support, or shipping the game with compatibility problems. I’m happy that things worked out in the end!