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

LD20: I Was Not Expecting This Theme

So the theme for Ludum Dare 20 is “It’s Dangerous To Go Alone! Take this!”

I’m not really sure about it. I was really hoping for “Traps”, but you play the hand you’re dealt.

I haven’t thought too much about the theme yet (I was busy play Jeopardy! for the Wii with friends when the compo started), but here are some first draft game concepts:

  • Your Guardian Pet: Think Ico, only you’re the helpless one, and you have to leave your protective dog sometimes to find a way to get it into areas you need to go.
  • Shove Off!: You’re among a crowd of prey (sheep?), and there are predators (wolves?) circling. You need to maneuver yourself into position to push, kick, or shove the other prey out of the crowd so the predators eat someone other than you. It’s more like “Take THIS!”
  • Hot Potato: There is a very important item, and your team needs to deliver it, but there are agents trying to stop you. If a team member gets isolated while holding the item, you lose, so try to pass off the item to someone else before the agents can corner you.

One thing I want to try to do is avoid complexity, and while I’m more familiar with artificial intelligence, I’d rather not have to code up pathfinding or goal-driven agents. I’ll try to focus more on player-controlled mechanics and system interaction than on building a living, breathing world.

For now, I’m going to sleep on the problem, and in the morning, I’ll start prototyping some ideas. Good night, Ludum Dare!

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

April Update. Also, Ludum Dare 20 is here! #LD48

I haven’t updated my blog in the last month. Let me explain.

First, last month I wasn’t in the country. My blog posts in March were scheduled to be published while I was traveling through Europe for 18 days.

One highlight: in a moment of certainty and confidence, I proposed to my girlfriend on the balcony of Neuschwanstein Castle in Germany.

She said yes.

So now I’m engaged, and there’s wedding planning to do, which is apparently a lot of work and full of stress.

Second, after 24 hours of flights to get back home, I spent the first week or so feeling sick. I wasn’t doing much in the way of productivity. Heck, I don’t think I felt well enough to play “Minecraft” either. It was a miserable time, but I did get to catch up on what I call “Movies No One Wants to Watch With Me.” Have you seen Arena, the 1989 sci-fi film featuring a who’s who of Star Trek and Babylon 5? It’s kind of bad and cheesy, but I enjoyed it.

Third, upon recovery, I was dealing with tax preparation. Having a CPA do the work for you and answer questions is great for peace of mind.

Fourth, I’ve been a lot more active in the Association of Software Professionals this year. As a board member, I had a lot of catching up to do when I got back from Europe, and there have been some big decisions recently. There are some exciting plans in the works, and I don’t know how much I can say publicly here. If you’re an indie game developer and are not a member of this professional trade organization, I’d urge you to join to learn how to make your games more marketable and sell more effectively by joining the ASP today.

Fifth, I’ve been hard at work on Stop That Hero!. My goal was to have a friends-and-family playable (not for public consumption) version of the game ready by the end of this month. I’ll be short of that goal before Ludum Dare starts, but I’m quite happy with the progress I have been able to make in the last two weeks. I’ll write more about it in another post next week.

Sixth, Ludum Dare 20 starts tonight! If this blog has been quiet this past month, it will be the exact opposite this weekend. As usual, I will be live-blogging my participation in the 48-hour game development competition. Consider this post a warning that you’ll see a flood of updates soon.

Ludum Dare 20 will be a nice break from working on STH!. I’m hoping that the theme “Traps” wins, but there are some other good ones in the running, too.

The keynote is already live, and I think Sos did a great job on it! It’s like a call to arms for game developers!

While I didn’t submit my own video to it (I’ve been busy, as I’ve mentioned above), let it be known that I’m in.

Are you participating in Ludum Dare 20?

Categories
Game Design Game Development Marketing/Business Personal Development

The Importance of Speed

At GDC, I heard a lot of conflicting advice.

Dan Cook suggested a broad portfolio to reduce risk, for instance, while other developers talked about focusing your energies on a single project or genre.

Whatever any one indie said, the one thing everyone seemed to agree upon was the importance of speed.

Dan Cook has written about the importance of quick iterations to “find the fun” as quick as possible.

Andy Schatz talked about the development of Monaco when he was almost about to throw in the towel on being an indie, and he advocated working on something exciting every day.

Use two hour game jams to explore game mechanics or designs.

Play-test early and often.

Create an MMO every day.

With Stop That Hero!, I already knew that things were going much more slowly than I would have liked, but the importance of speed really hit home during the Ludum Dare Jam at the Noisebridge hacker space on the last day of GDC.

My goal: create one simple, quick game every hour during the jam. I knew it was ambitious, but I wanted to try out this focus on speed.

In the end, I spent hours just trying to cobble together some decent code to use as a base for my first project, and I didn’t manage to finish it.

That’s not agile. That’s not speed. And that’s not good.

I struggle with my major project partly because I don’t have a base of code to leverage. Every time I need technology to support game play, I have to figure out how to implement it and fit it into my existing code. I never spent any time working with something like Game Maker or a game engine such as Quake or Torque, and since I do my development on GNU/Linux and want to be able to port to multiple platforms, there aren’t really any 2D engines available for me to work with. If I need some tech, I more often than not have to figure out the best way to architect it myself. My current pathfinding and navigation code is difficult to work with, for example, and I’m sure there is a better way.

Stop That Hero! might just be too much for me right now, and I might be better served by stepping back to work on smaller projects that don’t require AI, UI, or any other technology I don’t currently have. Also, I could probably do well to dedicate time to studying existing source code.

While part of me wants to muscle through and not leave my first major project unfinished, another part of me thinks I would do better building up my tech by creating smaller games around individual pieces. For instance, if I created an entire game around clicking buttons, I would have created my UI code AND have a finished game to show for it. On the other hand, I’d probably run into a lot of the same issues trying to finish a smaller game anyway, so why not continue working on the same project?

I really want to see Stop That Hero! get finished, but the ship date keeps getting pushed back, and the problem isn’t necessarily a matter of features that can be cut. The basic game requires a lot of moving parts which still aren’t created, so it’s not as if I have scope to reduce.

If I want to work and ship faster, I need to change something about what I’m doing. Either I need a improved technology base, which I obviously haven’t been able to create quickly, or I need to temporarily switch to a smaller, simpler set of projects.

How would you approach this problem? Would you try to use smaller projects as stepping stones to the larger project, or would you continue to work on the larger project, figuring that you would end up hitting the same obstacles and solving the same problems anyway?

This post was scheduled to be published at a time when I will not be able to access the computer. I’ll respond to comments when I return at the end of the month.

Categories
Marketing/Business Personal Development

Happy Anniversary, GBGames!

It’s been five years since I first formed an LLC. Last year’s anniversary post mentioned that I was not happy with the previous four years of part-time progress and hinted at what I planned to do about it.

A few months later, I was a full-time indie game developer.

And I wish I had something exciting to post on this five year anniversary of GBGames, LLC, but being full-time and focusing so much more of my time and energy towards my business has taught me a lot, including how much I don’t know about making games.

But since going full-time, I’ve attended my first Game Developers Conference, broke ground on my first major project, and learned first-hand about the trials and tribulations of running my business.

When I was running GBGames part-time, I had “corporate welfare” keeping me going if I wasn’t able to produce much. Now, if I don’t produce, I have a dwindling savings account to look at. In other words, there’s a bit more urgency when I work.

As stressful as it might be, this last year has been my best one yet. I’m doing what I want, dedicating as much time as I want to it, and having a more fulfilling and fun life. And frankly, having a window in my office beats a cool screensaver in a cube any day. B-)

In the coming year, I will be releasing my first major commercial games, and I’ll finally get to apply all of those sales and marketing tips I’ve been learning.

Here’s to five more years!

This post was scheduled to be published at a time when I will not be able to access the computer. I’ll respond to comments when I return at the end of the month.

Categories
Game Development Games Politics/Government

Last Day to Vote!

Today is the last day to vote for the 2011 IGDA board! Did you vote yet?

I voted

Check out the 2011 candidates to get your last minute votes in!

This post was scheduled to be published at a time when I will not be able to access the computer. I’ll respond to comments when I return at the end of the month.

Categories
Games Geek / Technical

What Is This Ninja Game?

And why does it look so fun? B-)

I saw some people playing this game earlier during GDC outside of the IGDA booth, and I wish I hadn’t pulled a back muscle recently so I could participate.

I recorded this second session, which was much bigger. I had to stop recording since the Moscone Center was closing for the day and I was not a volunteer, but I tried to capture the thrilling conclusion to this session:

I need to hang out with playful people more often! B-)

EDIT: Ah, it’s an Indiecade thing! Free Ninja

This post was scheduled to be published at a time when I will not be able to access the computer. I’ll respond to comments when I return at the end of the month.

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

The After GDC Glow

Last week I attended my first Game Developers Conference, and I guess the best way to start the recap is to say that I had a blast!

The Independent Games Summit was full of different groups of indies. Some knew each other from TIGSource. Others have been around forever. And since we’re all indies, we each had our own unique story and reason for being there. Even so, it felt as if everyone knew each other and were fairly supportive. It was like a very odd yet loving family.

I only had a Summit & Tutorials pass since it seemed to be in the sweet spot between the too-expensive All Access Pass and the “let’s hang out with people who want to find a job at the Career Pavilion” Expo pass. While I couldn’t attend a lot of the cool talks and panels in the later half of the week, I was still able to attend any of the summits.

At one point, I skipped out on the IGS summit for an AI summit talk on pathfinding. James Anhalt of Blizzard talked about the pathfinding problems of StarCraft 2, Alexander Kring of Nihilistic focused on Heroes on the Move, and Nathan Sturtevant from the University of Denver worked on Dragon’s Age: Origins. They each gave a glimpse into the tech behind the games, and the Q&A session at the end made me laugh because it was almost all complaints about StarCraft.

If I would have attended the Google Android Day tutorials, I apparently could have received a free Google device. I didn’t, but I got to see the long line for the tutorials that morning. It’s kind of the same, right?

On the other hand, I did sign up for an Intel AppUp event with Mike “PoV” Kasprzak and Phil “philhassey” Hassey and received this baby:

My New Intel-provided, Meebo-based Tablet

It’s a Meebo-based EXOPC Slate! I finally got a cool consumer electronics device!

The best part of GDC was meeting everyone I’ve only ever spoken to on IRC or on web forums. Whether I was having lunch, standing in line, or walking to a session, there was always someone’s name to call out to and say “Hey! I recognize you from your online avatar!”

I briefly met Leigh Alexander, Drew Sikora, Ian Schreiber, Noah Falstein, and Derek Yu. I met game developers I’ve talked to on the Indie Gamer forums and in the #ludumdare IRC channel. I met game developers I’ve only heard about in passing.

The IGDA booth with Corvus Elrod and company!

And I got to hug Corvus Elrod of Zakelro! Don’t forget to vote for the 2011 IGDA board!

The Ludum Dare meetup was fun and had a good turnout:

Ludum Dare meetup

Ludum Dare meetupLudum Dare meetupLudum Dare meetup

There were so many of us, we needed multiple tables!

And here’s a link to a bunch of us wearing LD48 shirts.

And one action shot of PoV eating:

PoV eats!

I was finally able to attend the Independent Games Festival and the Game Developers Choice Awards.

The IGF/GDCA at GDC

Congratulations to Mojang for winning five awards between the two events, including the Seamus McNally Grand Prize in the IGF!

At the end of the week, we had the Ludum Dare Jam at Noisebridge, a really cool hacker space.

Ludum Dare Jam at NoisebridgeLudum Dare Jam at Noisebridge

And an action video of Phil Hassey sleeping:

I had to leave the jam early and get on a plane the next morning, but I definitely want to do GDC next year! Heck, two days into it, I half wanted GDC to be over so I could get back home and make games sooner!

In the meantime, what was your favorite part of GDC?

This post was scheduled to be published at a time when I will not be able to access the computer. I’ll respond to comments when I return at the end of the month.

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

Off to My First GDC!

Wooooooooooooooooo!

WOOOOOOOOOOOOOOOOO!

After years of being one of those people who was a bit jealous of everyone who was going to the Game Developers Conference, I realized that I’m now one of those people to be jealous of. Today I will be setting foot in San Francisco, and tomorrow I will pick up my badge for the GDC!

And then I’ll be wide-eyed and star-struck and generally feel like the humble newbie I am. B-)

I’ll be attending the Indie Games Festival for the first time, meeting Ludum Dare regulars at the Ludum Dare meetup for the first time, and otherwise taking in the sights and sounds of GDC…for the first time!

I’ll be there through Saturday, so feel free to contact me through Twitter: @GBGames

WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO! GDC!

Categories
Geek / Technical

The Perils of the Sedentary Indie

A week before I fly to San Francisco for my first GDC, I visited my family back in Chicago for the weekend. My plan was to go back to Des Moines Sunday evening so I can spend the next week preparing for the conference.

It’s now Day 6 of that weekend due to a pulled back muscle, and I blame my niece.

More accurately, I blame myself for not taking care of my body better. I’ve been super focused on making progress on Stop That Hero! end game victory and defeat conditions, especially in the last few weeks. In terms of my health, though, I felt under the weather in the previous week, and sitting at my desk for many, many hours on end is punishing on your posture.

Driving for 7 hours to Chicago last Friday didn’t help.

Then I saw my niece, and while playing with her, I discovered that jumping up and down makes her giggle. If you have a niece, you know that her laugh is one of the best sounds in the world, and so you keep doing whatever it is that makes her laugh. So I kept jumping up and down for much longer than I’ve ever done in what is probably years.

And throughout the rest of that day, I went from feeling perfectly fine to feeling a light twinge in my back to being unable to move my arms, legs, and head easily.

I was in a lot of pain, and driving for another 7 hours was not going to happen until I could sit for longer than 5 minutes without feeling like I was being tortured.

The Difference Between Having a Job and Owning Your Business

Now, if I was still working at a Day Job, I’d most likely get paid time off, and here would be an excuse to actually take advantage of it! One of the benefits of a good job is that they pay you if you can’t work, bizarrely enough.

But since I’m an indie developer who isn’t finished creating his first game yet, let alone earning income from sales of said game, every day I’m unable to work equates to money lost. I’m burning through savings as it is, and the productivity hit from being sick or injured isn’t helpful.

When you’re sick, you feel miserable and unmotivated. Maybe you can do only half of a day’s work today? When you’re injured, it can either be no problem (I don’t need my ankle to type code), or it can be debilitating (if you’re in extreme pain when you lift your arm, you probably shouldn’t be mousing with it).

But either way, if you run your own business and are unable to be productive, it’s frustrating. It’s especially damaging if you don’t have an automatic selling system in place. Ideally, if I had games to sell, I could make money while I sleep, or while I’m on vacation, or even while I’m unable to work. Until then, it’s almost as if you are carrying the entire business on a tightrope, and you’re just trying to make it across to the other side before you fall. My savings are providing me with a safety net, but I’d rather the money go towards more productive uses.

While I haven’t been able to work on code this last week, I did take advantage of the downtime to catch up on an Internet business marketing audio course I’ve been meaning to finish. I brought my game development notebook with me, so I spent some time going through it and remembering how Stop That Hero! has progressed, as well as thinking about the future direction of the project.

In the end, I tried to make the most of my situation, so this last week wasn’t a total productivity loss, but it’s still frustrating that I couldn’t get back to work.

Taking Care of Your Indie Self

Days before I pulled my back muscle, I recall thinking, “Self, it’s been some time since you last did a good stretching session or even went for a walk. You should probably start getting your body moving again before you regret it.”

And I said, “Ok, Self, sure. I’ll get moving as soon as I finish working on the combat mechanics.”

There’s lots of excuses for not taking care of yourself. Gym memberships are too expensive to justify when you have no income. It’s too cold to go outside. Driving downtown to the excellent Des Moines skywalk system to walk indoors is too inconvenient. You woke up too late (again), blowing past your scheduled exercise time.

But in the end, they’re excuses, and eventually your body pays for your health debt.

If I was more strict about taking an hour every morning to do stretches and exercises, maybe my back muscles wouldn’t have been so shocked by all the sudden jumping and movement, and I wouldn’t have lost a week of productivity. Maybe if I didn’t care about feeling silly, I could have at least walked up and down the stairs within the building I live in.

And if nothing else, the mental clarity that exercise brings should be enough of an incentive if I insist on having workaholic tendencies.

Cliff Harris of Positech Games advocates archery as some fun physical exercise. David Michael, author of The Indie Game Development Survival Guide, lifts weights. A colleague of mine makes an effort to walk periodically throughout the week (and I should really take up his offer to join him once I recover).

Even with daily exercise, it might not be enough. Noel Llopis writes about his standing desk experiment and the news that sitting for prolonged periods of time can be deadly. I’ve been wanting a standing desk myself, if only for the change in posture.

How do you take care of your physical health as an indie game developer? How much of a priority do you give to exercise in your life?

Categories
Game Design Game Development Linux Game Development

Adding Victory and Defeat Conditions to a Game

Victory Screen

Here’s a question: how long does it take for a new game project to add a way to win or lose?

I ask because I noticed in my finished 48-hour competition projects, I typically wait until the last hours to add a way to end the game, and I wonder if waiting this long is a common occurrence for other game developers.

In the last day or so, my efforts focused on providing Stop That Hero! with a way to know if the game has ended in victory or defeat for the player.

If the Hero has conquered the castle, the game knows that the player lost and ends the game with a message informing the player. If the Hero has run out of lives and is currently dead, then the game knows that the player won, and a different message is presented.

End game conditions are obvious things for a game to have, but early in a project, when you’re trying to figure out game play, it’s easy to forget that the player is going to wonder what his/her goals are. Or not. Maybe end goals are the first things game developers should implement? Maybe they should come last? See the questions at the end of this post.

Now, recognizing and handling defeat was relatively easy. I already had a way to clear towers, and I merely check if the castle is specifically cleared. Clearing is kind of hacked together, though. All clearing does is deactivate the target for a tower/castle, so my defeat condition monitor is checking whether the castle’s target is active.

I’m not happy with the abuse of targeting components in tower clearing, but it functions for now, and it is easy to change once clearing becomes a more involved. When the Hero reaches the castle, a message pops up to inform the player that the game was lost, and a button is presented. Clicking that button takes the player to a yet-to-be-implemented stats screen.

Victory was almost as easy, but there’s no combat mechanics in the game yet, and until I started worked on victory conditions, there was no concept of “lives” for an entity like the Hero. So I had to do a little more work, such as implementing entity lives and a command to kill an entity.

And in the end, the way I test that it all works correctly involves mapping the “K” key on the keyboard to the “kill entity” command. I’m keeping this one around because it seems like it would be useful for general testing.

Still, even without key parts implemented, Stop That Hero! has ways to end, and I was surprised at how quickly they came together considering all the moving parts I had to create. Ideally the victory and defeat conditions could be scripted objectives, but what I have is good enough for me to get to an initial, playable release.

Now, some questions for the veteran game developers. Is it ever too early in a project to have a way to end a game? Does it limit the possibilities for a game’s design too early, or is it a good way to keep a game project focused? Does it depend on how open-ended or specific the project is?