Friday, November 11, 2011

UM: A Cancellation & Post-Mortem

What was canceled? This lady! Regardless, she seems pretty upbeat about it!
So, after almost a year and a half of late nights and stressing about what players want and worrying about how the market will be and deciding on different gaming portals, it’s been decided to cancel the indie game I have been I have been working on with a coworker in Unity. The project’s name for this was Urban Mages; it was a 2.5D -- think Street Fighter IV -- fighting game where all the characters controlled elemental-based magic. The project evolved over time going from a simple one-on-one fighter with 9 characters and 10 environments, to a story-heavy rpg-like game with fighting game elements. This, I could say, was my first real indie endeavor that I initialized. I did Convextrix, which was a simple, poor-performing XBLIG game, and there is Battle High, but the characters aren't mine, and that is really what I wanted, something with an IP that I helped design from the beginning.
I guess there are many mistakes that were made, and I want to write them down, so that when I try this again -- and I will -- I don't make a lot of these mistakes.

Don't Be Afraid to Spend Money

Alright, so maybe my bills aren't as bad as this elderly couple's, but my reaction to most things is...
I went into this project wanting it to be one of low financial burden. I quickly found out, however, that no one likes to work for free and that convincing others that your vision is strong and that you are dedicated is not enough sometimes to get the work you want out of other individuals. I thought that some people would be excited enough that At the same time, time is important, not pay a bartender 6 minutes of your life for a shot of tequila important, but if a project seems like it's going to take you four years and you have other obligations and ambitions, continuation may not be the best choice. I felt strong about this project, yes, but it wasn't my opus or going to be my final project.

Help Wanted...Kind Of

About halfway through this project, my coworker and I felt we needed help to finish a project of this magnitude, particularly with rigging characters and animating them. Now, I felt confident in doing both of these, but with doing a majority of gameplay programming with this as well as Battle High work at the time, my schedule was getting very packed, so I agreed that we should try and find help, which became a mixed blessing.
Finding others is definitely a help, but only if you can guarantee that these individuals will have the same passion as you, which is rather difficult when concepts and general design are finished. The difficulty is increased when you bring long-distance -- like other country long distance -- and when you set the precedent that you won’t be able to pay anyone as stated earlier.
This particular incident started with making the characters in Maya and having someone rig them with a bunch of scripts that weren’t inheret to Maya. We then found a very talented animator who worked in Maya. My coworker and I were very excited and we waited...and waited...and end up getting about 5 animations when we probably needed about 70. Again, needing 70 animations was probably the first problem.
Anyway, I started to do some of the animations, and I got almost half of them done to find the rigger was taking up contract work and couldn’t continue. This was frustrating, because rigs should be consistent between characters so animations can be recycled and shared between characters with similar hierarchies.
We then posted “wanted” adds on various art sites for help, but these seemed to cause more problems. Even when specifying that we would not be able to pay people, we would get artists who still wanted to be paid or someone who would seem excited and then suddenly disappear altogether. Also, there were tons of managerial time put into making sure people were doing the right things, scheduling, answering their questions, and other things that people like producers and project leads do.
Overall, the lesson I feel that can be best taken away from this is contingency. Have contingency in case people start something and disappear, and if that contingency involves such a big change that you have to end up redoing work, such as how I had to rig and skin the Maya character in 3DS Max, maybe don’t bring that person on to begin with. In fact, the lack of contingency is part of the reason the project is going on indefinite hiatus.

Hype your game up like this guy probably hypes all aspects of his life! Why Google Images? Why...

Hype It Up!

One problem, mostly on my part, that hurt this project is we didn’t hype the project enough, which is hard to balance. You don’t want to shotgun everyone and give too much away, in my opinion anyway, but I think we were giving too much slowly -- partly because we didn’t have enough. We didn’t have super nice environments done to make a demo alluring, and I should have taken more time to make nice animations for a demo -- probably by starting with rigs and animations in 3DS Max though, this could have been achieved.
Regardless, the importance of this hype was to get confident re-enforcement from our peers but to get confident in the project ourselves. One reason we’re kind of canceling it is because we both we were losing faith for the amount of time it was taking to produce work, and maybe with more confidence we would have produced work faster, but this is impossible to know and in the long run, it’s probably better to stop now so we can move on to other things than waste time and lose more motivation.

Seal it with a KISS

Did the designers of this cheap Valentine's Day gift keep KISS in mind? Possibly...possibly...
KISS is a pretty cliche acronym -- Keep It Simple Stupid -- and is something that can probably say wasn’t kept in mind as much as it should have been for this project. The original idea, in itself might not have been simple enough for two individuals with full-time jobs and other commitments, and when the project changed from a fighter to one with RPG elements, it became even more complex and the scope didn’t decrease as much as it should have, if at all.
There were some strives to simplify such as converting from XNA to Unity and creating a shader that allowed for the use of less detailed textures, but these really only skimmed the surface of the simplification really needed to get this done in a reasonable amount of time.
The most obvious solution would have been to cut the number of characters, but the only problem with this, of course, if we lowered our scope, could we have still made a game or would it just have been a dinky demo? 9 characters and 10 stages might have been too much, but cutting those numbers I don’t think would have been the answer and changing genres wouldn’t have helped either. There are not many games I can think of that lack in the number of characters without making up for it in a large variety of environments or using abstraction for most of its art like a puzzle game. A more feasible answer would have probably been a really simple style for character models and cut down a rather intimidating animation list; however, as stated earlier, full-time jobs and other commitments may have been this project’s doom from the start.

In Conclusion

Mystic Ray!!!
What does that image have to do with this game and the conclusion of this post-mortem? Not much, but it was my Shuma-Gorath Halloween costume this year and an example of the things I would like to get back to now that the game is canceled. Well, I say that I’m canceling the project, but in reality it’s being cryogenicly frozen. Will we ever come back to this game and try and finish it? Maybe. What’s the likelihood of this? Pretty low. I enjoyed the time working on it, and it was definitely a fun project to attempt, but it was also pretty ambitious, alright, really ambitious.
In some aspects I feel like I failed: I wasn’t able to get the game finished and was unable to motivate people. Sometimes I feel like the whole thing was a waste of time, but that’s not true and it’s not fair to my coworker and others who have worked on it, even myself really. I feel like I learned a lot: skin-wrapping, animation exportation and handling in Unity, keyboard and controller input for Unity, integrating the ICE library from IndieCity into Unity. The list is much bigger, but even if it wasn’t, it can be aruged that learning anything at all made it worth it. Regardless, this learning experience has motivated me to continue working hard on new projects and hopefully when I start a new project I won’t make these mistakes.

Friday, October 21, 2011

3,000 and Skin Wrapping

So recently, I just discovered that Battle High hit over 3,000 sales on XBLIG! It hasn't even been on sale for over a year, so suffice it to say, I'm rather happy with those numbers. I wasn't expecting to have more than 100 sales. Of course, the Indie Summer Uprising, regardless of your thoughts, definitely helped, and I really appreciate the work put into it by all those involved.

Because of this, the other members who helped on Battle High and I have started designing a sequel! There's not tentative date as to when this game will be released, but I'll definitely try and keep the blog updated with what's to come. So far I can say we are going to try and do a PC version on various outlets as well as an online mode and of course new characters and balancing.

Another thing I'd like to mention in this post is that I'm working on a Unity3D game, and one of my least favorite processes in the asset pipeline for 3D games has always been skinning; however, last night, I discovered a new modifier in 3DS Max that pretty much changed all of that -- Skin Wrap.

Skin Wrap is a modifier you can add onto a mesh in 3DS Max that allows you to transfer skinning information, vertex weights, whatever you want to call them, from one model to another. I'm not sure what math it's doing behind the scene, but if this first mesh is skinned really well, it'll transfer really well to you model, even if the topology is different and there is added geometry.

There are some downsides sadly; one of which is that you have to actually have one well-skinned character. The other being that the rig of this well-skinned character is essentially copied to your character. This is bad if need to add things or you messed up the first rig somehow, but it's also good if you need rig consistency.

Anyway, I learned about this awesome technique from this tutorial:

There are two other ones as well for doing LODs and props with Skin Wrap, and the channel has tons of great 3DS Max tutorial. Regardless, this technique and the download file included on that's video's page has made the process of rigging and skinning a character WAY less intimidating and time-consuming and I'm excited to share it!

Saturday, July 23, 2011

Indie Game Summer Uprising

Battle High: San Bruno was recently voted in to be part of the XBLIG Indie Games Summer Uprising promotion! This promotion's goal is to get the word out about the unique variety and quality of XBLIG games and stomp out the assumptions that they'll all crap.

Me and the other developers at Point5Projects are very excited to be a part of this promotion and show off the game we've worked so hard on. Though Battle High was released prior to this promotion, we worked hard on making updates including balance updates, putting the game into widescreen, and mini-games to create a new experience for the game that he hope existing fans will enjoy and new fans will be attracted to.

Plans our to have the new update for Battle High available between August 22 and September 2. As always you can find out more about Battle High and other Point5Projects at our forums.

Friday, March 11, 2011

A Look Back at GDC 2011 -- Day 3

So after a rather calm but eventful night of meeting other XBLIG developers and reviewers, my third and final day of GDC began. My first talk that day involved a lot of theory about writing for games, particularly with character development. This talk was entitled The Identity Bubble - A Design Approach to Character and Story Development given by Matthias Worch of LucasArts. It was an interesting talk; a little dull for something given at 9:30 in the morning, but overall, I enjoyed it. To summarize, or at least what I was able to gather, is that there are two types of game-character types -- the puppet and the vehicle -- and they both involve the player projecting themselves onto a character but in different ways. Another interesting point I took away from it was that writing for games is different than writing for novels, with which I agreed.

Anyway, I skipped the 11:00 talks because I really wanted to go to the game design challenge at 12:30, so I met up with some coworkers -- both current and former -- and had an enjoyable lunch. So after waiting in a massive line, I went to The Game Design Challenge 2011: Bigger than Jesus hosted by Eric Zimmerman. The Game Design Challenge essentially pits the ideas of three well-known designers together. This year's theme was to design a game that could be considered a religion. Firstly, I felt the theme was a little lame. Anyway, the three designers were Jason Rohrer, John Romero, and Jenova Chen, who was last year's winner. Jason's game essentially came down to a one-play Minecraft mod, explaining that religion becomes the stories and tales of those who came before us. John Romero's essentially made the allusion that he thinks he's Jesus through a twitter-based follower game involving starred Post-It notes. Finally Jenova Chen's was simple a proposal to turn TED into YouTube. Due to the popularity of MineCraft and the fact it was the most game-like, Jason was the clear winner. I'd only put John Romero is second because unlike Jenova Chen's, despite his rather well-thought out and well-explained ideaology of religion, it was a game. Overall though I asked myself upon leaving, "Why did I go to this?" It's also that thought that probably answers why I'm a professional scripter / gameplay programmer and not a designer.

So after the Game Design Challenge, I went to a panel entitled XBLIG Success Stories - How to Make the Best of Microsoft's Self-publishing Service held by Brandon Sheffield of Game Developer Magazine. This was exciting for me because it gave a little insight into the best of the best of the XBLIG community I am currently a part of. The following developers were on the panel: Ian Stocker of MagicalTimeBean, James Silva of Ska Studios, Nathan Fouts of Mommy's Best Games, Inc., and Robert Boyd of Zeboyd Games. It was rather chill; all of these developers were really down-to-earth, and I liked that. It was very interesting, and it could have been longer, but they were given the "Arm-X" signal to leave. I walked away learning that just marketing both your game and yourself and being part of the XBLIG community are both really important, but unfortunately for me, much easier said than done.

The final two talks of my GDC experience were only a half hour each. The first, given by LucasArts' Dmitry Andreev and entitled Anti-aliasing from a Different Perspective, discussed new approaches to anti-aliasing involving edge-detection and measuring of it. It seemed rather complex and over my head, but it got me excited to try some of these techniques, even if my results would never be nearly as good. My final talk than began entitled Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look given by Colin Barre-Brisebois of Electronic Arts Montreal. This talk discussed their studio's shader that used a map to determine the thickness of an object, which would then determine it's translucency. Unlike the anti-aliasing one, it seemed to make more sense to me; however, I knew I'd forget almost everything about it once I left the convention, and low-and-behold, I have, but I can probably just search and find the talk again or at least the slides.

Finally, it was time to leave. Some coworkers and I settled down to eat and then we were off on our red-eye flights. I refuse to ever take one of these again. I just can't sleep on planes, but the flight wasn't important. What was important was the contacts I had made and the things I had learned at GDC, and unlike the prior year, I was excited and hoping that I'll be able to go in 2012.

Ah, the memories...

("I'm the one in the green plaid shirt, but that's probably not what you're focusing on.")

Wednesday, March 9, 2011

A Look Back at GDC 2011 -- Day 2

I forgot to mention the IGF in my last post! Essentially it was the Indie Games Festival awards. It was pretty cool to see indie developers getting awarded for their hard work and dedication and always makes me want to aspire to get on that, or a similar, stage one day. I think all the awards were well-deserved. I disagreed with the winner for one game; I can't remember what it was now. Overall, everyone loves Mincraft and Amnesia!

Now the above image may look scandalous, but the dancers at the PlayPhone Social, which closed my first night at GDC, were wearing less. I guess diversity is important in the game industry after all, right? The real problem for me was the open bar, which, let's just say, I definitely partook in. I learned a very important lesson that night -- stop at midnight!

Anyway, because of the prior night's social, I slept through my first GDC talk of that day. I didn't really have one planned for that morning that I was dying to go to, so I wasn't too upset. After waking up and recovering from my hangover, which didn't last very long, thanks to my late-night ingestion of a Snickers bar, I went to a very interesting talk given by Dee Jay Randell of Capcom Game Studio Vancouver (formely Blue Castle Games) entitled 1000s of Zombies, 1000s of Problems: The Dead Rising 2 Multiplayer Experience. I liked it because it was rather high-level and didn't get too deep into any code, it was well-delivered, and it was about Dead Rising 2, which I really enjoyed. It was essentially a postmortem about the networking implication in Dead Rising 2. One important tidbit I left with was that if you are doing a networking game, you should test every feature both on and offline before continuing with production.

After this, I went to get lunch and explored the Expo floor some more, even stopping by CGSV's booth and telling them I was impressed with the talk I just went to. I even got a free Zombrex pen and Dead Rising 2 shirt; can't complain about that! I explored the Indie Games a bit more this day. Though Hohokum didn't win best art, I really liked it's style and it's non-intrusive approach to instructions and gameplay. Octodad was there too, making me laugh with its bizarre, physics-based gameplay. Eventually, someone even dressed as the main character and went around the Expo floor!

Anyway, after lunch and my most recent expo exploration, I went to a talk entitled -- it's lengthy -- Adaptive Order Independent Transparency: A Far and Practical Approach to Rendering Transparent Geometry given by Marco Salvi of Intel Corporation. It explained new ways of deriving transparency in games, which is more difficult than I first thought. The method came down to getting each pixel and ordering it in a list and blending all those colors, which someone in the audience had a problem with apparently, someone with a near-heckler-like attitude.

After learning about transparency, I went to my second day of the Casual Roundtables. This time we focused more on social games, and again, I walked away thinking that social games is a term that shouldn't really exists, but instead be replaced with the concept of "social aspects" in games such as leaderboards and online play. It was good overall, but I decided to not go to the third day because there was a talk at the same time I wanted to go to.

I ended day two of GDC 2011 with the Microsoft XBLIG Meet-And-Greet. I met a lot of cool Indie Developers such as Soul Caster's Ian Stoker and XBLIG reviewers like Dave Voyles of Armless Octopus. It was neat to meet someone who recognized my game, Battle High: San Bruno, and enjoyed it as well. I also learned about an interesting facet where I may be able to distribute my indie games in the future called Indie City. Overall, this get-together made GDC 2011 way better than 2010, and immediately made me not regret going and wanting to go to the 2012 GDC.

In my next post I'll talk about my third and final day at GDC 2011!

Monday, March 7, 2011

A Look Back at GDC 2011 -- Day 1

It's come and gone -- my second Game Developer's Conference. Five days filled with various talks, tutorials, demos, and exciting news for those in the game industry; however, I only witnessed three of these. Unlike my GDC 2010 experience, I feel like I learned a lot more, met a lot of cool, interesting peopple, and overall had a much better time. Here's a breakdown of how my GDC went.

I was in San Francisco yesterday, so I had woken up early to attend my the keynote of GDC given by Satoru Iwata entitled, Video Games Turn 25: A Historical Perspective and Vision for the Future. It was a decent talked, mostly focusing on the importance of innovation in the game industry and the lack thereof currently. I did like it except for the fifteen to twenty minutes of 3DS advertising, which a part of me understood, but at the same time, this was GDC, not E3. It should have discussed how development for the 3DS will be and not things like the fact it will have NetFlix.

After that, I wanted to go to the IGDA Indie Sig, but it mostly involved a spud-like game dubbed ninja, which I didn't feel like playing, so I just explored the Expo floor. I explored the Expo quite a bit, which I'll mention later.

After lunch, I went to a talk entitled Gesture Control and Character Animation Using 3D Sensors for Unity given by Tyler Bryant and Amir Ebrahimi of Flying Zoo; it was sponsored by a group called Mixamo. It demonstrated two things: how to use Mixamo for animations in the Unity store and how to mix the animations Okem's Shadow Tools with Unity. Okem's Shadow Tools will allow developers to easily utilize things like Microsoft's Kinect and other 3D cameras. This was particularly exciting, as a indie developer on the side; if this is affordable and Microsoft allows XBLIG developers to use the Kinect in the future, I can see this being helpful in the production of a lot of cool Indie Games.

I then explored the Expi floor some more until my next session, which was the Casual Games Roundtable hosted by Brian Robbins of Riptide Games and Wade Tinney of Large Animal Games. I sat on the sidelines the first day since I felt like such a noob. Things like "Are downloaded games dead" and "the significance of indie developers" were discussed. The most important things I took away from this first day were that games should not be vacuumed into types such as casual and social, but instead have aspects of them. Also, if you're an expert at something you should learn to adapt it to new technologies and markets, not try and change you expertise to a derivative version of something that's popular and already out there.

On the Expo floor that day, I talked to GAO -- Game Advertising Online -- about advertising and marketing, as well as music licensing from a site called, which I was very interested in. Most of the things on the Expo floor dont't seem appropriate for indies, but these two did, and I liked that.

Anyway, that was my first day of GDC. At night, some co-workers and I got into the PlayPhone Social. It was a very fun time, but didn't come without consequence...

Tuesday, February 22, 2011

A Retrospective: The 2011 Global Game Jam

It's been almost a month since the 2011 Global Game Jam, and I felt I should write something about it. For those who may not know, the Global Game Jam is a yearly event in which teams made up of artists, programmers, and designers come together to create game of their own in 48 hours.

My team members were Dan Dwire, Nicholas McClay, and Brandon Bittner -- all members of my team for the 2010 Global Game Jam. The prior two years, the Pittsburgh division of the Global Game Jam was held at the Entertainment Technology Center (ETC); however this year, it was being hosted by the Pittsburgh chapter of the International Game Developers Association (PIGDA) at the Art Institute of Pittsburgh (AIP).

Anyway, the event had a bit of a rocky start. There were many issues with trying to get Internet access through AIP's network due to strange anti-virus requirements. Then there was the keynote by Katamari Damacy designer, Keita Takahashi. I'm not sure what I was really expecting, especially after the underwhelming keynote from the 2010 Global Game Jam, but this, to me, was especially useless. I just didn't get it -- at least not completely. Maybe there was nothing to get? Overall, I wanted my 15 minutes back -- 15 minutes I could have used to clean, go outside, relax, focus, and all the other things Keita Takahasi suggested we do.

So, after the start we were given the Global Game Jam's theme: extinction. Personally, I didn't like this theme. I know a lot of game's deal with darker themes, but extinction, to me, is especially brooding and something I wasn't in the mood to spend the next 48 hours working on. To be fair, I wasn't even in the mood to be at the Global Game Jam since I wanted to finish Battle High: San Bruno before the XNA 3.1 deadline of February 7th that Microsoft set. Anyway, similarly to last year, we had about 30 minutes to come up with three ideas for our game. This was irritating. The main goal is so people can find people to team up with and express ideas, but since my team was already formed, we just felt like it was a huge waste of time. So, when time was up, Dan -- who is probably the best at weaving a tale from nothing -- showcased our silly idea involving dinosaurs, nuclear meteors, and plague bullets. In reality we knew this wasn't going to be our idea.

After the rough start, we setup "camp" and started designing. Originally we had this long, complex idea of using kinetic typography. This idea had excited Brandon's graphic design skills and my writing skills, but then we all realized: kinetic typography doesn't make for a good game or at least a game that could be implemented quickly in less than 48 hours. So around 2 am, after a disgusting dinner at a bar near AIP and hours of trying to figure out a game, we looked to Dan's silly picture of dinosaurs, bullets, and meteors. We started to giggle and laugh and realized it would be much more fun to just make that game, or better yet, a series of mini-games, that being one of them. There was some debate, and even a coin toss, but eventually this was the final plan, to design four extinction-themed mini-games and combine them into one game!

So, after hours of grueling design and art and sound creation, we had finished Apuncalypse -- misspelled as Apuncolypse in our final design -- just seconds before the final deadline no less! The four games were as follows: ARMageddon, a simple whack-a-mole-esque game involving a giant, communist-hammer-wielding arm smashing polluting buildings; Exstinktion, a callback to a retro game that I hold near-and-dear involving a wheeled nose collecting all the final scents he can before the planet is flooded; Dinogeddon, one machine-gun-wielding T-Rex's final stand against infinitely many hordes of hungry "pterroristdactyls"; and finally, Lolocaust -- which should have been called Memeclear Lolocaust -- the final innocent user's hopeless flee for survivals as trolls berate him.

There was then the judging and final playtesting sessions. There were other very interesting and cool games from catapulting sphinxes to keyboard twister. All those who witnessed Apuncalypse's ridiculousness seemed to enjoy it despite its many, many design flaws, which made me happy. I was disappointed though to find Apuncalypse didn't either of the two awards and was rather bothered by the "not a competition" rhetoric given to us before the GGJ started to then find out there were local prizes. Previous years didn't have any prizes and to add prizes, at least for me, adds an unwanted level of underlining stress that ends up stifling creativity, but I digress.

Anyway, will I participate in the 2012 Global Game Jam? Probably. Will I be on the same team? Probably. Overall, despite all the hiccups in the 48 hours and the stress of having other things to do, I enjoyed the Global Game Jam a lot!

Play Apuncalypse
More Info on The Global Game Jam

Tuesday, February 8, 2011

Battle High: Elemental Revolt Approved!

The 2D fighting game I have been working on for over a year with PointFiveProjects has been approved on the Creators Club forums for release!

This fast-paced 2D fighter pays homage to many traditional games from the SNK glory days. The story revolves around students at a school just for kids with elemental powers as well as a vicious gang known as "The Rivals" that bully students in the school under the faculty's radar. Beneath it's flashy, 2D fighting game exterior, there's sibling rivalry, unrequited love, and other high school drama.

Described by some as the current "King of Fighters" of XBLIG, the other members of PointFiveProjects and I hope it is a big hit!

For only 80 Microsoft Points (or $1.00) this game can be purchased through Xbox LIVE or from this link.