Una inside-view sulla tecnologia dietro la serie "SBK Official Mobile Game", che conta più di 10 milioni di downloads tra iOS, Android e Windows Phone.
2. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
SBK Official Mobile Game
- Due titoli: SBK14 e SBK15
- Tre piattaforme:
iOS, Android, Windows Phone
- Più di 10 Milioni di downloads
- 99.9% scritto in C++
3. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Lo sviluppo di SBK14
Correva l'anno 2013: L'iPhone 5 era appena uscito!
Il nostro target era però MOLTO più basso...
Vi ricordate questi?
SBK14 gira anche su iPhone 3GS e iPod Touch 4G
4. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Partenza: il glorioso Ducati Challenge (2011)
7. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Rendering della pista
Ambient Occlusion e Lightmap generate usando immagini
HDR (Image-Based Lighting)
8. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Oltre a materiale ufficiale fornito dai circuiti (molto spesso quasi inutile...)
Abbiamo usato Streetview e giri di pista su Youtube.
SBK14 (early alpha) vs Real Life
12. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Ottimizzazioni
- Circa 60-70.000 poligoni a
schermo
- Texture atlas e batch
geometria per materiale
- <100 drawcall in media
13. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
I modelli dei piloti usano 4 diverse mesh che cambiano in
base alla distanza dalla camera (LOD).
Lo skinning delle animazioni viene fatto su GPU.
15. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
- Meno precisi ma...
- Molto performanti!
(meno memoria video,
un solo texture read)
I riflessi sulle moto usano delle spheremaps invece
delle classiche cubemaps.
16. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Blob shadows
Su iPhone 4 e iPad 2 non c'erano tante alternative per le
ombre su mobile...
Hard-Edge Shadows
17. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
In base
all'orientamento della
moto rispetto al sole
vengono presi e
“pesati” tra loro due
frame, in modo da
evitare scatti.
Viene anche usata una
“blob shadow” per
simulare ulteriore
occlusion.
SBK usa dei buffer con ombre precalcolate a varie
inclinazioni. Il buffer viene poi usato come LUT:
18. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Questa tecnica ci ha permesso ombre ad una buona
qualità sempre attive su tutte le moto!
19. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
FatCat: engine cross platform per mobile e PC
20. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Diviso in tanti comodi moduli...
...troppi?
22. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
- Classi astratte o di alto livello dentro la
libreria “core”
- Implementazione DirectX e OpenGL su PC
(due moduli diversi, è possibile scegliere
quale renderer usare all'avvio)
- OpenGL ES su iOS e Android
- DirectX 11 su Windows Phone 8.1 e 10
Esempio: Modulo “Renderer”
24. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Implementazione DirectX tramite ID3D11Buffer
25. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Implementazione OpenGL ES tramite VBO e VAO
26. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Implementare le feature richieste da Microsoft
sarebbe stato molto problematico con Unity:
SDK Windows 10, Live Tiles, Universal App ma
specialmente supporto ai device con 512mb di
ram con stessa qualità e performance degli altri.
SBK15, lancio esclusivo Windows Phone
27. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
Se iniziate da zero...
la risposta probabilmente è no!
Ha ancora senso oggi sviluppare la propria
tech su mobile?
28. MILAN 20/21.11.2015 - SPEAKER’S NAMEGIUSEPPE NAVARRIA
- Tony Cairoli Challenge
- SBK Gear-VR
(Disponibili in questi giorni le demo
giocabili ad EICMA)
- SBK16
- Bookbound Brigade (console e PC)
Il futuro di “FatCat”?