Monday, February 22, 2010

KAOSSILATOR PRO



Cannot... resist... must... need... ARGH!

Seriously, this is a very cool tool. I'm gonna have to get me one. Soon. Dear Korg, please send me a unit so I can review! :-)

Why the iPhone and iPad can't use Flash.

This flash developer explains why..

I had similar problems two years ago when building Unity3D apps for a touch screen application. The GUI system in Unity3D relies on a widget having 'hover focus' before it will accept a click event, therefore requiring every widget to have at least two screen taps to function. Unity3D iPhone doesn't have this problem, and it would be nice to see the same behaviour in Unity3D itself.

Thursday, February 18, 2010

US Corporate Pillages Local Talent, Exploits Gov, Flees Back Home.

I've just read a newspaper article (courtesy of Kranzky) from WA Business News documenting the malfeasance, gross negligence and misconduct of the US parent company of Interzone Pty Ltd.

Interzone came to Perth in 2006 to establish a large game studio. I was a keen supporter of their plans at the time, and even worked with them over a period of 12 months. Now, they appear to have unofficially folded and closed the Perth Studio sometime last week, owing millions of dollars to the ATO and employees. Reading the above article make me rather angry, and sad too.

This is apparently the reason that the CEO, Marty Brickey chose not to pay employees.

If we had paid the employees, there was no more money for operations. - Marty Brickey

Mr Brickey, I personally know of some employees who currently cannot afford to eat, due to being stuck in a foreign country and being ineligible for welfare assistance. How does this stack up against your need to operate?

This next quote is a gem, do some maths and you will wonder where all the money has gone.

Mr Brickey said he had personally invested $8 million in the company, as part of about $30 million in capital required to launch and maintain the Interzone business for the past four years.

This statement directly contradicts his words at the Kotaku Blog:

After being directed to your article I felt it was necessary to offer some corrections... IZ has not received millions in funding.

Let's leave the lies alone, because the arrogance is even more entertaining. Mr Brickey actually feels that he is owed money!

In March 2007, Interzone received $500,000 in state government funds as part of a three-year deal announced by the then industry and enterprise minister, Francis Logan.
But Mr Brickey said this had not been paid in full, claiming to be owed more than $120,000.

So let me get this straight, Marty operates a company illegaly for 18 months, doesn't pay his debts, exploits and abuses employees then "appropriates" the unpaid-for intellectual property from Perth... and has the insolence to claim the state government owes him $120,000?

Finally, the article ends:

However, after what’s occurred during the past 12 months, he said he would be happy to never return to WA.

I suspect Mr Brickey hoped the former IZ employees would slip quietly away, however they are determined to raise a ruckus and see justice done.

Mr Brickey himself seems to be spoiling for a fight. He has already directly threatened current and former employees.

"Eight of our major investors are already independently retaining council (sic) in Perth and are reading (sic) to strike hard and fast at anyone committing tortuous (sic) interference, slander, or liable (sic) against the company"

This of course, never happened and appears to be just another attempt to stall via misdirection and lies, while his "agent" made a getaway with the IP.

Then, there is this beautiful sequence of comments at Kotaku:

zaphodity
February 16, 2010 at 10:36 PM
If I were you guys I wouldn’t be sitting around posting poison comments.. I’d be having a serious round table talkies about how we were going to put Marty’s balls well and truly through the wringer.

Insider
February 17, 2010 at 1:34 AM
Zap, you might be in for a bit of a surprise on whose balls are going to be put through the ringer. You all want your day in court and i can guarantee your going to get it.

Wow, this is the most telling comment of all. If "Insider" is Mr Brickey, he clearly feels that he has been dealt with unjustly, and deserved better from his employees. Yes, the CEO is blaming the rest of the company for his failure to manage and deliver.

Random Python

I don't know why, but this code kept popping into my my brain last night.

import random
def to_be_or_not_to_be():
return random.random() < 0.5

I think it is interesting, because even though it asks a clear question, the answer is... not entirely clear. It is a sad day when one realises his dreams are plagued by source code.

Friday, February 12, 2010

A Spatial Hash class in C#.

Now that I'm writing more C# than Python... I've ported some of my more useful classes for use with Unity3D and C#. This is a rather useful class, the Spatial Hash. It is used for creating an index of spatial data (3D things in space) and allowing fast queries to be run against the index. The original Python version is over here. This new class is used in much the same way.

Effectively, you can use this class to ask, "I'm at this position, what other objects are near me?".

using UnityEngine;
using System.Collections;

public class SpatialHash
{
private Hashtable idx;
private int cellSize;

public SpatialHash(int cellSize) {
this.cellSize = cellSize;
this.idx = new Hashtable();
}

public int Count {
get { return idx.Count; }
}

public ICollection Cells {
get { return idx.Keys; }
}

public void Insert(Vector3 v, object obj) {
ArrayList cell;
foreach(string key in Keys(v)) {
if(idx.Contains(key))
cell = (ArrayList)idx[key];
else {
cell = new ArrayList();
idx.Add(key, cell);
}
if(!cell.Contains(obj))
cell.Add(obj);
}
}

public ArrayList Query(Vector3 v) {
string key = Key(v);
if(idx.Contains(key))
return (ArrayList)idx[key];
return new ArrayList();
}

private ArrayList Keys(Vector3 v) {
int o = cellSize / 2;
ArrayList keys = new ArrayList();
keys.Add(Key(new Vector3(v.x-o, v.y-0, v.z-o)));
keys.Add(Key(new Vector3(v.x-o, v.y-0, v.z-0)));
keys.Add(Key(new Vector3(v.x-o, v.y-0, v.z+o)));
keys.Add(Key(new Vector3(v.x-0, v.y-0, v.z-o)));
keys.Add(Key(new Vector3(v.x-0, v.y-0, v.z-0)));
keys.Add(Key(new Vector3(v.x-0, v.y-0, v.z+o)));
keys.Add(Key(new Vector3(v.x+o, v.y-0, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y-0, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y-0, v.z-0)));
keys.Add(Key(new Vector3(v.x-o, v.y-o, v.z-o)));
keys.Add(Key(new Vector3(v.x-o, v.y-o, v.z-0)));
keys.Add(Key(new Vector3(v.x-o, v.y-o, v.z+o)));
keys.Add(Key(new Vector3(v.x-0, v.y-o, v.z-o)));
keys.Add(Key(new Vector3(v.x-0, v.y-o, v.z-0)));
keys.Add(Key(new Vector3(v.x-0, v.y-o, v.z+o)));
keys.Add(Key(new Vector3(v.x+o, v.y-o, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y-o, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y-o, v.z-0)));
keys.Add(Key(new Vector3(v.x-o, v.y+o, v.z-o)));
keys.Add(Key(new Vector3(v.x-o, v.y+o, v.z-0)));
keys.Add(Key(new Vector3(v.x-o, v.y+o, v.z+o)));
keys.Add(Key(new Vector3(v.x-0, v.y+o, v.z-o)));
keys.Add(Key(new Vector3(v.x-0, v.y+o, v.z-0)));
keys.Add(Key(new Vector3(v.x-0, v.y+o, v.z+o)));
keys.Add(Key(new Vector3(v.x+o, v.y+o, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y+o, v.z-o)));
keys.Add(Key(new Vector3(v.x+o, v.y+o, v.z-0)));
return keys;
}

private string Key(Vector3 v) {
int x = (int)Mathf.Floor(v.x/cellSize)*cellSize;
int y = (int)Mathf.Floor(v.y/cellSize)*cellSize;
int z = (int)Mathf.Floor(v.z/cellSize)*cellSize;
return x.ToString() + ":" + y.ToString() + ":" + z.ToString();
}

}

Interzone Continues to Implode. Waiting for the Explode bit.

I just received a link to this rather incriminating writeup about IZ Corporate management tactics. It reeks of dishonesty, fraud and greed. For more information, see the story on Kotaku. It is a very interesting read, trust me.

I wrote a lot of Python for IZ over 12 months, it was a great place to work with a very smart team of Pythoneers, Artists and other creative sorts. If the game had been delivered, it could possible have become the second biggest MMO powered by Python. Sadly, it seems this is unlikely to happen.

Update: More inside info and allegations at at WA Business News.
Update: Gamasutra cover the Interzone Corruption.
Update: This page names the management, Marty Brickey, Mike Turner and Greg Chadwell.
Update: Tsumea documents Interzone mismanagement and employee abuse.
Update: Giant Bomb talks with ex-IZ employee.
Update: More detail on the con at deviantART.

Thursday, February 11, 2010

Let's move to Victoria...

The Vic gov is announcing via Twitter a $100,000 competition to develop iPhone apps.

Wow.

Wednesday, February 10, 2010

Interzone Implodes.

It seems Interzone (Perth Game Dev Comapny) is imploding. Kotaku has the story, where Tim Colwill airs all the dirty laundry. I worked at Interzone for almost 12 months, and it will be sad to see such a stellar development/creative team break up.

Tuesday, February 09, 2010

Some sort of... American Jeep.

626 Vertices, vertex colours only. Not sure it is right, just yet.


Update: Large American Vehicle Take 2, I like this one much better. 794 vertices.

Monday, February 08, 2010

4KB Game?

I had no idea that Adrian created a 4KB game for GGJ 2010.

Respect.

Unity3D Toon Shader


I wrote my first Unity3D shader today.

It uses vertex colours only, and adds an outline around the edge of the model. Instant Toon! Unfortunately it does not work on the iPhone. Ah well.

Saturday, February 06, 2010

Models for iPhone Games - 4x4

This 4x4 has a mere 574 vertices. It uses Vertex colours only, no textures. Quite adequate for an iPhone game.


Update: Spent a few more vertices on details.

How to be an Awesome Open Source Dev.

This guy (ossipena), is clearly a legend.

Step 1. Tell your users to go elsewhere.

Step 2. Tell them to stop bitching.

Step 3. Tell them to not bother posting, just shut up.

This is a brilliant strategy to help engage your users, and create a friendly community around your product. Great work ossipena!

</sarcasm (if you didn't notice)>

Thursday, February 04, 2010

Sopwith - 1984

Every now-and-then, a game comes along which seems to have infinite re-playability, despite it's simplicity. In 1984, a game just like that was released and it was called Sopwith.


The player conrolled a tiny little biplane with speed and elevator controls. The aim of the game was simple, bomb the buildings and avoid getting shot down by other enemy planes. The bombs were huge, (triggered via the 'B" key of course) and they followed a graceful curve towards their target. The launch vector followed the trajectory of your plane, so you had to be careful you didn't launch it while upside down!


The game arena was surrounded by two large mountains at each end of the map, so you need to become adept at flipping a bomb into the corner of the screen, while executing a tight loop and rolling to continue on in the other direction!


This was one of the few games I managed to finish. IIRC, once the last building or fighter was taken out, your Sopwith Camel (the biplane) promptly executed a tight turn and flew off into the screen, rewarding you with a great 4 colour sunset.

A Game in a Week?

My recent experience with Gamma IV and Unstable Radial has shown me that it is indeed possible to build something fun in my spare time over a week.

I'm pretty keen to try this again very soon. Especially as a very cool new game console is coming out soon... and I've heard that Unity3D are planning 0-day developer support for the device... Excellent!

iiNet is awesome...

...for many different reasons. Here is one more.

Tuesday, February 02, 2010

iPhone Port Complete.


I've spent the evening porting my Gamma IV entry to the iPhone. I had to make quite a few modifications, but it is now complete, and playable. In total, I've spent about 40 hours on this game over the last two weeks.

That 40 hours gave me a Mac, PC, Web and iPhone version of the same game. Unity3D is pure awesome.

Monday, February 01, 2010

GGJ 2010 is Over.

After deciding late Saturday to actually participate in the GameJam, I've made something that is barely playable. It is a remake of the cemetery scene from "The Good, The Bad and The Ugly".


The cemetery is procedurally generated, and contains 74 different tomb stones, in various stages of disrepair, and they're all normal mapped. THere are about 5000 tombstones in total.

In contrast to the detail on the stones, the characters are cardboard props, with some textures splatted on the front. At the end of the tension building glances and facial close ups, you get to spend one bullet on your choice of the bad guys. If you manage to hit the cardboard cutout, you are rewarded with an end sequence and victory scene.

I used Unity3D, made all the models and textures myself, however I borrowed the original soundtrack from the film. I think I'm allowed to do this, as the game is effectively a satire or parody of the original. :-)

Popular Posts