Hey everyone! I'm Matthew, the technical half of Team Colorblind. Most of my posts on the blog will be technical things--behind the scenes work on the game, including implementation details on how we're accomplishing Aztez's beat-em-up gameplay in Unity. To start things off, I thought I'd do an overview of our entire setup:
Ben and I worked together when I ran Flashbang Studios (most of our output is still online at Blurst.com, if you're curious). There are a lot of virtual indie teams out there--and more power to them for making it work!--but Ben and I work best in person. We've tried the coffee shop thing, the work-from-home thing, and co-working spaces. For us, paying to have our own private space is absolutely worth it. Rent is pretty cheap in Phoenix; we pay under $400 for a private office with power/Internet included, a shared conference room, and a shared break room with fridge. Our office neighbors are mostly 1-to-2 person shops like accountants, lawyers, etc.
We're pretty well tucked away from the world in here! Security is a nice side benefit, too: The outer doors are passcoded, and we hold the keys to our inner door.
We're actually in the same building that Flashbang used to be in, which is awesome (shout outs to Solo Cafe)!
I run OS X on a recent-ish 27" iMac, with a virtualized Windows 7 install for Visual Studio 2012 + ReSharper. The standing desk is something I've been trying out for the last few months. I like it a lot, primarily because it feels so different from my home setup.
One of the huge benefits of an office environment is the mental association of being in a separate space. We're careful to avoid the distractions of the Internet in the office. Simply put, it's a place where shit gets done. I was very careful to protect and cultivate this sort of work environment at Flashbang (which was a 6+ person environment, which made endless chatting easy to do). Protecting the office for work makes it easy to come in and automatically start work on the game. The standing desk really helps my various computer environments feel more distinct from each other.
Ben runs Windows 7 on a mid-range laptop, which he hauls in and out of the office daily. Most of the other hardware stays here in the office (extra monitor, speakers, controller, etc). In addition to the obvious Mac/Windows platform differences, I also play Aztez with only the keyboard, to ensure the keyboard controls stay at least somewhat sane throughout development.
By the way, our "whiteboards" are $14, 8' x 8' showerboards cut in half. Just head to your hardware store and ask for "showerboard" or "tileboard".
Our local server is a Mac Mini running OS X. Minis are great because they tuck away nicely with their low power draw/heat output. It's super easy to upgrade memory on today's Mac Mini design, too (although significantly more painful to add a second hard drive, which we did for SSD+HD setup).
A few-years-old Mini sits next to our server, booted in Target Disk mode. The server clones itself to this second machine nightly. It's literally one reboot away from replacing the primary server in case of catastrophic hardware failure.
Our source control system is Unity's own Asset Server, which we've been using since it was first introduced. It has a mixed reputation, but for our needs it's pretty close to perfect. We have custom tooling on top of the Asset Server to provide things like real-time IM notifications of check-ins and better browsing. The Asset Server database for Aztez is backed up nightly into our Dropbox.
The server also maintains a virtualized Windows 7 install, which will be used more heavily for build automation down the road.
Project Management and Ambient Information Display
We have a cheap TV mounted above our wall-of-whiteboards to show ongoing stats. It shows a mix of web analytics, project analytics, and various dates and deadlines. The office server powers this display. It usually shows our Geckoboard (a mix of off-the-shelf widgets and some custom scripts). Note that Geckoboard is retarded expensive now; we have a grandfathered account with their early pricing.
For task tracking, we use Pivotal Tracker. It works super well for us, primarily because Aztez development stays fairly linear with just two people on the project. If you have a larger team, with multiple ongoing features, or like to organize more loosely, you might want to see if Trello is a better fit.
For Aztez, the public server isn't doing anything much yet--basically just serves the website and this blog. In the next few weeks we'll have a build system set up to push regular builds to friends and family for testing, plus journalist types for early access. Flashbang stills run a dedicated server, which hosts quite a few indie things (TIGSource, Spelunky, IGF backend, etc). I keep a pretty close eye on the server performance:
The entire Aztez account from the off-site server is backed up into our Dropbox every night. Daily backups, people! Our stat board even includes a backup status widget--green is newer than 24 hours, and I take immediate action if something breaks in our setup. Backups aren't worth a lot if they silently break and nobody notices!
Feel free to ask any questions in the comments! And I'm totally open to suggestions for future behind-the-scenes posts, too. I'll definitely be talking about Aztez-specific Unity implementations, but I'm more than happy to focus on topics if people want to know more about something in particular...