We're hiring!

We're actively seeking developers for our new Detroit location. Learn more

game development

Why a Failed Kickstarter Campaign Was the Best Thing to Happen to My Game

In January of 2013, I started a Kickstarter campaign to gain funding for a game idea I had. Less than 30 days later, I cancelled it. Nevertheless, it was a success. Read more on Why a Failed Kickstarter Campaign Was the Best Thing to Happen to My Game…

Posted in Extracurricular Activities | Also tagged | Leave a comment

Using the MDA Framework as an Approach to Game Design

Recently I found myself faced with a new design challenge: to create a digital game interface that uses differentiating hardware and software components to facilitate a fun and social game play experience.

design-critique

I looked for a framework to help me deconstruct the various aspects of the game into collaborative conversations I can have with client-side engineers, product managers, and marketers. I found the engineers were deeply involved in leveraging the hardware mechanics to design differentiating aspects of the game, while the marketing team was focused on product branding and visual design.

MDA Game Design Framework

I started as many designers do, weeding through the web to withdraw inspiration and artifacts to leverage something that might be pre-existing. That’s when I stumbled on the white paper “MDA: A Formal Approach to Game Design and Game Research” by Robin Hunicke, Marc LeBlanc, and Robert Zubek.

Read more on Using the MDA Framework as an Approach to Game Design…

Posted in UX/Design Practices | Also tagged | Comments closed

Acceptance Testing Your Games to Fix Bugs and Provide Regression

Acceptance testing is hard. It requires thinking through your entire problem and nailing down the expected outputs for a list of inputs. When working on games, acceptance testing becomes even more difficult.

There are certain aspects that cannot be tested: “Is it fun?” “Is it too hard?” Other aspects are just difficult to setup and too brittle to maintain. You don’t want your tests to break on small tweaks, like player walking speed or jump height, but you want to enforce that the core game mechanics are working: “Can I shoot another player?” “Can I jump up on that ledge?” This is the area where tests can be incredibly useful.

Is the bullet perfectly parallel to the players feet? It's hard to tell, even when playing.

Is the bullet traveling perfectly parallel to the players feet? It’s hard to tell, even when playing.

Read more on Acceptance Testing Your Games to Fix Bugs and Provide Regression…

Posted in Extracurricular Activities | Also tagged , | Comments closed

Chipmunk Gem, version 6.1.3.0.rc1

Chipmunk LogoChipmunk is a simple, lightweight, fast, and portable 2D rigid body physics library written in C.

I’ve recently helped update the Ruby chipmunk gem to the newest version of the Chipmunk code to brush up on my C skills. There have been loads of features and performance enhancements added since the last chipmunk gem was built (over 120 lines of CHANGELOG goodness). For example:

Read more on Chipmunk Gem, version 6.1.3.0.rc1…

Posted in Ruby | Also tagged | Comments closed

Game Programming in Boo with the Unity Engine, Part 1: Not All Who Wander Are Lost

Maze Puzzle (Blender)Before I came to Atomic, I spent several years working in the video game industry. I left it for a number of reasons, but I wanted to still pursue game development as a side project.

When recently I started up a new game project, I went looking for a good engine. My requirements were:

  • Cross-platform (PC, Mac, Android, iOS)
  • Free to try
  • Using a programming/scripting language I know and like (sorry, Lua fans)

I ended up picking the Unity3D engine. (Unity 4 just came out, by the way. I haven’t upgraded yet, but that’s where I’d start if you want to get into using Unity.)

The Unity engine’s scripting/programming is built on Mono, the open source .NET implementation. You have three language choices: C#, UnityScript (which is basically Javascript), and Boo (a language intended to be similar to Python).

Because of my work at Atomic, I’ve become a big Ruby fan. There aren’t really any viable cross-platform game engines that use Ruby — or Python for that matter — but when I saw that Boo was Python-like, I decided to try and write a game in Boo. Little did I know what was in store for me.

Read more on Game Programming in Boo with the Unity Engine, Part 1: Not All Who Wander Are Lost…

Posted in Extracurricular Activities | Also tagged , | Comments closed

Applying Some Strange Loops to Gamebox

The Strange Loop conference last month was one of the best technical conferences I have ever attended. The topics ranged greatly, and the depth of each talk was amazing. The speakers included: Bret Victor, Jeff Hawkins, Brendan Eich, Rich Hickey, and more (talks are available on github). In the aftermath of my head exploding from the awesomeness that was Strange Loop, I decided to try to apply a few small nuggets to my game framework, Gamebox.

Read more on Applying Some Strange Loops to Gamebox…

Posted in Extracurricular Activities | Also tagged , | Comments closed

2D Axis Aligned Bounding Box Trees

Here at Atomic Object we have a few game developer hobbyists. I’ve been tweaking the basic 2D collision detection in Gamebox for awhile now. When Chipmunk 6 released with performance gains, I decided to take a look. Part of the secret sauce was the use of an axis-aligned bounding box tree (AABB tree). Porting this simple data structure to Ruby sounded like fun. I found a lack of simple 2D examples with source code along the way, so I decided to publish mine.
Read more on 2D Axis Aligned Bounding Box Trees…

Posted in Web Apps | Also tagged , | Comments closed

Ludum Dare 22 Jam Entry

ld

Over the weekend, myself, Shawn Anderson, and Jason Porritt built a game to submit to the Ludum Dare 22 Jam. Ludum Dare is an open videogame creation competition that a few Atoms have competed in previously. Unlike the regular, individual competition (48 hours with results judged over the next two weeks) the Jam is a 72-hour event that allows teams to compete.
Read more on Ludum Dare 22 Jam Entry…

Posted in Extracurricular Activities | Tagged | Comments closed