What I do at work

This post is completely prompted by the fact that my job is hiring another developer, so for the impatient, go there and apply right now. All others that want to know what they are getting into should read further and see if it applies to them.

For the past 4.5 years I have been working as a developer for Wall to Wall studios. It is a pretty small firm, but with a broad set of skills. When I was first brought on we were just starting to get into the Content Management System game, partially because the size of client was increasing and partially because it was no longer economical for us to offer maintenance and update contracts for large sites. We have been through two and a half major iterations of our content management system since it was first built. All of them have been built on php, because we look for a large deployment base, but the systems have grown a number of support systems that are either shell scripts, or rake build files, or other programming languages, because we tend to grab whatever language glue is near at hand to build what we need.

Describing a typical day would not emcompass all of the types of work that gets done here, because we tend to move in larger cycles. The most constant part of the job is building html templates for our cms. I have gotten to the point on this job that I don’t really view building html templates as a fun thing anymore, it is just production work. Not to say that it doesn’t contain interest, just that it is the easiest, and most time consuming part. Occasionally a fun problem pops up in this phase, and I get to write a bit of javascript for some rediculous feature.

The second biggest part of the job is maintaining and upgrading the CMS. Our CMS is built on cakephp, but we have gone quite far beyond what cake supports at its core, and we encourage that sort of relationship to a framework. When we made the jump from treating cakephp as a framework, to treating it as a library, our job got a bunch more interesting. In fact, some parts of the cms have totally replaced cake core elements, for example, the view layer is now running on twig templates. As a developer here, you are also expected to be a UX engineer and interface designer, because the designers only work out what they want the output of your data to look like. All backend engineering and design decisions are left up to the developer building them. To me, designing the systems for collecting and manipulating data are just as much fun (read, even more difficult), if not more fun as designing the systems for collecting the data.

While I have been here, I have designed the backend for a calendar and event registration system, an extremely extensible slideshow system, and added a number of features to the core content system. In each of these cases, although I could seek input from my coworkers (and I did on a great number of occasions), the final design decisions were mine. In addition, the programming decisions were mine, so I could make as many crazy interesting polymorphic data decisions as I wanted, or make the data simple to make my life simple.

This creative agency extends to the process policy here. Between myself and the other developers, we have moved to a process that uses source control for everything, has a continous build server, automated testing, scripted deployment, pair programming, code reviews and bug tracking. None of these systems were in place or mandated by management, but we were given the space to make good decisions as we needed, and drop the ones that were slowing us down if we didn’t need them. We are also encouraged to do reasearch on new technolgies, which is nice and gives us an excuse everytime we are surfing reddit.

So, hopefully that helps, please apply!

New games

Since the beginning of the year I made a few new games, and I thought it might be helpful in making the next few not horrible if I take some time to talk about them, and their problems. A post-mortem if you will. Will you?

before I start talking, go grab them over on the software page. Be warned, one is mac, and the other is windows, so unless you have some virtual machine magic (or two machines), you are only getting half the fun.

bibababoa

bibababoa

This one was made for gamma 4. A pretty standard collect the dots game, but with double jumping and weird dot order collection mechanic. I did about 4 prototypes before I landed on this game. Most of the prototypes had a similar collection mechanic, one of which was suprisingly similar to faraway:

I ended up going with my third prototype because I really couldn’t figure out how to make the orbital mechanic work well for me. Along the way I built and rebuilt a pretty nice particle engine that I am pretty sure will get some more use eventually.

ups

Double jumping is awesome, and really feels like the only mechanic in the game that you have full control over. Also, when you can time to hit a series of different collections in the right order, it feels great. The fact that the game always ends on the “you win” screen is pretty nice too, altho, it leads nicely into the problems.

downs

There is no real progression to the difficulty of the game, so you never feel like you are winning. I tried to make the collectibles move faster, but it just feels like luck, or bullet spam. At the last minute I put in these two giant heads that would do more standard bullet patterns, but I couldn’t quite figure it out by the deadline, so I gave up on it. It did seem like the right solution though. I think the added element of interesting patterns would have made a huge difference of progression. It is also possible that changing the complexity of the collection rules would have helped the game. For example, level one, collect 10 of these things, level two, collection 15 of these things, and 2 of these other things.

The graphics, while good, were actually something that I couldn’t tweak quickly enough when I figured out that they caused problems. The biggest problem is that you character is so big that it doesn’t really pay off when you have the double jumping mechanic, so there is really no reason to have it in there. I also dumped so much time into the graphics that I didn’t have enough time to fix up the core gameplay problems.

Finally, and related to the graphics, I used a custom drawn font. I totally fall into this trap on the other game as well, but I manage to decide that I don’t give a fuck about consistancy at the last second, and use a system default font. It really made it hard for me to add new features in the game when I didn’t have the whole alphabet, and I didn’t have an easy way to get the whole alphabet onto the screen.

Drinky

drinky

I decided to give gamemaker a go, and this is the first game that I came up with. What a nice platform though. I just stream of conciousnessed the whole thing, and I think it came out alright considering how quickly I went through it. The game is roughly based on the first time that I talked to my girlfriend (except for one time when we were both in costumes, and trash talking each other). Also, I don’t drink anymore. Maybe this game is about that too.

ups

Holy crud does gamemaker rock at blowing out horrendous animations. I love this animation engine for making sprites (with the exception of the lack of onion skinning, wtf?). I was able to make way more sprites and objects than I normally would, due to how easy it was to get them into the game. The fact that I could just prototype in basic behaivors with a graphical programming language was wonderful for my hands as well. Also, the first time I have music and soundeffects in the game, and I think that they push it from barable to sorta ok. I really want to clone gamemaker now. Also, finally one of my games has all the standard game elements… is that supposed to happen at game 4?

downs

wtf. Why am I obsessed with bullet spam. I have been telling myself for the past few games (there are more than are on my software page), that I am going to actually do a game with some nice bullet and enemy patterns. For some reason I never get around to it. So bullet spam it is, and the lack of progression that goes along with it. I think the fact that I only have one level in the game causes that. I should probably learn how to follow through. As such, this game is only fun for about 3.5 mins.

Also, handdrawn type and healthbars. I dumped so much time into these that could have been spent better. I need to remember how to prototype I guess.

conclusions

So according to jesse schell, I have another 6 bad games to pump out before they are going to start getting good. Ok, better keep speeding along through these games, while I try to add some progression to them. Also, I need to stop getting bogged down in making graphics, and just use programmer colors for everything. Using ripped music, and sfxr for sound on drinky really helped get the full game together before I got bored.

The wide wide world of coding

Holy beejeez have I been busy. I don’t really have much I can show for it yet, but it seems like a good enough time to tease a few things.

First, I threw a game together for last months experimental gameplay project. Unfortunately the game was total crap, but a video popped out. I think it is uncouth to show vaporware trailers, but what the fuck do I care, I am an artiste! Peep it

For fun a day (which I am currently failing at, due to other obligations) I was trying to code a game / animation a day. The best one is fun a day 3, which is a one button game for mac osx. My favorite parts are the double jumping, and how simple it is to play. Woo! For my second playable game, I am pretty happy.

I also just recently threw together some live video processing on the iphone. The code is not yet available, nor do I have a usable app, but I am totally into how this API captures anything on the screen.

feedback computer + morgan

It reminds me of how I used to fuck up in the dark room and end up with images that had pieces of glass or the numbers from filters super imposed on them. I am sure this isn’t going to last into the next release of the iPhone SDK, so I better enjoy it now.

The final thing is that I have been suffering from horrible arm pain for about the last three months. I finally started moving on it this week, and the first visit I had told me that I might need surgery. I went to another therapist, and they claimed that I wouldn’t. I am starting to feel more hopeful about the whole thing.

Also, I threw up a software section. Go Grabz.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
powered by Jekyll with Barecity