Author Archives: phill

Visual C#: Phantom Breakpoints

So I’ve got a large solution with a lot of projects (mostly build tools) and every now and then I would get suspicious phantom breakpoints, meaning that the debugger would break where no breakpoint had been placed. This would usually … Read the rest of this entry

Filed in code | Comment Now

Getting Started with OpenSL on Android

Edit: This article, as originally posted, has an error in it, which has been corrected. Anyone who just wants to see the fix can check out this update. So, you want to play some audio on an Android device. You’ve … Read the rest of this entry

Filed in Android, code | 8 Comments

Abstracting Low-Level I/O

One of the common requirements in game development is that we need to load large blocks of (usually) compressed data in as little time as possible. This, however, is somewhat easier said than done. Ideally, what we’re looking for is … Read the rest of this entry

Filed in code | Comment Now

Simple Digital Signatures

One of the things that comes up when sending data over the internet is verifying that it hasn’t been corrupted. This is generally a simple thing to resolve: send the data and a good hash (MD5 or SHA-1) of the … Read the rest of this entry

Filed in code, security | Comment Now

The Player’s Name vs Localization

From a game developer’s perspective, the English language is incredibly simple. Our grammar is only minimally inflectional, making it easy to author strings like “@(PLAYER) runs away!” and “Give this to @(TARGET).” and use simple text substitution to replace tokens … Read the rest of this entry

Filed in design, language, Uncategorized | Comment Now

iOS Compiler Bug: -O3 FIXES It?!

This is officially the strangest optimization-related compiler bug I’ve ever seen. It turned up as an error decompressing some data. Now, the decompression isn’t some crazy custom algorithm. It’s zlib, one of the most portable and well-tested bits of code … Read the rest of this entry

Filed in build, iOS | Comment Now

Using Win32 Asynchronous I/O

Recently wrote some asynchronous I/O code for a fast data loader. The data file was logically a stream of separate objects, so it made sense to parse it a chunk at a time. That’s a situation which practically screams for … Read the rest of this entry

Filed in code | 2 Comments

iOs Compiler (Bug?): “invalid offset, value too big”

This is a bug that’s bit me a few times already. Basically, the iOS compiler fails to generate some function somewhere in the code file causing it to bail with the error “invalid offset, value too big”. Problem is, it … Read the rest of this entry

Filed in build, iOS | Comment Now

Holy crap, it’s finally shipped. Now I may die peacefully… Pretty damn proud of how it turned out in the end. You can check it out here or on iTunes. Definitely recommend it if you like rhythm games.

Posted on by phill | Comment Now

WPF: Subtle Binding Crash

Got a crash in, of all things, System.Windows.Controls.Primitives.Popup.OnWindowResize(Object sender, AutoResizedEventArgs e). A NullReferenceException, to be precise. Ages later, it turns out that this error was actually caused by a binding operation on one of the controls in the popup failing … Read the rest of this entry

Filed in code, WPF | Comment Now