Andy's Fun House Nobody tells me nothing…

1Feb/120

Global Game Jam 2012 – Recap

Posted by Andrew

If you follow me on Twitter at all, you’ll know that I spent this past weekend (January 27th – 29th, 2012) at Harrisburg University participating in the Global Game Jam.  The short version of the weekend, is that we had a special level of hell befall Jordan which made it incredibly difficult to finish our game, but we managed to pull out a playtest version with some of our mechanics.  The long version is…well it’s longer.

 
Thursday January 26th, 2012

The weekend began for us on Thursday with the arrival of two of our team members from the South.  Chad and Ryan came separately and we got some time to hang out and finally meet each other in person.  We were still missing one of our programmers, but he should be joining us permanently in the near future, so no big deal!

Friday January 27th, 2012

All four of us piled into the office on Friday morning just long enough for me to turn around and grab Matt and fill out the group.  We ate lunch together at Tokyo Diner and started migrating to the 13th floor of Harrisburg University around 2pm.

bqeau

It was pretty interesting rolling into the gamejam room with what was essentially the entire office.  We were told later by another participant that they thought we were the judges.  After an hour or two of setting up, we settled in for the keynote and things began to fall apart.

Jordan and I had been ‘asked’ to give a tech talk on the engine we use, UDK.  Neither of us particularly enjoy giving speeches, but after dinner Jordan started to feel pretty sick.  In the end I wound up doing the presentation myself, but all things considered it went very well.  I was told by one of the teams that they chose to use UDK as a result of my presentation, which is pretty flattering really.

Saturday January 28th, 2012

Late on Friday we did our ideation after being shown the theme:

600px-Ouroboros-simple.svg

We did some quick ideation and came up with the concept of building a game all about killing yourself, sort of assigning self-destruction as part of Ouroborous.  Your goal in the game was to kill yourself as quickly as possible.  There would be obstacles in the level which you could essentially throw yourself upon and inflict damage to yourself.  We chose the name ‘Manic’ for this extremely politically-incorrect game, and we went to work.

Without Jordan, the end of Friday and beginning of Saturday was a little slow.  Paul was out for a bit with his son’s birthday party, but the rest of us plodded along as well as we could.  Later in the afternoon, however, I got a call from Jordan saying he wasn’t doing well and needed to get to see someone.  I took a few hours of time and went to see if I could help him out.  He ended up not going to the hospital that day, but was far from being able to work.

We trudged along without him, Paul trying to fill in Jordan’s role as environment artist.  It wasn’t easy going, and with all the time I’d lost to various things we were a little behind on the development side.  Even so, we kept at it, at the least there was no point in not trying.

Sunday January 29th, 2012

Early Sunday morning, after a few kind words from someone, I kept at it with Matt into the early morning before we packed in for some sleep.  We made sure throughout both days to leave as a team and get some rest to encourage the other people to get some rest (I won’t get on my crunch-time soapbox in this post).  When we got back in, it was a mad dash to get to a playtest of the game.  With Paul building the level, Chad building assets, Ryan building Phil (our main character), and Matt and I working feverishly on camera and mechanic code, it was a pretty crazy few hours to end the jam.

01

gn0sp

Considering the absence of our main UDK environment artist for the entirety of the gamejam, and my absence for a large period of time as a result of his absence, we were pretty proud we got to a first playtest with the game.  That’s all we were able to complete in the timeframe, but it was still worth the effort.

 

We’ll be continuing development on ‘Manic’ in the coming weeks.  We feel as though we owe it to ourselves to get it finished up.  At the end of the gamejam, everyone at the location voted on a few things.  First was the person who “learned the most,” and we all put our votes on Jordan’s name.  As a result, most people put at least one of their points on his name, and he won that vote.  We gave the second place kid (who was only 18!?!?!) the big prize for that selection and took Jordan home a card deck.

The second prize was for the “most helpful” person, which I am proud to say I actually won.  After I got over the embarrassment of the whole thing, I realized it was actually a pretty flattering thing.  As a result of all of this, I may be helping out Harrisburg University over the summer with a 2 week course teaching game development to high school kids.  This sort of thing is something I have always wanted to do, so I’m very much looking forward to the opportunity.

Our game, despite being horribly incomplete, took second place for the location.  All told, the experience was amazing.  We’re going to keep getting more and more involved in creating a game development community here in Central Pennsylvania as we move forward, and this was a great start down that path.

 

- Andy

Filed under: Uncategorized No Comments
25Jan/122

How Did I Get Into The Game Industry?

Posted by Andrew

After Jordan made a similar post on his blog (really on some forums for artsy fartsy people), I realized that I could actually make one of these myself.  I keep forgetting I'm a game programmer now...

 

Early Years

I started programming at a pretty early age like a lot of people I know.  I didn't really do it specifically to do video games, I just started breaking my dad's computer and trying to fix it.  One thing led to another, and before I knew it my parents had something they could blame my poor performance in school on.

I wasn't ever a huge gamer (I'm still not much of one really), but I did enjoy playing various role-playing games with some of my closer friends.  Dungeons & Dragons of course made numerous appearances, but we also played a MUD (text-based online multiplayer game) and chat-room games.  I was weird in the sense that most times, I was more interested in doing code than I was in playing the games.  The thought of designing and developing a game was something all of us thought would be neat, but me specifically so for the programming challenges.

In hindsight, I might have done well to push through and actually take/complete some programming courses at college, just to give myself a bit of a boost in the terminology department.  Even so, I bumble along like I always have, and somehow that seems to get me by.  Though I often found myself at odds with other developers on the approach to take, I began to carve a niche for myself by creating eloquent and 'interesting' approaches to common problems.  Thankfully, this is one thing that the game development industry not only accepts, but craves.

If you had asked me at any point what kind of developer I wanted to be, I would have (eventually) answered a game developer.  Those days working on our MUD were some of the most fun I had, and I always wanted to take that to the next level.

 

The Lead-In

After working on that MUD and various other things, I ended up getting heavily into web development.  I started with Perl in (I believe) 1997, and switched to PHP sometime around 1999.  There is, of course, an entire other set of things I did in PHP over the years I've used it, but the general gist was that eventually I found myself barely holding down several webdev jobs as an employee and as a freelancer.

All the while, I did spend time working on tiny pet-projects with gaming here and there.  My friends and I constantly came up with various ideas for game development, got started, and then got derailed as life made its presence known.  I was starting to basically feel as though I'd be stuck in webdev for the remainder of my professional career, and I was working on making peace with that resignation.

 

The Break-In

Then there was Jordan.  Years before, when I was in high school, I had met Jordan and spent some time with him doing various gaming related things.  We got along as well as two people could get along given that neither of them wanted to be around people.  I guess you could even say we were friends!  We lost contact for a while, and then one day while I was losing my mind over some freelance clients, Jordan contacted me on IM's.  We caught up a bit, and long story short he asked me if I wanted a webdev job at the shop he worked in.  Though I'd turned down several other offers, I for some reason figured I'd give it a shot, submitted the worst resume I've ever had in my life, and was in for an interview within a day.  I had a job offer a day later, and started work the next week.

Why is that my break-in?  Quite simply, that's where I was introduced to Lighthammer.  After a month or two of working at Mudbrick, Paul pulled Jordan and I aside and asked, "Do you want to make games?"  He insisted that we both give it some serious thought, so we waited a few seconds before laughing and saying we'd absolutely be interested.  Fast forward to today (late January 2012), we're deep into the planning stages for a big game for Lighthammer, the company is starting to take off in ways we couldn't have imagined, and Jordan and I (two people who loathe the spotlight) are doing a tech talk at a gamejam this upcoming weekend.

 

What to take away from my experience?

When we got to listen to Jason VandenBerghe speak at Harrisburg University, one of the prevailing themes of his talk was to simply keep making games and meeting people.  In the end, it seems to be the most effective way to fall into the game development industry.  I think my story underscores that point, as I'm sure a lot of other stories would do.

If I had any advice to give to people...it would probably be to ignore anyone who tells you at ANY point that "X is the correct way to do things."  The key word there is really 'correct' and it's one I try not to use when instructing other developers.  There are ways that might be 'more' correct than others, sure, but to say that one is the supreme method is silly.  It might be better to not waste time on a new method, but it is rare that a new method can't be found which offers some advantage over the old.

Other than that, keep trying to learn new things, even if you aren't sure they'll be relevant.  I have probably touched somewhere in the vicinity of 50 different programming languages, many of which are absolutely useless for me save for one detail.  Every one of them, has made it easier to learn another language down the line.  If you're going to be a programmer, do NOT become a fanboy of one language and concentrate on it, spread out and diversify (as WuTang Clan would say).

 

- Andy

24Jan/120

On Disappointment and Support

Posted by Andrew

A lot of times I will tell people that I am not a creative person.  I'll also make it seem like am a pessimist and/or realist as often as possible.  In reality, I'm both extremely imaginative and hopelessly optimistic.  It's one of the only ways I get through most days, and it is simultaneously a way for me to utterly decimate any shred of happiness I build up within myself.  Over the years, I've gotten better at not getting my hopes up so far that when they are dashed I wind up a crumpled blob of mush in a proverbial ditch on the side of life's road.  Regardless, there are still some things that do a good job shaking me to my core.

If you're anything like me in those respects, and you should find yourself (like me) again dealing with the crushing blow of disappointment and a general feeling of defeat, I might have some suggestions for surviving.  Keep in mind, I'm no expert so this could be the worst advice ever (and it doesn't always even work for me), but it's at least a few ideas you could try if you were desperate.  These have been little rules of mine for years, and I'm still here kicking, so I guess that's something.

Embrace The Situation
This is one a lot of people know, and will often give each other as advice.  Things happen for various reasons.  If you were a contributing factor (or usually a behavior of yours), it's not something you can go back and change.  Feel free to spend time exploring the events that led to your current situation and then accept that you've been given a chance to learn from all of this.  There's a fine line between remembering something so you can grow and dwelling on something because you won't stop beating yourself up, don't flirt with that line.

This has always seemed helpful to me simply because it allows me time to think about everything and just let whatever misery or other feelings I have as a result flow freely.  I'd recommend doing this alone, you may find yourself surprised at what comes out when you sit back and try to be honest about the situation.

Help Another Person
It's difficult to go through things on your own, no matter who you are.  Thanks to the overly emotional tendencies of humans, it shouldn't be hard to find another person who's having a tough time with something of their own (perhaps it's even someone involved in YOUR situation) who could use a helping hand.  Suck it up, and extend your arm toward them to help them out.  If it seems almost chivalrous there's probably a reason.  A common tenet of chivalry in medieval literature was to be willing to sacrifice oneself for another, which is pretty similar to what you're doing here.

Why do this?  Putting aside my love of chivalry and knighthood you can just look at the good feeling one can get by helping someone else out.  It in no way diminishes your pain/sorrow/etc, but it does give you a separate good feeling that reminds you there ARE other things in life to enjoy despite your current shitty mood.

Continue Your Life
Don't shrink back into your room.  Keep up your routines, and even if you can't perform your daily duties perfectly as a result of your mood, keep trying.  This is actually a pretty common piece of advice, I also give it when talking to people about burnout as a programmer.  Keep doing what it is you normally do, at least as much as you can.  It'll be painful, but never ever let your situation trump your life.

There's something comforting about getting into a routine when you're in the dumps.  It can serve as a good motivator too, giving you a goal to work toward while you go through whatever it is you're going through.

 

I'll stress again that I have no professional credentials upon which to decree that the above advice is worth following.  These are just some of the things I do personally that tend to work most of the time.  If it helps you...awesome.  If you even made it this far in the post, awesome.

 

- Andy

Filed under: Self No Comments
18Jan/120

The Triumph of Evil?

Posted by Andrew

A quote I've usually seen attributed to Edmund Burke sounds something like the following:

"All that is necessary for the triumph of evil is for good men to do nothing."

It's always struck me as a powerful quote, but as with the few quotes I can remember I rarely find the occasion to use them in a poignant manner.  I found one tonight at the gym, and it felt good.

There are times in life to accept defeat and suffer the pain of disappointment.  Recently I've become reacquainted with both processes, just to remind me I'm no different from anyone else in the world.  Even so, I haven't forgotten that there's a time to stand up for yourself and not give up so easily.

While catching up on the issues surrounding my mother's teaching job, I got to read some things that really fueled a bout of rage that I haven't experienced in quite some time.  Put simply, I can deal with it when people treat me like shit (to an extent), but something about my mother's situation has finally sparked a bit of a fire in my belly.  She has been treated unfairly and harassed in the process, something despicable to say the least.

When I was growing up, I was taught that to deal with a bully, you have to stand up for yourself.  Having parents or other persons of authority handle the situation does nothing to better your capacity to deal with being bullied.  I spent a little while giving her a pep-talk and telling her that she's reached a point where she needs to stop simply shrugging these things off.  Here's hoping she can harness some of my energy for herself and begin pushing back against the people she worked so hard for over the past 19 years.

- Andy

“All that is necessary for the triumph of evil is for good men to do nothing.”

Filed under: Family, Self No Comments
16Jan/120

Blog Restart (Of Sorts…)

Posted by Andrew

I finally forced myself to take the time needed for setting up WordPress on my server so I could host my blog again.  I'll be going through all of my previous blog posts to clean them up after auto-import, but for now we'll have to deal without.  I will also spend some time writing up my various thoughts on game development in UDK and/or Unity3D.  One thing at a time though, I suppose.

 

- Andy

16Jul/110

Yverdon v0.5, v1.0 and Beyond

Posted by Andrew

We finally released Yverdon v0.5 yesterday as quietly as we could.  The changelist was a bit heavier than we'd realized, but we're happy to see these features off into the wild for final refinement/testing.  As we move towards v1.0, we'll be making fewer feature additions and doing more work around the framework.  As an example, we're finally putting in the effort to build a unit testing suite that can be used with Yverdon seamlessly.

It's safe to say that we're looking forward to getting to our big milestone of v1.0, but we're going to take however much time is necessary to get there.  While we do that, our Chameleon project is hurtling forward at breakneck speed thanks to a lot of effort from a larger group of people.  There are already a few sites that are ready to use it and we have a several big packages being developed for the system.

There's tons going on with our systems, and it looks like this is just the beginning.  In the months to come, Yverdon will reach v1.0 with lots of documentation (as well as some video tutorials by yours truly) and we will be introducing Chameleon to the world officially.  Can't wait!

 

- Andy

22May/110

Going Against The Flow

Posted by Andrew

There was a lot of discussion this past week amongst the N2F Core devs (myself, Matt and Chris).  The bulk of it all revolved around the versioning announcement from yesterday.  What was interesting, however, lay in our reasoning.

In today’s development world, people are so interested in seeing constant activity on applications/frameworks/etc that as far as a lot of people are probably concerned N2F is actually ‘dead.’  That realization is somewhat disconcerting for the three of us, since the framework is anything but ‘dead.’  Our lack of releases is directly related to our strict adherence to the core mission we set out to accomplish with N2F:

Through building frameworks that are adaptable to each individual developer, the project aims to demonstrate how a truly flexible system is designed and implemented.

This sounds oddly like a buzzword-laden bit of fluff, but in reality it is exactly what we have done.  With minimal amounts of work, you can change our framework from being modular to use the MVC methodology.  There are still some things we’d like to do as minor improvements, but we have started to run out of things that we feel need to be added into the core/default distribution.

When we released v0.1, we spent a lot of time testing and tweaking before we gave it the thumbs up to go on the site.  The result of this, was that our v0.1 was about as stable as a lot of v1.0’s that we have played with around the internet.  We were proud of this, and still are proud that to this day we have releases in pre-1.0 that are just as (or more) stable than anyone else’s stable major releases.

Credit to Matt, though, for acknowledging that one thing possibly holding us back (besides our as-yet-incomplete documentation) is that we are wearing pre-release versions for our current releases.  In the end, we’re going to quickly wrap up and move to v1.0.  We will spend the rest of the time on Yverdon doing documentation, tutorials, bug fixes and projects based on the framework (such as Chameleon).

All in all, I’d say I’m looking forward to it, even though it still feels silly that we have to skip versions just to make it seem like we are stable to some people (not all).  If moving to v1.0 with documentation complete makes a few more people try out Yverdon, then I’d say it will be a move worth the while.

 

- Andy

21May/110

Holy Coding Batman!

Posted by Andrew

Over the past 2-3 months, I have completely lost track of my life.  More specifically, I’ve lost track of any part of my life that doesn’t revolve around work and programming.  I’m having the time of my life and wouldn’t change TOO much (there is of course one exception, but if you don’t know that already you won’t learn it here).

I am now a developer at MudBrick Creative in Harrisburg, PA.  I do primarily C# with ASP.NET, but also spend time in plenty of other languages to mix things up.  Among them, is a new one, UnrealScript.  We are building a virtual walk-through of certain areas in Gettysburg.  Today I finally got to take a bit of time to collaborate with Jordan and begin piecing together the parts of the walkthrough.  I made two quick videos to show what he (mostly) has done with a bit of flair from myself and Matt added in for mechanics.  I can’t wait till I can show more!

First test of scripted cannon…
Second test, multiple cannons on randomized firing loops…

The other thing that I’m working on is a bit more secretive, but it has been an opportunity for me to push Chameleon through to completion.  I’ll be posting more on that in the coming week as we actually reach that point, but all of us are very excited about having it finally done.

Until then, enjoy the quick videos and expect many many more in the upcoming months.

 

- Andy

11Jan/110

Why Write N2F?

Posted by Andrew

One of the questions I am most commonly asked when showing people the N2 Framework is “Why would you bother doing this?”  It’s a fair question really, there are tons of other capable solutions available and worked on by thousands of developers from around the world.

Before N2F, I had developed a tiny system on my own which brought together various pieces of code that I found myself using over and over again.  When we set out to do N2F, the original goal was to create the next iteration of that system (which I called the Zibings Site Framework, or ZSF for short).  As I was getting started, I met Matt and the two of us ended up spending months discussing the various ways we could update ZSF to make it more relevant and reusable for as many different scenarios as we could imagine.  Over time we removed features that we realized weren't part of a framework, added design for things that allowed expansion, and simplified as much as we could.

Why did we write N2F?  We set out to write ZSF v2.0, and realized we had an opportunity to create a stepping stone for our future projects.  N2F has been a great project for all of us, and we'll continue to do it so long as we feel we benefit from its existence.  Plus...it's pretty fast.

 

- Andy

8Jan/110

N2F Yverdon: Extension Roundup

Posted by Andrew

I just posted this on the N2F training blog, but I think I should share here as well.  The post linked below talks about some extensions that the team is working on outside of core development, I think some of them are pretty useful!

http://n2framework.com/training/?p=108

 

- Andy