Categories
Game Development Personal Development

Thousander Club Update: May 1st

For this week’s Thousander Club update:

Game Hours: 76.5 / 1000
Game Ideas: 294 / 1000

Target: 294

w00t! I finally made it to 7%! In fact, I nearly made it to 8%! There were a number of times when I didn’t think I would be able to program, but somehow a few moments became 15 minutes or half an hour. Waiting for someone to show up to have dinner? An hour. The time was passing anyway, and I managed to use it productively. As for game ideas, I found that I could rattle off three easily as one of the first things I do in the morning.

I managed to finish the text-based board game I was working on. Actually, I’m still tracking down potential memory leaks, which gives me a good opportunity to learn how to use Valgrind. Still, all of the features are there, but I’ll go into more detail in a post later this week.

Categories
Game Development Personal Development

Thousander Club Update: April 24th

For this week’s Thousander Club update:

Game Hours: 68.5 / 1000
Game Ideas: 273 / 1000

Target: 273

I had dedicated last Saturday to game development. I didn’t actually start until 2PM since I spent the morning reading a book. Even so, I should have been able to get quite a bit of work completed. The reality of it was that in an hour I would only get 15 to 30 minutes of actual work completed. In the end, my entire Saturday resulted in at most two hours.

Looking back, I noticed that I had spent part of my time working on other tasks. For instance, I noticed that I was 15 ideas behind for the week, so I changed focus and started reading Wikipedia entries for inspiration. I thought I would only do so for 15 minutes and then go back to development. It seemed like a productive break, but it was a Big Mistake. I also talked a number of people online at once. Another small break that ended up taking up over an hour. “Dedicated” should mean dedicated. I essentially wasted my dedicated Saturday, even though I can claim to have added a book to my list, learned about special relativity, and accomplished my quota for game ideas. The point is, those things could have been done on Sunday. Saturday was earmarked for development.

On the other hand, I managed to implement some key features of the text-based board game. Things are starting to fall into place, although I believe sections of code are terribly ugly. It’s better that it gets done, however, than not done at all.

What can I learn from this past week? I need to exercise more discipline. I’m doing fine when it comes to focusing on the important features. I need to use my timer more often AND actually listen to it.

Categories
Game Development Personal Development

Polishing Passes

In the #gamedevelopers channel, the topic of game development contests came up. I mentioned that I would like to join one. The last one I was in was GiD #13 in June of last year, so I should do something similar again. One person mentioned that she didn’t like such contests as she didn’t have time for them. I argued that I could get some good practice in, but she responded with:

<turbo> no practice. just do and redo
<turbo> we like to call them polishing passes 😀

<turbo> it does get better every time round

I really liked this idea. It’s basically how I was treating Oracle’s Eye. When I started it, it was just supposed to be a quick project to give me more experience with game development. Eventually, I realized that I could make a commercial project with it.

Now I was aiming for a bigger target. I assessed what I already had, and I realized that I needed to up my game (no pun intended…ok, it was) in more ways than one. So I updated and changed and added and deleted until I had a better version.

Was I gaining experience? Yes. But I didn’t consider it practice. I was simply doing. And when I revisited some aspects of my code, I ended up making it better most of the time. Each pass made it better. It is kind of like writing a term paper for class. If you get it done early enough, you have time to go through it and check for errors, awkward sentences, and possible confusing ideas.

Polishing passes. Do, then do again. Each pass should result in more polish.

EDIT: Now I no longer misquote turbo. B-)

Categories
Game Development Personal Development

Thousander Club Update: April 17th

For this week’s Thousander Club update:

Game Hours: 65 / 1000
Game Ideas: 252 / 1000

Target: 252

I managed to get to 64 hours earlier in the week. Somehow, even with an extra day this weekend, I had trouble getting to 65. I was hoping to even do another five hours to get to 7%.

I start a new job today. I won’t know what it will be like as far as the impact on my time, but the worst case scenario is that I’ll have to increase my effeciency and effectiveness. The commute is much better than my last job, so if I trade an hour on a train for an hour of work, it shouldn’t make much of a difference.

Categories
Personal Development

Dealing with “I Can’t”

When I program, I tend to hack things out rather than follow some set plan. The reason is because I’m not very good at writing plans yet. If I try to make a plan, I end up questioning everything and never get anything started, let alone completed. It’s known as analysis paralysis. Basically, you become so afraid of doing something wrong that you end up not doing anything at all.

So I hack. In this way, I’ll have something to work with. Maybe when I started I was clueless about the problem domain, but every moment I spend taking actions means I learn just a little bit more about what I am doing. Some planning can be good, of course, but if I don’t know what I am doing, there is only so much I can plan. Hacking is like chipping away at a stone.

Of course, hacking only gets me so far. By definition, hacking means I am blindly working, and so I can expect to hit a wall or two. Sometimes hacking allows me to make a lot of progress quickly. Other times, I can’t seem to figure out how to do what I think I need to do. It’s at those points when I start to doubt my abilities. I begin to think “I might not be able to do this.” Eventually it can become “I can’t do this.”

So how do you deal with “I can’t”? I realize that such thoughts are due to doubt. It’s kind of funny since the point of hacking, for me, was to avoid not knowing what to do. So to have more productive thoughts, I change “I can’t” into “How can I?”

“How” is much better because it forces you to think. Whenever I start to question if I can do a task, I always ask myself, “Well, how would you do the task?” It puts you into an entirely different level of creative thinking, and I’ve found that being creative is always motivating.

For example, I was working on a project recently, and I hit one of those walls. I couldn’t figure out how to design some classes to get the kind of behavior I wanted. Up to that point, the code was flowing, and then…nothing. So I started to ask “How can I do this?” And I started getting detailed. What is it I am trying to do exactly? I know the basic idea, but how do I get from here to there?

I suppose you could say that this is the kind of thing I should have done in the first place. If I knew I would have had such a problem, I probably could have prepared for it. Since I didn’t, I think what I’m doing will help me gain the experience I need. Eventually I’ll be able to anticipate all manner of problems, but for now I’ll have to hit those walls before scaling them. The important thing is that I don’t hit that wall and decide that I’m permanently stuck.

Edit: It seems that Steve Pavlina’s article for today also covered this topic, but in a more general sense. Check out How to Squash Negative Thought Patterns for a good way to change “I Can’t” into “How?”

Categories
Game Development Personal Development

Thousander Club Update: April 10th

For this week’s Thousander Club update:

Game Hours: 63.50 / 1000
Game Ideas: 221 / 1000

Target: 231

I only did a few hours of work this week, and I fell behind in game ideas again. While this week was packed with errands and projects that were not related to game development, I think a big part of the problem is that I haven’t been waking up as early. I used to wake up around 5:30AM, which gave me time to work on game development before going to my day job. In the past two weeks I have been getting up late. Sometimes I didn’t get up until 7:30AM, which is when I usually finish getting ready and start coding.

I think it is because I haven’t been going to sleep as early, either. When I wake up late, I always feel that I need to make up for the development time in the evening, which means I might not go to sleep right away. It’s a terrible cycle, and it is one that I intend to break.

Categories
Game Development Personal Development

Thousander Club Update: April 3rd

For this week’s Thousander Club update:

Game Hours: 60.75 / 1000
Game Ideas: 212 / 1000

Target: 210

I didn’t get much work done this week, but it wasn’t as if I slacked off. I just didn’t get much time on the computer this week in general, let alone time to work on game development. I helped a friend move this weekend, which was when I was originally planning on making up for the week. Oh, well. I still made 6%. B-)

Categories
Game Development Games Marketing/Business Personal Development

Independence, Money, and Great Games

Joe Indie referred to Dan McDonald’s Sustaining Independence at Game Tunnel. Previously, McDonald had written on the topic of independence, stating that financial pursuits necessarily makes a developer less independent. His latest article continues this line of thinking:

An independent developer that wishes to sustain their independence must pursue their own interests in game design and development and give them preeminence over their interests in business and profit.

At first I was inclined to disagree. How can you expect all people to starve for their art? Can’t people be considered indie while simultaneously earning an income from their work?

Of course, how you define an indie is important. Many would argue that indie simply means you are not financially dependent on a publisher or other entity. If you extrapolate this definition, technically most people who call themselves “indie” are in fact financially dependent on their customers.

What is your goal? Are you simply trying to make money? If so, game development is just one of many activities to achieve those goals. “The pursuit of money is inherently an ambition devoid of any value or meaning. If the only value one derives from an activity is monetary, then the activity itself is of very little consequence.” You could replace game development with database programming or bartending or painting or blogging, and in the end you’ll still have your money. What’s game development to you other than a job? Whether it is for someone else or for yourself, its a job, and creative control is in some way not completely yours. Change something about your game for the sake of pleasing the customer, and you’ve given up some control over the direction of your game development.

McDonald’s indie, on the other hand, would have a goal of perfecting his/her craft. Game development for the sake of game development. Making games to learn how to make better games.

A lot of business gurus will tell you that to be successful, you have to realize that making money is not only good, but it is the main goal. It makes sense. How can you hope to make a living from your business if you don’t accept the idea that you should be making a living from it? You can’t make a million dollars until you accept that it is a possibility. Most people don’t think they can. Some people do. Who is more likely to actually make the money? The purpose of a business is to make money.

The purpose of an indie, on the other hand, is to be independent. An indie experiments with making great games. An indie can make money, of course, but making money was never the main goal. His/Her overriding goal was never about making more money so much as making better games.

Are the business and the indie in perpetual conflict? How can an indie survive? If trying to make money taints the notion of independence, are all indies doomed to working odd jobs or doing other things to make a living? Are most indie’s forced to relegate game development to a hobby? I’d like to say no. Making better games, you will undoubtedly hit upon something that other people also like. Making better games, you will create a world that other people believe in enough to pay money for the right to participate in it.

Is it wrong to try to make money from your game? No. I also don’t think that the general definition of “indie” will change to exclude those developers who make games on their own for the purposes of making a living. Is it possible that a game created for the purpose of making money can also be a great game? Perhaps, but if your main goal is to make great games, wouldn’t you be more likely to actually make one? And if the game is truly great, won’t a lot of other people want to play it?

Categories
Geek / Technical Personal Development

Using the Computer Purposefully

I took a walk instead of going home immediately after my train ride yesterday. I originally wanted to get some exercise, but I took advantage of the time to think. One of the questions I was grappling with was “How can I stop wasting time when I am at the computer?”

I was thinking about it because I noticed that I could sit at my computer for hours, only to find that I had maybe 15 minutes of productive work. What was I doing with my time? What could I do to change it?

I realized that I would start using the computer without giving much thought to what I would do. Sometimes I could start working on game development right away, but other times I would start checking my email or recording my receipts in my accounting program. Sometimes I would remember to look something up, and it can be very easy to aimlessly browse the web. Sometimes I’d write a blog post. Sometimes I’d visit a forum.

In all of these cases, however, I didn’t have a plan of action. I just sat down and started doing random things. I might be able to focus on an important task, and doing so would account for the productive work, but I could do better.

Thinking about it, I concluded that it might be best to force myself to think before using my computer. I should ask myself, “What do I want to accomplish?” before taking control of the keyboard and mouse. No matter what I decide, I should also make sure to set a time limit. Whether I am programming, updating my accounting books, or checking email, I will give myself a set amount of time to do it in. I should also make sure to give myself time to goof off.

I wrote up some categories of activities:

  • programming
  • email
  • blogging
  • gaming
  • accounting
  • listening to music
  • researching
  • reading the news
  • leisure

I might add to or change this list in the future, but for now it gives me a good indication of the kinds of reasons for using the computer. Restricting the time for each task is helpful because I currently have a problem with task-switching too much. If I can focus on one task, I can get it done quicker and better than if I am keeping track of multiple tasks at once. Some people say that they can multitask, but the human brain has been shown to work best when it is not distracted. It is a key idea behind books like “Getting Things Done”.

Anyway, I hope that by determining my purpose for using the computer, I can use it in more productive ways. If I use it in an unproductive manner, it will still be a conscious decision. It will also be restricted to a specific time period. Today if I get distracted, I might think that I’ll stop in ten minutes, but in reality an hour can go by without notice. I just haven’t been good at enforcing it. I let a distraction change my focus rather than make the decision myself.

Asking myself why I want to use the computer should be a good habit. I should be able to increase the ratio of productive hours to total hours if I can remind myself that I have a purpose and that I can always do something else later. The most distraction I should tolerate is to allow myself to write down what I want to do so that I can remember it later.

Categories
Game Development Personal Development

Thousander Club Update: March 27th

For this week’s Thousander Club update:

Game Hours: 59.5 / 1000
Game Ideas: 172 / 1000

Target: 189

Almost made it to 6%! I’m still behind in game ideas, but I’ll be sure to fix that today. If I sit down for 20 minutes, I’m sure I can come up with the remaining 17 ideas for this past week plus the 3 ideas for today.