Categories
Marketing/Business

Shareware Development Takes Patience

Tom Warfield had a number of articles written years ago that I’ve never read, and he’s been updating his blog by reposting them. The latest such article is How Long Does Great Shareware Take?, which he originally published in 2003.

Now, it is generally understood that you can’t go into indie game development and expect to become rich overnight. Steve Pavlina’s article on the difference between shareware amateurs and shareware professionals notes how important it is to realize that version 1.0 isn’t the latest version of your product. You release, fix, rerelease, update, rerelease, etc. Warfield mentions that most shareware products don’t do well initially, and his Pretty Good Solitaire actually took months to sell one copy and years before it was sufficient to live off of the sales.

Last month I found a thread on the old Dexterity forums about shareware games, and there was a discussion between Pavlina and Warfield likening their business models to rotating a flywheel. It’s harder to turn at first, and it might seem like you are putting a lot more effort into it than getting rewards out of it, but eventually it gets easier and easier to turn faster and faster.

But patience is required. If you aren’t satisfied with the immediate results and try to change them, you’ll constantly change and never let anything last long enough to actually work. If I kept restarting my own game development just because it took longer than a month, I would probably have four partially finished projects instead of one, er, much-more-completed project. And I’m just starting out! I’m just now getting feedback about the game from people, some of whom haven’t had a chance to actually see it in action.

If Joel Spolsky says that great software takes 10 years, and Warfield and Pavlina have said similar things for shareware games, then it would make sense to plan for the long haul for indie game development, especially when you are flying solo and aren’t able to lean on 10 employees of varying skills and talents.

Categories
General

My Hair Was So Stupid Back Then…

I am working on my business plan, and part of it entails figuring out which payment processors I would like to use. I know that the question crops up on the Indie Gamer forums a lot, and so I searched through the archives.

You know how people look back at high school photos and laugh at everyone’s hair? “Man, I can’t believe we thought we looked cool back then.” That sort of thing?

Well, going back over your year-old posts on old forums is kind of like that. Or at least it is for me.

Check out this thread about creating a sacrificial title. David York asked if it made sense to create a simple, easy to make game to gain the experience of making a game and selling one. Since hindsight is 20/20, why not make use of it before you make your serious game?

Now check out my response. It was posted July of last year, and I have definitely learned a lot since then.

I agree, though. Start small and work your way up. Gain experience, and then you can start to tackle the bigger projects.

Wow. Sage advice. Where the heck did I get off giving it back then, though? I am certainly no guru today, and a year ago I didn’t even really have any experience to speak of. Maybe it seems like obvious advice, but there are other examples where I was talking about theory as if it was practice.

I am sure Indie Gamer and GameDev.net and the Association of Shareware Professionals Members newsgroup abound with similar advice by yours truly.

At one point I realized that I really shouldn’t talk like I knew what I was saying when I didn’t really know about the topic, but I soon discovered that prefacing everything I said with “Keep in mind that I’m not speaking from experience, but …” wasn’t any better. And at one point I started to wonder if the “Man, these forums are starting to get a high noise-to-information ratio” wasn’t directed at me. So I stopped posting as much as I did.

Which was good because I didn’t spend so much time on the forums and was able to direct my energies to more productive matters. I can’t get paid for being one of the top five posters on the board, and I definitely don’t have as much advice on the business-end of things as other people might to justify that many posts.

It was like finding an old email I had sent to root at the email server used by my college in my freshman year. I had asked how to setup a website on the server, and he wrote back explaining how to create the public_html directory and changing the permissions to allow everyone to view it. At the time I had no Unix or Gnu/Linux experience, and so I actually wrote back, “Thanks, but I think it needs a better user interface.” Reading that email four years later, after I’ve been using Gnu/Linux as my main OS and have a much better understanding of permissions and Unix in general, made me laugh.

Man, was my smiley funny-looking a year ago…

Categories
Personal Development

Action vs Waiting, Practice vs Talent

Action wrote Debugging Habits: “Wait and See” vs. “Act and Learn” in which he discusses the results he gets by taking action versus waiting around for things to happen or fall into place.

On a similar topic, David Seah wrote Building a Niche of One, in which he discusses leveling up abilities by orders of magnitude. He cites an article that claims talent isn’t the only thing. Practice is just as important.

Just like successful songwriters need to write hundreds of songs before they get their “overnight” hit, chess players need to play thousands of hours worth of games to become good at chess. Seah was nice enough to provide a graudated scale. 10,000 hours over the course of 10 years might make you a master, and it sounds daunting. Well, yeah. It is. That’s a lot of dedicated hours. But 1,000 hours is doable within a year if you work full time, and you can be an experienced expert. Already have something taking up your full time? 100 hours can be done on the side, and you can still be somewhat of an expert. 10 hours could be a dedicated weekend or spread over a few of them, and you’ll definitely learn enough to be dangerous. Even dedicating an hour to a task will give you practice with the basics.

I’ve never liked the idea that some people are just never going to have certain talents. It sounded too much like your lot in life is set before you, and you never had a chance to make a difference one way or another. “Some people just aren’t meant to be programmers” or “Some people just aren’t musically inclined”. I personally think that if they aren’t going to be able to do it, it is because they’ve decided that they won’t do it. It wasn’t due to any inability except to take action, any action. I’m sure talent is important, but I also believe that talent isn’t always inate. Left-handed people might be more creative initially, but I’m sure if I practice being creative enough, I’ll also get a +4 creativity roll. Or at least be much better than I am. No law says I must stagnate.

I can play chess, but I don’t have nearly as much experience as a friend of mine does, and he destroys me almost every time we play. Almost, because I’m slowly getting better. One game I almost won, and one time I managed to take his queen before he realized his mistake. B-) I also play as Terran in Starcraft, and while I know “how” to play, I am almost always struggling to survive by the end of a game. Almost, because there were a few games where I made a decisive strike that would have turned the tide of battle permanently in my favor if I had only paid attention to producing more units (Larry, I will defeat your Protoss!). When I first played Quake 3 Arena, I was the n00b that would stand on a platform and look around while rockets and machinegun fire found me like mosquitos on a hot summer day. Eventually I became the regular leader on the boards within my group of friends. Well, until they remembered how to play again (there was a long absence from the game for a lot of us). Even then, I was holding my own. I gained experience and was able to play more competitively. I became better, even though I stunk something fierce when I began.

Whether it is programming, meeting women, writing novels, juggling, brainstorming, or playing games, taking action and getting the experience of the attempt, whether you accomplish your goal or not, will always improve what you know. How can I possibly learn the best way to design a C++ class in my game project if I don’t get familiar with the problem domain? How will I learn how to write the next great American novel if I don’t try to write anything before taking it on?

I’ll make mistakes. I’ll make HUGE mistakes. I’ll probably look silly. But I’ll only have myself to blame if I don’t learn from it. I’ll take a variation of “Fool me once, shame on you. Fool me twice, shame on me” as “I stumble once, and that’s expected. I stumble again, and I should have marked the stupid rock on a map!!”

Perfect practice makes perfect. No one is perfect. You’re expected to make mistakes. Learn from them. Then do better. Then do better again. Take action, practice and learn.

Categories
Marketing/Business

I Hate Being Sick

I somehow came down with something yesterday. I woke up, my throat was sore, I got to work, spent the entire day feeling slightly warm, then got really warm and felt terrible on the train ride home.

I ate some dinner, drank some water, and went to bed. So much for Development Night.

Of course, I was so sick that I couldn’t just fall asleep. I needed to sleep, but I guess my breathing was weird. My heart was beating pretty fast for being stationary. Eventually I did fall asleep, but now I’m wide awake, it’s 10:45PM, and while I’m feeling a bit better, I feel like crap for not being able to sleep AGAIN.

Oddly enough, while I was waiting to go to sleep, shivering in bed because I was so warm and my room is above a garage, I kept having delusions about how my game business was going to work. I imagined what it would be like to have a FAQ that talks about my company. I imagined that GBGames was a lousy name and that I was working on a new one. I imagined talking about how much more trust my business model put in the customer compared to say Sony or Valve: “No DRM here!” I imagined talking to other developers, and I was actually a role model for a number of them. I was a serious competitor to a lot of businesses as well.

I had a number of other images, and I am upset because I would have loved to write all of them down, but every time I became conscious of them, I would immediately forget. It was like I was dreaming, realized it, woke up because I had to breathe (stupid stuffy nose), and forget the important points.

I hate being sick, but I really got excited thinking about the near future. I smiled despite the crappy way I felt. I actually dreamed about the success I was going to have.

Now to make an action plan to make it into a reality.

I’m writing this still feeling a bit sick, so hopefully it isn’t too rambly. I’m just awake enough that I can’t lie in bed anymore, sick enough that I can’t do too much, and my back still hurts enough that I can’t sit up and read a book.

Categories
Game Design

Game Design Resources

Even while I continue to work on Oracle’s Eye, I am looking forward to working on my next game project. Since OE took so much longer to develop than I expected, I can imagine that something similar will happen with my next project. I’ve also mentioned that I want to create a game for the next Independent Games Festival. I want to make sure that I dedicate enough time to that project, so I might as well get a jump on designing it instead of postponing it.

I’ve set a deadline by the end of December to get a basic idea of what kind of game I want to make. Of course, I’d like to be able to come up with more than just “it’s got spaceships and explosions and stuff!” I’ve realized that game design is a complete discipline in and of itself. You can’t design games just because you’ve played a lot of them when you were younger, just like you can’t be a high school educator simply because you went to high school and “know all about it”. While hacking it out is great for getting things accomplished quickly, it is also hard to know what it is you will end up with by the end. Also, I’d rather avoid potential game design pitfalls if I can help it. While reinventing the wheel is good for learning how it works, I wouldn’t mind reading about how other people might have messed it up before getting it right. I’ll mess up enough as it is. I’m all for taking risks instead of stagnating with what is safe, but I don’t have to ignore potentially helpful experiences that other people have been thoughtful enough to document for me. B-)

And so I decided to look up game design. I went to GameDev.net first and checked out the Game Design articles since I remember going there years ago. HOLY. COW. I don’t remember having access to that many articles on the subject! Maybe I just appreciate how important the topic is these days. Maybe there really has been that many new articles produced in the past couple of years. There are definitely a number of new game design books.

And I definitely have a lot more reading to do.

Categories
Game Development Politics/Government

Future Copyright Developments

Ernest Adam’s The End Of Copyright on Gamasutra focuses on a very touchy subject. I don’t know if I agree that copyright will end completely, but I do like that Adam’s actually did what most people seem to be afraid to do: he looked at different possible business models. He also appreciates that copyright is not the inalienable right that some people make it out to be.

Obviously the traditional business model of selling a single copy to each player isn’t the only one that exists. MMO games, even before Everquest, show that subscriptions work just as well. Some people will pay for better features, improved items, or just faster servers. Some people would pay for the privilege of having a better quality experience. Imagine if a Mickey Mouse movie came out that wasn’t by Disney but was 100 times better than anything Disney ever produced? Sure, if there wasn’t any copyright, anyone could then redistribute it, but I’m sure you could make some decent money by charging for the privilege of seeing it when it is only released in a select few theaters that you control, right?

I don’t think copyright should go away, but even if it did, I don’t think it would be the end of innovation and science. People will still want to create. They will still want to design. They will still work. I really don’t see everyone falling on their knees and crying out “What do we do now without the protection of copyright?!?” Oh, I don’t know, you could just make money by being the sole provider of an original work?

Of course, without copyright you won’t even have open source software to blame for your inability to profit from your work. If people didn’t want to give away the source code, they could keep it a secret. People do so now, anyway, but without copyright there would be no legal recourse to get access to the source. Open source and proprietary software both benefit from copyright law, contrary to what some would report as fact.

Anyway, it is good that a big name is actually taking a look at the industry and saying, “Hey, you don’t HAVE to do things the way everyone else is!” The idea that the most popular business model isn’t necessary is still a “crazy” one to a lot of people.

Categories
General

Back from Thanksgiving

Now that I’m back, I find that I have a lot of reading to do! Lots of blog updates, lots of email, lots of regular mail, lots of magazine articles, and lots of game playing. Ok, so the last one isn’t strictly reading, but still, it must be done!

Oh, and Christmas shopping.

Categories
Game Development

Oracle’s Eye Development: Movement Code Improvements

Already I’ve improved the movement of the Player and the Ball.

Essentially, what I am supposed to do is make any moves, then walk through the Kyra Tree, then check for collisions and respond accordingly; however, my hardcoded movement code moved the Player, then walked the Tree, then moved the Ball and checked for collisions. The Player worked out just fine, but the Ball would get stuck in the Wall.

Then I changed it so that the actual movements wouldn’t happen until the update code ran. When you push the arrow keys, the Player’s Direction changes accordingly. It will only change positions during the update, and it does so at the same time as the Ball. Then I walk the Tree, and so collision detection is a bit more accurate.

Also, the Player only moves in four directions now, so it isn’t possible to move twice as fast on a diagonal. For this game, not being able to move diagonally shouldn’t be a problem, but an adventure or action game might require such movement in the future.

The Ball currently changes Direction when it hits a Wall. It’s actually kind of cool to watch the Ball bounce back and forth between the Walls. If I start adding more Walls throughout the middle of the level, it could actually be fun.

It’s amazing what can be done when you don’t have to worry about ruining the code base. I’ve been using Subversion all this time, but psychologically I’ve been concerned about doing the wrong thing. I basically convinced myself that I’m going to be writing code that needs debugging anyway, so the “wrong thing” will most likely be a bug that needs to be fixed to make the right thing. So far, I haven’t had to rewrite whole sections of code, or if I had, I haven’t noticed it as hard work.

Thanksgiving is here, and I’ll be out of town for the rest of the week/weekend. I’ll probably have a bunch of spam comments to delete, and I won’t likely have time this weekend to approve any. Still, keep the comments coming. I love the feedback. B-)

Categories
Game Development

Oracle’s Eye Development: What’s Left?

While I have pretty much made the game “feature complete”, I feel there is still a bit of work to do. As most developers would put it, I did the first 90%. Now I have to do the remaining 90%. Except I feel like I did the first 20% and still have 160% left. B-)

What improvements and additions can I make?

  • Sound. Right now, the game is completely silent. It shouldn’t be. Even simple beeps would be an improvement.
  • Improved collision detection. If the Ball hits a Wall, it is possible that it can become stuck. It shouldn’t.
  • Level loading. It’s very boring in its current state. It has only one level, and it is a trivial one at that. It should be able to load an arbitrary level layout from a file, which will allow multiple levels to be created. Any players should be able to load an arbitrary level from a menu.
  • Graphics. Why is the Ball always rotating in the same direction? Why is the Player’s sprite just a static stick-figure? Why not spice it up and create some animated movement?
  • Better quality code. My code doesn’t delete memory properly. When I create a Room, it is made up of a series of sprites that get owned by the engine, and the engine deletes the sprites just fine when the engine is deleted, but the Room itself isn’t deleted. I couldn’t delete the Room without causing a seg fault since I shouldn’t delete the Tiles in the Room. I’m sure there are other places that could be improved.

With all of these improvements, why leave Oracle’s Eye alone? I admit that I want to start working on something I can knock out relatively quickly, such as a Space Invaders clone. I’ve learned a bit while working on this game, and so I should be able to improve on what I’ve learned by working on something new. On the other hand, I feel like I would be quitting while there is still some good educational value left in developing this current project.

It’s obvious that I can’t really call Oracle’s Eye “complete” when there is so much left to do. I have decided that I will continue to work on it for the rest of the year. With holidays coming up, and the fact that I don’t work for more than a few hours a week in the first place, I don’t exactly have a lot of time to work on it, but I’ve surprised myself with how much I could accomplish so far.

At the very least, I should replace the stick figure with a living, breathing character of some kind. B-)

Categories
Game Development Geek / Technical

Free Sounds

My friend Becky Kramer tuned me into The Freesound Project, a “collaborative database of Creative Commons licensed sounds.”

Basically, all the sounds in the project are available under the Creative Commons Sampling Plus 1.0 license. You can creatively change a work and use the derivative work commercially or noncommercially. You could take the original and distribute it in a noncommercial way.

Sounds great to me, especially for my early projects. I’ll pay for my audio needs when I think doing so will help sell my games. For now, when I am just trying to make simple games for myself, these freely available sounds will be good enough.