Thomas Pétillon
Software developper
Graduated from INSA Rennes engineering school and Université Lyon 2
Specialisations:
- 3D graphics
- video games
- geographic information systems
I like software development, video games, and geography, but not only, as I dabble with pretty much anything nerdy I encounter, including but not limited to linguistics, drawing, music theory and history.
I have worked on:
And more precisely:
- Unity based game development
- Base application framework, sits on top of Unity and provides:
- Dependency injection capabilities
- Event-command pattern
- Scene compositing (declare a scene in a simple struct, at runtime the scene is created, abstracting main data vs scene vs asset bundle, automatically loading and unloading data, code and event definitions)
- Loading transitions
- In-game scripting
- Camera system (many modes, transitions between the modes)
- UI
- Realtime city viewer in Unity
- Fully dynamic data loading
- Composable data visualisation
- Ex.: Scale building heights according to inhabitant count, colour them according to revenue, while displaying a crime heatmap on the ground and colouring roads according to traffic
- Sparse virtual texturing (aka megatextures) system, including associated texture generation and update tools
- Multithreading system (task, continuation and executor based)
- Advanced coroutine manager
- Dynamic line-on-mesh drawing systems (polygon-based and decal-based)
- Custom terrain collision system
- Camera system
- Runs on PC, tablets and web browsers
- WebGL development
- Based on the Cesium 3D globe renderer
- Tiled 3D-building rendering system
- Level of detail support
- Dynamic texturing and palette-based colouring
- Efficient data format
- Format conversion and texturing tools
- Java server development
- Highly concurrent architecture (multiple thousands of simultaneously connected players)
- Binary client-server protocol
- SQL data storage and retrieval (with and without ORMs)
- Build systems — continuous integration
- Using Maven as project defintion tool
- GitLab for continuous build/testing/integration/deployment
- Web stuff
- Node.JS server development
- Client-side JS
- Flash game development
- Some things I used to be quite proud of, but hey, nobody uses Flash anymore!