Besides Emo Ray, I worked on the RC Rally game on Playstation Home. I only did a little bit of HUD work just before it was released. HUD work, by the way, is a great way to get started on any project – you can make little changes to the code and see instant results and get a feel for how to work in that setup. Anyway, now I can say I worked on two PS3 projects and didn’t miss out on this generation of consoles (sorry, XBox 360).
Category Archives: Programming
Adding Unity Submenus
This is probably one of those things that everyone else knows and I only just figured out, but I’ve been wondering how to take my Editor-scripted HyperBowl menu items and put them in a submenu of my FuguGames menu (menu bar space is scarce). Turns out it’s just a matter of treating the menu name like a pathname. For example, where before I just specified “HyperBowl/Tokyo” to add a Tokyo item to the HyperBowl menu (to configure the Player Settings for a HyperBowl Tokyo build), now it’s “FuguGames/HyperBowl/Tokyo” to place it in a HyperBowl submenu of the FuguGames menu.
[MenuItem ("FuguGames/HyperBowl/Tokyo")]
static void Tokyo() {
PlayerSettings.productName = "HyperBowl Tokyo";
PlayerSettings.bundleIdentifier = "com.technicat.HyperTokyo";
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.iPhone,"HYPERTOKYO;"+freeDefs);
UseIcon ("tokyo.png");
}
Learn Unity on the App Store
I have yet another HyperBowl-style bowling game on the App Store, called Learn Unity, since this is the game built following my book in-progress, Learn Unity 4 for iOS Game Development. Besides the name (maybe I should have called it something like Unity Bowl), the game is a bit odd since it uses conveniently free assets from the Unity Asset Store. That’s why it’s bowling for barrels and the barrels sound like coins (the video game kind).
Unity Editor Says…
Unity Editor scripting is my new diversion. Here’s a script that brings up a window with a text area and button – type some text and hit the button to run the Mac speech synthesizer. Basically, it’s the same as bringing up the Terminal and typing “say”. But this is in the Unity Editor, so it’s cooler. I think I cribbed the shell function from the Unity wiki a long, long time ago.
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Diagnostics;
namespace Fugu {
public class Say : EditorWindow {
[MenuItem ("FuguGames/Say")]
static void Init() {
EditorWindow.GetWindow(typeof(Say));
}
private string something = "";
public void OnGUI() {
something = EditorGUILayout.TextArea(something);
if (GUILayout.Button("Say it")) {
say(something);
}
}
// todo - put this in another script
static void say(string text) {
shell("/usr/bin/say",text);
}
static Process shell(string filename, string arguments) {
var p = new Process();
p.StartInfo.Arguments = arguments;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.FileName = filename;
p.Start();
return p;
}
}
}
The DBA Accelerator
I can’t believe I still have this manual I wrote during my year-long stint as a “research specialist” at MIT, writing simulators of content-addressable memory computers. Now, if I could just find a copy of my bachelor’s thesis on developing games on a 32-processor Lisp machine…







