Categories
Linux Game Development Personal Development

Motivation Threshold

This week I was coding for hours on end while also doing laundry. It was great because I had 45 minutes within which I was trying to be productive before I had to do another load. If I had 5 hours to sit still in front of the computer, I would probably get maybe an hour or two of work done. During some sessions, I only did 15 minutes of work, and usually towards the end. The thinking was “Oh, geez! The timer is going to go off soon! I better get some productive time in!” Other times, I managed to use between 30 minutes to the entire 45 minutes.

After the laundry, I was still in a productive mood, so I kept going past the time I would otherwise eat lunch. My sandwich was especially delicious afterwards. I worked for a few hours, and then I felt I needed a break. I decided to play a game that I needed to review for Game Tunnel. I t would be fun as well as productive. I played for an hour or so, then tried out a different game since I was in the gaming mood.

It took me hours before I returned to programming that evening. I wasn’t exactly in The Zone earlier, so it isn’t that I fell out. I just wasn’t too motivated. Maybe I was too tired? No, I felt fine. It took some effort on my part to convince me to continue programming. Steve Pavlina, as he uncannily and usually does, wrote about exactly what I was experiencing in What’s Your Motivation Threshold?

He describes how certain tasks might not require too much motivation while others require a great deal of it. Checking email or getting a snack might not require a lot of motivation. I think it is partly because it is so easy to do some tasks that it isn’t like you are thinking about the effort you need to exert. Some people can easily play games, but for most games, I have to reboot a machine so that it shuts down Debian Gnu/Linux and starts up Windows. I can’t just play a game for a few minutes like some people can. Maybe some people would consider it a good way to keep productive, but that’s besides the point. As for email, I have Thunderbird up and running at all times, so it is a few seconds of my time to check if I have new messages, and with RSS feeds, another few seconds to check on blogs and news items. It is so easy, in fact, that I can find myself checking email what must be hundreds of times a day. Those seconds can quickly add up.

Programming, however, involves work. I have to think about what I am doing, and the nature of what I am doing is such that it is uncertain and unexplored territory for me. I noticed that whenever I think about programming, I am either thinking about finishing something that I started the last session, which doesn’t require a lot of motivation to do, or I am thinking about starting or designing a new task, which requires a lot of motivation. In the first case, I am basically on rails. I might have already written some stub functions, so it is just a matter of creating the implementation. What algorithm would work best here? What variables would I need? I’ve done similar things before, so it is easy. It’s almost as easy as checking email at that point, although if you would have asked me to do so a year or two ago, I might have felt that the task was still daunting. In the latter case, I need to think a lot more. I don’t have a lot of experience with design or project management. I have to really want to do it before I will do it.

So I think that the motivation threshold is partly a function of experience and partly a function of urgency. I’m sure someone who doesn’t know much about computers would feel that checking email is still a strange and foreign task (present maternal figures excluded, of course) and would really have to need to check email before trying to do so. It is why students will wait to the last minute to do papers. It may be important, but it isn’t urgent…until it is the night before the due date!

I don’t have a strong and urgent need to finish Oracle’s Eye. My income doesn’t depend on it as I have a day job. So what helps motivate me to work on it? What acts as my motivation modifier? I remind myself that I want to depend on it. I want to finish the game so that I can have something to sell. The sooner I can get to selling, the sooner I can work towards getting GBGames to provide financial independence from any normal day job. I don’t always roll 20s, but it usually puts things in perspective and gives me the boost I need.

No, I’ve never played D&D.

Categories
Marketing/Business

Casual Game State of the Industry Summary

In So…Did You Read It?, David “RM” Michael asks a few questions. Did anyone read State of the Industry: Casual Games in the latest Game Developer magazine, and if so, could you provide a summary?

Sure! James Gwertzman, director of business development at PopCap says that he expects the casual game market to grow very rapidly. Some research predicts that downloadable games will have $1.7 billion in revenue by 2009 compared to $241 million in 2005. It talks about how PopCap works. It talks about PlayFirst, the supposed-first publisher for casual games. Budgets for casual games have apparently gone from $50,000 to $150,000 due to high quality games raising standards. Then there was talk about how important portals are since they have such a high volume of potential customers. Microsoft’s MSN Games and XBox Live Arcade also are supposed to usher in diversity in casual games.

Nothing, however, about going it alone. Nothing about being an indie. Just Big Money going after big money. Not that there is anything wrong with big money, of course. I think that it is good news that casual games are shown to be more than a passing fad. I just think that it would be terrible if it became a subset of hit-driven, big-production, mainstream game development.

The second question was about the relevancy of Game Developer magazine. I don’t have enough information to be able to try to answer that question, but I will say that I think I get more quality information from blogs and websites, and such information comes to me much quicker.

Categories
Marketing/Business

Free Ebook: Go It Alone!

David “RM” Michael of Joe Indie wrote about a free Ebook available from Bruce Judson in Free EBook about Starting a Solo Business

I’m a bit disappointed that it isn’t available in an easily-downloadable PDF, but you can read Go It Alone! The Secret to Building a Successful Business on Your Own in standard HTML format. With chapter titles like “Principles of Success”, “When to Quit Your Day Job”, and “Conclusion: Fear is the Enemy”, it seems like a great read.

Categories
Game Development Marketing/Business

Advice for IGF Finalists

Dustin Sacks of Sillysoft Games and creator of the amazingly expandable and cross-platform Risk-clone called Lux wrote an article entitled Advice for Independent Games Festival Finalists. Lux made it to the IGF finals last year, and Dustin basically felt unprepared. He’s decided to write up his experiences to help out developers who made it to the finals this year.

It is a quick read and should be helpful for anyone who wants to network with other people involved in game development or to get more publicity.

Categories
Game Development Personal Development

Thousander Club Update: February 20th

For this week’s Thousander Club update:

Game Hours: 15.5 / 1000
Game Ideas: 85 / 1000

I should have 84 for the year so far. I’ve caught up with my game ideas target, but I am still fairly short of my game development target. I doubt I’ll be able to catch up.

I think it is clear that I am falling way short of the 21 hours per week I should be dedicating to development hours. If I can’t do 21 hours, I should be able to try for 10. This past week I did five hours, so doubling that productivity should be a viable goal.

Categories
Geek / Technical Politics/Government

Broadcast Flag is Back and Worse Than Before

No Broadcast Policy Without Representation! is something I am still reading through, but it seemed important enough to merit mention here.

In summary, apparently international treaties are forcing the United States to agree to allow distributors of works to own an exclusive right to distribution. The “broadcaster’s right” is recognized in a number of other countries, but not in the United States. It’s not unheard of for a television channel to get exclusive rights to broadcast a program for decades. Now they want to expand the law to cover broadcasts over the World Wide Web.

What does it mean? Right now if you create a copyrightable work, you own the exclusive right to that work. No one else can legally distribute it unless they get permission from you. With this law, as pointed out by James Love:

The proposed treaty concerns a system of ownership for
material transmitted over wireless means such as television, radio and
satellite, as well as wired communications over cable networks, and also
over Internet computer networks.

This proposal expands or gives new rights to transmitters of information,
even if they are not the creators of that information. Rights that are
normally reserved to creators and performers would be afforded to
organizations that merely transmit creations and performances — even if
those works are in the public domain, even if those works’ authors wish to
have the works distributed without restriction.

The possible consequences?

The casting entities fundamentally want a layer of ownership over materials
that they did not create or previously own. They want the treaty to
declare they “own” what they transmit, even when the materials are in the
public domain (government works, older works, materials donated to the
public domain, etc), when they cannot be copyrighted (facts, data, other
non-copyrightable materials), or when owned by third parties, including
those who have no interest in suppressing distribution of works (speeches
by government officials, Al Qaeda tapes, listserves, newsgroups, etc).

More links to the topic:

Categories
Personal Development

Writing Tips for Non-Writers

I found a good post about writing through Wil Wheaton’s blog called Writing Tips for Non-Writers Who Don’t Want to Work at Writing by John Scalzi.

Scalzi presents a list of rules to follow to write better without exerting too much effort. I have tried to follow rule #7, “Try to write well every single time you write”, after getting introduced to Instant Messages and email years ago because I was afraid I would lose my ability to punctuate sentences correctly. Writing is about communicating, and it can be very frustrating to read terribly written IMs and forum posts.

In the comments there is some disagreement about the use of the word “alright” as opposed to “all right”. I have always used “alright” and never thought that it was the incorrect usage because I lost a spelling bee when I was in the 3rd grade due to that word. I spelled it “allright”. I was eliminated as soon as I got up there. I always remembered it. Now apparently the whole premise behind my loss was wrong. That spelling bee was a sham! At last, vindication!

Of course, language evolves. I think “alright” is a perfectly alright word to use (stupid spelling bee). I also wonder if ending sentences in a preposition will be accepted eventually. After all, the purpose of writing is to communicate. If you spend more time trying to be proper and by the book than is necessary to communicate to your audience, I think it has a tendency to be perceived as stuffy. of course I think that punctuation grammar and speeling is importent so it isnt like everything should be done away with

Please tell me you winced at that last “sentence”. B-)

I also found Elmore Leonard’s Ten Rules of Writing through the 43 Folders site. On the idea that writing doesn’t have to be formal or proper:

Or, if proper usage gets in the way, it may have to go. I can’t allow what we learned in English composition to disrupt the sound and rhythm of the narrative. It’s my attempt to remain invisible, not distract the reader from the story with obvious writing.

Categories
General

Happy Valentine’s Day!!

Or, for you single people, Happy Ferris Wheel Day!

Categories
Game Development Personal Development

Thousander Club Update: February 13th

For this week’s Thousander Club update:

Game Hours: 10.5 / 1000
Game Ideas: 58 / 1000

Since I technically started tracking the last week of January, I’ve decided to readjust the total numbers I should keep as weekly targets. Today I should have 63 to keep on track for 1,000 hours by the end of next January. Otherwise, if I kept the old numbers, I would constantly feel bad for not catching up with almost a month of inactivity.

I’m hitting my goals for game ideas, which are fairly easy to come up with each day. I could think of three to 10 ideas in a few moments.

On the other hand, game development takes time. I can’t immediately get one, two, or three hours of game development. While I can’t always dedicate hours of development each afternoon, I think I might need to come up with a simple list of 5, 10, or 15 minute game development activities. I managed to get 30 minutes of programming before going to my day job this past week because I was finishing up some code I wrote to experiment with TinyXML. I think if I can take advantage of more “weird” windows of time, I should be able to make greater progress than if I expected to work during scheduled sessions.

Categories
Game Development

Oracle’s Eye Development: Configuration Parser and Loader

Yesterday I finished by saying that I was working on adding a configuration loader . I added some stub code so that I would be ready to start working right away.

I realized that while I have coded a text parser before, I never had to worry about getting configuration data out of a file. What would I actually need? Before agonizing too much over it, I thought that it was more than likely that a ready-made, well-tested solution already exists. I spent some time looking through books, notes, and Gamedev.net before finding someone asking the same question I was: isn’t there a an easy to use tool so I don’t have to reinvent this obviously already solved problem?

One suggestion was boost::program_options. I looked into it for a little bit, but another suggestion was to use TinyXML. At first, I thought that using XML was a bit overkill for configuration files. At the same time, it would be ideal for holding the levels, and if I could kill two birds with one stone, all the better. The best part? TinyXML is already in my project! It comes with the Kyra Sprite Engine.

I spent the day reading the tutorial and trying out some test code. It took me only a few moments to get an XML configuration file to load successfully, and a bit more code allowed me to view a few of the elements. I spent the evening learning how the library works, and it seems easy so far. I wish there was some better documentation out for it, though.

My configuration file used to look like:

TimerInterval 80
SpriteSize 64
LeftEdge 64
UpperEdge 64
Ball velocity 5
Player velocity 5

and I wrote it before I wrote more than a single function to help parse it.

Now:

<?xml version=”1.0″ ?>
<!– Configuration for codename: Oracle’s Eye –>
<Config>
<Timerinterval interval = “80”/>
<Spritesize dimension = “64”/>
<Border leftEdge = “64” upperEdge= “64”/>
<Entity>
<Ball velocity = “5” />
<Player velocity = “5” />
</Entity>
</Config>

Unfortunately, I haven’t been able to do more than grab the root element, but I’m still learning how this library works. I’ll hope to be able to finish the configuration loader within the week. Afterwards, it shouldn’t be too much more work to write a level loader with TinyXML as well.