Categories
Game Design Game Development Geek / Technical

A New Direction for “Stop That Hero!”

As much as Stop That Hero! has
provided me with a great opportunity and learning experience,
recent events have led me to seriously invest time
in a much needed redesign. As a casual strategy game, the game
left players with a fun and exciting way to be evil and have
fun at the same time. Still, I’ve received feedback
over the months that have led me to question some of the
original design decisions I’ve made, some of which might be
leaving money on the table, so to speak.

So, the good news is that I’m taking all of the great stuff I’ve
done so far, and I’m going to recreate “Stop That Hero!” as an FPS.
As a strategy game, I find the game enjoyable, but the masses seem to
yearn for something a bit more visceral.

“Stop That Hero!: Reloaded!” puts you in the role of the hero,
fighting off the minions of an evil villain bent on taking over
the world. With the roles reversed in this new design, I think it
can be much more enjoyable and easier for fans to relate to the characters.

It will feature multiple weapons, urban and jungle environments, an
innovative cover system, and customizable uniforms for you and
members of your elite squad of minion-hunting friends (multiplayer content,
including special hats, exclusively available as DLC).

I don’t want to give too much away, but I am excited about this
new direction for “Stop That Hero!” For now, I’ll leave you with this
mock-up to give you a taste of what to expect:

STH: Reloaded
STH: Reloaded mock up. I had to use my niece's toy since I didn't have a gun or banana handy.
Categories
Game Design Game Development Marketing/Business

Filling a No-longer-served Niche

Jeff Vogel of Spiderweb Software wrote about being an indie game bottom feeder. He breaks it down into a few principles.

Stop worrying about piracy and worry about being a person your customers want to support

He talks about coming to terms with the fact that piracy happens. Interestingly, he finds the best way to “combat piracy” isn’t to pass onerous laws such as SOPA but to be a decent person that your games’ players would feel good supporting.

Price appropriately

If you are creating an ultra-casual, appeals-to-everyone kind of game, you can get away with charging less than a dollar or even releasing the game for free and using ads or selling add-ons. But if you’re appealing to an underserved niche, you must charge more for your game. Having 5,000 customers pay you only $1 means you won’t last long. The good news is that your customers are willing to pay for it.

Find the customers who are looking for what is no longer being made

Most small business advice out there says that you should find a niche, Vogel’s advice is similar, except he points out that there are plenty of game genres that used to be wildly popular and are no longer of interest to the larger companies in the game industry. Those are now underserved niches. While the popularity of these now-niches has dropped below the point where EA or Activision would find it worth their time, there are enough people who still want to play those kinds of games to make it profitible for an indie.

Vogel mentions the Atari 2600, which was my first game console. I remember playing games such as Frog n’ Flies, Yar’s Revenge, Solar Fox, and even E.T for hours on end.

And the Atari 2600 is still fun. It’s just not fun enough. The art of game design has progressed far beyond it, and Pitfall doesn’t have what it takes to compete anymore. But you know something? All of those old games can be updated. All of those old genres have tons of fans out there. They just don’t know they’re fans yet.

So does this mean you should clone old games and expect to make tons of money so long as you’re not a jerk?

No, and not just because the clones have been done already.

You can take inspiration from old games that are otherwise still fun today. Take the original Mario Bros for example. It was a platformer with a static level design, and you could collect coins and hit enemies from below before knocking them out. Now look at Super Crate Box, a platformer with a static level design in which you collect crates and use a variety of weapons to fight off enemies. Tell me where you think it partly takes its inspiration from. Yet, it plays very differently. The developers didn’t create a Mario Bros clone. They did something very different.

I think Vogel’s approach sounds similar to Dan Cook’s “reinventing the genre from the root” approach.

It occurred to me that game design, like any evolutionary process, is sensitive to initial conditions. If you want to stand out, you need to head back in time to the very dawn of a genre, strike out in a different direction and then watch your alternate evolutionary path unfurl.

Perhaps having kept my Atari 2600 all these years was a much better idea than I thought.

Categories
Game Design Game Development Geek / Technical Marketing/Business Personal Development

An Online Conference You Can Attend #AltDevConf

If you’re not familiar with AltDevBlogADay, you should be. Each day, a game developer posts on a variety of game development topics. There’s a huge backlog of content there now, and while the recent redesign has made it difficult to find the category you want (you have to click on a post to see only some of the tags available as of this writing), it’s great getting regular, up-to-date, state-of-the-art tips and tricks from the people in the trenches. Authors can be mainstream game programmers, indie developers, academics, or anyone who has something valuable to share.

AltDevConf

It seems to be such a successful site that they’ve decided to host an online conference. AltDevConf will be held on February 11th and 12th (that’s this coming weekend), featuring three tracks: education, programming, and design & production.

Our goal is twofold: To provide free access to a comprehensive selection of game development topics taught by leading industry experts, and to create a space where bright and innovative voices can also be heard. We are able to do this, because as an online conference we are not subject to the same logistic and economic constrains imposed by the traditional conference model.

As it doesn’t look like I’ll be attending GDC this year (I’m still hoping to win an All Access Pass with my GDC magnets), AltDevConf seems like a high-quality substitute. While it won’t be the same as rubbing elbows with other indies or meeting cool celebrities in the gaming world, I’m excited about it.

Do you plan to attend? Will you be speaking?

Categories
Game Design Game Development Geek / Technical Linux Game Development

Stop That Hero! Development Summary

The last time I wrote about Stop That Hero! development was in July. Here’s a quick summary of the work I’ve done since then:

Fixed memory bugs

I fixed a number of issues in July, specifically with weird corruption issues that seemed to result from the use of std::vector<bool> which is apparently not a real vector of boolean values. I was easily able to discover where memory leaks were occurring with Valgrind.

Recently, I ran into a bizarre unit test failure when adding code to a module that had nothing to do with the unit test, and I discovered that I had introduced a bunch of memory leaks that were finally manifesting in such issues. It wasn’t hard to fix since I once again was able to use Valgrind, but it was tedious work. A lot of it was fixing dumb mistakes, too. I have no idea why I thought I could get away with the code I wrote when I wrote it.

Unless there are corruption problems, memory bugs are not usually a big deal during development. Still, it would be nice if I used tools that made it easier to avoid the problems in the first place. I use UnitTest++, but these memory leak issues would have been caught had I used a tool such as CPPUTest which fails tests if memory leaks.

Added more minions, entities, and projectiles

Once I made combat revolve around projectiles, I added fireball-launching dragons and warlocks. Warlocks will eventually have a magic spell they cast, but they launch fireballs because that was the only projectile I had at the time.

Recently, I added new heroes. Archers shoot arrows, and wizards cast lightning bolts. I eventually want to add villagers and knights and get rid of the generic Hero character.

More Heroes Added

Optimized rendering

I’ve had the same update/rendering code for a long time, and on a whim, I added some logging to my game to find out why I wasn’t able to get 60 FPS even though I didn’t think I was doing much.

It turned out, I wasn’t doing much. All of my code ran within a millisecond, but the actual SDL call that blits to the window took between 30-50 ms to run! The good news is that my own code isn’t slowing me down, but mathematically it’s impossible that SDL MUST render this slow since so many other SDL games run much faster. So I looked to find out what other people did to make it work.

Here’s the code I was using to set the video mode:
m_screen = sdlInstance->SDL_SetVideoMode(m_x, m_y, m_bitDepth, SDL_DOUBLEBUF);

And here’s a much faster version based on a thead at Ubuntu Forums that I apparently did not bookmark:
m_screen = sdlInstance->SDL_SetVideoMode(m_x, m_y, m_bitDepth, SDL_SWSURFACE | SDL_ASYNCBLIT | SDL_DOUBLEBUF | SDL_ANYFORMAT | SDL_SRCALPHA);

So I went from 30-50 ms to 8 ms. The game runs so much more smoothly now, and it didn’t take a lot of work at all.

Switched away from pie menu

Pie menus are great for usability, but only if you can guarantee that the menu can be displayed in its entirety around the mouse cursor. Since one goal with “Stop That Hero!” was to make the interface as simple as possible, I didn’t want a scrolling world. The entire world fits on the screen at once. To use pie menus, I’d have to reduce the world size to provide a border all so that buttons could fit on the screen if a tower was selected near the edges.

So I removed the pie menu and went back to a traditional UI at the top of the screen.

Added resources and minion costs

Before, I was adding minions to the game whenever I wanted. Now there are resource costs, and it takes time to summon a minion from a tower. The player starts with a base set of resources, and the current system adds 1 resource every second. It’s simple, and it works. I can experiment with resource mechanics, such as adding rewards for killing heroes or if certain minions collect items and bring them back to the player’s castle, but the basic system is in place.

Made object creation more generic/data driven

I initially tried to make the game as quickly as possible, so instead of trying to genericize object creation, I created a bunch of separate commands: CreateHeroCommand, CreateDragonCommand, CreateOrcCommand, etc.

While it worked, it was also very limiting. Each time I added a new type of entity or in-game object, I had to create a new command. Maybe that’s fine if I know what entities and objects I want to create up front, but it limits the design. Maybe I want to make weak squires, regular soldiers, and strong knights as variations on each other. The effort to write the code for the separate creation commands would be tedious and slow.

So I replaced all of those CreateXYZCommands with CreateObjectFromTemplate. Instead of having coded commands to create an orc, I create a template called Orc, which defines components and data that an orc would have. CreateObjectFromTemplate(“Orc”) then creates the components with the correct data, and an orc appears in the game world.

Templates can be created and changed much more easily than hardcoded commands, which means adding and tweaking minions, heroes, and other in-game objects is easier, which means game design and balancing is easier. It also allows me to data-drive the game a lot more, which means more interesting entities and game situations.

Added timer-based summoning queues

Both heroes and minions take time to appear. Minions are summoned and there is a summoning bar that lets you know how finished the current summon is. By using the same summoning queue code, I now have a Village which pops out heroes over time.

Timers seemed like a special case of general triggers. It would be nice to have dwarves pop out of caves if any entities come near or have other similar scripting in the game, but my initial attempt at general triggers might have been trying to do too much. Maybe for another game.

What’s Next?

The game is still silent, so eventually I would like to add some sound effects and music. Animations and special effects would really punch up the visuals, which need a consistent art direction. It’s all functional programmer art and will get replaced.

But the biggest thing left to do is improve the AI. Dragons can attack from distance, yet they still try to run up to the heroes the way melee fighters do. Also, entities tend to bunch up. 10 orcs attacking a hero tend to look like a single orc attacking the hero, and it is hard to see what’s happening.

My initial attempt at solving these problems resulted in unacceptable slowness last week, but I’ve identified what’s going on and think I have a fix for it.

But hey, this is AI work. I already know I can’t expect that I’ll figure it out in a matter of hours or days. There’s going to be a lot of changes, tweaks, and fixes until it looks right.

And besides game development work, there’s the work of marketing and selling the game. There’s a “Stop That Hero!” Facebook page, and I just sent out a newsletter to my list announcing the upcoming release. I’m hoping to get a pre-alpha release out soon.

Categories
Game Design Game Development Geek / Technical

Meaningful Game Play Game Jam

Josh Larson of God At Play wrote about meaningful game play. Josh’s definition:

Meaningful game: a game that has significance or provides purpose for how one lives life.

He specifically argues that there seems to be a lack of games with deeper meaning, and that there are not enough of them to satisfy the people who want to play deeper, more meaningful games. He identified the difficulty a game designer has when setting out to make a meaningful game. Where does one begin? Have there been attempts before? It’s hard to know what works and what doesn’t without actually doing it yourself because body of work available to build on is scarce.

His suggestion is that there should be game jams dedicated to Meaningful Game Play, where such experiments can be prototyped and critically analyzed. The goal would be to create a resource for game designers who wish to develop deeper, more meaningful games.

The first Meaningful Game Play Game Jam starts today at the BitMethod offices in Des Moines, IA. Details can be found at the newly launched Meaningful Gameplay website.

I’ll be there. Do you plan on attending? Do you want to participate in a Meaningful Game Play Game Jam?

Categories
Game Design Game Development Marketing/Business

Should Indies Make Bigger Games?

I’ve been participating in the Indie Indie Conversation on YouTube with other full-time indie game developers. We upload 3 minute videos at a time (although some are a bit longer) and have a discussion about all sorts of topics related to being an indie, such as technical struggles, the need to explicitly make time for social interaction, and meaningful game play.

Recently, there has been some talk about financial concerns. Andy Moore of Steambirds fame has talked about his recent return to full-time indie status, but his lack of contract work was not his choice, and the lack of a safety net is made worse by the lack of a current project. Mike Hommel chimed in saying that his last project was a flop and lost him money, and he’s going to have to make some games for Flash Game Licensing to make a bit of cash. In the end, he got a new business deal, so good for him, but the turn this conversation took bothered me.

So I made this video:

Now, keep in mind, I write way better than I speak. To clarify, I don’t want to say that Flash games are necessarily dinky little things that get churned out with no soul. My impression of the attitudes of some indies, however, is that spending time on a game to make it great rather than merely good is spending too much time on a single project.

How much value can you really provide your customers if you spent only a few weeks on your game? Chris Hecker’s 2010 GDC rant Please Finish Your Game talks about the idea that a lot of games are prematurely “finished” by indies. That is, they are put out there, and there’s no follow-up or follow-through.

Yes, it is important to get feedback as your game iteratively develops, and releasing early and often is great for getting that feedback and helping you see what direction to take. But it’s not as if indies are putting together epic games and dropping development as soon as they see that there is no audience, or at least that’s not my impression. They just aren’t trying to make bigger games, and apparently they think they’re being rewarded enough for the smaller games.

So are big games inappropriate for developers who aren’t Mojang? Is it too financially risky to make something deeper for players to enjoy, or is it the exact right way that we should be making games? Did you quit your day job to be mediocre, or do you want to meet your potential, even if it is a bit riskier?

Categories
Game Design Game Development Geek / Technical

A Summary of Recent Stop That Hero! Developments

It’s been a long time since I blogged about anything, and any “Stop That Hero!” posts were sparse, so let me update you on what I’ve been doing over the last couple of months.

When I made the original Ludum Dare #18 entry, I had just finished reading through two AI books: AI for Game Developers and Artificial Intelligence for Games, Second Edition. My LD version of “Stop That Hero!” was the proving ground for what I learned. Three days of “why won’t this work?!” frustration concluded with everything coming together, and I was proud of it.

As I worked on the full version of the game, I found that one of the struggles I’ve had with STH! is with regards to software architecture. The entity AI was especially unintuitive to work with because I had written a bunch of disparate systems that weren’t aware of each other but depended on all of them working together.

The Movement system assumed that the MovementComponent had its direction set correctly and moved the entity’s position according to its speed. The Targeting system would find the nearest targetable object. And the Pathfinding system would find a path to that targetable object. Now, they sound like they work together fine, and for those three responsibilies (movement, targeting, and pathfinding), they were great.

But path following was the responsibility of the pathfinding system, which updated an entity’s MovementComponent’s direction based on where the next node in the path was. Targeting was a bit weird, too. For example, the Hero targets treasure chests, castles, and towers. In the above system, the Hero would go towards the nearest targetable object, which means he’d pick up health even if he didn’t need it simply because he was closer to it than anything else, and I had no way to change it easily.

Part of the problem is my inexperience with creating AI systems. Another part is my inexperience with component-based systems. And a third part was my inexperience with software architecture in general.

Months ago, someone suggested I read Programming Game AI by Example by Mat Buckland. What this book had over the other two books I mentioned was actual working code and examples to read through. If you’re new to game AI, I would highly recommend Buckland’s book.

After reading through it and the source code, I rearchitected the AI of my game. Now instead of having disparate systems that somehow work together, making tweaks and changes unintuitive and hard, I have goal-driven agents. Entities have a Brain component, and different Brains have different kinds of goal evaluations. A sword-wielding hero, for example, might decide between conquering the nearest tower, going for the nearest health, or fighting the target enemy, and those decisions will depend on the health of the hero, the distance to a tower, and how strong the enemy is. A slime might be a simpleton and will merely try to reach its target enemy. A warlock might try to keep some distance from his enemy while staying within range to fire magic bolts or do whatever else warlocks do. And so on.

As you can see, changing the AI of an entity is much easier and intuitive with Buckland’s goal-driven agents. I understand that it is not the state-of-the-art in game AI, but it is way better than what I had, it is good enough for this project, and it wasn’t that hard to implement. The hard part is writing the code for the different goals and goal evaluators, which is more tedious than difficult.

As for other updates, I added the concept of teams to make conquering and fighting easier to manage. I was very unhappy with how the Targeting component was being abused in figuring out if a hero was at a tower or if enemies were within range of each other. I had envisioned levels where the player isn’t fighting against heroes but other villains. Slimes should be able to target slimes from another team, but before I added a Team component, there was no way to know.

In May, I added combat mechanics and death. Granted, I already showed a video of combat mechanics in action, but still. Weapons are implemented as projectiles for simplicity. If I want melee attacks, I’ll just set the range to be a short distance.

And since I was having trouble telling if the attacks were doing anything unless the target died, I added little health bars to provide feedback. When an entity’s health drops to 0, it dies. As in the original prototype, the hero has 3 lives (after all, all video game heroes have 3 lives), but I’m rethinking that idea based on a lot of other ideas I have for the game.

Originally, I was thinking about having melee attacks only, but when I added slime trails, projectiles made sense, and at that point, I realized that melee attacks can be implemented as projectiles. Yay, simplicity!

Also, yay, feature creep? Every feature that gets added means more time is needed to make the game. Isn’t it a bit late to make such a fundamental change to the game? The project is already way, way behind the original schedule. Why make it harder to ship?

Here’s my take: I’m less interested in shipping as fast as I can and more interested in shipping a fun, compelling game. By adding projectiles and slime trails, I’ve made the game noticeably more interesting.

Frankly, the game needed more interesting things to do. Since starting the project in October, it is only recently that I’ve done so much work specifically on experimenting with the game design as opposed to putting in scaffolding. Yes, I’ll be the first to admit that I took way too long to get to this point, but I woefully underestimated the technical requirements and did not have a full understanding of the scope of the project when I started.

All that said, in preparation for the launch of the game, I created a website for it. Go to StopThatHero.com, subscribe to the free email newsletter, and Like the Stop That Hero! Facebook page.

The website is not polished yet, but then again, neither is the game. There is a development blog where I will talk about STH!-specific work, and I’ll use the main blog here to talk about my business or anything else as before.

And now, I’ll disappear into my work again. There’s more that I haven’t mentioned above, but I will say that I’ve been redoing a bit of the front-end work in my attempt to separate the GUI from the actual game logic. While it might sound like I’m trying to do things “right” instead of “good enough for game dev”, I found that the separation is already making it much easier to move forward. Like I said, I’ve been weak in software architecture. I think other game developers assume I know more about how to hack something out that works well enough, but the truth is, the more I try to slap something together in the interest of going fast, the more I end up painting myself into corners. So I’ve been reading up on GUI architectures and reading through code to see how others handle it, and it’s been eye-opening.

Categories
Game Design Game Development Geek / Technical Linux Game Development

Stop That Hero! Dev Video: Slimes Throw Chests??

It’s really exciting when I add a feature to Stop That Hero! that I can actually show to someone, and in the last week or so, I’ve added two.

First, slime monsters now leave behind a slime trail. If the Hero steps in the slime trail, he is slowed down temporarily. The slime trail and the slow effect both wear off eventually.

Second, to actually take advantage of the slime trail’s slowing effect, I added projectile weapons. The idea is that the player will strategically send out slimes ahead of stone-throwing orcs or fireball-launching dragons. Their weapons should be more effective against a slowed Hero since they have more time to attack more often.

Once I changed attacks in the combat system to be projectiles, a quick test was to take an existing entity in the game and change its weapon configuration. Since I only had Heroes and slimes, I gave slimes the ability to throw a projectile at the Hero. Instead of attacking from one tile away, they can now attack from 10 tiles away. And to give the projectile an image, I used an existing sprite rather than spend time making something that looks good.

So for this test, it is the Hero versus treasure chest-throwing slimes!

The development video below is a demonstration of the results. Please excuse the lame art. I’m focusing more on the game mechanics/dynamics and less on the aesthetics for now.

I’m pleased to say that it only takes a handful of slimes to defeat the Hero instead of requiring a small army. While it means that my test worked as expected, it also means I’ll need to make some of the Heroes more powerful once I create some orcs or dragons, who should be stronger than the slimes.

Categories
Game Design Game Development Geek / Technical Linux Game Development

Continuing Development on Stop That Hero!

After returning from Europe, I spent over a week dealing with being sick. Even though I couldn’t get back to work right away, I was able to read through all of the advice I received on my post on the importance of speed, and I really appreciate all of the feedback. Thanks, everyone!

In that post, I expressed frustration with how slow my game development has been, especially with Stop That Hero!. I wondered if the project was too much for me at my current skill level, and if I needed to step back and try lifting lighter weights, so to speak. I know some game developers leverage a library of personal code that they have written and updated over the course of years. Others leverage existing engines.

While I have some boilerplate code, it’s not nearly as comprehensive as I would like it to be, and the stuff I do have isn’t always as easy to work with as it should. As I said in that post, 2D engines for GNU/Linux, my development platform, by and large do not exist, so I find I have to write a lot myself. If I had more to leverage, I’m sure development of STH! or any other game would be a lot faster since I wouldn’t have to stop and implement scaffolding technology to support a feature every time. It would already exist.

The advice I received fell into a few camps:

  1. Muscle through and get the game finished. Your tech will be ideal and perfect for YOUR needs.
  2. Stop targeting GNU/Linux and desktops in general as platforms, and focus on more “marketable” platforms.
  3. Stop working in C++, and use Flash/Unity/higher-level programming language/engine instead.
  4. Break your project down into smaller projects so you can have finished games and build your needed tech.
  5. Stop writing your own tech from scratch, and leverage the hell out of libraries/engines/existing source.
  6. Stop worrying about writing “good” code. Hack something together and get it done faster!

I didn’t know whose advice to ignore first! B-) Seriously, though, let me clarify some things about what I’m trying to do.

First, I am not making games just for GNU/Linux, and I never said I would, yet this seems to be a common assumption about my business plan. I am not locking myself to only one platform. My original plan all along was to release games for GNU/Linux, Windows, and Mac. It turns out that ports to mobile platforms, which are a huge opportunity these days, would also be fairly easy, so I went from following supposedly dying tech to being relevant again.

Second, I’m using C++ because it is what I know, and my choice was to make a game or spend time learning a new language to make a game. I chose to go with what I already know, even if it supposedly limits me, because I wanted to start running right away instead of figuring out how to put on my shoes. I can always use the next project to learn a new language if I want to, and switching languages on this project would be way too disruptive and set me back way too much.

Third, because my development platform is GNU/Linux, which makes targeting GNU/Linux dead-simple and a no-brainer, it means that engines like Unity are not options for me. I might be limiting myself in terms of access to premium development tools such as Photoshop and Adobe Flash, but I have been using GNU/Linux exclusively as my main desktop environment for a long time, and I’m not about to start booting into Windows just because most everyone else does. I’ve had to find non-proprietary alternatives for a lot of applications and tools, and I’m doing it for game development as well.

All that said, I think everyone had great advice, whether it was about my tech or my business plan or my development process. Without sales, my savings account is going to get smaller and smaller, and my biggest concern was where I should be focusing my time.

My choices:

  • I could continue to work on Stop That Hero!. I have been discovering how much more complex it is and how much longer it is going to take to finish it, and there’s a worry that by the time it is done, I’ll be out of savings. To make it worse, I’m very much aware that I can’t expect sales to take off just because the game is released. Sales is going to to be a lot of work, and I might not make enough to cover my expenses early on, forcing me to spend time and effort making money in other ways, which takes away from my business. And I’ll admit that I do not know what the reception of this game will be once it hits a real audience, although I do plan to get feedback from play testers once I have something I feel comfortable showing to people, which should help. Still, it might be an unsellable flop that can’t be salvaged no matter what I do. That’s a lot of pressure on this one game.
  • Put STH! on the backburner and work on something smaller. My intention was to work on multiple small games over the course of the year. I’ve since learned more about my capabilities as a game developer and the limitations of my existing tools and tech. Essentially, STH! was not as “small” a game as I originally thought. STH! was meant to be a one-month game project in the first place. Since the schedule has slipped so far, perhaps it is best to cut my losses or at least put the game on hold and work on something I can accomplish in a matter of weeks. I have a couple of Ludum Dare projects that could be candidates for simple games. The diversified portfolio I could create in a matter of months could help reduce risk. If one game doesn’t do well, I’d have another one on the way shortly, and cross-selling might help improve sales. On the other hand, what kind of sales can I expect on a bunch of quickly-produced games that must compete with all of the free and low-priced casual games being produced every day, as opposed to focusing my efforts on my current project? Also, I run the risk of having two unfinished projects since it is possible that a lot of the problems I’ve encountered with STH! could crop up in another project anyway.

If finishing STH! would take two years, and my savings will only hold out for three months, I’d do best by switching to a smaller, faster project in the hopes that I can make at least some income. On the other hand, the race to the bottom in the pricing of games doesn’t provide me with a lot of encouragement to produce small, disposable games. Perhaps the fact that STH! is a bigger project means that the finished product can be something that a fan base could build around.

Since STH! is not a two year project and I expect to finish it before I have to worry about my savings disappearing, I’ve decided to continue working on it. My goal is to get it commercially ready to sell in June.

I did not have a playable game to release yet, but I looked at the remaining features to implement and various ideas I wanted to try, and I started pushing a bunch to Version 2.0. I spent a good chunk of the remainder of April in a self-imposed crunch. I ignored my project planning system, ignored writing for the blog (which explains the lack of posts in the previous month before Ludum Dare), and dedicated as much of my time as I could to making a friends-and-family playable game.

By friends-and-family playable, I mean I wanted to implement enough of Stop That Hero! so that I can hand it to my fiancĂ©e or a friend and say, “Here, play it with the understanding that this is an early Alpha version. The graphics suck, there’s no sound, and the game play is raw.”

While that Alpha build isn’t ready yet, I will say that April has been a very productive month, especially considering that I was only able to do all of the work in the final couple of weeks. And since recovering from Ludum Dare #20, I’ve started off May with some quality development time as well.

I’m seeing this project through, and I’m confident Stop That Hero! will be a great game.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD20: Hot Potato Windows Port Now Available!

I updated my final Ludum Dare #20 Jam entry to include a link to the Windows port of Hot Potato. Whew! Now I can get back to working on Stop That Hero!. B-)