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

47
Matej Jariabka co-founder of gamifi.cc Developing applications & games in Unity engine

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

Matej Jariabka

co-founder of gamifi.cc

Developing applications & games

in Unity engine

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

Is Unity popular on Kickstarter?

40% of games in TOP15 Most Funded Video Games use Unity *As of 11/2013

Unity vs Kickstarter 1/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

Unity vs Kickstarter 2/2

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

• Easily integrate non-developing people into the flow

• Less and less complex work for dev team

Prototyping Build Test Deploy

Quick feedback

• Does it look good?

• Is it working as expected?

• Does it fit to the concept?

Prototyping

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.

Test

• Publish on Store / Marketplace

• Texts

• PR & Marketing

Deploy

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

Rudolf Kajan

co-founder of gamifi.cc

Indie Game Development

with XNA & Unity

2008

2009

2010

2011

2012

2013

MoonGate

Engine

Firefighters

Yggdrasil

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

• Lots of o-o-b functionality

• Documentation

• Community content

• VS integration

• Just MS platforms

• Future Support

Core Framework

Graphics Audio Input Math Storage

Extended Framework

Application Model Content Pipeline

Games

Starter Kits Custom game logic Custom Content Components

Platform

DirectX XDK .NET Framework .NET CF

Networking Gamer Services

XNA – Content Pipeline

.X

.TGA

Content

DOM Importer .FBX Processor

Content

Compiler .XNB

XNA Content Pipeline Flow

• Lots of o-o-b

functionality

• Documentation

• Community content

• VS integration

• 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: • Using a lot of alpha-test shaders

• Bumpmapping, especially using built-in shaders.

• High polygon count

• Animated characters, even with fancy shaders! But beware of: • Massive crowds or high-poly characters

• 2D games with sprites. But beware of: • Overdraw, or, lots of layers drawn on top of eachother.

• Particle effects. But beware of: • 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 www.gamifi.cc

Twitter @gamificc

Facebook /gamificc

DeviantArt gamificc.deviantart.com

IndieDB /members/gamificc

Youtube is.gd/tgwe_youtube

Steam is.gd/tgwe_steam