Categories
Game Development Linux Game Development Personal Development

Thousander Club Update: August 7th

For this week’s Thousander Club update:

Game Hours: 161 / 1000
Game Ideas: 432 / 1000

Target: 588

There are 33 days left until the deadline for entering a game in IGF 2007: Countdown to IGF 2007

There is a deadline for a project at my day job, and so I haven’t had as much time to work on my own projects.

On top of it all, I had upgraded to a new version of SDL, which broke compatibility with the Kyra Sprite Engine. I couldn’t compile Kyra because there was a compile error in a certain file that has not changed for a number of versions. I have no idea why it wouldn’t work, but I had to change a line in it to get it to compile.

Unfortunately, after I did the new build and built my project against it, I couldn’t run it. Something else was updated on my system which prevented me from running applications that aren’t installed, such as Oracle’s Eye Prime and the Professor Fizzwizzle demo. I decided to upgrade everything on my system, since I was spending as much time as I was just trying to get these things working.

The result: I am typing this post from my girlfriend’s computer while waiting for the kernel to recompile so that I can create new Nvidia kernel modules in order to use Xorg (as I was using XFree86 before). I was able to get some work done this weekend, but I lost a lot of productivity.

I need to look into setting up virtualization so that I can get a clean image of a Gnu/Linux build without needing to worry about breaking anything when upgrading.

Categories
Personal Development

Improve Your Memory

I forgot to post on this topic last week (…pause for laughter…), but this how-to on improving your memory seemed quite useful.

It’s bad enough when you feel that you have very little time to do the tasks you need to do. Why do things twice? Improving your memory means only having to learn things once, saving you time and making you both more efficient and more effective. The how-to has a warning that improving your ability to recall does not guarantee success in life. Maybe not, but it isn’t as if being forgetful has helped me any, either. I might as well improve this skill as it can only help.

Some of the tips in the how-to relate to mnemonics, which most memory articles and books advocate. I think that habits should be made out of physical and mental exercises. Poor health will make it more difficult to remember, so to keep sharp, you need to keep healthy. Repetition helps, and repetition helps.

Some of the tips seem to have generalizations that could be more useful:

Put black ink at the end of your palm to remember any important thing for the next day or for that day itself. Whenever you see the black dot, you’ll remember what to do.

Actually, I think the general idea of using reminders, as David Allen mentions in Getting Things Done, is more useful. Recently I wanted to motivate myself to wake up early. The night before, when I was programming but needed to go to sleep, I KNEW that I wanted to wake up early so that I would have time to continue programming before leaving for my day job; unfortunately, when the morning would come, I would have a hard time getting out of bed. So I took an index card and wrote out my morning schedule:

  • 5:30AM – 6:00AM — Shower and get dressed.
  • 6:00AM – 6:30AM — Eat breakfast and make lunch.
  • 6:30AM – 7:00AM — Brush teeth, shave, etc.

I rarely need an hour and a half to do all of those tasks, but I have cats. The idea is that by 7AM I should be ready to go no matter what, and if I get finished earlier, I can always work on Oracle’s Eye Prime for longer.

Anyway, I took the index card and placed it on top of my alarm, which was moved from my bed stand to a shelf. The next morning, when the alarm went off, I first realized that it wasn’t where it used to be. Then I realized that I couldn’t get to the alarm without touching this index card. I didn’t even need to read it as I immediately remembered why it was there in the first place. I tried it last week, and almost each day without fail I was up and ready to go. The only time it didn’t work was when I was feeling sick, and I gave myself permission to not work that day. Otherwise, I didn’t feel a need to go back to sleep because I reminded myself that I wanted to give more time to working on my project. By the end of the week, I didn’t even need to put the index card on top of the alarm as I had built the habit of waking up early.

So the reminder helped me to remember my motivation. If I can “improve my memory” with similar results, how can I not succeed?

Categories
Game Development Linux Game Development Personal Development

Thousander Club Update: July 31st

For this week’s Thousander Club update:

Game Hours: 154.5 / 1000
Game Ideas: 432 / 1000

Target: 567

There are 40 days left until the deadline for entering a game in IGF 2007: Countdown to IGF 2007

I was sick again at the beginning of this past week, but I still managed to log quite a few hours. A lot of it was spent researching physics code, but I finally found something I could use at the Game Physics blog. As I am using g++ as my compiler, code found online can result in compile-time errors that Visual C++ and other compilers might allow. I spent some time trying to figure out how to change the code so that it not only works correctly but also conforms to standard C++. I was figuring out how to work with std::set to change existing members while satisfying the compiler, but the book C++ In A Nutshell had the answer. The code at Game Physics updated the set’s contents directly, but a set’s members are supposed to be immutable. I guess VC++ was fine with it, but g++ was complaining. If you need to change a key in a set, you must first erase it from the set, then you can update the key and add it to the set again.

I went to a LAN party this weekend, and while I didn’t stay long, I did manage to play various sessions in Unreal Tournament 2004. I was already planning on getting the game someday since it has a Gnu/Linux client right out of the box, but now that I know that there is a map in which you can attack a space station using ships, it’s a must-have.

I am worried that I’ll be working a bunch of late nights at my day job this coming week due to a looming deadline. I doubt I will be able to work as many hours on Oracle’s Eye Prime as I did this past week. Still, I am making steady progress. It’s just a question of making a finished game by September 9th for IGF 2007.

Categories
Game Design Game Development Games Personal Development

New Book on Game Writing Released

Chris Bateman announced the release of his new book Game Writing: Narrative Skills for Videogames.

This is a book about how we currently get stories into games. Anyone interested in learning these skills would do well to pick up a copy.

Bateman’s blog posts on game design are thought-provoking, such as Non-verbal Communication and Toru Iwatani’s Escalator, so I imagine this book will also be of high quality.

While I think that narrative shouldn’t be the sole focus of games to the exclusion of, you know, gameplay, it is still painful to play games with horrible dialogue and a joy to play those that are written well. Developers who want to avoid causing the pain might want to look into this book.

Categories
Game Development Geek / Technical Personal Development

Finding Ready-Made Code

This past weekend I was trying to work on some code that makes use of math. Specifically, I was working on acceleration and velocity, but I didn’t necessarily need a heavy-duty physics engine. I just wanted some low-level C++ code for vector math.

I shouldn’t have to write it myself, right? It’s been done before, by myself and others, and I’m sure some publicly available code would be better tested and more functional than anything I would write. It should be easier to find some code online than to pull out the math books and write my own. There is no need to reinvent the wheel.

It spent about an hour and a half researching a Vector class. It was difficult to find because a number of hits were for imitators or enhancements of std::vector. When I finally found a good implementation, it was part of a small library, but it was fairly trivial to separate it out. I had to make some changes to adapt it to Doxygen, but it definitely beats creating a complete class definition from scratch over the course of a few days.

It was difficult to find code that was generic enough and well-written. Some were too specific or too unwieldy. I found one library that was a “tiny matrix and vector” library, only to discover that the vector was a small footprint version of std::vector. It was one of those WTF moments. I found one class that would have been fine except that the author didn’t bother to present his name or the date that it was created. How can I keep the author’s name in the source code if he/she didn’t bother put it in there in the first place?

I finally found some useful code through Koders, a source code search engine. I also learned about a few other code search engines that I may use in the future:

Planet Source Code
Krugle

What do you do when you need some basic code that you know should be available as a library? Do you just take the time to write your own, or do you look for code online? Do you outsource it to someone, using a service like Rent A Coder?

Categories
Game Development Personal Development

Thousander Club Update: July 24th

For this week’s Thousander Club update:

Game Hours: 141 / 1000
Game Ideas: 432 / 1000

Target: 546

There are 47 days left until the deadline for entering a game in IGF 2007: Countdown to IGF 2007

I came down with something earlier in the week, and while I am still suffering from it, it is pretty mild compared to what it was. 102F fever, and then 98.6F the next day? Weird. I now have a nice cough as a souvenir, though. I couldn’t really work earlier in the week, but I think I did a decent job of catching up in the past few days.

The Chicago Indie Game Developer Club met yesterday, and once again I did not have anything to present. Oracle’s Eye Prime is almost at a state that is playable, but there isn’t anything to show yet. I will have more to say on it later this week.

My goal is try to work at least five hours a day for the next couple of days. Assuming I don’t get even more sick, it should be possible. I can make a lot of progress in a a couple of hours. I’d like to add more productive hours to my week, and even one day of five hours of work can make a big difference.

Categories
Personal Development

Be Bold and Daring

Action asks a good question: What is the latest “BOLD” thing you’ve done?

I say that it is a good question because I had to stop and think before I could answer it. I was surprised that I had to think about it!

– I shouldn’t, because it means that I am not doing enough to be a successful indie or successful at a lot of things.
– I shouldn’t because it means that I am always getting satisfied with hitting plateaus and don’t push harder.

The bold actions I recalled:

  • A little over two years ago, I kissed my current girlfriend for the first time.
  • In January, I moved into an apartment with my girlfriend.
  • Around March, I finally submitted the paperwork to form GBGames, LLC.
  • When applying for a programming position in April, I decided to try a completely new design for my test assignment.
  • A couple of weeks ago, I was at Cedar Point in Ohio. I’m terrified of roller coasters, but I went on them.

For each of these actions, I ended up with a good result. I have a great relationship, a great home, a great company (I think so, anyway), a pretty good job, and a great weekend of fun and memories. Still, I had to think back about two years, and I could only come up with a handful? Some of them weren’t all that bold when I think about it, such as my programming design or roller coaster rides. I was either going to do it myself or get a bit of peer pressure to do it. As for being bold, I find that I am lacking.

Fortune favors the bold, which is more than just a cliché. Wouldn’t I be better off, financially or otherwise, if I made it a point to do more things that scare me? At the very least, I should look at the things I have been putting off and ask myself why I am procrastinating. It’s likely that they’ll be like riding the roller coasters: intimidating, but once I do it, I’ll find that it isn’t so bad and is actually enjoyable.

What kind of bold things are we talking about here? Is trying a new recipe instead of eating what I always make considered bold? Is making a call to get a better deal with a service provider bold as opposed to doing nothing and going with the plan I already have? Is running home from work as a form of exercise as opposed to driving or walking a bold move on my part? Is boldness measured in terms of what everyone else is doing or other choices on my part?

Here’s a scary thought: I can’t immediately think of something bold I want to try. When I ask myself, “If you knew you would succeed, what one thing would you do?”, nothing springs to mind. It’s not like I believe my life is perfect, so why don’t I immediately think of at least a handful of things to do? Did I really get conditioned to “go with the flow” when I wasn’t paying attention? I’m going to work on this problem, because it is a problem. I should have at least a general sense of direction in life.

So, what is the latest bold thing you’ve done? When were you daring?

Categories
Game Development Personal Development

Thousander Club Update: July 10th

For this week’s Thousander Club update:

Game Hours: 126 / 1000
Game Ideas: 432 / 1000

Target: 504

There are 61 days left until the deadline for entering a game in IGF 2007: Countdown to IGF 2007

I took most of Saturday to work on Oracle’s Eye Prime. I really like having entire days of development since I can get quite a bit accomplished in a short period of time. The project is coming together, although progress is still a bit slower than I would like. A few more Saturday’s like this last one would probably help quite a bit. Currently I can load sprites and entity objects dynamically through a configuration file, and there is a way to allow the entities to respond to input. Eventually game development will involve less coding and more configuration file editing.

Categories
Game Development Personal Development

Thousander Club Update: July 3rd

For this week’s Thousander Club update:

Game Hours: 112.75 / 1000
Game Ideas: 410 / 1000

Target: 483

There are 68 days left until the deadline for entering a game in IGF 2007: Countdown to IGF 2007

I went out of town for the July 4th weekend, but I still managed to work a few hours during the week before I left. I feel like I am being more productive in the past few weeks, although I suppose I should check the actual numbers to be sure.

Categories
Game Development Personal Development

Agile Individuals?

Paper Burns: Game Design With Agile Methodologies gives a nice insight on the benefits of using SCRUM and other Agile methodologies to develop games. You can make games in weeks and months rather than quarters and years. After rereading a bit about the use of SCRUM at High Moon Studios, I was wondering how I could apply it to my own development. After all, I still don’t have Oracle’s Eye finished, and I started that project last August.

But like a lot of things I learn about, it seems to apply best to teams of people rather than individuals. In fact, I don’t think I’ve ever heard of techniques or methodologies for individuals to develop software, let alone games.

Are indie developers expected to just wing it with subpar techniques and figure out the best way themselves? Are we supposed to hire partners/coworkers in order to make decent progress? Or are there tried and true methods for single-person development teams? Pair programming is obviously out, but can’t other methodologies be tweaked a bit to provide a benefit for the lone wolf?

If you work alone, what tips do you have to share?