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!

Categories
Personal Development

Raise Your Standards

Steve Pavlina’s Raise Your Standards complements my post from yesterday about changing your mindset. The idea is that if you can’t honestly say that you’ve done your best, you should make some changes. Raise your standards, and you can clarify what to do to improve your situation. Otherwise, you’ll simply accept it as normal, even though it is suboptimal. The enemy of the great is the good.

I know that my current situation is a huge improvement over just a few years ago. At that time I would coast through life and do the minimum necessary to get by: go to class, take the tests, read only the books required. I’d work in the part-time job that I’ve had for years because I didn’t have any compelling reason to work somewhere else. The work wasn’t challenging me anymore, but it wasn’t too hard either. I just had to put time in, and out came money. It wasn’t much money, but since I wasn’t doing anything that needed money, it was good enough. When I did take on something, I would do it well. I would get great grades in class, and other people would ask me for help at work. I had no problem doing quality work; I just had problems with motivating myself to do more than expected.

Recently, however, I decided to raise my standards and change my mindset. I started asking myself why I was doing certain things. I wanted to know I had good reasons. If I didn’t, I would stop those actions. Why was I going to graduate school? I didn’t have a good enough reason, so I stopped going. If I did have good reasons, I would ask follow-up questions, such as “Can I do something better to accomplish the same tasks?” and “Can I improve what I am doing to get better results?”

I started programming on my own again. Until then, I was only coding in class. I figured that I would have enough practice in my computer science courses, but I was woefully underestimating the importance of practice as well as the amount of practical experience my classes would provide.

I started reading a lot more books. I’ve always loved reading, but I would usually stick to game development books and the occasional piece of fiction. In the past year, I read a wider variety of books. Besides programming and game development books, I read about personal productivity, grammar, history, marketing, health, and business. I read some classic fiction, science-fiction, and mystery books as well. Add magazines, RSS feeds, and newsletters, and I have been reading a lot more than I have in the past. Reading so much allows me to think better, and if the brain is the most important part of my body, I’ll keep reading.

I started keeping track of what I was doing at any given point in time. In the past, I never had a schedule or an agenda outside of class and work, so it was very easy for me to drop whatever I was doing to do something else. Now, I have certain afternoons dedicated to game development that only get pushed off my calendar if I consciously push them myself.

I started eating better. I started exercising again..mostly. I started to write a lot more, specifically writing posts for this blog. I started to regularly attend meetings with different groups.

The best part? I know that even with all of these improvements, I can do better. Much better. I just need to raise my standards.

Perhaps your peers will tell you you’re doing just fine. But I’m not going to let you off so easily. I say that if you aren’t doing your best, then you’re a loser. I have more respect for the homeless drug addict that’s doing the very best he can to pull his life back together than for the yuppy prince who settles for socially acceptable, above-average results without breaking a sweat.

In a way, it kind of reminds me of a story in the Bible in which Jesus notices that most people donate to the Temple from their abundance while the poor woman donated what was probably all she had. What she gave was a huge sacrifice for her while the rich, even though they gave much more money, were not sacrificing at all.

While I may struggle with my current standards from time to time, overall I can say that I’ve met them. I’ve improved my life significantly in the past year. Now I need to raise them again. It is part of the reason I joined The Thousander Club. Rather than just try to do more of the same, I want to aim higher. Even if I don’t make it, I’ll definitely see an improvement over last year. I don’t want to see too many small, incremental improvements that take no effort, although will probably make a number of those throughout the coming year. I want to push against what I think are my limits. I want to get to my best faster, and taking baby steps to get there seems too slow.