coding
Sublime Text is as Great as it Sounds!
Maybe you've had the experience of retrofitting your computer to operate quietly? Afterwords you say to yourself, "How did I ever think with all the noise that computer was making?" A small change in your environment creates a shift in your thinking and productivity.
I had the same reaction to the Sublime Text editor. After an hour of use I was loving it. A couple hours later it was customized just the way I like it. The next day I realized I was spending more time getting good code written and less time fiddling around.
Sublime doesn't have every feature possible, but it does have some imaginative features such as multiselect/multi-edit. Linux, MacOS and Windows are supported. A vi mode is available. It's also incredibly clean and fast. You'll love the way it looks and feels.
There are all sorts of options for customizing the editor. Many plugins are available and it's easy to write you own. You'll also find plenty of assistance in the forums. It seems Sublime is going viral within the developer community.
Entity Systems in Python Presentation
I'm giving a lightning talk at the Boston Python User Group this week. The presentation is very short, but provides a 5-minute overview of why an object-oriented design may not be ideal for game development. None of these are my own ideas - I'm simply passing along the wisdom of much wiser (and larger-scale) game developers. Object Oriented designs have caused them much pain in the past, so they've come up with a better scheme: Entity Systems.
Entity Systems provide more flexibility (for the developers and the game designers) and higher performance. The end goal is a design that is easier to create and much easier to modify. read more >>
Approaching the Algorithm of Fun
Game designers have to spend a lot of time balancing games. Building an entertaining mechanism is a good start but a game without balance quickly turns away the players - too dull, frustratingly impossible, unfair, etc. Nerfing, and other after-the-fact balancing, is often dismissed by gamers but I think among game developers nerfing is assumed to be a fact of life. You cannot predict all the ways in which players will interact with your game, so the game must be adjusted. read more >>
Animated QR Code - QR Clock
I've been curious about QR codes for quite a while. They certainly seem like an interesting method for distributing data, but are also simple enough for people to do creative things with them. You'll see them popping up more and more - on ads, in videos, random t-shirts, etc. I fear I've spent too much time brainstorming unique QR codes...
I don't know that animated QR codes will ever be particularly practical, but it seemed like an interesting experiment. One of the simplest examples is a simple QR code clock which updates once a second. read more >>
United States Budget Data Visualization Challenge
Google, Eyebeam and Fast Company are hosting a data visualization challenge:
Every year, Americans fill out income tax forms and make a payment to the IRS. It’s an important civic duty, but it is also a lot of money. Where does it all go? Using data provided by WhatWePayFor.com, we challenge you to create a data visualization that will make it easier for U.S. citizens to understand how the government spends our tax money.
When I learned about the visualization challenge, I'll admit I didn't actually know many hard facts about government spending. I knew the military and national defense were huge expenditures, but wouldn't have been able to accurately place them in relation to other large expenses, such as social security.
I decided my level of knowledge would likely be similar to that of potential visitors, so I used that as a strength. Building a tool which helps me better understand the budget should be equally useful to others. read more >>
Becoming a Productive Game Developer: Not Enough Time
Six weeks ago, in an attempt to improve my productivity, I pledged to build a simple game. Regrettably, the deadline has passed and I have nothing to show for it. The reason is not technical but simply a failure of time management. I have two perfectly acceptable designs and I did pick up a bit of Python, but I never sat down to start development.
There are a few reasons for the failure - some avoidable and some unexpected. For several days after I resolved to build a new game, I read through the Python manual and picked over the available tool sets. Then I was distracted by some other projects and the holidays. Two weeks ago, I came down with a particularly nasty illness and was out of commission. read more >>
Improved Diff Tool - A Better Way to Compare Files
Both coders and system administrators encounter many cases where text files need to be compared. Every *nix system for the last few decades has included some type of plain-text diff tool, but this is often not enough. The human brain just doesn't have the capability/capacity to merge the differences between two files.
My grandfather taught me a very important lesson about manual labor: you let the tool do the work. The same lesson can be applied to other fields. Our brains are trained to quickly pick up on visual cues. I work much more efficiently with a utility that displays differences visually. read more >>
Becoming a Productive Game Developer
I've spent a good deal of time working on my game project, but it hasn't progressed quickly. I had a semi-playable prototype and decided it wasn't right. I changed the fundamentals of the player's character and realized the graphics engine was rudimentary. I replaced my home-grown graphics engine and collision detection with solid 3rd-party libraries: Ogre 3D and Bullet. Now I have a very simple prototype and haven't decided where to go next.
A year ago I described my ideal game engine and explored the conflict between building a game or building a game engine. I still believe that good games are timeless, but after ~5 years I have to bow to the wisdom and experience of the experts. A game developer should not start by attempting to make their dream game. read more >>
Game Engine Framework: Overview
I have always been a big fan of the guys running Vendetta Online. They are one of the only indie teams I'm aware of that have successfully built an MMO game and turned a profit. What's more, they seem to use the right tools for the job, know what they are doing, built a solid game and interact very well with the user community. I guess those are the keys to success for an indie MMO.
I'm at the stage where really I just need to use the right tools for the job. In most respects, I believe that good games are timeless (1 2) - I'm not concerned about a decade of development time. So I can take all the time I want and I've spent the last few years researching the right tools for scalable game development. Like the developers of Vendetta discovered, all roads lead to Erlang. It seems to have become the de-facto standard for highly-available, scalable, reliable applications. Engineers building an MMO would be foolish to not strongly consider Erlang for their backend. And all of Erlang's strengths are based on a single premise: components should be simple, well separated and communicate through messages. read more >>
Write a Game or a Game Engine
I've been dabbling with computer game design for half a decade (I had crazy dreams about making games way before that, but didn't write code back then). It's been strictly a part-time hobby, but for the amount of time I've spent I don't have much visual evidence of my work.
Compared to coders who churn out games in a couple weeks, it's fairly embarrassing. This seems to be a common joke among game creators, as everyone on the net claims to have the "best" idea for their game and none are ever produced. I'd bet most game ideas don't even turn into a single line of code, and those that do are soon abandoned. I'm trying to rationalize how this doesn't apply to me... read more >>

