You are on page 1of 42

Eurographics 2014 – Strasbourg – France

Game  Level  Layout  from  Design  


Specifica8on    
[Eurographics  2014]  

       Chongyang  Ma                Nicholas  Vining  


Sylvain  Lefebvre                      Alla  Sheffer  
Game  level  layouts  
Design  specificaGon  
•  Graph  connecGvity  
Design  specificaGon  
•  Graph  connecGvity  
 
•  Building  blocks  
 
Design  specificaGon  
•  Graph  connecGvity  
 
•  Building  blocks  

•  AddiGonal  constraints  
–  IntersecGon-­‐free  
–  Pairwise  contacts  
–  Boundary  obstacles  
Design  specificaGon  
•  Graph  connecGvity   7
8
8 7

 
6
6

3
0

•  Building  blocks  
2
3
2
1 5

5 4 0
1
4

•  AddiGonal  constraints  
8 7
7

8
0
6
5 6

•  Diverse  outputs   0
3 4
1 3

2 2
5 1
Game  level  layout  synthesis  
15 16
14

9 10
11 12 13

5 6 7 8

2 3
1 4
0

0
3

1 2

9 6
14 5
10
15 11
0
3

6 7 14
12
2 5 11 12
7 15
16 4
16
10

13 4
1 8 8
13
9
Procedural  geometry  modeling  
•  3D  architectural  shapes  
–  [WWSR03,  MWH*06,  MM08,  LCOZ*11]    

•  2D  building  layouts  
–  [PM01,  CEW*08,  VKW*12,  YYW*12]  

✔ Plausibility  and  aestheGcs  


✖ Do  NOT  control  contacts  or  adjacencies  
Procedural  geometry  modeling  
•  Floor  plans  
–  [MS74,  Sha87,  Lig00,  MSK10,  LYAM13,  BYMW13]  

•  VLSI  circuits  
–  [She98]  

✔ Controlled  envelope  
✖ Axis-­‐aligned  elements  only  
Technical  challenges  
•  High-­‐dimensional  
–  Large  number  of  blocks  

•  Mixed  conGnuous-­‐discrete  search  space  


–  ConGnuous:  block  posiGons  
–  Discrete:  node-­‐to-­‐block  associaGons  

Naïve  stochasGc  opGmizaGon  


✖ Low  convergence  rates  
Algorithm  
•  ConfiguraGon  space  

•  Incremental  layout  
–  Graph  decomposiGon  
–  Backtracking  

•  Chain  layout  
–  IteraGve  opGmizaGon  
Algorithm  
•  ConfiguraGon  space  

•  Incremental  layout  
–  Graph  decomposiGon  
–  Backtracking  

•  Chain  layout  
–  IteraGve  opGmizaGon  
ConfiguraGon  space  
•  For  a  pair  of  building  blocks  
•  Enough  contact  area  but  no  intersecGon  
ConfiguraGon  space  
•  For  a  pair  of  building  blocks  
•  Enough  contact  area  but  no  intersecGon  
ConfiguraGon  space  
•  IntersecGon  of  mulGple  config.  spaces  
ConfiguraGon  space  
•  IntersecGon  of  mulGple  config.  spaces  
Algorithm  
•  ConfiguraGon  space  

•  Incremental  layout  
–  Graph  decomposiGon  
–  Backtracking  

•  Chain  layout  
–  IteraGve  opGmizaGon  
Algorithm  
•  ConfiguraGon  space  

•  Incremental  layout  
–  Graph  decomposiGon  
–  Backtracking  

•  Chain  layout  
–  IteraGve  opGmizaGon  
Incremental  layout  
Incremental  layout  
•  Graph  decomposiGon  

(a) Input graph (b) Partial solution 1 (c) Partial solution 2 (d) Full solution 1

(e) Full solution 2 (f ) Full solution 3 (g) Full solution 4


Incremental  layout  
•  Graph  decomposiGon  

(a) Input graph (b) Partial solution 1 (c) Partial solution 2 (d) Full solution 1

(e) Full solution 2 (f ) Full solution 3 (g) Full solution 4


Incremental  layout  
•  Graph  decomposiGon  

(a) Input graph (b) Partial solution 1 (c) Partial solution 2 (d) Full solution 1

(e) Full solution 2 (f ) Full solution 3 (g) Full solution 4


Incremental  layout  
•  Backtracking  

(a) Input
(a) Input
graphgraph (b) A (b)
badApartial
bad partial
layout
layout
input graph bad partial layout
Incremental  layout  
•  Backtracking  
(a) Input graph

(a) Input graph (c) A good partial


(b)
good layout
A bad after
partial
partial backtracking
layout
layout
input graph
after backtracking
Incremental  layout  
•  Backtracking  
(a) Input graph (b) A bad partial layout

(a) layout
(c) A good partial Input graph
after backtracking (d)
(b) Final
A badsolution
partial layout
input graph final solution
Algorithm  
•  ConfiguraGon  space  

•  Incremental  layout  
–  Graph  decomposiGon  
–  Backtracking  

•  Chain  layout  
–  IteraGve  opGmizaGon  
Chain  layout  
•  Energy  formulaGon  
–     A
     :  total  area  of  intersecGon  
–   D
       :  sum  of  squared  distances  of  pairs  should  be  
but  not  in  contact  
Aσ Dσ
E=e ⋅e −1
•  IteraGve  opGmizaGon  
–  Simulated  annealing  
Chain  layout  
Chain  layout  
•  IteraGve  opGmizaGon  

(a) Input graph (b) Initialization (c) Intermediate result 1 (d) Intermediate result 2

(e) Intermediate result 3 (f ) Intermediate result 4 (g) Final output


Results:  different  building  blocks  
Results:  different  building  blocks  
Results:  large  input  graph  
Results:  high-­‐valence  tree  
Results:  mulG-­‐floor  constraints  
Results:  boundary  constraints  
Results:  restricted  door  posiGons  
StaGsGcs  
first  
success   10th  soluGon  
soluGon  
rate   #  of  sol.  
first/10th   Gme   Gme   iter.  #  
avg/med   avg/med   avg/med  
Fig  1   1/0.94   9.8   4.9/2.3   10.9/6.8   51k/33k  

Fig  7,  top   1/1   10   1.1/0.4   1.8/1.2   7k/4k  

Fig  7,  bot   0.94/0.84   9.3   23/18   48/40   229k/187k  

Fig  8   0.98/0.98   10   80/55   94/73   385k/295k  

Fig  9   1/1   10   1.7/0.3   2/0.6   22k/6k  


Conclusion  
•  A  novel  level  layout  synthesis  method  for  
various  design  goals  

•  A  graph-­‐decomposi.on  based  layout  strategy  


for  complex  connecGvity  

•  A  stochasGc  opGmizaGon  algorithm  based  on  


configura.on  space  for  fast  convergence  
Future  work  
•  AddiGonal  design  goals  
–  ProducGon  scenarios    

•  Speedup  
–  More  advanced  stochasGc  search    

•  Increase  output  variability  


–  Allow  block  deformaGon  
Acknowledgements  
•  Anonymous  reviewers  

•  NSERC,  GRAND  NCE  and  ERC  ShapeForge  


(StG-­‐2012-­‐  307877).    
Thank  you!  

You might also like