Categories
Game Development Personal Development

Thousander Club Update: June 26th

For this week’s Thousander Club update:

Game Hours: 107.75 / 1000
Game Ideas: 408 / 1000

Target: 462

I’m still behind in game ideas, but I’ve been making some decent progress with Oracle’s Eye Prime. The code still compiles, at least.

I’m planning on picking a weekend in July and dedicating it to development. Working in short spurts of time is nice, but I can get a lot completed if I can work for longer stretches.

Categories
Game Development Personal Development

Thousander Club Update: June 19th

For this week’s Thousander Club update:

Game Hours: 101 / 1000
Game Ideas: 403 / 1000

Target: 441

Wednesday morning I finally hit 10% of my 1,000 hour goal for the year! As you can see, I haven’t been updating my game ideas list in a couple of weeks. I have been fairly busy and catching up on a number of things, and so some things have taken a backseat. For instance, I finally bought groceries so I can stop paying too much for lunch or skipping it altogether.

Oracle’s Eye Prime isn’t playable at all. I hope to get a few more hours this coming week to implement a few more low-level features so I can start concentrating on the game itself.

Categories
Game Development Personal Development

Thousander Club Update: June 12th

For this week’s Thousander Club update:

Game Hours: 96 / 1000
Game Ideas: 403 / 1000

Target: 420

Good luck to the US team as they take on the Czech Republic in their group’s opener today. w00t!

Categories
Game Development Personal Development

Thousander Club Update: June 5th

For this week’s Thousander Club update:

Game Hours: 88.75 / 1000
Game Ideas: 403 / 1000

Target: 399

I only spent an hour and a half on game development this past week. I left for Ohio for two graduation parties this weekend, and so I didn’t have Saturday and Sunday to do much; however, I did read and do a bit of thinking.

I have been pretty excited about a number of different projects, but I am afraid I am spreading myself too thin. Since I want to do a number of things, I don’t get any of them done, and as Henry James said, “Nothing is so fatiguing as the hanging on of an uncompleted task.” I need to focus on accomplishing some specific tasks and not worry about some other projects. Otherwise, I’m exerting more energy than I need to, and nothing of substance is accomplished.

Categories
General Personal Development

Have Courage and Dispel Your Fears

“Fear is the little-death that brings total obliteration.” “Fear kills us time and time again.” “The only thing we have to fear is fear itself.”

A lot of people know that the last one was a quote from Franklin D. Roosevelt. Most of them forget the rest of it, though: “- nameless, unreasoning, unjustified terror which paralyzes needed efforts to convert retreat into advance.”

Everyone has fears. The problem is allowing allow fear to be in control of your life. Fear takes over your ability to think clearly. When your mind is clouded with fear, you lose the ability to make decisions, and without decisions, you can’t act. It is this ability to prevent action that gives fear the reputation of being a killer.

Some people are afraid to do something because they’ve never done it before. What if I fail? What if I can’t do it? Why should I do it if no one else is doing it? These are natural questions to ask, but you should recognize that you might not actually be asking anything. For a lot of people, “What if I fail?” is the most they let their minds get. They don’t actually attempt to answer the question! It just becomes a demoralizing mantra.

Questions are tools. You use questions to learn things you don’t know. Leaving them unanswered is a terrible joke on your own mind. You’ll constantly worry about the question, but somehow you’ll also forget about seeking the answers.

When I’m afraid, I try to focus on the fear. I find that fear is usually the result of a lack of clarity and information. When I was younger, the monsters in my closet were only scary because I didn’t think about how they got there in the first place. Why would monsters materialize just because the lights went out? Why would they show up in the closet of all places? Why haven’t the authorities taken action to protect people from closet monsters? Now, you can’t expect a child to know to ask these questions, but these kinds of questions don’t get asked when the child grows up, either.

“What if I fail?” Well, what if you do fail? Honestly sit down with yourself and start thinking! What is the worst that can happen? You learned how not to do something? Is that really so bad? The worst case scenario is still a plus for you, but until you realize that fact, failing is still going to be scary. Unfortunately, most people don’t think past the “What if” part, and they can’t make progress because they’ve already let fear defeat them. Once you can start thinking about your reasons for being afraid, you can start thinking about more productive things. “What if I fail?” becomes “What can I do to reduce my risk?”, which is a much more productive question to ask. The answer to questions like this one becomes your next action, and taking action is what will make all the difference.

The fear of failing will paralyze you. I think it is an even bigger failure to let fear prevent you from attempting something than to actually fail in the attempt. For example, starting a business is scary for a lot of people. Starting a business doing something that no one has done before is scarier. Starting a business doing something no one has done before in a market that no one thinks exists is terrifying. But don’t let that fear scare you from doing it. Don’t let fear prevent you from taking those needed actions to advance. Recognize your fears, but don’t let them rule your life.

As Mark Twain said, “Courage is not the lack of fear. It is acting in spite of it.”

Categories
Game Development Personal Development

Thousander Club Update: May 29th

For this week’s Thousander Club update:

Game Hours: 87.25 / 1000
Game Ideas: 378 / 1000

Target: 378

I left for Iowa on Thursday night to visit some friends. I also had to watch my parents’ cat while they were out of town earlier in the week. Between driving to their house and preparing for the trip, I didn’t have too much time to myself. Not that I didn’t squander the opportunities that I had, but they were few and far between.

I spent a little time while I was out of the state with a notebook and pen. I have a few use cases that should help me focus on how my engine will work.

I also have two cats now. Diego and Gizmo might be a handful. I’ll see if I can get some pictures up. Yes, my blog will actually feature pictures of my cats. It’s come to this.

Categories
Game Development Personal Development

Thousander Club Update: May 22nd

For this week’s Thousander Club update:

Game Hours: 86.75 / 1000
Game Ideas: 357 / 1000

Target: 357

Well, my week was very unproductive. Until Friday, I didn’t do any work at all. For some reason, I had trouble waking up in the mornings. Normally I try to get up at 5:30AM, and if I get up late, it is still 6:30AM at the latest. I still have plenty of time to get ready in the morning. For some reason, I kept waking up after 7AM this past week. It wasn’t like I was staying up late, either. I went to bed early enough. I just had trouble waking up. And so the rest of my day was pretty messed up. It is interesting how much of a connection there is between waking up early and getting things done.

On the other hand, I did use this past week to catch up on magazines and other readings that I’ve let stack up. My inbox is down to manageable again.

Friday I was tempted to lie down and relax after coming home from my day job, but Uhfgood from #gamedevelopers suggested I work on OE’. I figured I would put in about 30 minutes at the most. Once again, starting something allowed me to keep the momentum going. I ended up working almost two hours. Once again, #gamedevelopers helped keep game development at the front of my mind.

Categories
Game Development Personal Development

Thousander Club Update: May 15th

For this week’s Thousander Club update:

Game Hours: 85 / 1000
Game Ideas: 336 / 1000

Target: 336

I managed to work a bit on Oracle’s Eye. Since I finished the text-based board game, I wanted to reuse the techniques in OE. Rather than make massive changes to the game engine, I decided that I should start a new project. I dubbed it Oracle’s Eye Prime.

Yes, it is risky to redo the engine. I know the countless stories of hobbyists who never finish a game because they decide to redo the engine over and over again. Finishing a game is what counts. Still, I think that what I know now compared to what I knew when I started OE back in August is enough to justify the risk. When I was adding features to the board game, they fell into place very easily because the code was so easy to work with. Compared with OE‘s current engine, which would require significant refactoring and editing to add any feature, and I think it makes sense to redo the engine.

Since I’m so good at project scheduling (“That’s a joke, kid.”), I’m going to estimate that it will take me about a month to get the new codebase up and get OE’ to the same point that I had OE. Ok, maybe three months.

Categories
Game Development Personal Development

Thousander Club Update: May 8th

For this week’s Thousander Club update:

Game Hours: 80 / 1000
Game Ideas: 315 / 1000

Target: 315

8%! Another 20 more hours and I will hit 10%, which will be a good milestone to reach.

While trying to stop up any memory leaks, I was using Valgrind. The following output was great to read:

==21519==
==21519== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1)
–21519–
–21519– supp: 17 Debian libc6 stripped dynamic linker
==21519== malloc/free: in use at exit: 0 bytes in 0 blocks.
==21519== malloc/free: 6,543 allocs, 6,543 frees, 177,245 bytes allocated.
==21519==
==21519== All heap blocks were freed — no leaks are possible.

w00t!

I can finally move on to Oracle’s Eye again. After a two month “break” working on this text-based board game, it will be great to make progress on my original project.

Also, I’ve found that by wanting to add more hours to record for the Thousander Club, I am getting useful work done. If I wasn’t thinking about at least trying to meet my targets for the Club, I doubt I would have spent as much time as I have been working. By measuring what I do, what I do gets done.

Categories
Game Development Games Geek / Technical Personal Development

A Project Completed!

At the beginning of March, I interviewed for a position at a company. I was asked to create a small text-based game to demonstrate how I would go about solving it. After a week, they asked to see my code even though it wasn’t finished yet. Apparently they liked it since I got the position.

Even though there was no need to complete the project, I kept working on it. Last Friday morning, I finally finished it.

It took almost two months of (admittedly inconsistent) part-time work, but I have finished a project. It was simultaneously simple and more complex than I thought it was going to be.

I used the tips from my previous post,Object-Oriented Game Design. I separated almost everything into Entity, State, and Action objects. In the beginning, I had to work on not only wrapping my head around the concepts but also code up the infrastructure to allow for it. By the end, adding a feature became as simple as creating the appropriate State or Action derived classes.

I’ll admit that I cheated a bit. For instance, when I create the game board from an XML file, I have a class that has no business populating the board with Space objects. I probably could have created a few Action classes to do it, though. PopulateBoard, AddSpace, etc.

Still, the game is finished. I spent a bit of time trying to match up each delete with its respective new. I fixed an off-by-one bug that would crash the game if you moved back three spaces and you were going to cross from the beginning of the board to the end of the board.

On the other hand, it isn’t really a “game” since there is no interaction to speak of. The players roll two dice and move according to the dice. There are no choices. Still, this simulation proves that it is easy to create games based on entities, components, and actions. I hope to translate what I learned into Oracle’s Eye and other games.