Thursday, August 23, 2012

Checking In!

Ok, I know its been a few days since my last post. Fear not; I'm still here.

They say things are darkest before the dawn? Well things got pretty dark for a moment there. Now, it would seem, we are on a long awaited upswing.

I've been working with one of our fine programmers, putting the finishing touches on our upcoming iOS game, Starfall: Ronin. I gotta say, the game has grown to be a whole lot of fun to play, even with all the bugs we've been encountering (and squashing).

The troubles with the business side of things are (hopefully) in the past. We have a shiny new website; though it's still in the process of propogating, and I'm still in the process of a very healthy redesign.

These growing pains of a newborn website are a pain. One moment they're working just fine, then the next, nothing is working at all. It keeps things somewhat unreliable and has me constantly going back to check the page like a highschool kid hovering around the phone. I go the site... nothing... maybe... F5!... still nothing.

Well, we've been approved as Apple developers, which is a big step for us. Starfall: Ronin will also be our first EVAR commercial game. I'm keeping my fingers crossed. I have vague memories of what having money felt like. It was nice, as I recall.


We also have a couple other, very casual games in the works. Now, when I say "casual" I mean "develop them in a few weeks and sell them for $0.99-casual".

I've found that I have a knack for designing casual games. While, at my core, I'm a deep, strategy and story designer, if I simply skim an idea across my brain, it turns out to be kinda fun. It goes something like this:

"I need an idea for a casual game... easy now... aaaand think! 'Robots jump and shoot! Sometimes fly!' Now run away and think about something else! Oh man... did I go too far with having them fly?'"

The level of restraint required is unbelievable, but the end result turn out to be very cool.

Well, I have been putting work into The Glow, though I think Quig is beginning to feel like the middle-child. Once we get these games on the market, and I'm not spending every waking minute wondering how I'm going to feed my family, then my favorite, glow-in-the-dark hero will be getting my full attention.

Stay tuned!... and buy an iPhone!

Monday, August 13, 2012

Round & Round

Level placement is finally done! Although, to fill out the game, I ended up having to include 4 extra levels that I wasn't planning on. Now I have to dream up a handful of new environments for Quig to explore. Not a problem really, that's the part I enjoy the most!

Weeeee! Wee, Wee, Weeeee!
Par for the course, once I had all the levels in place, unlocking them in a test revealed about a hundred new problems. In my noble attempts to solve these problems, I ended up creating several endless loops. Those are always fun, since the involve killing the entire program, restarting and trying to discover what went wrong (without any useful Debug messages, since they were killed along with the program).

Regardless, I was victorious! Not only are the levels in place, but they also unlock like they're supposed to.

I also received some great feedback today! At last! I was hoping to get a character animator to help on the game, but he eventually told me that he wasn't interested. When I asked why, he explained that he tested the prototype and didn't see much gameplay.

Why, you ask? Because in order to leave the first room, you need to destroy a rock that is blocking your path. Now, Quig does, in fact, attack with his tail when you click the mouse button. However, you would never know this because he's currently a little purple cube with no animation. So the animator never left the first room...

Ironic, I need animation to show people how to play the game. I need people to play the game in order to get an animator. Even in real life, I have endless loops!!

Sunday, August 12, 2012

Tool Building

I bet you think, all this time I spend at the computer, I'm writing a video game. Ha! You're wrong!

Ok, well normally you might be right, just not today. As I've mentioned, I've been working on the code to unlock and load new levels as the player progresses through the game. While normally, this should be an easy task, anyone who knows me knows that I'm incapable of doing anything easy.

I won't go into the details, but basically, whether or not a level becomes available is based on how well you've performed in previous levels. This means that setting up the levels (not even the levels; just the icons that represent the levels), requires precise settings. Considering there are more than 30 levels in the game, this becomes a daunting task pretty quickly.

And how do I deal with this? Tools! Not existing tools, of course. Oh no. I have to build special tools for the sole purpose of placing and setting these levels. On some level, this is frightfully frustrating, simply because I'd rather be building the actual game.

On the other hand, its kind of nice to be stepping away from the madness of the game code and working on something not connected directly to it. Its a relief to know that, if I screw up one little function, it won't be completely  unraveling the rest of the game in the process.

Still, I'm looking forward to getting this nailed down, because completing this step means I'll be able to leap forward with the game even more rapidly. No longer will Quig be trapped on his home planet. No! Now, our hero will be able to explore the depths of space, bringing light to every corner of the galaxy! Sillow beware.

Saturday, August 11, 2012

Take a Note

Looking at my code, I've come to realize that, more often than not, I have more comments and documentation than I have actual code. This is great for so many reasons.

First, when working alone on a project, its easy to get lost in your oceans of code and forget why you did something a certain way. The Glow currently has 22 C# files, along with dozens of prefab objects, textures, etc. And that's just the tip of the ice berg. Having this trail of bread crumbs helps me keep track of everything without having to pour over a hundred lines of code to figure out what's going on.

Second, if, by some miracle, I manage to get help from another programmer, it won't take them a week to figure out my code. I've been accused (more than once) of writing spaghetti syntax. If I hope to ever have someone lend a hand with this game, they will need to be able to quickly see how my code works.
 
//what was I thinking?
 Now! HOW do I keep everything so well commented? This was actually a big issue for me back in my early days of scripting. I just dove into the code and started writing. I would then find myself going back over my code and trying to squeeze in comments to explain how things worked. Not only was this a giant pain in the ass, but I rarely covered everything and often couldn't even remember why I did things a certain way.
 
Now, however, in an unfamiliar language and working on a much larger project, I've had to take a different approach. I begin with my comments. I'll write the name of a function, but it won't actually do anything. It's empty!

What the function does contain is a commented list of all the things its going to do, written in the order that it will do them. As I move forward then, I simply write the code between these comments. This helps me so much when planning out my code, and helps even more later on when going back to reference those functions.

So! My advice for the day; plan things out by writing them down directly in your code. Don't wait until after a function is complete to document it. This will turn all your crazy "for" loops, switch-cases and function calls into simple A, B, C steps. (And others will be impressed by your detailed documentation later on.)

Grounded


Of all the issues I've struggled with (and conquered), its frightfully annoying that I'm getting hung up on something as simple as the jump code. Despite the fact that I wrote the original code, I've made two attempts now to rewrite the code to act just a little differently. Apparently this is beyond my ability, as I've had to revert my code and lose days of work.

 

While there was a small glimmer of hope that another programmer was interested in lending a hand to the project, they haven't gotten back to me beyond initial contact. So here I am, pushing forward on my own yet again.

I've found it useful to tackle minor issues when something like this happens. For instance, I've got some basic structure put in to handle unlocking new levels. At least then I can feel like I've accomplished something (however small), and I'm still encouraged to continue working tomorrow. I would like to note, however, that adding in something like "fog of war" is not one of these "simple" tasks... don't do it.

It also helps that some people on the various forums I visit have expressed their support and interest in the game. Those comments really are worth their weight in gold to an indie developer. It's why we do what we do. So please, let me know your thoughts! I love feedback!

Friday, August 10, 2012

Aim High

As I've been working on The Glow, as well as getting our iOS game ready to ship, some thoughts have occurred to me. In a nutshell, it would be, Plan Big!!

Do not design your game, then add on a "wishlist" of possible features. Put those additional features in the design from the start and plan out your schedule accordingly.

Why? Because no one ever finishes a game and says, "wow, we have all this extra time and money, what features can we add in?"

In reality, once you've got the design for your game nailed down, you have to accept the fact that not all of those features will be making it into the final release. As your deadline approaches, or as your budget begins to run dry, you will find yourself going through all of the features you have left and making the tough choices of "what to cut".

Our iOS game is a perfect example of this. The game itself is quite simple. It was also prototyped very early on. In our redesign, I had added in a handful of features (nothing huge, just expansions on existing game elements). Lo and behold, most of those added features have now been cut from the game.

In our prototype, there were a few features that were also cut. The time it took to rebuild for the iOS platform, as well as add in those features, in the end, left very little time to experiment with anything new. Now, as we're getting close to our deadline, the smart choice for us is to simply forget the added features.

The simple fact is, there is always going to be something more that you want to do with your game. ALWAYS. But a finished game on the market is worth infinitely more than a 12 page wishlist of the world's greatest features. Also, if the slimmed down version of your game doesn't do well on the market, its a safe bet that those added features wouldn't have saved it anyway.

So, as I continue my work on our other games, my advice to you (and myself) is to follow these steps.

1: Design BIG
2: Prototype Core Gameplay
3: Build the Game, Starting with the Core Gameplay
4: As the deadline approaches, relieve pressure by cutting features that haven't been finished yet.
5: Test, Polish, Release

6: If the game does well, consider DLC, expansions or a sequel to include the features that had been cut.

Good luck!

Thursday, August 9, 2012

e-Freakin-Nuff!!!

Alright, I've reached my stress limit. Tip me over and pour me out.

While my world has been a crazy roller coaster from the start, its accumulation, along with the annoyances of the last few days have pushed me to my limit.

I am an introvert. I don't gush about my feelings or put my life on display for the world to see. I keep these posts to keep people up to date on The Glow and possibly to amuse you along the way. Apparently, however, if you don't tell everyone about every little thing that happens and every emotion you feel, they see fit to fill in the blanks themselves. Normally, I just let this go because, really, I just don't give a damn. Recently, however, human stupidity has truly become an annoyance in my life.

Let me tell you who I am and how I came to be this person.

On July 14th, 1977, (yeah, the mysterious New York blackout) I was born dead, and it was pretty much downhill from there. I was born to a... bizarre family. My father was essentially the most evil creature you could conceive of. Ex-marine, ex-biker, alcoholic, self-proclaimed pastor, woman and child abuser. The last time I saw him was at his sentencing when I was in junior high. My mother, on the other hand, was damn near angelic. She was ever-loving, ever-forgiving, non-judging (I think, in the early morning, while walking around the kitchen in her nightgown, she even levitated). No, I don't have some messed up "Oedipus" issues, she really was that much of a pure, radiant spirit... it even annoyed me from time to time.

You have to assume, by the general rules of genetics and environment, I'm a screwed up jigsaw of those traits... good luck figuring that out. What I can tell you is that, my brain had repressed all of the evils of my childhood, leaving only the doe-eyed innocence of my mother to carry me through my early years.

To hit the relevant highlights; our family had "family game night" (once a week, I guess). I wasn't allowed to be involved in this because my father said I was "too young". My mom believed this to be the reason for my obsession with games. She theorized that, to me, games = family. Fine.

Growing up on welfare, as I got older, we couldn't afford to get all the cool boardgames I saw in the stores. So what did I do? I read the hell out of the backs of the boxes, then ran home to attempt to recreate them with cardboard and tape (I forced my brother to playtest them with me.)

Fast forward to high school. I was a nerd. Super nerd really. Not kidding. I wore tube socks and tucked my sweaters into my jeans. I annoyed the crap out of the Dungeons & Dragons crowd until they would finally talk to me. Yay! I made friends!....

Now, at some point in these years, a valve broke in my brain. While washing dishes one day, all of the super-fantastic horrors of my childhood just decided that they wanted to pour into my consciousness. So. Much. Fun... lemme tell ya. I was quickly rushed between three different therapists, all of which had different theories as to how I felt. Cute.

Anyhoo. This became a fast, downward spiral. All of the happy, happy genes from my mom collided with the invading mongols of my father's bloodline. I became angry and depressed. And what happens when a nerd becomes angry and depressed? That's right! Goth!

Apparently, however, this weird cocktail of mentalities that I had developed, baked into a strange, commanding presence that I hadn't expected. I became goth, then next thing I knew, people were hanging around with me, also turning goth. Then more... and more.

Now, I won't get into the details, but this evolved into absolute insanity that splattered across front page news. It spun out of control and, next thing I knew, there were Wanted Posters of me all over town, I had a 40 caliber pistol tucked under my jacket and I was being chased by the FBI through the mall parking lot. Sweet baby Jesus, I wish I was making this up.

After the smoke had cleared from all that, I said enough was enough. I found myself in a field, surrounded by my 40+ cult minions. I told them we were done. It was over.

...it didn't go well.

A few days later, I found myself in a park, exchanging blows with two people who, at one point, had sworn to protect me. Not to toot my own horn, but I held these big guys off for quite a while. Eventually though, I had a picnic table dropped on my head (don't ask), and was knocked out cold. Apparently, they then decided to pick me up and toss me into the lake. I awoke a few minutes later; they were gone, but one of their girlfriends had stayed behind and was now hold my head above water.

I didn't even care. I was finally left alone. The insanity was over!!! (Nevermind the fact that one of those guys later went to prison for attempted murder... of someone else.) Granted, things weren't perfect. I now found myself penniless and homeless. Winter soon set in and, being homeless in Wisconsin in February is no picnic.

I wandered the streets, begged and conned for change (not easy for someone with a... reputation) and I started cleaning tables at a local diner in exchange for pancakes and a cup of coffee. My mother offered to help me, but had a list of stipulations regarding changes to my life that I would have to obey. I was too stubborn, proud or stupid to accept her terms (but she still gave me something to eat from time to time).

Long story short, I ended up living in the city where I currently reside. A friend of a friend let me sleep on his floor and use his shower. He even hooked me up with a factory job at a book printing company. That was the beginning of me rebuilding my life.

I finally carried on with my life. I cut my hair, started wearing khakis, and even smiled and told a joke from time to time. Years of rebuilding later (sans a few rocky points), I was self-sufficient. I had a son named Gabriel (who thinks I'm just the coolest person in the world... weird). Things didn't work out with his mom, but she's a great mother, and we still get along great.

I formed a game development company with a friend of mine (third shift waiter at the aforementioned diner), and we began work as hobbyist developers with people all over the world. Things were going great! I would meet with my mom about once a week. I would have coffee, she would have ice cream and we would talk about everything; life, physics, religion, work, politics, writing, etc. She even bought me a tie-clip, saying how proud she was of me.

We were leaving Starbucks one afternoon and she turned to look at me and asked, "is it strange that my youngest son is my best friend?" I answered, "Not at all. I tell people all the time that you're my best friend."

Those were the last words we would ever say to each other. (I couldn't have asked for better.)

I was at work, talking with a customer when my phone rang. It was my sister... odd. She never calls me. Then something clicked in my brain; I don't even know what it was, but I looked at my customer and said "something's wrong".

After the customers left, I saw a few missed calls; one from my mom. I called back and my step dad answered. He managed to tell me what happened. My mom was out for an afternoon walk with her friend (as she always did). A 19 year old girl, distracted by her cell phone while driving, swerved into the shoulder of the road and hit her. My mom was killed instantly. (The girl received a traffic ticket.)

My mom was cremated, and I now carry her ashes inside a silver eternity necklace around my neck.

Things started to fray again. My boss questioned me about "all the work I was missing". (I had taken 2 days off. One for the funeral, and one on the day she was cremated...not even kidding.) I became... agitated, and I'm not very good at keeping my mouth shut. This lead to them preparing to fire me.

While on lunch break (meanwhile a corporate exec was at the office to "evaluate my position"), I received a strange text message. It was from one of the old developers we had worked with. The message simply said "Check your email!" ...ok?

The email was basically from a European business man who was looking into getting into video games. He had seen our work online and was interested in merging our teams. It was a dream come true!!! I went back to the office and to that snooty corporate exec with a HUGE, cocky smile on my face.

I quit my job and began my career as a professional game designer. This went well for about a year and a half. Come to find out, however, that the investor was basically running a giant Ponzi scheme and we were soon cut from their payroll.

Since I'm not the kinda guy who gives up, I quickly took our experience and started marketing the team as a "freelance, software development company". This kept things going, but the company was on life support. What little money we had coming in, I distributed to the few remaining people who needed it most (some had other jobs and alternate income by now).

Sadly, this wasn't enough. The lack of income raised tension, and soon (recently), everything erupted. Most everyone local left the team (apparently carrying a big chip on their shoulder with them). So here I am, working with a handful of skilled folks across the country (and the globe) trying to get a game on the market so that the company can, at last, become self-sufficient.

But of course! People can't just leave me alone! My ex-business partner, ex-best man and apparently ex-best friend is now causing me all kinds of headaches. He and an ex-programmer were digging through my emails, illegally accessing the webserver (and banning my IP) and generally just making my life hell. When I discovered who was doing it, I told them I wouldn't call the police if they just left me alone and let me continue on with my life.

Yeah... that went well. Haven't heard from the programmer, but my ex-business partner is now coming back and trying to stake claim in the company again. (He had reduced his ownership to 10% when things had gone to hell. He got a different job, and had to have less than 20% ownership in order for me to make all the necessary decisions for the company without him. When he locked me out of the website, I voted him out... he disagrees... whatever.)

And this brings me here. I've left out some of the more personal issues, but that's me in a nutshell. Fun ride, huh?

Now I'm not looking for pity. I don't feel entitled to anything. I know I made some truly stupid mistakes in my life. All I'm really looking for is a little understanding and a whole lot of LEAVE ME ALONE AND LET ME WORK!!!

I am a damn good game designer, a great graphic designer and an even better writer. If this world, for just one little second, would leave me alone and let me actually do my job, I could finally pull myself (and my family) out of all this lame, Jerry Springer drama and stress.

*sigh* Ok.... I feel better. I won't be promoting this post (obviously not a fan of attention), but its here for those who discover it. Hope you enjoyed reading it just a little more than I've enjoyed living it.

I promise, I'll have a game update soon. (I may even have a new programmer to lend his considerable skills!)