SlideShare a Scribd company logo
Modern 2D Techniques 
for indie teams with Unity 
Benoit FOULETIER - @benblo42 
Guillaume MARTIN 
Swing Swing Submarine - @swingswingsub 
Unity Day – GameConnection Europe 2014
Swing Swing Submarine 
design code code art sound
Blocks That Matter 
• Mix Mario / Tetris / 
Minecraft 
• XNA on Xbox 
• Java port (!) for PC
Tetrobot and Co. 
• Spiritual sequel to 
Blocks That Matter 
with touch friendly 
controls 
• Pure puzzler 
• Unity 
• PC / Wii U / 
mobile (soon)
Seasons after Fall
So... 2D?
So... 2D?
So... “modern 2D”? 
• Flat objects in a 3D world 
• Perspective rendering 
• Reusable assets 
• In-engine composition 
• Organic design (no grids)
Been There Done That™ 
• UbiArt games* 
• Broken Age 
• Ori and the Blind Forest 
• Vanillaware 
• many others… 
* Benoit worked on 
Rayman Origins 
& Legends
The Asset Store & Elsewhere 
• Uni2D 
• Ferr2D 
• Animation: Spine, SmoothMoves, Puppet2D, ... 
• Paper2D (Unreal Engine 4)
Carpet
Carpet - LD
Carpet - Collider
So how do you make those?
Carpet Geometry 
• Fill mesh: 
triangle decomposition 
(Earclip from Farseer) 
• Outline mesh
Carpet - Fill texture
9-sliced texture
9-sliced texture, 2 tiles
9-sliced texture, inside corners
Double-9-sliced texture, aka The Donut
Double-9-sliced texture, a.k.a The Donut
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Carpet - AssetPostprocessor 
OnPostprocessTexture()
Carpet - AssetPostprocessor 
OnPostprocessTexture()
Ribbon
Ribbon - LD
Ribbon – Texture 
Base Tile 1TileTile 2 
Tip 
== == ==
Ribbon - AssetPostprocessor 
OnPostprocessTexture()
Ribbon - AssetPostprocessor 
OnPostprocessTexture()
Ribbon - AssetPostprocessor 
OnPostprocessTexture()
Ribbon – Geometry
Ribbon – Gettin’ creative… 
2048 
x 
2048 
4096 x 2048
Ribbon – Spiral Edition!
Ribbon – Mushroom Challenge
Putting it together
Bonus: AssetPostprocessor - PSD Plugin 
PSD Plugin 
http://psdplugin.codeplex.com
Bonus: Carpet Components
Animation
Animation 
• Skeletal animation (sprite puppet) 
• Deformable sprites (Bezier patch) 
• Sprite-swap / flipbook body parts 
• Uses Unity animation, Mecanim etc.
Animation – PSD layout
Animation - Spritesheet 
AssetPostprocessor 
AssetPostprocessor with PSD Plugin 
http://psdplugin.codeplex.com
Animation Rig – Skeleton
Animation Rig – Patch Sprite
Rendering
background 2 
background 1 
playground 
foreground 
Rendering: Slices 
• Each slice is blending with the previous ones 
• Overdraw land! 
• Overdraw can be limited with Z prepass
Rendering: Per Slice Effect 
Each slice can: 
• Have its own lights 
• Make some effects (blur, distortion, etc) 
• Have custom ambiant color
Rendering: Lighting & Vector Masks 
• Carpet geometry 
• No texture necessary 
• Fade out with vertex color 
on outline
Rendering: Lighting 
• Front light: simulate diffuse lighting, blend with ambiant color 
• Back light: simulate fresnel lighting, reveals details 
+ = 
Front light Back light Combine
Rendering passed for 1 slice: 
• Light pass: 
render back (a) and front (b) 
light buffers (~G-Buffers) 
• Objects pass: 
while rendering objects, compute 
back mask (c) and front pixel color (d). 
Access light buffers to know pixel lighting (e) 
• Post slice effect can occurs (blur, distortion) 
Repeat the process for all slices 
(e) 
Rendering: Lighting 
(a) 
(c) 
x 
(b) 
(d) 
x 
+
Rendering: Lighting 
(a) 
(c) 
x
(b) 
(d) 
x 
Rendering: Lighting
Rendering: Lighting 
+ 
(a) x (c) 
(b) x (d)
Rendering: Post Process 
• Post Process consists mainly of Bloom (HDR on) 
• Color remap is somthing we will certainly use
Rendering: Lighting, Pros and Cons 
Pros: 
• Scalable (unlimited number of 
lights) 
• High blending control 
• Reuse carpet 
• Don’t need precise shapes 
• Sprites can be used if precision 
needed
Rendering: Lighting, Pros and Cons 
Pros: 
• Scalable (unlimited number of 
lights) 
• High blending control 
• Reuse carpet 
• Don’t need precise shapes 
• Sprites can be used if precision 
needed 
• Slices decomposition make 
scene edition very clear 
Cons: 
• Need « back mask » (we don’t 
have normals) 
• Hard to make volumetric lights 
(will require extra buffers) 
• Lights have no orientation (will 
require extra buffers) 
• Slices decomposition have 
some limitation (a light or 
effect will at least affect the 
whole slice)
Rendering: Sorting 
Using Order in Layer: 
• Maintain a list of RenderItems (a RenderItem linked to each Renderer) 
Most significant bit Least significant bit 
• Sort the list based on a custom sorting weight: 
• Inject the index in the list in Order In Layer before rendering 
Front light 
Z position « sub object order » Hash based on Renderer
Rendering: Implementation & impovements 
Current implementation based on: 
• Renderer.sortingOrder 
• GameObject.layer 
• Camera.clearFlags 
Camera.targetTexture 
Camera.cullingMask 
Camera.Render 
Front light 
Improvements: 
• CommandBuffer (Unity5)? 
Will allow a better control on 
rendering sequence… 
… but we will have to 
reimplement things (culling) 
… and stuff in SceneView will be 
broken (picking)
Scene Editing
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Questions? 
Benoit FOULETIER - @benblo42 
Guillaume MARTIN 
Swing Swing Submarine - @swingswingsub 
Unity Day – GameConnection Europe 2014

More Related Content

PDF
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
Unite2017Tokyo
 
PDF
3DS Max - Presentation
Paul Justine Dones
 
PPTX
Game Engine for Serious Games
Kashif Shamaun
 
PPT
Modeling and texturing in 3 ds max
sribalaji0007
 
PDF
Game Engine Architecture
Attila Jenei
 
PDF
LarsDu_Final
Lawrence Du, Ph.D.
 
PPTX
3Ds MAX & INTRODUCTION TO ANIMATION IN AUTODESK 3Ds MAX
Abhiram Chakravadhanula
 
PDF
Design your 3d game engine
Daosheng Mu
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
Unite2017Tokyo
 
3DS Max - Presentation
Paul Justine Dones
 
Game Engine for Serious Games
Kashif Shamaun
 
Modeling and texturing in 3 ds max
sribalaji0007
 
Game Engine Architecture
Attila Jenei
 
LarsDu_Final
Lawrence Du, Ph.D.
 
3Ds MAX & INTRODUCTION TO ANIMATION IN AUTODESK 3Ds MAX
Abhiram Chakravadhanula
 
Design your 3d game engine
Daosheng Mu
 

What's hot (15)

PDF
3D Game development using Blender and Java
Elaspix
 
PDF
「原神」におけるコンソールプラットフォーム開発
Unity Technologies Japan K.K.
 
PPT
Intro to auto_desk_maya2015
Naveed Ahmed Hulio
 
PPT
Max2015 ch13
Tracie King
 
PDF
Animation introduction
G. Udhaya Sankar
 
PDF
Animation Title card making
G. Udhaya Sankar
 
PDF
Uncharted3 effect technique
MinGeun Park
 
PDF
DeepPixelMonster_super_final
Lawrence Du, Ph.D.
 
PDF
Lawrence Du Seattle Final
Lawrence Du, Ph.D.
 
PDF
Optimizing Unity games for mobile devices
Bruno Cicanci
 
PPTX
Application of 3d max for 3d development and rendering and its merits
Bismi S
 
TXT
Variables
Erik Hermawan
 
PDF
Authoring of procedural rocks in The Blacksmith realtime short
Vesselin Efremov
 
PDF
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
Unite2017Tokyo
 
3D Game development using Blender and Java
Elaspix
 
「原神」におけるコンソールプラットフォーム開発
Unity Technologies Japan K.K.
 
Intro to auto_desk_maya2015
Naveed Ahmed Hulio
 
Max2015 ch13
Tracie King
 
Animation introduction
G. Udhaya Sankar
 
Animation Title card making
G. Udhaya Sankar
 
Uncharted3 effect technique
MinGeun Park
 
DeepPixelMonster_super_final
Lawrence Du, Ph.D.
 
Lawrence Du Seattle Final
Lawrence Du, Ph.D.
 
Optimizing Unity games for mobile devices
Bruno Cicanci
 
Application of 3d max for 3d development and rendering and its merits
Bismi S
 
Variables
Erik Hermawan
 
Authoring of procedural rocks in The Blacksmith realtime short
Vesselin Efremov
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
Unite2017Tokyo
 
Ad

Viewers also liked (7)

PDF
[Habli] tds agustus
Agate Studio
 
PDF
[UniteKorea2013] The Unity Rendering Pipeline
William Hugo Yang
 
PDF
Unity L01 - Game Development
Mohammad Shaker
 
PDF
[DevDay 2016] Build your next awesome game with Unity - Speaker: Trung Ngo –...
DevDay Da Nang
 
PPTX
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Codemotion
 
PDF
Game Design Tools: For When Spreadsheets and Flowcharts Aren't Enough
Katharine Neil
 
PDF
How to Become a Thought Leader in Your Niche
Leslie Samuel
 
[Habli] tds agustus
Agate Studio
 
[UniteKorea2013] The Unity Rendering Pipeline
William Hugo Yang
 
Unity L01 - Game Development
Mohammad Shaker
 
[DevDay 2016] Build your next awesome game with Unity - Speaker: Trung Ngo –...
DevDay Da Nang
 
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Codemotion
 
Game Design Tools: For When Spreadsheets and Flowcharts Aren't Enough
Katharine Neil
 
How to Become a Thought Leader in Your Niche
Leslie Samuel
 
Ad

Similar to Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014 (20)

PPTX
Making a game with Molehill: Zombie Tycoon
Jean-Philippe Doiron
 
KEY
Canvas: we must go deeper
ardcore
 
PDF
Cocos2d programming
Changwon National University
 
PDF
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Jarosław Pleskot
 
PDF
Graphicsand animations devoxx2010 (1)
Marakana Inc.
 
PPTX
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Daosheng Mu
 
PPTX
Polybot Onboarding Process
Nina Park
 
PPTX
4,000 Adams at 90 Frames Per Second | Yi Fei Boon
Jessica Tams
 
PPT
Overview of graphics systems
Jay Nagar
 
PDF
GameProgramming for college students DMAD
ChristinaTrinidad
 
PPT
The Unusual Rendering Pipeline of Sigils - Battle for Raios
Dietmar Hauser
 
PPT
Overview of graphics systems.ppt
MalleshBettadapura1
 
PDF
[HTML5 BUG] 2,5D RTS Game in HTML5 by Dawid Lijewski
BeMyApp
 
PDF
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
Unity Technologies Japan K.K.
 
PPT
XNAPresentation
Reuben Ahmed
 
PDF
Unity
Khaled Ismail
 
PPTX
3Ds Max presentation
Nader Soubra
 
PDF
Cocos2d game programming 2
Changwon National University
 
PDF
The Next Generation of PhyreEngine
Slide_N
 
PDF
Deferred shading
ozlael ozlael
 
Making a game with Molehill: Zombie Tycoon
Jean-Philippe Doiron
 
Canvas: we must go deeper
ardcore
 
Cocos2d programming
Changwon National University
 
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Jarosław Pleskot
 
Graphicsand animations devoxx2010 (1)
Marakana Inc.
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Daosheng Mu
 
Polybot Onboarding Process
Nina Park
 
4,000 Adams at 90 Frames Per Second | Yi Fei Boon
Jessica Tams
 
Overview of graphics systems
Jay Nagar
 
GameProgramming for college students DMAD
ChristinaTrinidad
 
The Unusual Rendering Pipeline of Sigils - Battle for Raios
Dietmar Hauser
 
Overview of graphics systems.ppt
MalleshBettadapura1
 
[HTML5 BUG] 2,5D RTS Game in HTML5 by Dawid Lijewski
BeMyApp
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
Unity Technologies Japan K.K.
 
XNAPresentation
Reuben Ahmed
 
3Ds Max presentation
Nader Soubra
 
Cocos2d game programming 2
Changwon National University
 
The Next Generation of PhyreEngine
Slide_N
 
Deferred shading
ozlael ozlael
 

More from Mary Chan (20)

PDF
Session - Debugging memory stomps and other atrocities - Stefan Reinalter - T...
Mary Chan
 
PPT
Jb ferder mc-10 steps to enhance the quality of your character art in zbrush-...
Mary Chan
 
PPTX
Amigues marie aaa_loc-gce2014
Mary Chan
 
PPTX
Amigues Marie-Laurence - Localizing on a shoestring GCE2014
Mary Chan
 
PPTX
Eugene Youn Let’s Go Whale Hunting: Discover the TRUE Value of your Players -...
Mary Chan
 
PPTX
Etienne Belmar Affiliate fraud in Browser and Mobile gce2014
Mary Chan
 
PPTX
Moving to virtual reality chet faliszek
Mary Chan
 
PDF
Engage and keep your community alive best practises and keys to success - s...
Mary Chan
 
PPTX
Go big or go home jillian mood
Mary Chan
 
PPTX
The toolbox approach to f2 p design nicholas lovell
Mary Chan
 
PPTX
Session rahim attaba - wargaming europe sas
Mary Chan
 
PPTX
Connect to the consumer john clark
Mary Chan
 
PPTX
Organizational structure how to build an effective free to-play studio- andre...
Mary Chan
 
PPTX
What interior design teaches us about environment art dan cox
Mary Chan
 
PPTX
Staying competitive when your brand new thing becomes the same old thing s...
Mary Chan
 
PPTX
Lessons from the community building an open development dna jeff spock
Mary Chan
 
PPTX
Only in battlefield” how user generated video took center stage in the battle...
Mary Chan
 
PPTX
Playing with chance good luck marc pestka
Mary Chan
 
PPTX
Mixing for games levels and more... jocelyn daoust
Mary Chan
 
PPTX
The future of game ai stephane bura
Mary Chan
 
Session - Debugging memory stomps and other atrocities - Stefan Reinalter - T...
Mary Chan
 
Jb ferder mc-10 steps to enhance the quality of your character art in zbrush-...
Mary Chan
 
Amigues marie aaa_loc-gce2014
Mary Chan
 
Amigues Marie-Laurence - Localizing on a shoestring GCE2014
Mary Chan
 
Eugene Youn Let’s Go Whale Hunting: Discover the TRUE Value of your Players -...
Mary Chan
 
Etienne Belmar Affiliate fraud in Browser and Mobile gce2014
Mary Chan
 
Moving to virtual reality chet faliszek
Mary Chan
 
Engage and keep your community alive best practises and keys to success - s...
Mary Chan
 
Go big or go home jillian mood
Mary Chan
 
The toolbox approach to f2 p design nicholas lovell
Mary Chan
 
Session rahim attaba - wargaming europe sas
Mary Chan
 
Connect to the consumer john clark
Mary Chan
 
Organizational structure how to build an effective free to-play studio- andre...
Mary Chan
 
What interior design teaches us about environment art dan cox
Mary Chan
 
Staying competitive when your brand new thing becomes the same old thing s...
Mary Chan
 
Lessons from the community building an open development dna jeff spock
Mary Chan
 
Only in battlefield” how user generated video took center stage in the battle...
Mary Chan
 
Playing with chance good luck marc pestka
Mary Chan
 
Mixing for games levels and more... jocelyn daoust
Mary Chan
 
The future of game ai stephane bura
Mary Chan
 

Recently uploaded (20)

PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
The Future of Artificial Intelligence (AI)
Mukul
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 

Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014

Editor's Notes

  • #7: Shovel Knight, by Yacht Club Games
  • #8: Donkey Kong Country: Tropical Freeze, by Retro Studios
  • #9: Perspective + flat objects, lush textures
  • #13: vidéo de création d’une carpet
  • #14: vidéo de collision
  • #21: This debug texture here is a little weird because there’s no alpha; usually the inside borders are supposed to fade out to blend with the filling texture.
  • #27: vidéo de création d’un arbre
  • #28: vidéo de collision
  • #37: vidéo “produit fini”: montrer qu’on peut avoir des kilomètres de LD avec quelques assets