Almost finished with the new Cuttlefish Engine site. It’s been far too long in coming, but now there’s only a few nagging things left before I flip the switch.
The engine itself is progressing well, I really think you guys are going to love it. If you’re thinking about making a game for iPhone, Droid, or iPad, definitely keep an eye on http://www.cuttlefishengine.com, and sign up for the email list.
I know, I know, not exactly the most content-rich post in the world, but everything is busy busy busy now, so it’ll have to do. Next time, promise!
Posted in Uncategorized | No Comments >>
Never try to calculate the bounding rectangle of a circle when you’re tired, distracted, or less than fully sober. I must have been some combination of all three of those when I wrote this masterpiece:
public override RectangleF BoundingRect
{
get
{
float x = WorldPos.X - (m_radius / 2.0f);
float y = WorldPos.Y - (m_radius / 2.0f);
return new RectangleF(x, y, m_radius, m_radius);
}
}
I spent an hour this morning wondering why my mouse click code thought my circles were half as big as they were. Sigh.
Posted in CuttlefishEngine, c# | No Comments >>
I work for a company that restricts access to the internet. Today I set up my iPhone so that when it’s docked, my work computer uses its tethered 3G connection to browse the internet, bypassing the filter. Here’s how I did it. more »
Posted in iPhone | No Comments >>
I posted a lengthy Q & A about my upcoming Cuttlefish Engine – a cross platform cell phone game engine for iPhone, Android, and Blackberry – over on the Cuttlefish Industries blog, for all you cell phone game makers.
Posted in CuttlefishEngine, android, iPhone | No Comments >>

USS MASON, DDG-87, United States Navy.
more »
Posted in Uncategorized | No Comments >>
Old and busted:
public State FindByName(string name)
{
foreach(State thisState in this.StateList)
{
if (string.Compare(thisState.Name, name) == 0)
{
return thisState;
}
}
return null;
}
New Hotness:
public State FindByName(string name)
{
return States.Find(
state => (string.Compare(state.Name, name) == 0)
);
}
Sweet sweet syntactic sugar!
Posted in c# | No Comments >>
Just now I was browsing some ancient code of mine. Part of the Cuttlefish Engine is a UI layer, and so I thought I’d dust off all the old UI code I wrote for Quaternion and modernize it. Anyone who’s written a UI framework will tell you that the hardest parts are the nuances of message processing; making sure controls and windows behave as the user expects when they click over there, drag, press ESC while dragging, etc.
I happened upon a comment:
...
// release: 1.02 on 06/24/99 by Mason (now safe for realloc)
...
Holy crap. That comment’s from exactly TEN YEARS AGO! The summer of 1999. I was… 22 (lol), working on Quaternion, a few months before I knew it was an IGF finalist. Apparently I had memory allocation issues.
The comment I found wasn’t in the UI code, but I want to believe that today ten years ago I was working on UI, browsing flipcode and sweet oblivion (aww yeah!), wondering what the GDC was like, dreaming of working in games, thinking Visual SourceSafe 6 was a pretty good tool….
Anyway, apologizes for the public introspection, but some coincidences are just too cool not to share. I also recently resurrected my gamedev.net login. Join date: 8/3/1999. At 1am. It’s now 12:40am. I guess some things will never change.
Posted in CuttlefishEngine, PointlessNostalgia | No Comments >>
I’m happy to announce what I’ve been working on so intently for the last few months: The Cuttlefish Engine. It’s a cross-platform game engine and game designer (think Yoyo Game’s Gamemaker), for iPhone, G1, and Blackberry.
More info at http://www.cuttlefishengine.com.
There’s probably a few of you who have found this blog through the Cuttlefish Industries site, and you may be confused about which blog to track. If you want to follow the technical development of the engine closely, this is the blog to subscribe to. I’ll post entries here about the minor engine decisions I’m making as I go. If you just want to know when it’s ready or when it hits major milestones, I’ll post those “big announcements” on the Cuttlefish Industries blog (and here too).
Posted in CuttlefishEngine, Uncategorized | No Comments >>
Ahh, junction, you never fail to bring me joy.
Use dropbox to sync your winamp settings (internet radio bookmarks, media library, etc.) between all your computers. Just set this up and it seems to work great. Caveat: I think winamp stores its media library in here, so if yours is big, you may eat up a chunk of your 2GB dropbox limit (in which case it might be better to junction to a removable drive).
junction C:\users\[you]\appdata\roaming\winamp C:\[your dropbox]\winamp
Posted in Uncategorized | No Comments >>
I’m working intently on something iphone-ish (iphony?) that I’m really excited about. It’s been taking every minute of my time but I’ve almost got enough ready for a big debut here soon.
In the meantime, I thought I’d talk about backups. Up until last night, my backup strategy was, let’s say, severely lacking. Even after losing over 160 gigs of MP3s to a Diet Coke a few weeks ago, the only real backup I had was some folders I copied halfheartedly before moving across the country this time last year. Prompted by a conversation at work earlier, I spent the wee hours of Friday night working on… backups.
I found a program called Cobian Backup. I like it because it supports FTP transfers, meaning that in addition to backing up my internal drives to an external USB drive, it also can pull from FTP sites, so I can backup snapshots of all my web sites too. It’s a little rough around the edges but it’s easy enough to schedule stuff and it seems fairly reliable.
With local data and websites now safe and secure, I thought about gmail. Backups of gmail may seem silly – gmail’s not going down for the count – but, thanks to alcohol, it’s entirely possible that I could do something ridiculous to lock myself out of my account. And there’s always a chance I’d get hacked. An infrequent gmail backup couldn’t hurt.
Lifehacker will tell you you need to install cygwin and then point you down the path of UNIX-on-Windows hell. Don’t do it! There’s a much easier way – some awesome guy has written “Gmail Backup.” It’ll let you backup via a GUI, or through a command line interface. Through a couple scheduled tasks, I’ve now got my gmail, and my wife’s gmail both backing up to the USB drive every few months.
The one thing I wish I could figure out is a way to archive some of my pages on other sites. It’d be cool to periodically backup my twitter, facebook, and friendfeed pages. I dream of some sort of “web backup” tool that you can point at all these different sites and have it save off your news feeds and profile info. Also, where’s the plugin architecture for Digsby??? I want to write one to remember all the avatars and taglines I change and put them in one of those cool flash-powered timeline displays that are all the rage on the internet.
Posted in Uncategorized | No Comments >>