I moved to a new URL! Check it out!

posts dated from: december 2013

Doodle Post

Image

2013 in Review (Part 5)

2013 in Review (Part 5)
Continued from Part 4

Now it's time for some reflection, and time to think about what my goals are coming into the new year.

I feel like I leveled up significantly in 2013 as a developer. At the same point last year I was still just using FlashPunk and AS3 to create games, and I didn't really have an understanding as to how all the internals of FlashPunk worked. A few months after that, my understanding of the core of the engine went way up as I was tinkering around with the internals, and then somehow over the course of the year I was able to create my own engine from (almost) scratch using SFML and C#.

I think back to almost 5 years ago in 2008. I had just released Bonesaw: The Game, and I had just made the transition to Game Maker from Multimedia Fusion shortly after. Scripting in Game Maker instead of using the check boxes of Multimedia Fusion opened up a whole new work flow for me. I hadn't programmed a game with actual code since my days of scripting enemies and items for Graal Online... but that step to Game Maker set me on the path that got me where I am today.

It's hard to believe that in just a few years I'm now making my own game engine using a programming language that "real" programmers use. I'm really proud of all of the progress that I've made, especially because I would've never believed I would make it this far. I remember back in 2008 I also tried doing my own engine using SDL and C++ (before I tried Game Maker) and it was an absolute disaster. I looked at the project recently and had a pretty good laugh at how I thought game loops were supposed to work.

When it comes to programming I think I'm shaping up fairly well, but as a game designer I don't really know if I made any progress at all. I feel like I'm pretty much a complete novice when it comes to design still. Whenever people start talking about game design I don't really feel like I can keep up with the conversation. The only way I know how to make games is to kinda just fumble around until I get something that I think feels pretty good. When it comes to complicated systems and interactions and all that kinda stuff I get pretty lost, and I'm not sure how I can go about fixing that other than just trying to study games.

Even though my programming ability has somewhat increased, my ability to just make stuff hasn't really improved. When I find myself in a game jam I somehow conjure up this insane creative energy where I'm just in the zone for 48 hours straight and I'm just making stuff. I don't have any huge expectations or plans for whatever game jam game I'm making, so it all just comes from whatever feels right. A lot of times the details of any given game jam game shift every hour, and it all just depends on what my current trajectory is. I just go with the flow.

I struggle finding this flow when I'm not in a game jam. When it comes to my current project, Gaiaden (still searching for a new name), I easily get overwhelmed thinking about all the details involved in the grand vision I have for the game. I have pages and pages of drawings and notes and I think that stuff is going to help me... but I don't know if it does. I get a bunch of pages of ideas and I start to think about how I could possibly implement them all in an amazingly perfect system and I get stuck in a phase where I'm just fantasizing about this perfect game that doesn't exist, and when I open the code window I can barely move. I'm paralyzed by the huge amount of tasks and I feel like if I make one wrong step now it's going to mean a huge headache down the road, so I think about how I can possibly avoid that wrong step. I end up analyzing every possible thing, or worse not even knowing anything close to what the right step is, and I lock up. A classic case of analysis paralysis!

Perfection is dumb and unobtainable, and I need to keep that in mind... but it's very tough when I'm surrounded by so many amazing games and developers that seem to achieve perfection all the time. So many super smash hit indie games coming out that people love, and I feel like they must just be so much better at this than I am that they can think of all the right moves, and I just get stuck because I don't know what the right moves are.

With my recent restart of Gaiaden, I feel like I'm making more progress. I'm ignoring any potential issues and I'm trying very hard to treat it as a game jam scenario. I'm trying to be less afraid of just barreling down a path that seems right, even if it means I end up being wrong and I have to back out and try a different one. I'm getting more used to writing a bunch of code, playing around with stuff, and just deleting it all. It doesn't feel as bad as I thought it would. I've written the code and learned from it, and I don't need to keep it around if I'm not going to use it, or if I'm not going to go down that specific direction.

This could all just be a load of crap though. I don't know! I've never really felt like I've known what I'm doing, and I feel super jealous of the people that seem to have it all together, but I'm sure I'm making unfair comparisons with what goes on in the deepest parts of my mind with just the surface of my idols. I don't know if jealous is the right word now that I think about it... I look up to a lot of people in the game development world, and I hope that I can be as successful and cool as them some day, and I try really hard to just get anywhere close to their level. I'm incredibly fortunate to be close to so many amazingly talented people in the game dev world, and they are all sweethearts.

Although I need to be careful with that ideology though... If I'm constantly comparing myself to others who are way more successful to me, then I'll never be happy. That's another thing that I need to work on in this new year. I've accomplished a lot of things, and I try to keep that in mind, but I always catch myself comparing myself to other super successful or popular indie developers and of course I'm going to fall short in that comparison. This can go two ways though. Sometimes it's motivating to see what is possible and what others have accomplished, and I think "If they did it, then I can do it too!" But other times it can be a mood killer. It can be very easy to slip into the mind set of "I'll never be as cool as that person, I'm doomed to obscurity," which ultimately can lead to depression and totally kill productivity for awhile.

In order to fix this I feel like I need to be more heads down, and not pay attention too much to the outside of world, but I also need to be aware of the current climate of video games, and what the current trends are and all that kinda stuff. I don't want to fall behind by not knowing what the latest and greatest innovations are in the various categories of making games, but I also don't want to feel like I can't keep up. I don't really know what the solution here is other than trying to not compare myself to others, and keeping a positive attitude about everything, and never slipping into the poisonous realm of actual jealousy.

Every year though I continue to realize that the indie game community is one of the greatest groups of people I've ever encountered. I wouldn't be anywhere close to where I am today if it weren't for the support of some of my closest indie dev buddies. I owe a lot to all of those around me that have helped me get here, and I can only hope that I can help others out the same way that they helped me.

That's actually a big reason that I opened up more about myself and what I'm doing. Over this past year I studied a lot of different technologies and programming languages and all that kinda stuff, and every time I did something new I would try to document it and report about it with a step by step guide. I want to share the knowledge that I'm gaining with others in the hopes that it makes us all smarter and better, and that's the main attitude I see in the community. Everyone is usually very open, and is more than willing to share their knowledge and expertise with others, and its incredibly inspiring to see. During the whole development process of Offspring Fling I had a lot of help from other developers, and I can't imagine what I'd do without that help.

I'm pretty proud of myself for being able to keep up the pace of posting almost 15 times every month on my blog. Anything from just doodles or quick thoughts, to full step by step tutorials or guides on how to set up Adobe AIR for iOS. Although not all of my posts are probably worth reading, it feels good to be able to look back at all the posts through the year and see what I was doing, and how far I've progressed since then. For 2014 I'm going to try and keep up the pace of posting 3 or 4 things a week, and hopefully between updates to Otter, and progress on Gaiaden, I'll have enough stuff to keep talking about somewhat interesting things.

Going into the next year I also want to push myself out of my comfort zone more when it comes to a lot of things, but one thing I want to focus on is my art and drawing. I know that I need to do more studies, and branch out way more, and not focus so much on my "style" that I revert to every time I'm feeling out of my element. I don't know if this means actually going to some kind of drawing class, or maybe just working really hard at it with online resources, but it's something I definitely want to improve upon during the next year.

My comfort zone also includes not leaving my bedroom a lot, so I want to try traveling more next year. I'm starting out by going to Seattle and Vancouver for awhile in January, and of course after that San Francisco for GDC, and then after that I want to hit up PAX East in April and also visit some places in the northeast when it's not -15 degrees outside. I'm getting better at not freaking out while flying, but it's an on going battle and I'm making progress little by little. I want to get more comfortable working on just my laptop, and not my huge desktop at home with 4 monitors, so that I can remain productive as I buzz around the country. Making some kind of over seas trip would be fun as well, but we'll see if I dare venture into that territory in 2014.

I should also quickly mention the usual stuff: diet and exercise. I've been doing really well with this since around 2010 when I decided to take the paleo diet for a spin. Long story short through changing my diet and adding cardio to my daily life I was able to drop 50 lbs, and I went from wearing large shirts to small shirts. It feels pretty awesome, but I need to make sure I'm still on top of my diet and doing some kind of exercise almost every day to keep it up.

It looks like I have my work cut out for me in 2014. I have a lot of improvements to make, and I also want to make a decently sized complete video game. I'm confident that I'll make a lot of progress over the next year, but how much progress I make depends on how disciplined I can be, and how far I can push myself.

I think that about wraps it up. Thanks for sticking around for all of this! I hope that 2014 brings a new year of new opportunities, leveling up, and good times for everyone out there. See you next year!

2013 in Review (Part 4)

2013 in Review (Part 4)
Continued from Part 3.

October


Still working a lot on Otter, I started this month by jumping head first into the world of shaders. I had to do a lot of work on Otter's rendering system in order to account for shaders, and I also tried learning as much as I could about them. Also as a test I tried to see how long it would take me to get the basic platforming engine from Offspring Fling running in Otter, and it actually only took me a few hours to get the whole thing up and running with graphics and everything.

I played with shaders and rendering for a lot of this month and I actually was able to focus on it pretty well. Although after awhile I had to end my travels in shader town because I wanted to start focusing on releasing Otter to the public, and trying to learn how GLSL works and how to write distortion shaders didn't really contribute to that goal.

Image


One of the super neato things that I did in October for Otter was the whole debugging console which I'm still very proud of. I had no idea how to implement something like this, and one caffeine fueled day I was able to sit down and crank it out. It took a lot of tweaking after that, but now it's a pretty capable debugging tool.

By now I was itching to actually get working on a proper game though. I was working on the example game for Otter, as well as experimenting with making a small UI Framework within Otter, but my biggest obstacle was artwork, and it still is. I wanted to make this simple platforming game with Otter, but I also wanted to make the game in HD. The big problem with this is that I have no idea how to produce high resolution assets. I can do pixel art because there are so many useful tools for pixel art, but when it comes to high resolution graphics I am totally lost.

Also I am still looking for a level editor that allows free form image placement on top of tile editing, and something that performs well with high resolution graphics. This seems to be the magical unicorn of level editors, and the only thing I can think of that resembles this are built in editors for games like Aquaria and Snapshot, but there doesn't exist any sort of generic one.

So knowing this I decided to put the Otter example game on hold. I couldn't figure out the art pipe line which made me less motivated to work on it. I moved forward with the decision to produce tiny example games with minimum art instead of trying to make a big example game with high resolution artwork.

At the end of the month I officially released Otter version 0.9, along with a few example videos. Not too bad of a turn around considering that I wrote the first bit of Otter code in May!

This month also marks the debut of the Offspring Fling plushies by Frank n Stitch! These things are awesome and I believe that this is the first merchandise of any of my games. (We had Snapshot shirts, but that was just a small limited run, mostly for conventions.)

November


Otter is finally out in the wild and I am feeling pretty good about it at this point. It basically shaped up to be a personalized version of Flashpunk, so I finally achieved my goal of finding something familiar to Flashpunk that has the potential to perform way better.

There was a local Pheonix game jam this month, and I decided to use that jam as a test drive for Otter. I ended up making All the King's Men, and grabbing first place at the game jam (and the prize was $120!) I recorded my desktop for the entirety of the jam and condensed it all into a cool time lapse.



The rest of this month was spent tweaking All the King's Men, and tackling some more collision detection issues in the engine. I was still missing pixel perfect colliders, so I implemented some functionality for those, but it's still not totally done.

We also celebrated Misfits Thanksgiving at the Indie Game House AZ where a lot of our closest friends joined us for a day of food consuming and TowerFalling. By the way, I haven't mentioned this yet, but TowerFall is possibly the greatest game ever, and a lot of this past year has been spent playing that with all of the coolest people in the Phoenix area. I wasn't able to win the PAX tournament, but I think after many months of training I have a shot at winning the GDC tournament.

December


Dang, am I already at the current month? This has been a pretty crazy year now that I look back on it.

At the beginning of December I decided to restart my big game project. Over the summer I had announced that I was working on a follow up to my Ludum Dare 17 game from many many years ago, and so I started working on it as sort of the flagship title of Otter.

Image


However after many months of learning more C#, and improving Otter, I decided that what I currently had written for the game wasn't good enough and trashed it. I didn't feel too bad about this since I actually hadn't made that much progress on it.

So this month I've been working on a new base for the game. I still don't have a name for this game yet. The original prototype for Ludum Dare was called Gaiadi, which I liked, but most people can't read it or pronounce it or remember it, so I have to change it. I thought maybe Gaiaden would be a cool name for it, since it feels like it could be a fuller version of the word Gaiadi, but it has the same problems. Many people see the word and can't say it right, and as a result can't remember it correctly. I think I need a more simple English name instead of making up a word...

I did as much work as I could on Otter and the tentatively titled Gaiaden in the beginning of the month, because on December 15th I flew back to Upstate New York for my Christmas 2013 tour. I'm still in New York until January 4th when I fly down to Orlando for a week in Disney World (yay!) and then I finally return to Arizona for just a few days before I'm off to Seattle for the Steam Dev Days conference, and potentially another visit to Indie House Vancouver.

While here in New York though I've been able to get some stuff done for Gaiaden. Right now I am trying to focus on a very very small vertical slice, but I want the feel of that slice to be as awesome as possible. I want to really nail down the moment to moment game play before I continue on with producing a bunch of content for the game.

Image


And now today is the final day of 2013... it's been a pretty incredible year for me in a lot of ways, but I don't know if I feel totally satisfied with it.

Stay tuned for Part 5!

2013 in Review (Part 3)

2013 in Review (Part 3)
Continued from Part 2.

July


I started out July working on Otter, but late in June I started to run into some walls that were slowing my progress. I got to the point in which I needed to figure out collision detection, and even though I had a lot of resources at my disposal I just couldn't make a dent in my task of implementing a bunch of collision types. Circles, rectangles, tile maps, lines, and points... I just couldn't figure out the math behind it for the longest time, or the best way to implement all the functionality for detecting overlapping colliders.

This was pretty frustrating, and I felt like I couldn't work on anything else until I solved these issues and finished the collision detection code. The result was that basically for the entire month of July I got close to nothing done when it came to Otter. I tried to focus on some other minor tasks which I was slowly able to complete, but I was starting to feel depressed about the whole thing which feeds into the cycle of not being able to work on stuff due to depression which makes me feel even more depressed.

I also started this month by making my hair blue though, and that was pretty cool.

Image


July also marks the yearly trip to Las Vegas for EVO which was a lot of fun, but right after the trip I got incredibly sick for a couple days. That totally put me out of commission as far as game development work goes for about a week. Also I got big into Street Fighter 4 again after Evo and played it alot until my trip to PAX in August. Once I travel any sort of gaming obsession I have goes out the window, and then I feel too rusty to pick it back up again.

My special bonus feature footage from Indie Game: The Movie also finally came out on Steam that month, making me into a famous movie star.

This month had a lot of fun moments, but overall it felt like a pretty big bummer. I wasn't working on stuff as much as I wanted to be, and I also had some issues with anxiety and depression which makes working with my brain pretty difficult. It's tough to focus on game development tasks when some of my brain cycles are being spent on anxiety and all that kinda crap, but maybe next month will be better!

August


The core issues that were starting to cause anxiety and depression actually started up in May if I recall correctly. I was having some minor stomach issues which lead to some run away anxiety. It's one of those things where I get a pain in my stomach that doesn't go away for a long time, and then I start to obsess over it, and eventually I've convinced myself that I'm dying of some horrible disease, which makes everything worse until I can somehow break the cycle.

So actually in May and June is when I first started to feel anxious, and then finally in July is when it started to actually cripple my ability to work on things.

But that was then, and this is August. My productivity on Otter slowly started to increase as I was able to make some breakthroughs with the stupid collision code that I was struggling with so much.

I also somehow became a global Twitch emoticon this month as well. If you type DogFace into Twitch you'll see my face pop up. Why? Well, it's a long story involving me, FrankerZ, and Steam emoticons. I go over it in this blog post. This was a pretty weird experience, and it still is strange seeing my face pop up in Twitch chats every once in awhile.

I ended up doing a little web work as well this month as I whipped up a site for Gravity Ghost. I still do web work every once in a awhile, but it's starting to feel more and more foreign to me as I focus so much of my time on game development.

The very end of August was my trip out to Seattle for PAX which was a blast. Afterwards I headed up to Indie House Vancouver (actually located in Richmond) which brings me into September.

September


My productivity stated to return to me this month as I was surrounded by some amazingly inspiring and talented people during my travels in the northwest. I was working on an example game for Otter that I was planning on using as the big example project that would hopefully explain how to use the various features of the engine.

Most of this month was pretty low key. After my return home to the desert I was able to keep working on Otter and the example game, and I was making a lot of progress.

My trip to PAX also inspired me to try out Spelunky again. I watched a couple of live streams of people playing the game, and also went to the Spelunky Video Armageddon panel at PAX in which Colin Northway played all the way through and beat Hell in front of a live audience. It was awesome to see, and I wanted to get that good at the game too.

I played Spelunky before on XBLA but never really got into it. I defeated Olmec once or twice, but didn't really have any interest in Hell. Eventually I got frustrated at the randomness of the game determining how far I could make it, and stopped playing until after I got back from PAX. I picked up the PC version and went all in.

I started using a lot of techniques that I learned from watching live streams and videos from expert players. Then after one and a half days of playing, I was able to secure my first victory over King Yama.

Image


I still play a little Spelunky, but I've been traveling since mid-December so I haven't played it quite awhile.

So far this has been quite the year. My engine was shaping up to be pretty promising and usable, which I didn't really expect when I started out. Only three months to go now!

Stay tuned for Part 4!

2013 in Review (Part 2)

2013 in Review (Part 2)
Continued from Part 1.

April


As soon as I got back from my trip to Game Developers Conference I was starting to feel like I wasn't really working on the right things. I was working on my Heartbeat game from the Global Game Jam earlier in the year, but the more I looked at it, the more I realized that I didn't care enough about it to work on it. I had no idea what I wanted to do with the game, and my patience for using Flash as a game development platform was wearing thin.

I eventually decided to just scrap the whole project. It's still sitting in my Flash Projects folder somewhere, but I won't be going back to it at all at this point. The most frustrating thing that I was running into was that even with just a 320 x 240 game window with a couple of layers of pixel art I could not get the game to run at a stable 60fps. It would continuously drop to 30fps and I couldn't figure out any way to fix it. I had a lot of performance issues with Offspring Fling and I was lucky that I was able to solve most of them, but even still the game runs like garbage on older CPUs and this frustrates me and any of my players that are running older PCs.

I made the decision to jump ship from Flash and begin to explore the ocean of game development platforms and programming languages. I started out by using Haxe along with HaxePunk which was a port of Flashpunk to Haxe. Haxe was very similar to using ActionScript so I felt comfortable in it. I was also able to continue with using FlashDevelop as my IDE.

My early experiments with HaxePunk were great, but the problem I eventually ran into was that HaxePunk was just starting out and was nowhere close to being usable to make a full game with. HaxeFlixel looked promising, but I have no experience with Flixel, and I vastly prefer the style of Flashpunk's architecture, so I had little interest in switching.

During this time I also experimented with Adobe AIR on iOS. I managed to get some stuff running on an iPad 4, but the performance of Flashpunk on the iPad was just completely awful. I tried using a new version of Flashpunk that was never released that used Stage 3d as the core, but even with that the performance was not to my liking. My time spent developing mobile games was very brief, as I quickly realized that I do not like playing games with the touch interface. I also discovered that most of the games available on the app store are just disgusting. Looking at the top selling games in the app store felt very similar to walking through a gross casino in Las Vegas... but I digress!

By the end of this month I made the TIGJam 5 website, another site for my friend's game, and I was feeling pretty lost when it came to making video games.

May


I began May with a blog post that seemed to get a lot of attention from people. I talked through my current state of mind of not knowing where to go next with game development. The response to the blog post was huge and a lot of people reached out with their advice.

I had tried a lot of things, including something called SFML for C++. SFML is a multimedia framework for C++ that provides an easy to use API for graphics, sound, and even networking to some degree. I tried using it in C++ but quickly found that C++ is still not the language for me. Through the comments on my blog though and chatting with some other developers I found that SFML had a C# binding, and that seemed like the most promising road to take.

This is when I officially started working on what would eventually become Otter. I just started with an empty project in Visual Studio, downloaded the latest version of SFML for C#, and started cranking away. I was using most of my knowledge from FlashPunk to construct the engine, and I was learning C# as I went. I was pretty much just flying by the seat of my pants.

June


I spent some of June in San Jose for the wonderful TIGJam 5. It was an amazing time and I spent a lot of time making some progress on Otter, and experimenting with what would be my next game. I also spent a lot of time playing Magic the Gathering.

I believe this was also the month that Steam announced that they would be introducing Trading Cards. I worked like crazy to get some Offspring Fling cards into the system as early as possible, and it ended up paying off with a small spike in sales for me when the cards were released. I was able to get my cards out before a majority of games.

After getting back I was working more on Otter. Nothing too exciting, but little did I know that looming ahead was a few weeks of depression and not being able to get anything done.

Stay tuned for Part 3!

2013 in Review (Part 1)

2013 in Review (Part 1)
Another year gone by and time seems to be moving faster and faster. 2013 was definitely a different experience for me than my previous 3 or 4 years in the wild world of making video games. I dedicated a lot of this year to leveling myself up as a programmer and an overall developer, but I still feel like I wasn't as productive as I wanted to be. Let's take a look at what happened!

January


I tend to begin every year with the Global Game Jam. It takes place in January and it's the perfect way to burst into the new year with some rapid fire game development. The theme last year was the sound of a heart beat, and I made some sort of metroidvania using that theme. I made a sweet time lapse of the game's development, and some game play afterwards.



February


I started working on my heartbeat game for awhile as I was still using Flashpunk at the time. I was expanding my framework that I had built around Flashpunk while using it to create this game. I was adding all kinds of cool stuff like Bitmap Text, some support for constructing a metroidvania world out of a bunch of level data from Ogmo Editor, and platforming with slopes. It was a lot of fun working on features like the map rendering, and the platforming camera, and all of the different moves that the player could get.

I also released an asset generation tool for AS3 using Python since I was sick of adding every level to the game manually. As far as I know it still works, so you should give it a try if you're using AS3 and FlashDevelop for making games.

This was also the month that I decided to start posting on my blog a lot more. I aimed for 3 posts a week, with most months resulting in 12 to 15 posts of some kind. Since I spent so long in the shadows of working on Snapshot and Offspring Fling, I wanted to try being more open about what I'm doing. I started treating my blog more like a tumblr where I could just post one off short posts, doodles, or just some thoughts about stuff. Amazingly enough I managed to keep this up for the whole year.

I was also working on a little web application for a table top RPG that my friends and I were playing, and I also set the world record for the fastest Any% run of Lyle in Cube Sector!



I was pretty busy this month!

March


This month was a big deadline for me since it was almost a year since I pledged to release 5 games in one year. I had two games left to release before I went off to Game Developers Conference and I managed to release both Namiko and Super Ninja Slash just about a week before flying out to San Francisco. I had also released Snapshot, Offspring Fling, and Jottobots previously.

I also spent a lot of this month still working on my Heartbeat game, and adding more features to my AS3 framework with a nifty NineSlice class for Flashpunk. I actually did a lot of work on this game now that I look back at it... I had some really neat looking menus and stuff!

I ended the month with the Spring Sale on Steam with Offspring Fling being 50% off, and I flew out to San Francisco for a week of insanity with thousands of other game developers. I had a blast at Game Developers Conferecce, and spent a lot of it jamming (or at least attempting to, I was incredibly tired most of the time.)

Stay tuned for Part 2!