Categories
Game Development

Oracle’s Eye Development: Halted Development

My last documented development session was mid December. It’s now about a month later, and I haven’t worked on Oracle’s Eye.

I could list a bunch of reasons why I haven’t been able to work on it. Christmas took up a lot of my time. I was out of town for a week at the end of December, and I don’t have a laptop I could have used to work on the project. I moved during the first week of January, and only now do I feel that my computer area is mostly distraction free.

But those are just excuses. Clearly I didn’t give my project the priority it deserves. Still, I think there was something more to it.

I would decline invitations to events and say, “No, I really need to get some work done.” Then, during the time I should have been working on game development, I would get too easily distracted. Email would get checked way more often than it should have. I’d shuffle through papers on my desk. I would handle other tasks in my list of things to do. Then it would be incredibly late, and I would have to go to sleep to go to my day job in the morning.

It would be another evening wasted. I could argue that I at least got to cross some things off of my list. “The day wasn’t a total loss!” Of course, that’s not a useful justification when I haven’t done what I should have been doing for a month. If I keep this up, December 2006 will show up and I still won’t have a game to show for it.

So why haven’t I been able to even look at my project for so long? I finally identified it as fear. I’ve gotten the project to a point where I don’t have clear specifications and so it is hard to know exactly what to do next. I had the same problem when I started the project. I didn’t know what to do, and so I didn’t do anything. I didn’t want to do anything wrong! I’ve since learned that it is better that I do something rather than nothing. By hacking at my code until I have something useful, I now have a base to work with. Now, when I have to decide on my next task, I can more easily see if it will make the project better or worse.

So I sat down and wrote down all the things that would need to be accomplished in order for Oracle’s Eye to be considered really finished. For each of those accomplishments, I can then write down a plan of action. Afterwards, it should be a simple matter of just following the plan. Once the plan is completed, I can repeat the process with another accomplishment. It won’t always be easy to list out exact actions, of course. After all, I’m still learning about the problem domain. Still, it should get me out of this slump.

While I was writing this post, I realized I was referring to my lack of progress as a slump, which reminded me of Steve Pavlina’s article From Slump to Supercharged. Rereading it, I see that I was able to diagnose the problem correctly.

So let’s dive right into the heart of the problem. Why are you in a slump? You’re in a slump because you’re afraid. And you’re expending a lot of energy avoiding what you fear. It may not even be the subject of your work. It could be something totally unrelated, but it’s something that’s very important to you.

Near the end of the article, he talks about how fear and love are opposites. When you get rid of the fear of a challenge, you replace it with the love of the challenge. I noticed that when I was able to get past the fear of doing the wrong thing and could jump into development on Oracle’s Eye, I was loving it.

This week, I’m tracking my development time very closely. I’ve joined The Thousander Club at the beginning of January, but I haven’t done anything to show for it yet. Essentially that means that I am almost 85 hours behind for 1,000 hours of development time this year. I intend to catch up, which means that I’ll need to work on a plan to do so.

In the meantime, I just want to get out of my slump and start loving my game development again.

Categories
Personal Development

Problems with Part-time Game Development

It is commonly understood that it takes 15 minutes to get into The Zone, the state of being where you can do no wrong and everything just flows. Getting interrupted for even a moment can disrupt that state, requiring another 15 minutes to enter again. Still, once you’re in The Zone, hours can go by before you even notice. Lunch, dinner, and bed times all fly by before you know it. It’s great. On the other hand, leaving code alone too long can really disrupt your work.

I came back to working on Oracle’s Eye after leaving the project alone for a month. Normally when I start up a session, I can check out a copy from my Subversion repository. This time, I find that what’s checked in and what is checked out is different. Apparently I made some changes but wasn’t finished with whatever task I had. I didn’t want to check in changes that would break my build, so I left them unchecked.

Coming back to them a month later, I have no idea what I was trying to do at the time. I think I was working on improving frame-rate independent movement, but where did I stop? How do I continue? Now I have to decide between throwing out the work I did before and work on the last known, good, and checked-in code or sludging through the new code and trying to remember what I was trying to do. If anything, it shows that I really need to be more disciplined about working on the project. Leaving it alone too long results in wasted effort trying to remember what I was doing and what I need to do.

It is the complete opposite of being in The Zone. When working on any non-trivial project, it is perfectly fine to focus on one aspect. You might forget about some details in one component of your engine, but you’ll know another component like the back of your hand. You have to get that intimate with your code when you work on it so closely and frequently, and it is perfectly normal to forget details about a part of the project that you haven’t looked at in some time. If you leave the entire project alone, however, the entire project slowly gets forgotten.

If I was working on game development full-time, I probably wouldn’t have the problem of leaving a project alone for a month. Since I am working part-time, I have to fit game development into my schedule that already has a full-time job plus all of the tasks of living a life: laundry, cooking, transportation, reading, gaming, paying bills, eating food, having a social life, etc. It is very easy to feel too tired and say, “I’ll work on the project another night.”

Too easy.

To help, I’ve started to think about the end results. What will it be like when the game is finished? When will I get the first sale? How many sales will I get within the first month? How many people will play MY game? How many will give me feedback to make it better? What kind of postmortem will I write?

Each time I think about it, it motivates me to work on the project. Each day I delay is one more day that I need to wait before I can let someone play the game. Each hour I waste is one more hour that’s needed before I could see my first sale. When I let go of an opportunity to work on the project, I also lose the results.

Just thinking about what it will be like when I am finished is inspiring. I will need to remember to do so if I ever get into a slump again.

Categories
Game Development Marketing/Business

Freedom and Independence

Freedom and Independence is an essay by Dan McDonald on the Game Tunnel website about the reasons so many people have been going indie.

With so many people becoming independent game developers, the question is, “Why?” What makes it so appealing?

McDonald thinks that being able to create a game the way you want to make it without worrying about appeasing Marketing or some third party investor should be the big reason. Being indie because you want to be indie.

He then argues that the goal of financial independence actually constrains you and makes you less indie. By allowing your game design and creation to be dictated by the bottom line, you necessarily restrict what you might develop. Perhaps, but there is no denying that worrying about the Marketing Department is completely different from worrying about marketing. When you’re indie AND trying to make a living, your customers matter most rather than a checklist provided by a separate group in your company.

On the other hand, maybe the definition of “indie” has been stretched. Is the freeware developer who makes whatever he wants any more indie than the shareware developer who makes what his customers want? It’s one way of looking at it.

McDonald finishes the essay with the following plea:

So to new independent developers, I encourage you to enjoy your freedom and make something you are passionate about. Like most things in life, if you follow your passion you will eventually find financial success. It’s not a valid business plan, but there is enjoyment and significance to be found in creating games with passion. The potential for those kinds of games is why sites like this exist. Do you think they really want to review another game packed full of casual mechanics and themes (or whatever else is the hot selling trend of the day)? No, they exist because they want to support developers who are free to create games that are expressions of their own appreciations and personality instead of what everyone else who’s bound to the almighty dollar is doing.

When I was younger, I wanted to make video games, but I never thought it would be to specifically make clones and derivative works. I’m sure most people wanted to make the “best-RPG-ever!!!!”, or some incredibly involved simulation game. Some people have gone on to make such games. Others might have forgotten to even think about what their dream game would be…

/me adds “Decide on dream game idea” to New Year’s Resolutions.

Categories
Game Development General

Rescheduled: January Chicago Indie Game Developer Meeting

Since a number of people couldn’t make it to the meeting this past Tuesday, including myself, I’ve rescheduled it:

Where: The Starbucks at
Streets of Woodfield
601 North Martingale Road
Schaumburg IL, 60173

When: Monday, January 30th, at 7PM.

Same place, same time, just a different date.

Next month’s meeting will be in Chicago, but we can discuss where and when at the meeting and on the Indiegamer forums or the Chicago IGDA forums. Hope to see you there!

Categories
Game Design

Game Design Notation

Danc at Lost Garden posted Creating a system of game play notation, which attempts to create a notation to document the game play of any game. Lost Garden has had previous posts that strongly emphasize the importance of regularly occurring rewards for the player’s actions. The description of the notation seems to be geared towards such designs.

It starts with a history of musical notation. Once it was possible to record music on paper with accuracy, it was easier to communicate the music to others. Also, it was easier to identify and fix bad compositions. You could analyze a composition on paper rather than require the music to be played over and over again. It also allowed more complex and sophisticated music to be created. I think it is like the idea that the human brain can only handle so much at once, but if you were to write down your thoughts, you could free up your mind for higher-level thinking.

Danc argues that game design language is currently in the same situation that music was before the invention of the musical staff. The idea of a language for game design isn’t new, and some attempts at providing a vocabulary exist, but I don’t know of anyone who has tried to codify it as extensively as the description at Lost Garden.

I think one of the coolest parts is the application of business information visualization to game design. Danc refers to it as making complex game data “glance-able”. The science behind it is that the human eye can take it huge amounts of data at once. Present someone a paragraph of text, and it might take some time to read and understand. Present that same person with a bar graph, and they can instantly tell you that one bar is bigger than another and by how much.

My favorite quote:

What we do get is the ability to describe a game using well defined terminology. Instead of saying “This is boring”, you can point to a period of 5 second in buzz graph with no rewards and identify the events leading to that situation.

Can we get that precise? It would be amazing if we could; however, some people would argue that game design involves much more art than science. The idea of codifying game design might be similar to “An Introduction to Poetry” from Dead Poets Society: “I give American McGee’s Alice a 42 but I can’t dance to it.” Rather than help with improving game design it would actually result in a bunch of games that look and feel exactly the same.

I personally think that it won’t be the case. For one, without such notation the game industry has already been accused of stagnating. It can’t hurt to form a common language. Once you can identify the chords, you can learn to put them together in different combinations to make your own great music. Once we can speak in a standard way about game design, whether with Danc’s notation or the 400 Project, we can piece the different parts together to make great games.

Categories
Geek / Technical Politics/Government

Free Software and the Power of Language

It’s been coming up a lot recently, and I, as a Gnu/Linux user and Free Software advocate, am getting tired of being lumped in with software pirates. Free Software and Open Source Software is not about getting something for nothing. They aren’t about stealing anyone’s livelihood. They aren’t about ripping off hard-working programmers.

The use of the word “free” is unfortunate in that people think it means “$0” or “no price”. The Free Software Foundation won’t use another word because they want to emphasize freedom; “open source” doesn’t call to mind the idea of freedom at all. The FSF philosophy is that all users should have the freedom to run, copy, distribute, study, change and improve the software.

Free Software refers to freedom, not price. Most people get that part.

What is frustrating is the number of people who support Free Software AND miss the entire concept of freedom. These people are worse than the ones who are against Free Software because they think it is about giving away things for free; they make it seem like the GPL was created specifically to prevent commercial use!

I’ve argued that the distinction between “free software” and “commercial software” is false; they are not mutually exclusive. A lot of people on all sides of the argument are careless with these words, which only muddies the waters and makes “free software” much more confusing to talk about. The use of the right words makes all the difference. “Death Tax” sounds a lot worse than “Estate Tax”, for instance, and the use of one term instead of the other helps to change the way you think, especially if you can’t be bothered to learn about the facts.

From gnu.org’s Words to Avoid:

“Free software” does not mean “non-commercial”. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important.

“Commercial”

Please don’t use “commercial” as a synonym for “non-free.” That confuses two entirely different issues.

A program is commercial if it is developed as a business activity. A commercial program can be free or non-free, depending on its license. Likewise, a program developed by a school or an individual can be free or non-free, depending on its license. The two questions, what sort of entity developed the program and what freedom its users have, are independent.

In the first decade of the Free Software Movement, free software packages were almost always noncommercial; the components of the GNU/Linux operating system were developed by individuals or by nonprofit organizations such as the FSF and universities. Later, in the 90s, free commercial software started to appear.

Free commercial software is a contribution to our community, so we should encourage it. But people who think that “commercial” means “non-free” will tend to think that the “free commercial” combination is self-contradictory, and dismiss the possibility. Let’s be careful not to use the word “commercial” in that way.

How many anti-Free Software zealots would be surprised at the above? Heck, how many pro-Free Software zealots would be surprised at the above? From flame wars on a forum to government reports to FUD spread by certain organizations and companies, the use of the word “commercial” as opposite “Free Software” or “open source” makes people think that FOSS must necessarily be non-commercial. It’s not.

When talking about free software, it is best to avoid using terms like “give away” or “for free”, because those terms imply that the issue is about price, not freedom. Some common terms such as “piracy” embody opinions we hope you won’t endorse.

Let me put that part in bold: Some common terms such as “piracy” embody opinions we hope you won’t endorse.

For those who think that the FSF is about supporting piracy, how do you explain that statement?

On the same page:

“Piracy”

Publishers often refer to prohibited copying as “piracy.” In this way, they imply that illegal copying is ethically equivalent to attacking ships on the high seas, kidnapping and murdering the people on them.

If you don’t believe that illegal copying is just like kidnapping and murder, you might prefer not to use the word “piracy” to describe it. Neutral terms such as “prohibited copying” or “unauthorized copying” are available for use instead. Some of us might even prefer to use a positive term such as “sharing information with your neighbor.”

Perhaps that last line might sound like support for piracy, and I have to admit that I also questioned what it meant. I sent an email to the FSF asking for clarification. The response was from Program Assistant Tony Wieczorek:

Our concerns with people referring to piracy are that companies use that pejorative term to denounce all of our efforts. We are afraid that people will call our legitimate and legal practices piracy for lack of a better term. That, of course, is not the case at all. We believe that software should be free, and we use the law (copyright law, in the case of the GPL) to achieve that (albeit in a way that most people don’t use that law – this is the idea of copyleft).

I think that paragraph is also meant to point out that equating copying software with raping and pillaging ships is gauche. The two crimes are nowhere near similar and people should make that point when they speak of illegal copying.

So the FSF doesn’t endorse piracy and wants to make sure that Free Software is considered distinct from something illegal. I feel that they are making two arguments at once and make their points needlessly confusing, but the second argument was that copyright infringement isn’t something comparable to what pirates did/do.

For an example of why the confusion about FOSS and commercial software is a problem, check out this news item on Linux Games announcing Caravel Games’ DROD: Journey to Rooted Hold. One comment in response to the idea of an open source shareware game:

WTF? What on earth is open source shareware?

Nevermind that id had released the source to a number of their older games while still requiring you to purchase the game to play it. The idea that Free and Open Source software can also be commercial software is too confusing for a lot of people. The expectation is that if it is commercial, then it can’t possibly be Free Software.

There are practical concerns, of course. You can’t just release your software under the GPL and expect to be able to sell it the same exact way you sold your proprietary software. Still, it is possible to make a profit by way of software that doesn’t restrict your customers’ freedoms. While it is easier to earn revenue through an MMO game through subscriptions — “The client can be both Free and free, but to play on our awesome servers, you’ll need to pay” — it is also possible to sell a non-MMO, open source game and make a profit. If you immediately make the argument that EXAMPLE XYZ proves that Free and Open Source Shareware can’t work, recognize that you are coming to a conclusion based on one counterexample. Rather than asking “How can I make it work?”, you are simply stating “It can’t work.”

If you think that the effort to make a profit from Free and Open Source Software is too great to justify, that’s fine. You’ve made what is hopefully a well-informed decision for yourself. Just realize that it isn’t impossible to make money from FOSS, that it isn’t illegal to use or create FOSS, and that it isn’t about getting something for nothing. Free Software is not about supporting piracy. It isn’t the opposite of commercial software. It’s about freedom, and when it comes to the GPL specifically, the license requires that commercial software be possible. It’s not a contradiction.

You’ll find people online who support FOSS but also make confusing statements about licensing. For a good example, the Linux Gamers’ Game List at icculus.org lists games that are available for Gnu/Linux. The license section would presumably tell you what the license for the game entails, but it actually doesn’t. It tells you whether or not it costs money. The reason I was given was that someone’s grandmother would get confused about the idea that a game could be Free and cost money. I think that the column shouldn’t be called “License” if it isn’t really about the license. I would think labeling it “Cost” would avoid confusion if the purpose of the listing is to help out people who would be confused about licensing issues. I also think that most grandmothers probably wouldn’t think to look for the list in question, let alone find it.

Another example? Pick one out of the many Free games, and you’ll most likely find one. The GPL was for computer code. It makes no sense when it comes to an image or a piece of music. Still, most authors will simply license the entire game under the GPL without a thought.

People will argue that the best part of FOSS is that it doesn’t cost anything. Now, when you were first told about the FSF, the GPL, and Free Software, who did you hear it from first? Was it from people who said, “It’s about freedom! Here, let me explain what I mean…” or was it from “It doesn’t cost anything!” Most detractors seem to hear it from the latter. For example, you’ll see lines like “But the FSF is in the minority when it comes to convincing developers that giving away their software for free is the right thing to do.” Reading that line, you’d think that the Free Software Foundation WAS trying to convince people to give away code at no cost. You’d also be more inclined to believe that the GPL was about giving away something for nothing and that FOSS is about stealing the livelihood of those would dare to try to make their software into a commercial product. The funny part is that the same people who complain that the GPL is about giving away software also prefer to use code licensed under BSD, MIT, and similar licenses that basically allow you to take code and make it your own…essentially, taking without giving. So while the GPL is supposedly guilty of forcing people to give away their code for nothing, the accusors prefer code that actually is available for nothing. Interesting, eh? But I digress…

Multiply each of the above with the millions of people on the World Wide Web, and you can see why people would be confused about the nature of Free Software. There is a definite minority who are “on message” for Free Software, but they have to compete with the language of those who think FOSS is evil — calling it a cancer or referring to supporters as communists — as well as those who think it is great but don’t actually get the idea behind it.

Categories
Geek / Technical General

Blonde Joke Getting Out of Hand

Thomas Warfield has posted about the best blonde joke ever. It’s a good one so I thought I would post it here.

It’s also got the geek in me thinking. Who came up with it?

Categories
Marketing/Business

Books I Read: Before You Quit Your Job

Last week I finished reading Before You Quit Your Job: 10 Real-Life Lessons Every Entrepreneur Should Know About Building a Multi-Million Dollar Business by Robert T. Kiyosaki. It is part of the Rich Dad, Poor Dad series of books. I actually finished listening to the audiobook Rich Dad, Poor Dad before reading this book.

The point of Rich Dad, Poor Dad is that there is a big difference between being poor and being rich, and it isn’t directly related to money. There is a big difference between being poor and being broke. It’s a mindset. A rich person will ask empowering questions, such as “How can I afford that?”, while a poor person would simply conclude “I can’t afford that.” Being broke is a temporary financial state. You can still be rich when you’re broke. You just have to think they way rich people do. Essentially, think and grow rich, or don’t think and be poor.

Before You Quit Your Job is a great book that talks about what it takes to be an entrepreneur. Somewhere else, I got the idea that being self-employed and being an entrepreneur are separate and distinct. The idea was that even if you are running your own business, if it is something that someone else has already done before, then you have just created yourself a job. An entrepreneur creates something new.

Kiyosaki drilled the idea even further. Basically, you can are an employee, or you are an entrepreneur. Almost everyone is encouraged to go to school, get good grades, and get a good job with benefits. My own mother is still telling me that I need a good job for the benefits. When I was younger, my father would tell me that I needed to go to school to get good grades in order to eventually become the CEO or other high level officer in a company of my own. It sounded great, if vague, and I always had the vague idea that while I could become an employee, I would eventually run my own business.

I learned this past year that my father must not have really put much belief in it himself. A month after I announced that I would be running my own shareware video game business full-time, and therefore would need my family to support me until I was profitable, my sister informed me that he would talk to her about how I needed to “shape up” and “get a job”. Ouch. It’s not something you want to hear that far into it. Since I couldn’t rely on the support I was asking, I decided that full-time employment was the way to go. I’ll support myself, and then I will be the one to decide to support my business.

Anyway, the book is geared towards entrepreneurs looking to make a multi-million dollar business and employ hundreds of people. Entrepreneurs create a business, working on the business before it even exists, and then once their job is done, they get out of the way to let the business run on its own. My own plans for my business didn’t take into account the idea that it didn’t need me. I knew about the importance of setting up good systems; the idea of earning money while I sleep was a nice one to have.

At first I thought I wouldn’t get much value out of the book. I wanted to be in charge. I wanted to stay small. While earning millions of dollars is certainly possible, I didn’t think I needed to partner or hire with hundreds of people to get there. My plan wasn’t to create a business for someone else to buy, nor was it for giving other people creative control.

Still, the book helped to clarify what I was thinking. The main focus in the book was in helping people move from being employees (whether self-employed or not) to entrepreneurs; much of the content was useful only to those people. Still, even though I wanted to be self-employed, I found a lot of helpful information that overlapped. Some of the things that rich dad seemed to refer to negatively might actually be positives for someone who isn’t trying to be the kind of entrepreneur he was thinking of. Some of it gave me pause and made me think, “Oh, that’s me he is talking about. I’ll fix that.”

Reading through the 10 lessons and the stories that went with them, I was able to see that I still had some thinking to do. I know that there are some important tasks to handle in order to ensure that my business won’t fail immediately or sink under its own success. There are still some mindset changes to make.

Categories
Geek / Technical General

Back on the ‘Net

I finally got Internet access at my new apartment, so I am back in business! Check out the results of a quick speed test at DSL Reports:

w00t!! For the past week I’ve been finding indie games while I was at work, but now I can download them. Last night, I downloaded a bunch at once, and they were all on my hard drive within moments.

me.setEmotion( EMOTION_HAPPY );

Categories
Personal Development

Five Categories of Time

From Workstyle (which unfortunately requires an account in order to post comments), The Pentachronic Time Scale talks about the five categories of time in which to do a task.

  1. now
  2. sooner
  3. whenever
  4. later
  5. never

It’s a simple post, but it sure gets you thinking! How many tasks should be in the first category? How many Someday/Maybe projects are sticking around on your list of things to do that shouldn’t be there? And what should be put under the last category that you don’t currently have there?

Do you have a quick task that isn’t being done Now? Are you going to do it Sooner or Later?

Have you been worrying about an uncompleted task? Nothing can be more tiring, but maybe you can decide that it isn’t worth doing. Problem solved! No more stress! No more fatigue! If it is worth doing, then you should decide when to do it. Then do it!