Tag Archives: Unity3D

Unite Austin 2017

 Neill Blomkamp being interviewed on stage

I attended Unity’s Conference, Unite, in Austin this year. There are a lot of interesting improvements coming down the pipeline but nothing ground shaking. I think the biggest announcement was for artists: direct integration with Autodesk’s Maya and Max. Other things I’m looking forward to are:

  • the integration of TextMesh Pro
  • the new Asset Bundle system
  • the new Entity framework
  • the 2D Tile system

The main focus of the show seemed to be film, but I think most Unity users are not that excited about those features. It’s a completely different audience, and one Unity is still trying to capture. The interview with Neill Blomkamp, the writer and director of Distrik 9, during the keynote was exciting and important feeling but at the end I felt underwhelmed by the interview. It didn’t come across as a strong endorsement of Unity specifically. It felt more like rough vision centered on how real time movie making might be important to up and coming indie film makers. The short film also was kind of confusing to me because the story didn’t fit with what I remember from the original Adam movie. The original short implied that their crimes didn’t matter, hence the screens on the chest going blank, but Blomkamp’s follow up seemed to emphasize their crimes but didn’t give you a strong sense of how the characters felts about the crimes, good or bad.

While the Unity party was high caliber and fun as always, I didn’t really meet a lot of new people. I’m not sure if that was because of the large size or because I just know so many people now that they absorbed most of my time and energy. But, it was great to see some folks I hadn’t seen in a while and catch up.

Tech Demo: Voronoi Algorithm

Here’s a small tech demo I’ve been working on. It’s the application of the Voronoi Algorithm to a map’s political boundaries as two players place bases or cities. It was written in Unity3D and essentially the system continuously loops over each cube and determines which of the existing bases (or mouse) is closest. One quirk, is there is a limit to how far away a cube can be or it will simply remain neutral. I have several different ideas about how to apply this to a game but I’m still searching for a theme that fits the mechanic very well.

Global Game Jam 2013

I participated in the Global Game Jam this year.  It was my second appearence, the first time being in 2010 on Space Exodus.

Here are my brainstorming notes (on right) and pitch (on left):

Picture of Heart but as a game.

Heart QWOP Concept

 

Essentially I wanted to make a QWOP style game about moving blood through the heart to the brain.  I was thinking that if you didn’t do it well enough the brain would loose oxygen and then the letters you need to press would change.  Sadly, no one wanted to join my team.

Instead I joined the Heart Trampoline team.

Start menu for Heart Trampoline.

Heart Trampoline

Play Heart Trampoline.  Be sure to check out the credits, one of our talented artist did portraits of all the team members.

Also, Heart Trampoline is my January entry in the One Game A Month Jam/Challenge.

 

 

What Unity Games are on Steam?

Updated 2014-01-16

This is a question I hear a lot and here’s what I’ve learned:

See a game missing? Email me the name and citation, thanks.

Recommended Game Development Reading, Watching and Playing

A Thumbs Up

Updated 8/08/2013

Futile Quick Start

Futile is a framework that allows you to control rendering within Unity programmatically. This is a boon to anyone interested in 2D games and finds, like myself, that Unity impedes 2D game development.

  1. Get Futile from Github
  2. Import the Futile.unitypackage into you Unity project, Assets->Import Package->Custom Package…
  3. Create an Empty GameObject and call it Futile Camera, GameObject->Create Empty
  4. Find the Futile script in the Project Pane and drag it to the Futile Camera object you just created.
  5. Make or find a fun and silly image, I like this one: OMG IT SPINS
  6. Now put it in you Unity project under the Asset folder and call it OMG.
  7. Click on the image and set the Texture Type to Advance and then the Non Power of 2 to None.
  8. Create a new Script file and name it FunWithFutile.cs and drag it to the Futile Camera object.
  9. Now copy the code below into you script file.
    using UnityEngine;
    public class FunWithFutile : MonoBehaviour
    {
        // Use this for initialization
        void Start()
        {
            FutileParams futileParams =
                new FutileParams(true, true, true, true);
            futileParams.AddResolutionLevel(
                1024, 1, 1, "");
            futileParams.origin = new Vector2(
                 0.5f, 0.5f);
            Futile.instance.Init(futileParams);
            Futile.atlasManager.LoadImage("OMG");
            FSprite fSprite = new FSprite("OMG");
            Futile.stage.AddChild(fSprite);
        }
        // Update is called once per frame
        void Update()
        {
        }
    }
  10. Press play and be impressed!

Unity3D #pragma strict Gotch

I was working with some code in a book today and could not figure out why a variable was giving me problems.

Unknown idenifier: ‘mesh’. (BCE0005)

I don’t usually program using JavaScript much less with MonoDevlop, so it took me a while.  Turns out, it’s a little thing:

#pragma strict

I was using it, and the book wasn’t.  They didn’t declare the variable in the example unlike ALL the other ones! That’s why it is unknown, it IS unknown.  The sample code that came with the book compiled because it doesn’t have the #pragma strict.

Ludum Dare 21 – Conclusion

I didn’t finish. I just didn’t have my weekend clear.  You really need a clear weekend to finish Ludum Dare. The tech change in the middle didn’t help.

My main take away: Unity slowed me down. I’m too much of a programmer. When a game engine gets in the way, I can see all the different ways I would code myself out of the problem, but I can’t see any solutions in the engine’s context. Code is a powerful too, and I’m good at using it. Game engine’s are alien worlds with bizarre rules and un-explainable behavior.

So, I’m going to stop using game engines (or frameworks etc.) I’ll use non-game libraries and leave all the game programming to myself. Specifically, something like SDL, SFML or even XNA are good for me, but not stuff like Torque 2D or Unity. I think XNA is “library” enough not to be considered a game engine. It’s more like a toolbox. Oh, I think the caveat here is I want to make 2D games, not 3D.

I think there is a bigger principal at work here: KISS = Keep It Simple Stupid Game Engine’s are complicated systems built by lots of programmers.  They have multitudes of  audiences with different needs.  This all makes them hard to understand with lots of bells and whistles.  In order to accommodate all these different requirements, some feature are overly complex with lots of assumptions.  Those assumptions require rigidness to keep you out of the weeds that aren’t handle so well because of those assumptions.  So at the end of a Ludum Dare weekend, you look back and see all the time lost figuring the game engine’s nuances and gotrchas.  Then you pine for a chance to go back in time and just pounded out the code you needed.

Ludum Dare 21

I’m about half way throught this weekend’s Ludum Dare 21 (althought the traffic level is really bad right now.)  The theme is Escape.

Tools so far:

My Pac Man mechanic isn’t exactly fun, but it too late in the contest now to change 🙁   I’m using momentum or forces to move the player, which at least one interesting difference over the classic game.  This make moving around a little less straight forward, and might have some emergent strategies, we’ll see.

Interesting! Notch of Minecraft fame is video streaming live as he programs his Ludum Dare 21 entry!!