September 1, 2012

Unite12 - Day 3

Tags: Technical, Unity

The third day of Unite12 started quietly after the awards party the night before. To their credit the winners of the big prize got up in time to deliver one of the first sessions of the day (which I didn’t attend). The crowd seemed typical to other IT related conferences or courses - 90-95% male and averaging around 30. There also wasn’t much swapping of business cards in general - swapping contact details electronically seems to be far more popular now.

Day 3 notes from the sessions I attended are below.

Day 1 notes here.
Day 2 notes here.

Advanced Editor Scripting:

  • Can get all the scenes by getting all the assets using AssetDatabase.GetAllAssetPaths() and then looking for paths ending with “.unity”.
  • The AssetPostProcessor class allows work on an asset just before or after it is imported.
  • The unity build process can be controlled via the BuildPipeline class.
  • The editor.log cantains a list of all assets included in a build (and a lot of other stuff too).
  • It is possible to decompile the UnityEditor or UnityEngine DLLs (using something like dotPeek by JetBrains) and then use reflection to hook into it.

PR Roundtable:

  • This was a surprisingly useful session, a lot of good ideas were suggested.
  • Identify the 5 things people love about your game and push them over and over.
  • PR should be in sync with development. Plans should be platform/audience specific. Mobile should aim for big Day 1 push, Desktop should start 6-9 months before release.
  • Release previews and assets showing feature over time (not all features at once).
  • Produce awesome assets and screenshots. Focus on 5 main things. Check for good framing and try to tell a story.
  • Trailers are very important. Keep them short, 45-70 seconds max.
  • Be creative in assets (eg. developer diaries).
  • PR releases.
    • The headline should deliver the key message in one sentence.
    • Aim for succint and clear. Avoid buzzwords and hyperbole.
    • Who, what, when, where, why, and how of the game
    • Have a link for a press kit
    • Make text cut and pastable - make the journalists’ job easy.
    • Make preview copies available (and linked in release).
  • Review campaign should target outlets. Do simple research and contact journalists (build relationships in advance). The review pitch should be short, concise and include working code and press assets. Follow up after a few days.
  • Contact global press, not just locals. Different areas like different games - your game could be big in Korea, how will you find out?

Continuously Bootstrapping an Indie Studio:

  • Prototype well. Keep working and changing idea.
  • Assume 1 day’s work on a prototype means 1 month to polish. So a 7 day prototype followed by 7 months to finish is a good goal.
  • Throwing away prototype is ok.
  • Build a game, not technology. If technology is 75% done that is usually good enough. Use external libraries and assets.
  • Actually market your game. People need to know about it. Find a voice.
  • Cycle between contract and original IP work for financial safety. Aim for 6 months paid contract work that earns enough to cover for 6 months of own work. Thus if original work fails no one needs to be sacked.
  • Network like mad. Get known for something. Go to conferences with a purpose and a message. GDC and Unite best for finding contract work, E3 worst. PAX good for meeting consumers.

Teaching Game Design through Bronze Age Mythology:

  • Used Unity to create models of Pompeiian buildings (viewable here). The models teach Roman household art and how rooms are connected.
  • Also used Unity in teaching game design and mythology by having students design and create small games based on Homer’s Odyssey.
    The couse text is Schell’s The Art Of Game Design

Creating the Universe with Unity:

  • Rewriting Universe Sandbox with Unity.
  • They have a nice glow effect on planets and stars. Close up of star surface done using a turbulence library from Asset Store.
  • They show a grid to give a sense of distance. Drawn with lines (not a texture).
  • They use LOD on models.
  • Nice camera movement. The camera doesn’t change position, instead everything around it is scaled and moved.

The Temple Run Story:

  • Presenter ported Temple Run to Android using Unity. iOS original used a bespoke engine. Temple Run earns “approximately a metric fuck ton load… per month”.
  • Had problems with Unity’s prefabs (can’t nest them) and GUI. Recommends Merlin’s Prefab Lab and NGUI from the asset store. Also like Prime31 libraries.
  • Android is deeply fragmented, but still worth it.
  • Indie studio formula:
    • Keep it simple
    • Small Team (4 people or less)
    • Publish rapidly - assume failure (consider it a learning event) and be able to continue. Don’t aim for one big great game, aim for many small great games.