Way back in March, I left AAA game development to go indie. My plan was thus:
“As an independent creator, I’ll repay my cultural debt and pursue self-sufficiency via two paths. The first is by producing small, focused independent games with niche appeal, according to the design values I’ve developed and honed over my eight years in the industry. And the second is by resurrecting my other creative skill: writing, specifically sci-fi and fantasy fiction, which has long laid dormant due to the relentless hours and pressure of the mainstream commercial games industry.”
I started failing right away.
Have you ever found yourself wishing a built-in Unity class had some functionality that isn’t there? C# extension methods are the answer!
In this article, I’ll teach you how to use extension methods to add functionality to existing classes, no matter if they’re built-in Unity types, types defined in a third-party plugin, or even types defined in an Asset Store package which you could edit but you’re (rightly) worried about later package updates stomping your “patch”.
Seemingly obvious API omissions can be frustrating, but extension methods let you “fix” just about any API to your liking.
Hit the jump for all the details!
Just a quick update to say that I’m now available for contract work, including game design consulting, programming, and video game writing! (I’ve actually been open to this for some time, but haven’t really advertised it until now.)
Check this page for details.
And if you’re wondering what happened to the whole “indie game developer” thing: nothing at all! I’m still hard at work on a game that I’m looking forward to announcing soon. Along the way, though, I sort of “fell into” a contract on the side, and quickly discovered that this sort of work suits me… so now I’m looking for more of it.
SourceTree is an excellent, free, GUI-based client for Git and Mercurial. I’ve talked about it previously in Using External Version Control With Unity, and I’ve used it extensively since then for Mercurial-based Unity project source control in both solo and team environments.
In my opinion, Mercurial is the hands-down the best version control system for Unity projects. However, everyone has their own preferences, and I’ve recently started working with another developer who’s using Subversion. There are some decent GUI-based Subversion clients for Mac out there (Cornerstone particularly stands out) but there were a few things bugging me about these choices:
The current generation of games could be called the “online” generation; that is, the first time games consoles had robust online features as a standard part of the package. Certainly current-gen consoles have done a lot more than that, but I’d bet “online” is the key thing the history books will look back on.
With the announcements by both Sony and Microsoft that their next-gen consoles will support self-publishing, I predict we’re about to enter the “self-publishing” generation, in a far bigger way than anybody really recognizes. Both companies have sort of downplayed these announcements relative to their main selling points – more power, and bigger and better games – but unless they totally screw up the implementation, self-publishing is now positioned to engulf this industry like wildfire.