Unity3d *wipes drool from chin*
Thursday, December 18th, 2008I keep lusting over this amazing looking tool. You can bet that I will be getting my grubby paws on it eventually. There’s simply too much potential there!
Unity3d is one of the many reasons I wonder why big companies are still making boxed retail games at all. For that matter, I often wonder why small indie developers are making downloadable games at all! I will never make another non-browser game in my life, unless there’s a huge incentive or it’s an optional download version. It just doesn’t make sense anymore to put up a barrier to entry like forcing a download and install.
There are two things I don’t like about Unity: 1) the development tools run on Macs only, and 2) I can’t use Java even though the tools use Mono (which supports Java).
First point, I have nothing against Macs (heck, I own one). It’s just not my development platform of choice. I have a bunch of nice tools already that I’m comfy with on my Windows machines. I don’t wanna have to build all that up again. That said, Unity holds enough potential that I would.
Second point, I don’t dislike C#. It’s a lot like Java, maybe even better in some ways. The reason I don’t want to move away from Java is because that’s what all the server code is written in, and it would be really nice to only write the classes etc for one language! Again, though, I think Unity has enough potential that I would bite the bullet and do it anyway.
Oh, point three: it costs $1,500 bucks. Ouch. I know there’s a cheaper version, but it’s too crippled for me–you can’t even publish to Windows! So, really there’s only one price point. Like the other two problems, I think I can overcome this one because I am so enchanted by what I could do with this engine. Lila Dreams in 3d? You never know….
Well, I was just distracted for a few minutes (again) by the tropical demo, so I wanted to get this off my chest.
Update: Sweet goomba! I just learned that Unity 2.5 will be the first Windows release for the authoring tools! *weeps with joy* But also the indie license will allow publishing to Windows now. And the indie version costs $200. *faints* Discovering Unity has blown my mind. It solves so many problems. I must have it!!

All the trouble begins, of course, when you’re programming at 90 miles per hour and what looks to be the quickest way to do something ends up being a bad way to do it. In my case, I was giving some constructors too much data all at once. I was sending stuff to be initialized that should have been deferred and separated into other functions.
I’m using Box2d, and for a physics sim, you want every update to use the same delta time. Fluctuations can cause the simulation to get all wigged out and blow up. Lucky for me, on the game I’m working on (not announced yet), I’m mostly only using Box2d for collision detection. There are no stacks of boxes or whatever, so there’s not a lot of simulating happening, and that makes it more tolerant to variable tick durations. Still not ideal, because it can cause weird collision glitches, like tunneling.
I stumbled across this totally accidentally today while searching to find out if it’s possible to subclass Rectangle (I don’t think it is, but I never found a definitive answer):