Europython 2006 – Games and Entertainment LLG Python

➢Weak floating point capabilities. ➢Networked ... Arithmetics of Forms - Joining topology, arithmetics and ... ➢Unifying Topology, Arithmetic and lambda calculus.
2MB taille 3 téléchargements 38 vues
Europython 2006 – Games and Entertainment LLG Python – Geometric Computing in Python for Next Generation Games M. Jé Jérémie Farret – CTO – [email protected] Dr JeanJean-Fran Franç çois Rotg Rotgé é – CSO – jean [email protected] July 2006 LLG/EUP/JFA/2006-003 rev 1.0

LLG Python Geometric Computing in Python for New Generation Gaming • New questions in terms of architecture, design and development. Parallel processing hardware Storage capabilities Online gaming Mobile devices

• Proposing original, Python based solutions Unifying volumic data representation and processing for real time applications

• Client side

Newcoming Challenges Parallel Processing and Multicore Hardware

Multicore everywhere! • High-end GPU • Mainstream CPU • NextGen Gaming Consoles

Long lost expertise… • Rough implementation problems • The difficulty to port some applications

As many problems as there are applications • Physics, geometry (AI), graphics… • The interoperability problem

• Server side

Newcoming Challenges Parallel Processing and Multicore Hardware

Once upon a time… • Precalculated sequences • Preprocessing

A shift towards real time © MMOGCHARTS.COM

• Massively Multiplayer Online Games • Hyperlarge / Hypercomplex scenes • Dual applications, Defence and Civil

June 2006 - Past 13 million registered users

• Client side

Newcoming Challenges Storage Capabilities

From cartridges and floppies to DVDs and Blu-rays and on… Ever expanding costs • Difficulty to rationalize production risks • A shift towards episode based sequels (Half Life 2 and others)

How to create such an amount of content? • Video is not enough • GTA 3 fits 17 square miles (44 km2) on a single DVD • Tomorrow, design and produce up to 500 km2 on Blu-ray?

Up to 50 gigabytes of data in early 2007

Newcoming Challenges Online Gaming

• Server side User Modifications • Maps, graphics etc…

The MMOG problematics :

Collaborative content Second Life

• Collaborative environments • Maintenance problems : How to patch your greens? World of Warcraft (Almost) Weekly Patches

• Through the looking glass

Reduced memory Reduced CPU power Weak floating point capabilities Networked devices

• A difficult equation

Heterogeneous offer How to make the best of capabilities and overcome limitations? Market still very much unstable

Newcoming Challenges Mobile Gaming

Where do we come from

• Montreal University – 1991 to 1995 Desargues Project • Arithmetics of Forms - Joining topology, arithmetics and lambda calculus • Implementation based on functional programming Scheme • Parallel Computing – Developments on Archipel Transputer Systems

Thesis • Dr J. F. Rotgé - “L’Arithmétique des Formes - Une introduction à la logique de l’espace” – July 1997

Where do we come from

• Arithmetic of Forms Unifying Topology, Arithmetic and lambda calculus

• Projective Geometry and Unconditional Programming Introducing a superset of Euclidian and other conventional geometric systems Eliminating geometric special cases, i.e. testing and conditions Generalizing homogenous coordinates : Integer based, No loss of precision

Where do we come from

• SGDL Systems – 1995 to 2005 Applying research results and Arithmetics of Forms to industrial applications Focus on Applications / Proofs of concept for hyperlarge scenes Scheme based implementation for mainstream systems

Who we are

• Parallel Geometry – 2006 Focus on High Performance Computing and Hypercomplex Simulation Applications • Systems Architecture • Software Optimization

Python based implementation targeted at various hardware environments • Supercomputing • Parallel Systems and Multicore Architecture • Embedded Systems

LLG Python Environment From Polygons to Polynomials Polynomials Polynomials

Implicit Implicit Surfaces Surfaces Polyhedrons Polyhedrons Parametric Parametric Surfaces Surfaces Subdivision Subdivision Surfaces Surfaces

Polygons Polygons

LLG Python Environment From Polygons to Polynomials

Geometry

Graphics Polynomial

Physics Computing Systems

LLG Python Environment Content Creation LLG Python Client environment

Conversion Tools Web Based Editor Visualization / Results Display

Versioning System

Medusa Web Based Authoring Environment

LLG Python server environment Atlantis Optimization Processing

Spongia Physics

Unda Rendering

Chiroptera / Orca Navigation

Parallel Computing Environment

Applications Hyperlarge / Hypercomplex environments

60th D-Day celebration Mulberry Harbor

Applications Physics Simulation

LLG LLGPython Python SMP2 Simulation System Training and haptics

International Space Station data

• Parallel access and computing • Physics simulation / Collision detection Polygonal data Embedded Rendering System

Robotic data

Panoscope System 360o Immersive Visualization

Applications Non Determinist Gaming

Schuiten & Peeters – La chambre des Mystères Angoulêmes Comics Festival