I can sum up my favorite things about the company with three keywords. They just all happen to start with the letter E.
- I happen to be in a privileged position as a programmer in the Research and Development department. We're rapidly making prototypes about every two to three weeks, so we have many chances to dive into new technologies. Over the past year, I've dipped my toes in HTML5, XNA, Win8 and XAML, Gamemaker, Construct, and Inform7. There's so many more programming languages and game engines that I want to be playing around with in the year to come and my position in the R&D team gives me the opportunity to do so.
- We do, however, build most of our prototypes in Flash because it's easy to get a game up and running in a short time. Also, its high penetration rate means that we can get the prototypes into the hands of playtesters in the most friction-less way possible. Within Flash itself, we learn new technologies by working with several third-party APIs including Facebook, Box2D (physics engine), and Starling (rendering engine). Starling wasn't exactly necessary for our prototypes but we decided to tinker with it anyways because we thought it'll be interesting to explore. The research definitely paid off as now we've integrated a Starling module into our proprietary Flash engine for other Flash developers in the company to take advantage of.
- I'm not an artist by any means, but I love art and I have a strong passion to learn art. I believe learning more skills would feed back into my other talents, making me a better programmer and game designer. The art director at the company has graciously allowed me to attend the weekly artist meetings, where I've picked up a lot of techniques and tricks. I've learned about onion skinning in Flash, smart objects and layer comps in Photoshop, and even how to sculpt clay. We also spend the last five minutes of the meeting looking at inspirational artwork and I've walked out of many meetings with an innovative game idea in my head just from looking at great art.
- I don't just love learning, I love teaching and educating others too. I started an internal university program at the company, where people of talent teach their skills of expertise to coworkers in different departments. Like I said before, learning more skills, even if they don't directly relate to your job title, would ultimately make you a better developer overall.
- I attend almost every game-related event in the NYC area. I take super-detailed notes on pen and paper, sometimes to the point where my wrist starts cramping, and I transcribe all my notes for the company to read. Sometimes, I compose all these notes into a presentation, since I know few people actually like to read walls of text. There's a wealth of knowledge that exists outside our office doors and it's important to be taking this and disseminating it as much as possible.
- Too often I hear game developers say that they don't have a creative outlet within their studio. Luckily at our company, we generally work in small project teams where everyone gets to contribute and have their voices heard. As a programmer, I have contributed so much to design and art decisions in my previous projects. Our company culture makes you feel like you're really part of a team, rather than another gear in the machine.
- We have a company-wide meeting every Monday, aptly named the Monday Meeting, which is hosted by a different employee each week. It's almost like an employee spotlight, giving each employee a chance to talk about their interests outside of work. Some employees take the opportunity to do crazy things like act out a murder mystery, put on a faux late night talk show, play Jeopardy or Family Feud, or read beautiful poetry.
- We also have an open brainstorm meeting every Friday. Following a "there are no bad ideas in a brainstorm" mantra, it gives people the freedom and opportunity to contribute ideas without the social pressures. Though sometimes a lot of ideas end up being jokes and most brainstorms end up not being too helpful, the open forum environment carries on to affect the general company culture.
- The core responsibility of the R&D team is to find great game ideas and prototype them. The engine that generates these ideas are all the people in the company. Any full-time employee can submit a game idea through our system, writing as little as one short paragraph or including a quick sketch. We wanted the idea submission process to be as friction-less as possible. The obvious incentive is to allow anyone to get their ideas into the world, get it prototyped into a digital version, and hopefully, greenlit into a full production game. We also offer financial incentives such as a cash reward the moment the game is greenlit and profit sharing after the game is released. Some of our strongest contributors include a QA lead and a backend programmer, two non-developer job titles that if at another company, would have little opportunity to contribute to the game design process.
- Another responsibility of the R&D team is to run an annual internal game jam. If you've ever been to a game jam, you'd understand the value that emerges from it. It's the next step above idea submission; not only do people contribute ideas, they jump right into the middle of the game development process. Everyone in the company is required to do this and quite possibly the best thing for us to see is when non-developers get into the thick of it. We saw a lot of people try their hands at different skills and surprise us with their hidden talents. Our community manager drew and animated a bunch of cute animals, a producer made pixel art and recorded a lot of hilarious voice overs, our business team Photoshopped art and made music videos. Our favorite story that emerged from the game jam this year involved a low-end .NET programmer, who discovered that she loved doing game programming, that she asked to be transferred to the HTML5 team that recently lost its lead.
- Finally, we also have weekly department meetings. The programming, art, and game design departments in particular like to issue challenges to its members. These challenges are meant to exist outside the everyday work we are responsible for and are a great channel for personal expression. Just to go over some of these challenges, the programming team has had to make a one-button HTML5 game, a one-minute XNA game, an Inform7 text adventure, and CROBOTs to fight against each other. The art team was tasked to design characters of their own creation, environments, company logos, game jam logos, art comps for weird game ideas, objects sculpted out of clay, and most recently, contribute towards an exquisite corpse. The game design team has had to come up with games ideas based on creative real estates, random images, mashing up favorite games with another designer's favorites, random nouns and adjectives, and mashing up characters with locations. Each of these challenges let the members be creative and allow them to experiment with technology, aesthetic styles, and mechanics that don't necessarily follow our company's standard fair. Fortunately (or unfortunately), the R&D team is a cross-disciplinary team that's part of all three departments, so we have a lot of extra work to do!
- Our company, by far, exhibits a family culture more so than any other company I've worked for. I've worked with actual family too, so that's saying a lot. I can't pinpoint any one reason for this but I think it's a culmination of all things said before. Our weekly Monday Meeting lets us learn more about every colleague, brainstorms and challenges show off our individual personalities and creativity, the game jam forces us to work collaboratively with coworkers we don't normally interact with, and so on.
- We have a lot of company bonding events, mostly put together by our awesome office manager, but sometimes also happens organically. We have annual beach parties and Six Flags trips, we have board game nights, we get to leave a few hours earlier on summer Fridays, and we celebrate every employees' birthdays with a snack of their choosing.