Dagens App: Tomten

Swedish MacWorld.se reviews Tomten (Swedish only):

“Ditt uppdrag i spelet är att hjälpa jultomten att dela ut julklappar genom att slänga ner dem i husens skorstenar, något som är lättare sagt än gjort. Totalt innehåller spelet 27 olika mini-uppdrag av varierande svårighetsgrad. Med andra ord borde det hålla dig sysselsatt tills julen är slut.”

Read more at MacWorld.se

Download Tomten at App Store
Download Tomten at Android Market

Volvo Trucks FH16

On November 3 Volvo Trucks launched the game FH16 which I have worked on as project leader and developer for almost a year now. If you have an Android device, iPhone 4, 4S or iPad 2, make sure you check it out – it’s fun and completely free!

The game was created with the game development engine Unity.

Samsung Galaxy S2 Tips

If you happen to be the lucky owner of a Samsung Galaxy S2 phone, you might be interested in this thread at XDA-Developers that has some nice usability tips.

From the thread:

  • In the contacts list, dragging left on a contact sends them an SMS, dragging right calls them.
  • The applications drawer can be pinch-zoomed out.
  • You can take a screenshot of the screen using the Home + Power buttons.
  • Hold down your finger on the notification bar for a few seconds, it then becomes a brightness slider. If you then drag your finger left or right you will decrease or increase your screen brightness.

Read more at xda-developers

Unity Light Probes

From the Unity Technologies Blog:

Light probes are an advanced technique for lighting dynamic objects and characters with high-quality baked lighting. It is possible to capture incoming direct and bounced lighting within a scene at a number of points – light probes. As a character moves through the scene, nearby probes are picked, interpolated, and the result is then passed to the shader to efficiently light the surface. There it can be sampled per-vertex or per-pixel, if you want to use the normalmap-perturbed normal to do so.

Looks very nice! Light Probes will arrive in Unity 3.5 for mobile devices.

Strong Growth for Unity

The game development platform Unity has doubled its user base the past 6 months:

“Unity Technologies, provider of the Unity development platform for awesome games and interactive 3D on the web, iOS, Android, consoles and beyond, today announced that its registered user base has doubled to more than 500,000 users in just over 6 months; 150,000 of these users are active monthly users representing well over a million hours of game development every month. In addition, installs of the free Unity browser plugin for playing web games have surpassed 60 million.”

Read the full press release

In a related press announcement, Game Developer Magazine readers named Unity the #1 game engine they use for traditional and casual games. Read the full story.

I have used Unity myself for almost three years now, and have always believed firmly in the potential of the platform. Congratulations to David Helgason and his crew for the success, you deserve it!

Game Development with Unity

Yesterday I presented a longer version of my seminar Game development for iPhone, iPad and Android devices that I held at the Scandinavian Developer Conference, three weeks ago. I did not film it since I already have the Scandinavian Developer Conference version up, but if you are interested you can now download the individual steps to create a game with Unity below.

Download the updated presentation as a PDF document here

You can view and download the individual videos below:

Game Development with Unity 1/9
In this video I will show you how to create a menu background and buttons with Photoshop:

  1. Create a new document 1024 x 768 for iPad
  2. Draw a gradient background
  3. Create normal and touch down buttons
  4. Save background as PNG
  5. Save each button as PNG
    Note: each button is saved as a 1024×768 image
  6. Save image as PSD

Game Development with Unity 2/9
In this video I will show how to create a game level with colliders in Modo:

  1. Zoom to right unit scale
    Unity uses 1 unit = 1 meter
  2. Create game level objects
  3. Set materials
  4. Create colliders
    Prefix with Cn (CX = Box Collider, etc)
  5. Save as Modo object
  6. Use Modo2Unity script to save FBX
    Script removes camera, light, etc

Game Development with Unity 3/9
In the video I will show how to import menu graphics and level data, and set up colliders, lightning, lightmaps and dynamics:

  1. Create new Unity project
  2. Create some standard folders
    Materials, Scripts, Textures
  3. Import Level1.FBX, Menu graphics, Helper scripts
    AssignMaterial.js, BuildColliders.js
  4. Drag Level1.FBX to a new Scene
  5. Save Scene as Level1.unity
  6. Change Camera near / far distance
  7. Add a Directional Light
  8. Create Colliders from meshes prefixed with CX
  9. Create Lightmaps
  10. Add Rigidbody + Sphere Collider to our Ball
  11. Change Project Physics settings (precision)

Game Development with Unity 4/9
In this video I will create a script to control the ball by tilting the device:

  1. Create BallController.cs script
  2. # Get device Tilt values
  3. # Normalize Tilt values
  4. # Add Tilt force to the Ball
  5. Drag BallController script to the Ball in Unity

Game Development with Unity 5/9
In this video I will add script logic to detect if the ball falls down:

  1. Open BallController.cs script
  2. # Store original Ball position
  3. # Store original Ball rotation
  4. # If Ball Y position < 1.0 then reset values

Game Development with Unity 6/9
In this video I will create the menu system with EZ GUI and Sprite Manager 2:

  1. Create a new Scene: MainMenu1024
  2. Set camera to Orthographic
    Size = 384 (half height of 1024 x 768)
  3. Add EZ GUI: UI Manager
  4. Add EZ GUI: Simple Sprite for background
  5. Add EZ GUI: Load Scene Button for Play button
    Set it to load Level1.unity
  6. Add a material for the background
    Shader = Unlit / Texture
  7. Add a material for all buttons
    Material will be created by EZ GUI Build Atlases
    Shader = Unlit / Transparent
  8. Size and position the Play Button
    Using EZ GUI Size Sprites
  9. Add Level1.unity to the Build settings
    So it can be loaded by the Play button

Game Development with Unity 7/9
In this video I will create the end game menu screen with EZ GUI and Sprite Manager 2. The steps in the video are the same as video 6/9.

Game Development with Unity 8/9
In this video I will show how to disable PVRT texture compression on menu textures in Unity.

Game Development with Unity 9/9
In this last video I will show how to add a trigger to our goal object to load the end game menu. I will also switch target platform to iOS:

  1. Add a Trigger collider to our Goal object
  2. Add OnTriggerEnter() to BallController.cs
    Load the level “GameEnd1024” once the ball enter
  3. Add the scene GameEnd1024 to Build settings
  4. Switch target platform to iOS
  5. Play the game!