Developing applications & games
in Unity engine
Matej Jariabka
co-founder of gamifi.cc
Introducing gamifi.cc
• Indie studio from Brno, CZ: David Jozefov, Rudolf Kajan,
Matej Jariabka, Martin Wilczak
• Experience with games for Win, XBOX360, Windows Phone

• FireFighters: Whatever It Takes!

(world finals of Microsoft Imagine Cup 2011 – 3th place in Game Design category)

• Yggdrasil: The Tree of Life

(world finals of Microsoft Imagine Cup 2012 – 6th place in Game Design category)

• The Great Wobo Escape
multiplatform 2.5D action puzzle platformer, in development since 01/2013
How we discovered Unity
•
•
•
•
•

We have a game, we don’t have an engine
What is a trend, what others use?
Platforms!
No re-inventing the wheel!
Thinking 5+ years in advance
Why is Unity a clear choice for us
•
•
•
•

Easy multiplatform development minimizes risks!
Easy to use
We can create what we need (editor)
Minimum training required
Platforms supported by Unity
• Consoles current-gen & next-gen
• Mobile
• Desktop
Platforms supported by Unity
Unity vs Kickstarter 1/2
Is Unity popular on Kickstarter?

40%
of games in TOP15 Most Funded Video Games use Unity
*As of 11/2013
Unity vs Kickstarter 2/2
How much $USD Unity games raised on Kickstarter.com?

$16 403 255
6/15 games in TOP15 Most Funded Video Games
*As of 11/2013
How to choose a game engine
•
•
•
•
•

Don’t start to make a game by creating an engine!
Know your limits and goals
Make choice in line with your business model
Choose for a game type - FPS, MMO, Casual
Don’t be afraid to invest (a little)
– tools, support, licence type, modules, etc.
Alternatives
• CryEngine
– Several options for licensing
– Visually rich & powerful

• Unreal Engine
– Flexible for game genres, multiplatform
– Free, or 25% from profits over $50k
Why Unity - PROS
•
•
•
•
•

Unity if free (low/limited price)
Multiplatform tool
Support and ongoing development of new feature
Asset store, plugins
Indie standard
Why Unity - CONS
• Unity Pro is not free
• Requires skills! (coding)
• Will require customization
Unity for non-developers
Prototyping

Build

Test

Deploy

• Easily integrate non-developing people into the flow
• Less and less complex work for dev team
Prototyping

Quick feedback
• Does it look good?
• Is it working as expected?
• Does it fit to the concept?
Test

Testing is independent on Dev team
1. In Unity: File -> Build & Run
2. Publish through Unity Web Player, send .apk, .etc.
3. Testing, bug reports, etc.
Deploy

• Publish on Store / Marketplace
• Texts
• PR & Marketing
Unity Web Player
•
•
•
•

Share a whole game through just one URL
Win / Mac OS + any browser is required - universal
Unity: File -> Build & Run -> Web Player
Dropbox  Public directory (copy public link)
Unity Hardware Statistics
• Useful for setting a minimal HW requirements
• Simple but free, anonymous stats: OS version, GPU,
CPU, memory size, display size, device manufacturer
• For Web player, Mobile, Editor
• stats.unity3d.com
Rudolf Kajan
will continue
Indie Game Development
with XNA & Unity
Rudolf Kajan
co-founder of gamifi.cc
2008
2009

MoonGate
Engine

2010

Firefighters

2011

Yggdrasil

2012
2013

The Great
Wobo Escape
Smart Multipurpose Interactive Learning Environment
• With visually impaired
players in mind
• Educational aspects
• GarageGames
• Torque
#1 - Use Tools!
•
•
•
•

Time is better used making a polished game
Easy to ramp up new people
Moving between projects is easier (2D/3D game switch)
Lots of available tools (Unity)

• BUILD GAME, NOT TECH!
• Reinventing the wheel is a trap – 75% done easily, rest
super-expensive
#2 - Iterate Small Idea
• “Like <insert AAA title name>, but better!”
• Multi-platform cloud-based MMORPG with social
aspects
#3 - Stay Visible
XNA
Games
Custom game logic

Custom Content

Components

Starter Kits

Extended Framework
Application Model

Content Pipeline

Core Framework
Graphics

Audio

Input

Networking

Math

Storage

Gamer Services

Platform
DirectX

XDK

.NET Framework

.NET CF

• Lots of o-o-b
functionality
• Documentation
• Community content
• VS integration
• Just MS platforms
• Future Support
XNA – Content Pipeline

.X
.FBX

XNA Content Pipeline Flow
Importer

Content
DOM

Processor

Content
Compiler

.XNB

• Lots of o-o-b
functionality
• Documentation
• Community content
• VS integration

.TGA

• Just MS platforms
• Future Support
MoonGate Engine
• Violates previous
tips 
• PC & Xbox360
• Used by students
• X360
optimizations
Firefighters: Whatever It Takes!
• RTS
• IC Entry - NY
• 3rd Place
Worldwide
• Educational
Aspects
Yggdrasil:
The Tree of Life
•
•
•
•

Simulation
Cloud-based
IC Entry - Sydney
6th Place
Worldwide
• Educational
Aspects
Yggdrasil: The Tree of Life
•
•
•
•
•
•
•

Azure
Worker Roles
Compute Roles
Cloud DB
Message Queues
Thin Client
AR
Yggdrasil: The Tree of Life
•
•
•
•
•
•
•

Azure
Worker Roles
Compute Roles
Cloud DB
Message Queues
Thin Client
AR
The Great Wobo Escape
Fast Prototyping
• Quick Pivots
• Test ideas – TuDee,
then develop your tools
(NOT engine first)
• TEST ON PEOPLE!!!
(HCI, video recs,
notes) - they will do
stuff you do not expect!
Unity
•
•
•
•
•
•
•
•

Extendable Editor
Browser & Inspector
Scene Hierarchy
Mecanim
Shuriken
Scripting
Networking
Asset Store
First Iteration of Basic Components

03/2013

07/2013
Current Consumer Mobiles
•
•

What you can reasonably expect to run on current consumer mobiles:
Lightmapped static geometry. But beware of:
•
•
•

•

Animated characters, even with fancy shaders! But beware of:
•

•

Overdraw, or, lots of layers drawn on top of eachother.

Particle effects. But beware of:
•
•

•

Massive crowds or high-poly characters

2D games with sprites. But beware of:
•

•

Using a lot of alpha-test shaders
Bumpmapping, especially using built-in shaders.
High polygon count

High density on large particles. (Lots of particles drawn on top of each other. This is another overdraw situation)
Ridiculous numbers of particles, or particle colliders.

Physics. But beware of:
•
•

Mesh colliders.
Lots of active bodies
Current Consumer Mobiles
• What you CANNOT reasonably expect to run on current
consumer mobiles:
• Fullscreen screen image effects like glow and depth of field.
• Dynamic per-pixel lighting (multiple lights marked Important and
not baked into the lightmap)
• Every affected object is drawn an additional time for every dynamic
light you use, and this gets slow quickly.

• Real time shadows on everything
• Unity 4 offers native support for real time shadows on mobile
platforms, but their use must be very judicious, and likely limited to
higher-end devices.
Tools We Use and Love
•
•
•
•
•

Unity3d
Blender
GIMP
Zbrush
BlackInk

•
•
•
•

TuDee
VS + UnityVS
Serializer
GameAnalytics
Tools We Use and Love
•
•
•
•
•

Unity3d
Blender
GIMP
Zbrush
BlackInk

•
•
•
•

TuDee
VS + UnityVS
Serializer
GameAnalytics
Level Design
•
•
•
•

Idea – Level Beat Chart
TuDee / Excel 
Generated Prototype Scene in Unity
Parallel Testing / Adjustments
– Actors
• State Machines, FSM, experimental FFSM, INDIE RAIN!

– Triggers
Animations
Poor Man’s Motion Capturing

Kinect & PS Eye
Generated Art + Tricks
Generated Art + Tricks
Light Probes
Batching
Rule of thumb: don’t use more then a few hundred draw calls per frame on mobiles or a few thousand
on desktops for current hardware.
Web & Blog
Twitter
Facebook
DeviantArt
IndieDB
Youtube
Steam

www.gamifi.cc
@gamificc
/gamificc
gamificc.deviantart.com
/members/gamificc
is.gd/tgwe_youtube
is.gd/tgwe_steam

Developing applications and games in Unity engine - Matej Jariabka, Rudolf Kajan - gamifi.cc

  • 1.
    Developing applications &games in Unity engine Matej Jariabka co-founder of gamifi.cc
  • 2.
    Introducing gamifi.cc • Indiestudio from Brno, CZ: David Jozefov, Rudolf Kajan, Matej Jariabka, Martin Wilczak • Experience with games for Win, XBOX360, Windows Phone • FireFighters: Whatever It Takes! (world finals of Microsoft Imagine Cup 2011 – 3th place in Game Design category) • Yggdrasil: The Tree of Life (world finals of Microsoft Imagine Cup 2012 – 6th place in Game Design category) • The Great Wobo Escape multiplatform 2.5D action puzzle platformer, in development since 01/2013
  • 3.
    How we discoveredUnity • • • • • We have a game, we don’t have an engine What is a trend, what others use? Platforms! No re-inventing the wheel! Thinking 5+ years in advance
  • 4.
    Why is Unitya clear choice for us • • • • Easy multiplatform development minimizes risks! Easy to use We can create what we need (editor) Minimum training required
  • 5.
    Platforms supported byUnity • Consoles current-gen & next-gen • Mobile • Desktop
  • 6.
  • 7.
    Unity vs Kickstarter1/2 Is Unity popular on Kickstarter? 40% of games in TOP15 Most Funded Video Games use Unity *As of 11/2013
  • 8.
    Unity vs Kickstarter2/2 How much $USD Unity games raised on Kickstarter.com? $16 403 255 6/15 games in TOP15 Most Funded Video Games *As of 11/2013
  • 9.
    How to choosea game engine • • • • • Don’t start to make a game by creating an engine! Know your limits and goals Make choice in line with your business model Choose for a game type - FPS, MMO, Casual Don’t be afraid to invest (a little) – tools, support, licence type, modules, etc.
  • 10.
    Alternatives • CryEngine – Severaloptions for licensing – Visually rich & powerful • Unreal Engine – Flexible for game genres, multiplatform – Free, or 25% from profits over $50k
  • 11.
    Why Unity -PROS • • • • • Unity if free (low/limited price) Multiplatform tool Support and ongoing development of new feature Asset store, plugins Indie standard
  • 12.
    Why Unity -CONS • Unity Pro is not free • Requires skills! (coding) • Will require customization
  • 13.
    Unity for non-developers Prototyping Build Test Deploy •Easily integrate non-developing people into the flow • Less and less complex work for dev team
  • 14.
    Prototyping Quick feedback • Doesit look good? • Is it working as expected? • Does it fit to the concept?
  • 15.
    Test Testing is independenton Dev team 1. In Unity: File -> Build & Run 2. Publish through Unity Web Player, send .apk, .etc. 3. Testing, bug reports, etc.
  • 16.
    Deploy • Publish onStore / Marketplace • Texts • PR & Marketing
  • 17.
    Unity Web Player • • • • Sharea whole game through just one URL Win / Mac OS + any browser is required - universal Unity: File -> Build & Run -> Web Player Dropbox Public directory (copy public link)
  • 18.
    Unity Hardware Statistics •Useful for setting a minimal HW requirements • Simple but free, anonymous stats: OS version, GPU, CPU, memory size, display size, device manufacturer • For Web player, Mobile, Editor • stats.unity3d.com
  • 19.
  • 20.
    Indie Game Development withXNA & Unity Rudolf Kajan co-founder of gamifi.cc
  • 21.
  • 22.
    Smart Multipurpose InteractiveLearning Environment • With visually impaired players in mind • Educational aspects • GarageGames • Torque
  • 23.
    #1 - UseTools! • • • • Time is better used making a polished game Easy to ramp up new people Moving between projects is easier (2D/3D game switch) Lots of available tools (Unity) • BUILD GAME, NOT TECH! • Reinventing the wheel is a trap – 75% done easily, rest super-expensive
  • 24.
    #2 - IterateSmall Idea • “Like <insert AAA title name>, but better!” • Multi-platform cloud-based MMORPG with social aspects #3 - Stay Visible
  • 25.
    XNA Games Custom game logic CustomContent Components Starter Kits Extended Framework Application Model Content Pipeline Core Framework Graphics Audio Input Networking Math Storage Gamer Services Platform DirectX XDK .NET Framework .NET CF • Lots of o-o-b functionality • Documentation • Community content • VS integration • Just MS platforms • Future Support
  • 26.
    XNA – ContentPipeline .X .FBX XNA Content Pipeline Flow Importer Content DOM Processor Content Compiler .XNB • Lots of o-o-b functionality • Documentation • Community content • VS integration .TGA • Just MS platforms • Future Support
  • 27.
    MoonGate Engine • Violatesprevious tips  • PC & Xbox360 • Used by students • X360 optimizations
  • 28.
    Firefighters: Whatever ItTakes! • RTS • IC Entry - NY • 3rd Place Worldwide • Educational Aspects
  • 29.
    Yggdrasil: The Tree ofLife • • • • Simulation Cloud-based IC Entry - Sydney 6th Place Worldwide • Educational Aspects
  • 30.
    Yggdrasil: The Treeof Life • • • • • • • Azure Worker Roles Compute Roles Cloud DB Message Queues Thin Client AR
  • 31.
    Yggdrasil: The Treeof Life • • • • • • • Azure Worker Roles Compute Roles Cloud DB Message Queues Thin Client AR
  • 32.
  • 33.
    Fast Prototyping • QuickPivots • Test ideas – TuDee, then develop your tools (NOT engine first) • TEST ON PEOPLE!!! (HCI, video recs, notes) - they will do stuff you do not expect!
  • 34.
    Unity • • • • • • • • Extendable Editor Browser &Inspector Scene Hierarchy Mecanim Shuriken Scripting Networking Asset Store
  • 35.
    First Iteration ofBasic Components 03/2013 07/2013
  • 36.
    Current Consumer Mobiles • • Whatyou can reasonably expect to run on current consumer mobiles: Lightmapped static geometry. But beware of: • • • • Animated characters, even with fancy shaders! But beware of: • • Overdraw, or, lots of layers drawn on top of eachother. Particle effects. But beware of: • • • Massive crowds or high-poly characters 2D games with sprites. But beware of: • • Using a lot of alpha-test shaders Bumpmapping, especially using built-in shaders. High polygon count High density on large particles. (Lots of particles drawn on top of each other. This is another overdraw situation) Ridiculous numbers of particles, or particle colliders. Physics. But beware of: • • Mesh colliders. Lots of active bodies
  • 37.
    Current Consumer Mobiles •What you CANNOT reasonably expect to run on current consumer mobiles: • Fullscreen screen image effects like glow and depth of field. • Dynamic per-pixel lighting (multiple lights marked Important and not baked into the lightmap) • Every affected object is drawn an additional time for every dynamic light you use, and this gets slow quickly. • Real time shadows on everything • Unity 4 offers native support for real time shadows on mobile platforms, but their use must be very judicious, and likely limited to higher-end devices.
  • 38.
    Tools We Useand Love • • • • • Unity3d Blender GIMP Zbrush BlackInk • • • • TuDee VS + UnityVS Serializer GameAnalytics
  • 39.
    Tools We Useand Love • • • • • Unity3d Blender GIMP Zbrush BlackInk • • • • TuDee VS + UnityVS Serializer GameAnalytics
  • 40.
    Level Design • • • • Idea –Level Beat Chart TuDee / Excel  Generated Prototype Scene in Unity Parallel Testing / Adjustments – Actors • State Machines, FSM, experimental FFSM, INDIE RAIN! – Triggers
  • 41.
  • 42.
    Poor Man’s MotionCapturing Kinect & PS Eye
  • 43.
  • 44.
  • 45.
  • 46.
    Batching Rule of thumb:don’t use more then a few hundred draw calls per frame on mobiles or a few thousand on desktops for current hardware.
  • 47.