Categories
Games

Play the Newly Released Frozen Bubble 2

I learned that Frozen Bubble 2 has been released.

The graphics have changed, most notably to 3D, but I’m not sure yet if it is for the better. I think the most interesting feature is a new online multiplayer component.

If you have never played Frozen Bubble before, it is basically an open source Bust-a-Move clone. It’s been ported to various platforms, and you can play the original Frozen Bubble here at GBGames!

Categories
Game Development Games General Personal Development

Dexterity.com Shuts Down, Articles Go Missing

Steve Pavlina announced that he has shut down Dexterity.com, his shareware game development business which he has run for about 12 years.

Unfortunately, he hasn’t transferred his articles on game development practices. Some of his articles have been updated and are in his articles section, but some, such as “Zero Defect Software Development” and “Shareware Amateurs vs Shareware Professionals” are nowhere to be found.

I’ve personally found these articles to be a great resource, and in fact they were the reason why I was inspired to start my own indie game development business. It would be a shame if we could only access them through archive.org or Google’s cache.

EDIT: Some of these articles are in the Association of Software Professionals newsletter archives, available to members only. If No Independent Developers Are 100 Times Smarter Than You, Then Why Do Some Get 100 Times the Results? is a free article.

Categories
Games General

Happy Indie Halloween!

This year I am dressing up as myself from two years ago. Scary!

Every year I tell myself that I am going to plan my costume months in advance, and every year I am almost always trying to scrounge together a costume at the last minute. I just never make it a high enough priority. Still, sometimes the last minute costumes are the best and most creative. One year I was the World Wide Web.

Anyway, I was thinking about playing some horror-themed games, and besides mainstream titles like Resident Evil 4 or Eternal Darkness, I couldn’t of many. I remember playing a great Flash game called Found Lost that was pretty spooky even though it had unrealistic graphics.

There is also Penumbra, one of the games in the running for IGF 2007. While I haven’t had a chance to play it (it’s Windows only), it promises to be a scary game.

How many other indie games out there are in the horror genre? What will you be playing today?

Categories
Game Development Personal Development

Thousander Club Update: October 30th

For this week’s Thousander Club update:

Game Hours: 211.75 / 1000
Game Ideas: 445 / 1000

Target: 840

I spent a few hours looking into various ways to implement frame-rate independent movement for my Pong clone. Yes, I am still dedicating time to it. I had discussed the topic with William Willing as well as Troy Hepfner of My Game Company. I even looked into my copy of “Game Programming Gems” since I knew it had four interpolation methods described, two of which are frame-rate independent.

William had pointed me to a thread on the Indie Gamer forums discussing the various methods. Some of it was hard to get my head around, but in the end I decided that I would look into interpolating with delta time…

…and sure enough, I checked and found that I had already gone this route before. Over a year ago I was working on Oracle’s Eye and tackled this problem, and I basically came to the same conclusion, which I describe in a previous post. The good news is that I am much more familiar with what is needed, and my solution can be implemented in a much better way. Last time, I think I had done something incorrectly, and the animation wasn’t very smooth anyway.

William had actually gone through the trouble of coding up some implementations for the various methods. I found his code useful to read through, and I think would make a good resource for others. How about it, William? Feel like posting the code? B-)

Categories
Personal Development

Shooting Baskets

Yesterday, I went to the gym to play some basketball. Basically, I needed to get away from a computer monitor and get physically active. Running around and shooting a basketball was an easy and fun way to spend 15 minutes.

I started using the gym at my day job a few months ago. I haven’t played basketball since high school, and I was never very talented at it in the first place. Still, I wanted to practice shooting baskets. I would shoot from the free throw line and try to make five shots in a row. The highest I ever got was four shots. I just could not make that fifth shot! It was frustrating because I would shoot the ball and make a basket or two, then I would miss. Sometimes, I would miss completely. I was getting very inconsistent results.

Yesterday, however, I didn’t bother with free throws. Oh, I tried them a few times, but I decided that I was going to be fine with missing a shot. I just wanted to make a shot from anywhere. So I would shoot, and if I missed, I would grab the rebound and take the shot from wherever I was as quickly as I could. I noticed that I was making quite a few baskets, or maybe I just ignored the fact that I was still missing baskets because they gave me an opportunity to run and grab rebounds.

In any case, I took the failure of not making baskets, made it a part of the process of playing basketball, and felt great about it.

Michael Gelb, the author of “How to Think Like Leonardo DaVinci”, gave a seminar on creative thinking over a month ago, and I was able to attend. To go to the seminar, I had to bring a ball. Gelb taught everyone how to juggle, and to do so we needed to get into teams of at least three people. Besides becoming a student of juggling, I also became interested in the way Gelb learned to juggle.

When he first wanted to learn, his teacher told him to “take three balls, throw them up in the air, and don’t let them bounce”. Technically accurate advice, but it was not very helpful. Still, Gelb tried very hard to juggle, and every time he dropped the balls, he became even more determined and would try harder. Eventually, after struggling for so long, he learned to relax. He no longer became stressed when he dropped a ball. He pointed out that no one learns how to juggle without dropping a ball, and so when he had us go through the steps to learn how to juggle, he made failure a part of it.

The first step was to throw one ball in an arc, but you DON’T catch it! Catching it is your partner’s job (and another reason why we needed partners). Dropping the ball used to be a point of failure, but now it was a part of the learning process. Now when you drop a ball, you know that it is part of the learning process.

I found that when I was shooting baskets yesterday, I did not feel nearly as disappointed about missing a basket as I used to feel. Missing a shot meant that I could practice rebounds and could get another opportunity to shoot. Missing a shot was no longer a point of failure. It was a part of the learning process.

How to Think like Leonardo Da Vinci: Seven Steps to Genius Every Day
How to Think like Leonardo Da Vinci: Seven Steps to Genius Every Day
by Michael Gelb

Categories
Marketing/Business

Updating the Business Plan

I first wrote a business plan last year. I used Steve Pavlina’s article To Plan or Not to Plan as a starting point. While I did not have a lot of details, I thought it would help me to focus my energy on the tasks that would help me reach my business goals. Having a plan, even if it is off-target, is better than settling for chaos.

I did not write a 50 or 100 page document. It was short and easy to read. The idea was that it would be something that I could look at periodically to verify that I was on course. It was also meant to be easy to update, and I did update it periodically. The last update, however, was in February.

For months, I have wanted to update this plan. The dates and figures are wrong, especially since I know that I will not accomplish my goal of selling my own game in November. Each aspect of my business plan can get a healthy update of reality. Maybe update isn’t the correct word. Overhaul might be more appropriate. While I would like to say that I had checked it every month, I have not, and I stopped focusing on the things that could help my business. My plan was becoming irrelevant, and for some reason updating it was just a task on my todo list.

I know more now than I did in March, so naturally I am in a better position to address what can go in a business plan. I actually removed a number of items because I realized that to include them would mean that I am giving myself one more responsibility to distract me from making games. I added some more items, such as the fact that I am using Google AdSense and have just signed up as a Barnes & Noble Affiliate, as you can see in the Reading Books in 2006 page. With actual figures, I can project at least some of my income, whereas before I left most of my income and expense fields blank.

I feel much better with an updated plan. I hope that I learn from the past year and do a much better job of making time for my business. If a month goes by and I do not check my plan, it should be an indication that something is wrong. An important purpose of a plan is to tell me what I should be doing at any given moment. If I am not following the plan, then what am I doing instead? Should I be doing it? Sometimes the answer will be yes, but often I can probably find a better way to spend my time.

Categories
Game Development Personal Development

Thousander Club Update: October 23rd

For this week’s Thousander Club update:

Game Hours: 204.75 / 1000
Game Ideas: 445 / 1000

Target: 819

While the numbers don’t look too productive, I did manage to tackle a number of other responsibilities. I was reviewing a game as well as catching up on my finances.

Also, now that I am back from the Schmooze, I am feeling quite motivated to get a finished product as soon as I can. I hope to spend the next couple of days making a basic plan. I haven’t updated my business plan since March, and I want to make some mini-goals for myself in a few other areas in my life.

Categories
Marketing/Business Personal Development

2006 Grand Rapids Schmooze

Tomorrow I will be hanging out with other members of the Association of Shareware Professionals at the 2006 Grand Rapids Schmooze. As last minute as it is, if you can be in the area this weekend, you can join the people already attending, including a few game developers such as Thomas Warfield, Gregg Seelhoff, and Jay Semerad. It is definitely going to be a great time!

The Schmooze started today, but it’s crunch mode at my day job and so asking off for a day is the exact opposite of what I should be doing to get my project completed on time. Hopefully I’ll be able to catch up with the Schmoozers during the rest of the weekend.

And if anyone at the Schmooze is reading this post, say hello to everyone for me!

Categories
Game Development General Linux Game Development

Relative Path to Game Directory on Gnu/Linux

One thing I discovered when trying to run my Pong clone is that I had to change to the same directory as the binary in order to run it. I should be able to just type “sdl-pong” from the command line and have it run without caring which directory is my current working directory. Now, I didn’t hardcode it to use the exact path name for files, so I could move the entire game directory and it could still run just fine. I haven’t made that mistake since I was actively using QBasic almost 10 years ago. B-)

I don’t want to require the user to need to use the command line interface to run the game, so I need to solve this problem. No matter where the user is currently running the game from, the game should run. So what can be done?

Well, luckily, this problem has been solved. I checked, and sure enough, the games I currently have installed do almost the same thing.

The games are launched using a shell script. When you type “darwinia” or “dhlore” or “drod-jtrh-demo”, the thing that you are running is a shell script. In some cases, the path is hardcoded, but the best way is to use the script to find the actual path to the game binary, then run it.

How does one find the path? Sam Lantinga, of Loki Software and libsdl fame, had created a script called FindPath(). Details can be found in this mailing list post.

I don’t know why something so simple and easily solved isn’t more readily available to new developers. I just checked, and “Programming Linux Games” does not seem to use such a script for Penguin Warrior, the example game provided. “Linux Game Programming” mentions path names, but only when talking about the difference between Windows separators (“\”) and everyone else’s separators (“/”).

It took me some time before I found the script online, but now that I know what to look for, it is easy to find.

Unfortunately, I found out that it may be a problem. At least, it isn’t recognized as THE way to do handle the relative path problem. It seems that while the Filesystem Hierarchy Standard mentions using /usr/local/games for your installation directory, there seems to be some contention. Do you use /usr/local/games, or do you use /opt? What files should belong where? Is it even ok to worry about relative pathnames, or should your game assume that the files will be in the standard locations? If you distribute binary-only games, is it safe to ignore some documents because they assume that everything should be distributed as source?

After spending only a couple of days on this topic, I no longer wonder why hardly anyone makes games for Gnu/Linux. Even if you decide to do the actual development of the game, just packaging it up and distributing it is a big hassle. I believe Apple provides developer resources that specify details such as these, as does Microsoft. Until there is a definitive answer as to how to do something, one solution seems as good as another.

Of course, I could do worse than to follow the example of Introversion or Loki.

Categories
Game Development General Personal Development

Thousander Club Update: October 16th

For this week’s Thousander Club update:

Game Hours: 204.75 / 1000
Game Ideas: 435 / 1000

Target: 798

I managed to add a few more ideas to my list, but I spent the week either working long hours at my day job or catching up on other responsibilities. I did not get too much time to work on game development. I am fine with this fact, but I need to do a better job of scheduling these down times. As it is, it has been about a month since I first started working on Pong, and I don’t want to have another month go by before I am ready to release it as truly finished.