Unite 2012 Amsterdam.
Silicon Jelly presents Click and Gun.
http://www.clickandgun.com
Workflow process and optimization techniques.
Jaroslav Stehlik and Jakub kucera.
3. Czech Indie game studio from Prague
www.siliconjelly.com facebook.com/siliconjelly
4. Czech Indie game studio from Prague
working on 3 game titles parallel
www.siliconjelly.com facebook.com/siliconjelly
5. Czech Indie game studio from Prague
working on 3 game titles parallel
today, we want present Click and Gun
www.siliconjelly.com facebook.com/siliconjelly
8. Click and Gun / iOS universal
action “tower defense” game
9. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
10. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
unique visual style
11. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
unique visual style
22 different enemies
12. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
unique visual style
22 different enemies
8 hand-drawn locations
13. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
unique visual style
22 different enemies
8 hand-drawn locations
boss fights
14. Click and Gun / iOS universal
action “tower defense” game
2D / 3D visual representation
unique visual style
22 different enemies
8 hand-drawn locations
boss fights
1 Binary for 3Gs, iPad also iPad Retina
20. Talk about...
fast development in small team
rapid asset creation
artwork conversion to 3D
static and dynamic batching
lighting workflow - baking lights
21. Talk about...
fast development in small team
rapid asset creation
artwork conversion to 3D
static and dynamic batching
lighting workflow - baking lights
day / night light probes for moving objects
22. Talk about...
fast development in small team
rapid asset creation
artwork conversion to 3D
static and dynamic batching
lighting workflow - baking lights
day / night light probes for moving objects
GFX optimization tip & tricks
24. Small team / members
started with just 3 members
25. Small team / members
started with just 3 members
developer - Jaroslav Stehlík @JaroslavStehlik
26. Small team / members
started with just 3 members
developer - Jaroslav Stehlík @JaroslavStehlik
illustrator - Jakub Kučera @Jakub_Kucera
27. Small team / members
started with just 3 members
developer - Jaroslav Stehlík @JaroslavStehlik
illustrator - Jakub Kučera @Jakub_Kucera
illustrator - Matěj Moravec
28. Small team / members
started with just 3 members
developer - Jaroslav Stehlík @JaroslavStehlik
illustrator - Jakub Kučera @Jakub_Kucera
illustrator - Matěj Moravec
audio - Sype Studios
29. Small team / members
started with just 3 members
developer - Jaroslav Stehlík @JaroslavStehlik
illustrator - Jakub Kučera @Jakub_Kucera
illustrator - Matěj Moravec
audio - Sype Studios
grown to 7 members + 2 externes
31. Small team / plan everything
plan everything from scratch
32. Small team / plan everything
plan everything from scratch
prototype
33. Small team / plan everything
plan everything from scratch
prototype
test game mechanics
34. Small team / plan everything
plan everything from scratch
prototype
test game mechanics
benchmark visuals
35. Small team / plan everything
plan everything from scratch
prototype
test game mechanics
benchmark visuals
do this before creating any content and
36. Small team / plan everything
plan everything from scratch
prototype
test game mechanics
benchmark visuals
do this before creating any content and
you will reduce the amount of time spent
finding right solutions during actual
development
56. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
57. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
1x 1k PVRTC 4bit for crisp ground
58. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
1x 1k PVRTC 4bit for crisp ground
2x FBX with baked vertex lighting “day/night”
59. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
1x 1k PVRTC 4bit for crisp ground
2x FBX with baked vertex lighting “day/night”
1x 16bit 512x512 for HUD
60. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
1x 1k PVRTC 4bit for crisp ground
2x FBX with baked vertex lighting “day/night”
1x 16bit 512x512 for HUD
1x 512 PVRTC 2bit for main character
61. Static & dynamic batching
entire level is packed in 2 atlases
1x 2k PVRTC 4bit for buildings and props
1x 1k PVRTC 4bit for crisp ground
2x FBX with baked vertex lighting “day/night”
1x 16bit 512x512 for HUD
1x 512 PVRTC 2bit for main character
with all face animations
66. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
67. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
68. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
69. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
70. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
fake lights, even if the scene is fully painted
71. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
fake lights, even if the scene is fully painted
use light probes for moving objects
72. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
fake lights, even if the scene is fully painted
use light probes for moving objects
we haven’t used lightmaps, just vertex colors
73. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
fake lights, even if the scene is fully painted
use light probes for moving objects
we haven’t used lightmaps, just vertex colors
and LightProbes
74. Lighting workflow - baking
don’t use dynamic lights if possible! “Unity 3.5”
precompute, fake everything
“Beast” doesn’t support baking vertex colors :(
use any 3D kit that supports vertex colors
fake lights, even if the scene is fully painted
use light probes for moving objects
we haven’t used lightmaps, just vertex colors
and LightProbes
cheap in terms of file size and memory footprint
78. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
79. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
80. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
pros: fast and cheap solution
81. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
pros: fast and cheap solution
cons: no light interpolation between these states
82. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
pros: fast and cheap solution
cons: no light interpolation between these states
use screen transition, such as fade etc..
83. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
pros: fast and cheap solution
cons: no light interpolation between these states
use screen transition, such as fade etc..
while switching static geometry you need to
84. Day/Night light probes
create as many light setups for your scene
as you need
in our case for day and night light cycle
easy to change light probes data at runtime
pros: fast and cheap solution
cons: no light interpolation between these states
use screen transition, such as fade etc..
while switching static geometry you need to
apply static batcher at runtime.
90. Texture compression trick
compression of smooth gradients can be tricky
can yield bad artifacts on details
the solution: Dithering
apply light noise in Photoshop
91. Texture compression trick
compression of smooth gradients can be tricky
can yield bad artifacts on details
the solution: Dithering
apply light noise in Photoshop
produces smooth gradients and nice details
92. Texture compression trick
compression of smooth gradients can be tricky
can yield bad artifacts on details
the solution: Dithering
apply light noise in Photoshop
produces smooth gradients and nice details
better results, same file size
101. Avoid alpha blending if possible
transparent objects are quite heavy on iOS
shrink size of your transparent areas as possible
102. Avoid alpha blending if possible
transparent objects are quite heavy on iOS
shrink size of your transparent areas as possible
hard edged objects can be solved with geometry
103. Avoid alpha blending if possible
transparent objects are quite heavy on iOS
shrink size of your transparent areas as possible
hard edged objects can be solved with geometry
PowerVR is best in pushing thousands of vertexes
but slow when it comes to alpha blending