Apr 282010
 

I have a problem. I complicate things in order to simplify them. wxBlogger began that way, as did wxCURL, as did wxSync. Each began with the idea of simplifying some of the more mundane tasks that I do each day. Since I began working with Unity 3D, I’ve found on several occasions that using Mac OS X’s built-in right-click “Compress …” did strange things, particularly with executable files, that would only be discovered by Windows users later. Global Game Jam 2009 this bit us. It’s bitten me several other times.

Now, theoretically, I could open the “Archive Utility” application housed in (/System/Library/CoreServices/) and change its preferences, instructing it to use the more Windows friendly “ZIP” format rather than… Well, whatever it does and calls “.zip”. But, that would be simple, right? What would be interesting about that solution?

Thus I taught myself a little Apple Script and whipped up what I’ve called “WinZip,” which is clearly not this WinZip. My little deal is a Mac App / Apple Script that does the work of making a Windows compatible ZIP file for you without having to know the commands or do it yourself in the Terminal. The source code and application are all released under the wxWidgets License.

-- WinZip for Mac OS X
-- Casey O'Donnell
-- http://www.caseyodonnell.org/
-- This script takes a dropped file (or several) and compresses them in a Windows
-- compatible format using the "ditto" command.
--
-- The source and the application are released under the wxWidgets Licence, which
-- can be found here: http://www.wxwidgets.org/about/newlicen.htm
on open fileList
	set szPathName to ""
	set szPathDest to ""
	repeat with i in fileList
		set szPathName to quoted form of POSIX path of (i as text)

		set iLength to length of szPathName
		set szLastChars to get characters (iLength - 1) thru (iLength - 1) of szPathName

		if (szLastChars contains "/") then
			set szPathDest to get characters 1 thru (iLength - 2) of szPathName
			set szPathDest to szPathDest & ".zip'"
		else
			set szPathDest to get characters 1 thru (iLength - 1) of szPathName
			set szPathDest to szPathDest & ".zip'"
		end if

		tell application "Terminal"
			do script "ditto -c -k -X " & szPathName & " " & szPathDest & "; exit"
		end tell
	end repeat
end open
Oct 062009
 

Well, this weekend was a whirlwind of activity at SIEGE in Atlanta. I ended up speaking at two different panels, one explicitly about Unity 3D and the other, ostensibly, about physics. Though it wasn’t my intention, the Unity 3D Panel ended up being mostly a Unity 3D love-in after Tom Higgins managed to handle the majority of our complaints prior to the actual start of the session. Items such as SVN support and other components supposed to part of Unity 3D 2.6 as well as a future fusion of Unity 3D and Unity 3D iPhone came as music to most of our ears. Even the physics panel had some Unity love. I got to plead with the audience to not write their own physics engines, though I’m sure someone out in the audience will proceed to roll their own just for the fun of it and spend months debugging it when they could have just sat down and started playing with Box 2D or some other physics engine and had much more fun.

Ultimately though, it is the kind of response that Tom gave us, and the user community that makes Unity 3D what it is. There was some interesting discussion if the fact that Unity 3D started out as a Mac project by Mac developers set a kind of initial trajectory for the developers and users that makes it particularly friendly and collaborative, especially compared to other user communities that often times seem less receptive to learning users. Hopefully Unity 3D can maintain that attitude.

Oh. And Ben’s Detonator framework is the bomb. Sorry, bad pun.

Also while at SIEGE I received some excellent feedback on Osy from one of my favorite designers, Ian Schreiber. We also had an excellent extended conversation about teaching game design in the college setting. Something we’ve both found to be an important topic. This of course spilled over to an extent into the education panel round table. But ultimately I was somewhat saddened by the lack of attendance at the experimental game panel, something at GDC that is continually packed and near and dear to seasoned developers hearts. I guess not enough folks have taken lumps yet to really love experimental design…

http://www.siegecon.net/SIEGE2009/