Categories
Game Development Geek / Technical Linux Game Development Personal Development

LD#14: Breakfast at Lunch

Breakfast at lunch

A healthy breakfast: a banana, a bowl of Trader Joe’s Twigs, Flakes, and Clusters (which sounds horrible, but tastes great actually!) covered with blackberries, and washed down with good ol’ orange juice.

Another idea came to me while eating: Remember the game Rampart? How about building walls to surround resources that you use to defeat your enemies instead? BRILLIANT! Maybe.

Categories
Game Development Geek / Technical Linux Game Development Personal Development

LD#14: Rough Start

So the first 12 hours is up, and what was I doing? Dancing. I went to a coworker’s birthday party (shout out to Andy!) and I didn’t get home until 6AM. Wasn’t expecting that. I woke up at 9:45AM, and I’m barely functional.

Now, it wasn’t a total loss of the first quarter of the competition. I had received a text shortly after the theme was announced with the theme: Advancing Walls of Doom.

Wow, that sounds so specific. And yet, I feel like there is a lot of potential with this one. I spent some time thinking about it and talking it over with other people at the party. I was pretty sure I was the only one there who was partying while working on developing a video game. B-)

Still, 12 hours, and only a few ideas in my head to show for it? I’m going to have to get cracking.

Ideas:

  • A wall is falling over, and you have to see how long you can prevent it from doing so.
  • An anthropomorphic army of walls is heading towards your town, and you need to stop them from settling in and dividing it.
  • You’re dancing with your partner, and the advancing wall of other dancers is threatening to separate you.
  • You have to create the wall of doom.

Yeah, some are kind of vague. The dance one is a bit more fleshed out in my mind, but I like the army of walls and the idea of creating a wall of doom…however you would do that.

But first, I need to pick up laundry, then have breakfast and take a shower.

Categories
Game Development Linux Game Development Personal Development

Ludum Dare #14 Is Here!

It’s time for another 48-hour solo game programming competition! Ludum Dare is fun, and you get to show off your game development hacking skills by producing a finished game at the end of a weekend!

My first LD was #11, and I produced Minimalist. I’ve since improved it to create Walls, and since then I’ve created a Facebook application based on the same game play called Sea Friends. And all of that happened because I spent a weekend in April last year creating a game in 48 hours!

The theme is announced tonight at 10:00 PM Central Time. Good luck to all who are participating!

As always, I’ll be live blogging here and on the official Ludum Dare blog, and this time around I’ll also be tweeting. Follow me @GBGames.

[tags] ludum dare, indie, game development [/tags]

Categories
Game Development Personal Development

Thousander Club Update: April 13th

For this week’s Thousander Club update:

Game Hours: 576 (previous three years) + 104.25 (current year) = 680.25 / 1000
Game Ideas: 775 (previous three years) + 10 (current year) = 785 / 1000

I spent some time getting acclimated to the PHP backend for my Facebook game, Sea Friends. I needed to make a modification, but I first had to find out how I could make that modification.

The bad news is: my modification won’t be good enough for what I wanted to do. The good news is: I know a lot more about how the backend works so that I can eventually make the modifications I need.

See? It’s nice to be able to modify your own code. I can’t say the same about the Flash component of my game. If I want to change it, I have to pay someone else to do it, or I have to pay Adobe hundreds of dollars for a program to give me the ability to read MY .fla file, and that program only works on Windows or Mac OS X. I found an old blog post that claims Flash source will be XML-based eventually, but the current .fla files are not well-documented and quite proprietary.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Game Development Personal Development

Thousander Club Update: April 6th

For this week’s Thousander Club update:

Game Hours: 576 (previous three years) + 101.5 (current year) = 677.5 / 1000
Game Ideas: 775 (previous three years) + 10 (current year) = 785 / 1000

I broke 100 hours for this year! Around this time last year I was only at 40 hours, and two years ago I was around 75 hours. Compared to previous years, I’m doing well, although I still feel that I’ve been moving somewhat slowly. It seems I move in spurts, especially for Ludum Dare competitions, punctuated by long periods of little to no progress. I need to work on firing my cylinders a bit more evenly.

I have been working on marketing my Facebook game Sea Friends, but it seems that most people have lost interest in the game soon after finding it. If you have a Facebook account and wouldn’t mind checking out the game, let me know what you think of it. I’d love to get more feedback from players.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Game Development Personal Development

Thousander Club Update: March 30th

For this week’s Thousander Club update:

Game Hours: 576 (previous three years) + 98.75 (current year) = 674.75 / 1000
Game Ideas: 775 (previous three years) + 3 (current year) = 778 / 1000

I’ve been sick, to the point where I have been home from the Day Job as well. I tried to get a little work in this week, but it was unrelated to Sea Friends.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Personal Development

Being Decisive

Making decisions is one of those important tools in your arsenal that you don’t realize is one. You make decisions all the time, right? You decide to get out of bed at the alarm, you decide whether to shower in the morning or not, you decide what to wear, you decide what to eat. It’s no big deal.

Yet, how many times has the following happened to you?

Person A: “Ok, lunch time! What do you want to get to eat today?”
Person B: “I don’t know. Whatever’s fine. Do you have anywhere in mind?”
Person A: “No, I’m fine with anything, too.”
Person B: “Ok….”

Before you know it, 5 minutes have elapsed, and no one has made the simple decision about where they are going to eat! It may very well be true that no one has a preference, but someone has to propose a solution and get moving to avoid starvation. It might as well be you.

Being decisive helps move you forward in a very deliberate way as opposed to coasting on current circumstances. Whether a small or big decision, it has been made, and action can be taken immediately. Take a step in a direction deliberately. You can almost always take a step back if it turns out to be a mistake. If that restaurant is closed, well, now you know, and you can go somewhere else. That raise or new job you want may not be available, but now you know and can stop wasting mental effort on wondering.

But the restaurant might be open, or you may get the raise you want! All because you decided to go for it!

Being indecisive can result in subpar experiences because you either stay in a situation you aren’t happy with, or someone/something forces your hand, putting you in a situation you don’t want to be in.

If you let other people decide where you’ll be and when you’ll be there, and you’ll find that you never know when you have time for yourself. You’ve abdicated responsibility for your time! I know, because I allowed such a situation to happen to me. It was just easier to let all plans and scheduling go through a girlfriend I had, but one day I realized that it was hard for me to schedule time for myself since I never knew what was already scheduled for me! “I’m going to write a few blog posts today.” “You can’t. We’re playing D&D today.” “Oh.” More often, someone would ask me if I wanted to go do something that weekend, and I would have to say, “I don’t know. I have to ask if I’m already doing something then.” Getting my own calendar and keeping it up-to-date was liberating because I could know exactly what I was doing and when. It also sets a tone that I’m in charge of my life and that I haven’t given that responsibility to someone else.

You may not know where you stand with someone you are interested in, but until you decide to find out, you are in an uncertain situation. Get out of it by making a decision! The other person might make a decision…by going with someone who is a bit more assertive. Get married, or not. Date, or don’t. Have a serious discussion about your relationship, or leave things up in the air.

You know your business needs all the marketing help you can get, but you’re not sure if you should buy a marketing info product. It came highly recommended from someone you trust, and it costs less than $75. Let’s be real. Worst case? You are out $75. Big deal. You’ll make it back in no time. I don’t even need to tell you what the best case might be. This one should be a no-brainer, but sometimes you hem and haw about these decisions.

Being decisive is a skill that you need everywhere in your life, not just for the mundane but for your business. Like any skill, you need to practice it. Those no-brainer decisions you don’t make? They get a lot easier once you get comfortable with doing the deciding in your life. Start by suggesting where you want to eat, even if you don’t actually have a preference. Start by suggesting that everyone take your car, or what movie to see, or what snacks to get, or any number of little decisions. Pretty soon, you’ll be comfortable suggesting what destination to go to for road trip, or what to discuss at a business meeting, or what web hosting package to get, or what city you want to live in.

If it is important, make a decision. By not making a decision, you are saying that it isn’t an important enough decision to make. Don’t complain about the consequences if you leave it up to the rest of the world to decide for you. Take charge. Be decisive.

Categories
Game Design Game Development Personal Development Post-mortem

Sea Friends Post-mortem

I released my first Facebook app Sea Friends in February, and at first it looked like my friends were the only ones adding the game. Pretty soon, strangers started adding the game as well. It is a good feeling when you find that people are enjoying your game. It validates what you’ve accomplished and shows that people find value in it.

If you are familiar with my game development, you’ll know that Sea Friends is based off of my recently released game Walls, which in turn is based off of Minimalist. Minimalist was created for the 11th Ludum Dare 48-hour game programming competition. I wrote a separate post-mortem for it. Sea Friends took the same simple game play, applied a theme, and added a ranking system to a social networking site.

What Went Right:

  • Setting an aggressive schedule. My business colleague in this endeavor convinced me that it should be possible to get this project done in two weeks. Considering how long I spend working on a single project outside of 48-hour game dev competitions, I liked what I was hearing, even if I wasn’t sure how to get it done. We scheduled one week to make the Facebook app, and another week to tweak it. I figured the worst-case is that I learn a lot in a short period of time, so I went ahead with the project. I’m glad I did, because I was right. I got so much out of this experience, and I was able to put together a game much faster than I would have done before.
  • Leveraging the work of others. So how do you work a full-time Day Job AND get a complete Facebook project completed in a short period of time? You pay other people to do it for you. I didn’t have the time to learn new languages and write all the code, and while I am a decent programmer artist, I still create programmer art. I needed other people to do the work for me. Essentially, this project taught me how to be a project manager. I only did a few hours of programming, and it was mainly to update Walls with a few new features so I could have the Flash developer see what I wanted in the Flash version of the game. While I was at the Day Job or sleeping, someone else was still getting work done. By leveraging the work of other people, I fit 48 or 72 hours into each 24 hour day. That isn’t to say that I didn’t do anything myself, though. My work was less direct product development and more coordination, planning, and design. I was still exhausted by the end of this sprint.

    Before starting this project, I had been reading The 4-Hour work Week: Escape 9-5, Live Anywhere, and Join the New Rich which focuses a lot on the benefits of outsourcing to free up your time to do more of what you find important. One of my favorite moments during this project? Finding out that my car was buried by the previous day’s snowfall and knowing that I would need it to get to a meeting with my colleague on time. I needed to spend my evening looking for a Flash developer. I didn’t have time to dig out my car! So I went to Craigslist and found someone to do it for me. It cost me $20, and the job was done in less time and in a higher quality than I would have done myself. Most importantly, I was able to use that time to do higher priority things, like work on my aggressively scheduled project!

    You probably outsource some things without even realizing it. Dry cleaning and automobile repair are two good examples, but why stop there? I haven’t done my own laundry in over a year since I started dropping it off at the laundromat. You pay by the pound, and pick it up at the end of the day. They even fold it for you! There are grocery shopping services, cleaning services, lawn care services, research services, and many other services that you can take advantage of, all so you can focus on what you “don’t have time to do” now.

  • Theming an existing game. Walls is a fairly abstract game. It is based on Minimalist, after all. While I think the game play should be enough to compel people to play it, I can also accept that having something cute and fun-looking helps. People argue about the importance of high quality graphics to a game, and I’m one of those inclined to believe that they aren’t nearly as important as some people think they are, but I suppose a blunt way to put it is that players will generally like attractive games more than games that don’t appeal aesthetically.

    The good news is that the game itself was already finished, so I could literally swap out the art and have a different feel for the game. Check out these screenshots to see what I mean:

    Sea Friends Screenshot

  • Finding a good “team” I found one fantastic Flash developer named Brennan through FlashKit.com’s freelance forums, and he was able to port Walls to Flash in less than a day and did great work putting together Sea Friends. I found a great artist, Jessica Garibaldi, through a coworker at the day job. She did incredible work and was able to give me great looking art daily. Together, these two people helped me have a good experience with outsourcing and put a together high-quality game. If you would like to get in touch with either of them for your own work, feel free to ask me through my contact form.

What Went Wrong:

  • Finding a good “team”. In order to find the good, I had to go through a bit of bad. On the first day, I found one company to do the Flash port, and I thought everything was going to go smoothly. Hours later, they found that the project was more complex than they initially thought and told me that they couldn’t get it to me on time. I found another developer who was doing decent work, but he wasn’t able to get me the work at the times we agreed. It was almost two weeks into the project, and I still didn’t have the initial Flash port completed! And then, to top it all off, when I tried to bring the project to a close, the relationship fell through, so now I was two weeks in and with nothing to show for it! It was a frustrating experience, but rather than give up, I tried to take whatever benefits I could get out of it and move on.

    And the main lesson is that I need to communicate my intentions better.

    What’s embarrassing is that I already knew how important clear communications are when dealing with other workers, and yet I still sent out emails and messages that had the potential for misinterpretations. For one thing, Walls looks deceptively simple, and I could have done a better job of conveying how involved it actually is. I had a number of people tell me that they could do the Flash port for $20, and I believe the first company thought they could do the work in a matter of hours. When I finally found the developer who worked on the full project, I learned that I needed to be very very clear and specific. Just because you give the original C++ source code to people, it doesn’t necessarily mean they will read it and know what the game is meant to be. I took every feature, design decision, and mechanic, and explained in detail what was expected. Once I was able to do so, things seemed to go much more smoothly.

  • Slipping the schedule. Unfortunately, my first two weeks were more about learning lessons than about making a game. I had to take another two weeks to get all of the work done, meaning it took about a month from start to finish. I was still a bit new to the aggressive schedule myself, and I was learning how to set expectations with the people I pay to do work for me. When you’ve never been in a management or leadership position before, it can be a bit foreign to set expectations and act on those expectations. If someone promises you completed work in a day, and 24 hours later he/she make excuses about why he/she couldn’t fulfill that promise, it is perfectly fine to cancel the arrangement. I actually found myself trying to be accommodating to one of the first Flash developers’ schedule, only to have it bite me in the end later. It’s my project, so I should be the one setting the pace. It sounds obvious, but again, if you’ve never done it before, it’s a new skill you need to learn. I never had plans to hire anyone full-time, so I never paid attention to the business books about management, and I wish I had.
  • Feeling like I’m standing still. The problem with not personally knowing the technology involved is that you can’t easily dig in yourself. I did not know Actionscript or general Flash development, and I’m not familiar with PHP or MySQL. There were days I spent waiting on contractors, and I felt like I was idling in the meantime. I spent some of that time working with my colleague on potential design decisions for this and future projects, but there were a few times when I wanted to dig into the code and get my hands dirty, especially when I knew what little changes would be needed to improve the various releases I received. I had to remind myself that I’m paying these people to do these things for me.

    I still want to learn these technologies since I can’t always rely on someone else to do the work for me. I have a finite amount of cash, after all. Sometimes it is fine to let others do the work you asked them, but I still would prefer it if I can take what they have and tweak it. Waiting for them to send me back small changes I could have done myself should save time.

  • Using proprietary formats. Of course, if I can’t actually make the change even if I had the source, what good is it? With this project, I’m referring to the Flash part. The source was provided as an FLA file. I don’t use Windows or a Mac, and Adobe hasn’t released a way for me to open FLA files on my Linux-based system. It’s funny because there are Flex tools available for writing something new, but I have no way to take work someone else did and modify it. Or if there is, I couldn’t find it.

    And no, I really don’t like the idea of using a completely different OS just to use one tool that I don’t actually need to use. Again, there are tools available to create Flash files, but even separate from that, I could have used Java to create applets, or AJAX technologies, or any number of open technologies, and any of them would have been less of a hassle for me.

  • Marketing the game. Aside from ads in my colleague’s own games, the only way my game would spread was by the players challenging their friends. And it seemed that they were doing so, although the growth seemed to drop off after a bit. I wanted it to be a quiet initial release to ensure that there were no show-stopping bugs, but I’ve only recently been adding links to the game on the GBGames main website. As much as I know that marketing is important, I feel that I dropped the ball here. Press releases, submissions to major game websites, and paid advertising could probably do wonders.

What I Learned:

I learned that you can create complete games in a very short period of time. Now, it isn’t really all that new as far as revelations go. I participate in Ludum Dare, after all, but I usually do so for fun anyway. If I don’t have a working game at the end, it can be disappointing, but it isn’t the end of the world. When you’re making a game that you intend to base part of your income upon, it can be more daunting. It seems like it should take longer to make a “real” game. I found that the greatest breakthroughs came when I thought, “If I HAD to get this done, what would I need to do?”

I learned that when you are going full-steam ahead on a project, the rest of your life can start to deteriorate. Dishes don’t get washed. Paperwork doesn’t get filed. Bills don’t get paid right away. And this is fine! You’ll catch up with everything later. It sounds like a common enough occurrence. You just have to accept that being busy with important stuff means the less important stuff piles up and waits. You’ll get to it when you’re done with the project, or if something else becomes more important AND urgent.

I learned that no matter how much you may want to peacefully and mutually come to an understanding with someone, you can’t always see eye to eye. You can’t get everyone to like you, and you shouldn’t spend too much time trying. You have important work that needs to get done, and if someone isn’t helping you, it’s your job to find someone else. You can’t whine, and you can’t give up. It’s just another obstacle to get past.

I learned that outsourcing work is accessible and affordable to an indie. All told, I spent about $1,175 for Flash work and art creation, which is actually a little higher than it had to be, I’m sure. Even if Sea Friends never makes that money back for me, I think the cost was well worth the experience. I don’t expect to spend so much money on each future project, but if I need work that someone else to do faster and better than I could, I know I have the option to trade my money for their time.

Sea Friends was an exercise in outsourcing more than anything else, and I thought it worked out well overall. On that topic, I would highly suggest reading Outsourcing Art: Ten Steps to Success by Jon Jones for great advice for working with contractors.

I had a lot of fun working on this project, and it was great to see it all come together. And seeing real people in the rankings? It’s very satisfying.

Please check out the game at http://apps.facebook.com/seafriends, and let me know what you think!

Categories
Game Development Personal Development

Thousander Club Update: February 16th

For this week’s Thousander Club update:

Game Hours: 576 (previous three years) + 98.25 (current year) = 674.25 / 1000
Game Ideas: 775 (previous three years) + 3 (current year) = 778 / 1000

I decided to take it easy this past week. I’ve caught up on bills and cleaning, but I still managed to get a little bit of work in on Sea Friends. I’m learning PHP and MySQL, which should help me do more hands-on development for my current Facebook app as well as prepare me for future apps. Sea Friends seems to be slowly but surely gaining a following, and I’d like to see what I can do to give people more incentives to tell their friends about it.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]

Categories
Game Development Personal Development

Thousander Club Update: February 9th

For this week’s Thousander Club update:

Game Hours: 576 (previous three years) + 93.25 (current year) = 669.25 / 1000
Game Ideas: 775 (previous three years) + 3 (current year) = 778 / 1000

I have been a bit busy these past couple of weeks, and as of this past Saturday, I can finally show what I’ve been up to. If you have a Facebook account, please take a look at my latest release, Sea Friends! I’ve taken Walls, and I’ve added a theme, a ranking system, and a way to protect coral reefs while playing.

Now that the game is released, I expect to have a good post-mortem up shortly. I’ve learned a lot in the past month. And the best part is that this year I’ve already released two games! I wanted to be more productive when it came to game development, and I’m finally seeing what that would look like in my life.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]