The way that you get an art form taken seriously is not be giving it a free pass but by subjecting it to real critical review.
Fredfrik deBoer, “The video game media is garbage and #gamergate is hot garbage”
Author Archives → Mohammad
The style of programming in a game is still very different from that in any other sphere of development. … It draws techniques from a huge range of different sources, but almost without exception modifies them beyond resemblance.
Artificial Intelligence for Games, Second Edition
The basic transaction we make with games is to agree to behave as if achieving victory is important, to let the objective guide our behavior in the game. There’s little point, after all, in playing a game without making that basic commitment
Greg Costikyan, “I Have No Words & I Must Design”
Lightweight messaging in Unity with TinyMessenger
Up until a few days ago I had been working on a yet-to-be-announced iOS game made with the Unity game engine, and I believe that one of the best technical decisions I had made in designing it was to use an in-process messaging system from the get-go. That decision continued to pay dividends until the very end as it helped keep the various components in the game well-separated and as self-contained as possible, which led to a code base that is more maintainable and resilient to change as it grew.
There are several messaging systems out there that are specifically built for the Unity game engine, but I decided to go with a more general purpose solution from a little gem of an open source library called TinyIoC.
Correctly using external Version Control Systems with Unity
This post describes the how I set up new Unity projects for use with an external VCS, which is based on the process described in the Unity documentation, but corrects a few omissions that unnecessarily include unneeded files in source control. And while I’ll be using Subversion in this example, the process should be applicable to other VCSs by changing the Subversion commands used here to their appropriate counterparts.
How to import transparent Photoshop textures into Unity
Unity does a great job of automatically importing Photoshop files. but it has an issue with transparency that, while easy to resolve, is poorly documented in my opinion. Here’s my attempt at writing the definitive guide on the subject.
Windows icons for Unity 3.5 and 4.0
I have Unity 3.5 and Unity 4.0 Beta installed side-by-side. So I made a set for icons for each so I can pin them to the Windows taskbar and still be able to tell which is which. Here’s what they look like in action:
Sharing is caring, and I do care. So here are the icons in case anyone wants to download them:
The Internet is broken, and here’s proof: For a person like me, who is into game development with Unity, who is online almost daily unless someone within speed dialing distance dies, and who is hooked into the forums and the feeds and the Twitters and the Googles, for someone like that to somehow miss reading this fantastic article titled “Unity3D coroutines in detail” by one Sir Richard Fines, Esq. is a sure sign that there’s something wrong with this world. Or at least with the online portion of it.
Seven must-have Mac OS apps for Windows developers
Every once in a blue moon I find myself needing to do some development work on the Mac. The tools I use vary depending on the job at hand, but there are a few Mac OS apps that this Windows developer can’t live without.
Inside COM for the WinRT!
I noticed I still had a copy of Inside COM on my shelf the other day. I guess I held on to it because I fondly remember COM as a simple and elegant technology that had the potential to be the vehicle of true Component-Based Software Development, or at least give C++ developers a usable Application Binary Interface that it still lacks to this very day.
Unfortunately the elegance was quickly lost under the clutter of IDL and COM+ and ActiveX and IDispatch and the rest of the kitchen sink that was piled on top of it.
But seeing how COM is making a comeback with WinRT, and how new copies of this book are selling for US$60+ on Amazon, I’m glad I kept it. It might come in handy in the near future.