Queue - Computer Architecture
Game portability using a service-oriented approach
International Journal of Computer Games Technology - Joint International Conference on Cyber Games and Interactive Entertainment 2006
Algebra of Programming Using Dependent Types
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Communications of the ACM - Security in the Browser
Stretching transactional memory
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Sharing classes between families
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Algebra of programming in agda: Dependent types for relational program derivation
Journal of Functional Programming
Smart composition of game objects using dependency injection
Computers in Entertainment (CIE) - SPECIAL ISSUE: Games
An evaluation of checkpoint recovery for massively multiplayer online games
Proceedings of the VLDB Endowment
Parallelizing a real-time physics engine using transactional memory
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part II
Explicit domain modelling in video games
Proceedings of the 6th International Conference on Foundations of Digital Games
Hi-index | 0.00 |
Game developers have long been early adopters of new technologies. This is so because we are largely unburdened by legacy code: With each new hardware generation, we are free to rethink our software assumptions and develop new products using new tools and even new programming languages. As a result, games are fertile ground for applying academic advances in these areas.And never has our industry been in need of such advances as it is now! The scale and scope of game development has increased more than ten-fold over the past ten years, yet the underlying limitations of the mainstream C/C++/Java/C# language family remain largely unaddressed.The talk begins with a high-level presentation of the game developer's world: the kinds of algorithms we employ on modern CPUs and GPUs, the difficulties of componentization and concurrency, and the challenges of writing very complex software with real-time performance requirements.The talk then outlines the ways that future programming languages could help us write better code, providing examples derived from experience writing games and software frameworks that support games. The major areas covered are abstraction facilities -- how we can use them to develop more extensible frameworks and components; practical opportunities for employing stronger typing to reduce run-time failures; and the need for pervasive concurrency support, both implicit and explicit, to effectively exploit the several forms of parallelism present in games and graphics.