Wednesday, October 10, 2012

The Importance of Deadlines

Last year the four of us were working on Loc and just before school began I stumbled upon the IGF submission to student category. That became the first real, hard, deadline that we wanted to hit. Before that we had set deadlines for ourselves, but there was nothing really motivating us to buckle down to reach it. The IGF entry was exactly what we needed, an external pressure with a date we could not miss October 30th.

So while doing all the crazy work for school, the essays, the projects, etc, we worked on Loc to get it to a better playable state then what it was in. And 4 hours before October 31st we submitted.

The amount of growth that Loc underwent during that time was enormous, a huge learning experience that broadened so much of our skill set. It didn’t really matter that we didn’t win anything, because right away we learned that at that stage Loc was incomplete, and everything else we were up against was polished to a T.

And now, a year later we find ourselves working on another game and striving for another deadline. December the 15th is the last call for entrants into the Boston Indie Showcase. This year they are focusing on Mobile development, which is precisely what we are doing. Those chosen get a free table at PAX East, which is worth $1,500, along with the very good chance of media coverage.

So 1 day down, 66 more to go.

Tuesday, October 9, 2012

Newest Recruit!

We have added a new member to the team! Meet Daisy!

She is a sixth month old pup who is now living with Matt. She has a hard day of work, providing what my writing teacher used to call Dog Therapy, cheaper than a shrink and you end up feeling better anyway.

Monday, October 8, 2012

Indiecade

Indiecade just wrapped up. The half week event is held annually in LA and is exclusive to Independent development.

While it does not rank in as one the larger industry events it does bring together the largest group of independent developers. Open to the public it comprises a series of keynotes, activities, workshops, and hands of gameplay demos.

Like GDC, Indiecade has an official festival contest. Anyone may enter to compete for a varied array of awards. We entered, a $50 entry fee. Unfortunately, unlike GDC, Indiecade makes no distinction between student and profession which means that we were going up against the likes of Fez, Bonticula, Dyad, and other “professional” indies.

Which means that we had little chance of getting anywhere. However, they did give us actual feedback, which has never happened before in the contests we have entered! That all by itself is a great thing to get back. To have someone else, in the industry, give a critique, however short, is great. Maybe next year we will be able to pull together enough to go out and attend.

Friday, October 5, 2012

Retiree’s

Over the past few months major industry leaders have stepped down from their positions. Of those who have retired to a less hectic life, three stand out above the rest.

On September 18th  The Bioware Doctors, Ray Muzka and Greg Zeschuk each wrote a public letter, giving a farewell to not only the company, but to the industry in general.

They founded Bioware in 1995 and played a major role in creating the Baldur’s Gate, Neverwinter Nights, Star Wars: Knights of the Old Republic, Mass Effect, and Dragon Age franchises as well as managing the merging of Bioware into Electronic Arts (EA). This is the end of their long road and the two partners will be splitting off to go pursue alternate, less stressful careers, in different fields.

Just this week Cliff Bleszinski has left Epic games. He was a 20 year veteran who helped to shape Unreal Tournament and Gears of War Franchise along with making the Unreal Development Kit available for free, to help kickstart independent development.

Known as one of the loudest voices of the industry, Cliff Bleszinski had a rare talent of not only being a great programmer and designer, but of being capable of showing his face to the world. He was not afraid to be a true gamer and was one of the biggest positive forces in bringing games into the public perception.

As of this moment he has taken his “retirement” has a well deserved break, and will hopefully be returning to the industry.

Thursday, October 4, 2012

Orbit Math :(

One of the biggest challenges I faced with Oribit, was the amount of math involved simply because the game is so circle oriented.

The ship’s movement code is based off a piece of code that creates orbits ala planets. Which for that purpose, it would work great. If you just hold down the left or right arrow keys, the ship orbits at a smooth, consistent rate that looks convincing.

However, I needed to break that code in order to allow changes in direction. Here is what was needed to just move left:


//Used to fix ship Twitch
if (!left)
{
angle += spaceshipSpeed + 1;
}
//Circle Math :<

var rad:Number = angle * (Math.PI / 180);

display.x = origin.x + (Math.cos(rad) * radius);
display.y = origin.y + (Math.sin(rad) * radius);

angle += spaceshipSpeed;

display.rotation = angle - 90;

left = true;


And one of the first things you might notice from playing the game is that changing direction is not perfect. The ship just doesn’t quite go to exactly where it should. The reason is when there is a change in direction the sin/cos numbers flip creating a different angle which is a massive pain. My little fix for that was the left bool, which tried to counteract it to a limited degree of success.

Getting the bullets to travel in a straight line, based on the parent object (whatever is firing the bullets) rotation. This was a key problem which was also eventually solved with math


display.rotation = parentRotation - 90;

vy += Math.sin(degreesToRadians(display.rotation)) * bulletSpeed;
vx += Math.cos(degreesToRadians(display.rotation)) * bulletSpeed;

public function degreesToRadians(degrees:Number) : Number
{
return degrees * Math.PI / 180;
}


All this was before any gameplay was actually realized.

Bullet Patterns underwent a huge overhaul after I discovered that the built-in function of Event Timers in AS3 cause problems quickly. For those who don’t understand here is an example. The Eye (The big floating thing that inexplicably tries to kill you) has 36 individual bullet spawners. When a pattern is created I tell each bullet spawner how fast it should spawn bullets and how many.

Originally the bullet spawner would set a timer based on how fast the bullets were supposed to spawn, when the timer hit 0, a bullet would then spawn. Simple right? Well, the inherit problem with timers is that different computers do those timer calculations quicker than other sometimes. This causes all sorts of scary things like patterns becoming desynced.

So the solution was to make everything dependent on the frame rate. Frame Rates are set in-game and no matter how fast a computer is, it stays consistent. Thank you Matt for showing me what real programmers do.

Wednesday, October 3, 2012

Orbit Postmortem

I just finished my prototype for a flash game I have been working over the past week. Originally designed for the iPhone, Orbit is a shoot-em-up, or otherwise known as a bullet hell game. As the name implies, bullets are flying everywhere. The game is top down and you control a spaceship, which constantly fires.

Your enemy is a giant HAL like eye in the center of the screen and by pressing left or right your ship moves in a circle around it. That’s it. Just dodge the bullets. You can play the full game HERE.

So why did I make it?

For the past few months I have been creating mostly puzzle games or turn based. These are all very methodical, logic/strategy oriented and I wanted to try to break away from that. So I created what is known as a twitch based game; something that players need to react too immediately, on almost a gut instinct in order to survive.

What is new about it?

Bullet Hell games have been around for a while, Ikaruga and Geometry Wars are fantastic examples of the genre. However, when you look at all of them, most of them all play in a similar fashion. The game is vertical, with enemies streaming down towards the players ship, raining bullets.

On the iPhone specifically that control set is extraordinarily difficult, as it almost requires the use of four way directional movement.

I order to create a game designed at this target platform, I chose to go with a defined circular method of movement. First, as far as I am aware it is unique, no other bullet hell game has done something like that before.

Secondly, by binding the player to the circumference of a circle they are only given two options, Go left, or Go right. Which fits perfectly with the iPhone, by pressing the left hand side of the screen, the ship rotates counterclockwise, and by pressing the right the ship rotates clockwise.

Designing the Game

Bullet Hell games are all about creating patterns and directing the player where they can go. Depending on the rate of fire, the number of rounds, and the reload time of the bullet spawners an infinite number of patterns are available, which becomes the fun part of the design process.

Over the course of the game the player is challenged by five different stages of bullet patterns that get progressively harder.

The bullet patterns are the meat of the game, but to add flavor there is a powerup system, which gives added bonus’s to the player. Double shot, rapid fire, creating a shield, are all genre standards. However, I wanted to add a bit of Galaga to the game. One of the powerups allows for a second ship to be created that is 180 degrees opposite from the player. And the way all of the bullet patterns are designed there is consistently a safe spot 180 degrees away from the player’s ship. So in theory as long as the player next makes a mistake, their firepower is doubled.

Choice has always been something I strive to give the player and at the beginning of the game they are face with 1 of three. More aggressive players can get a permanent increase to their damage, defensive players can get an increase to the number of lives at the beginning of the game, and the last option doubles the amount of powerups that drop from the eye.

The game is still a prototype, bug probably still happen (I’m not the best coder in the world), but it should be playable and beatable. If you enjoy it, or have suggestions let me know at zach@birnamwoodgames or on facebook.

Tuesday, October 2, 2012

On the State of Reviews

A medium is only taken seriously when someone can make a living critiquing it.

And with the number of media outlets dedicated to gaming, I think its safe to assume the business world takes us seriously.

We have had our own, with Loc, which has had its share of reviews, both good and bad, from a huge array of different people. And they come to the game as players, as blank slates, who are not connected to the development process whatsoever, which allows them to be critical.

Resident Evil 6 came out today, and yesterday it was blasted by a score of negative reviews, calling it a monstrosity of gameplay that is attempting to reach too many audiences.

But the thing is, no one besides the development team knows what went into creating that game. There is an untold story under the surface, which could have been nightmarish. The critic’s have no idea, and only other developers could attempt to speculate and understand. But until someone at Capcom attempts to bring light to that story, no one will ever know.

And the thing is, every game is like this. It takes anywhere between 6 months to sometimes 3 years to put out a game and during that time, anything can happen. A game can be remade three times, a team could internally combust, or someone could accidentally delete an entire repository.

Yet how good a game is, is determined by those who are peering through the glass, looking in at the boiler that development is and making a judgment.

The fact that any game actually finishes production is a unsung feat and for that alone every developer deserves a round of applause, no matter how monstrous their product may seem.