Designing Casanova: A Language for Games
Conference paper
Abstract
Games are complex pieces of software which give life to animated virtual worlds. Game developers carefully search the difficult balance between quality and efficiency in their games.
In this paper we present the Casanova language. This language allows the building of games with three important advantages when compared to traditional approaches: simplicity, safety, and performance. We will show how to rewrite an official sample of the XNA framework, resulting in a smaller source and a higher performance.
Keywords
Game Development Rule Function Game State Type Rule Game Engine
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Ampatzoglou, A., Chatzigeorgiou, A.: Evaluation of object-oriented design patterns in game development. Inf. Softw. Technol. 49, 445–454 (2007), http://dl.acm.org/citation.cfm?id=1230152.1230366 CrossRefGoogle Scholar
- 2.Buckland, M.: Programming Game AI by Example. 1 edn. Jones & Bartlett Publishers (September 2004), http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1556220782
- 3.Casanova: Casanova project page, casanova.codeplex.com/
- 4.Elliott, C., Hudak, P.: Functional reactive animation. SIGPLAN Not. 32, 263–273 (1997), http://doi.acm.org/10.1145/258949.258973 CrossRefGoogle Scholar
- 5.ESA: Entertainment software association, http://www.theesa.com
- 6.Folmer, E.: Component Based Game Development – A Solution to Escalating Costs and Expanding Deadlines? In: Schmidt, H.W., Crnković, I., Heineman, G.T., Stafford, J.A. (eds.) CBSE 2007. LNCS, vol. 4608, pp. 66–73. Springer, Heidelberg (2007), http://portal.acm.org/citation.cfm?id=1770657.1770663 CrossRefGoogle Scholar
- 7.Gameobjects: Inheritance vs aggregation in game objects, http://gamearchitect.net/Articles/GameObjects1.html
- 8.Garcia-molina, H., Ullman, J.D., Widom, J.: Database System Implementation (2000)Google Scholar
- 9.Knuth, D.E.: The art of computer programming: Fundamental Algorithms, 3rd edn., vol. 1. Addison Wesley Longman Publishing Co., Inc., Redwood City (1997)MATHGoogle Scholar
- 10.Maggiore, G., Costantini, G.: Friendly F# (fun with game programming). Smashwords (2011)Google Scholar
- 11.Maggiore, G., Orsini, R., Bugliesi, M.: Casanova: a declarative language for safe games. Tech. Rep. 2011-7, Ca’ Foscari - DAIS (2011)Google Scholar
- 12.Moggi, E.: Notions of computation and monads. Information and Computation 93, 55–92 (1989)MathSciNetCrossRefGoogle Scholar
- 13.Wadler, P.: Linear types can change the world! In: Programming Concepts and Methods. North (1990)Google Scholar
- 14.Wadler, P.: Comprehending monads. In: Mathematical Structures in Computer Science, pp. 61–78 (1992)Google Scholar
- 15.White, W., Demers, A., Koch, C., Gehrke, J., Rajagopalan, R.: Scaling games to epic proportions. In: Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data, SIGMOD 2007, pp. 31–42. ACM, New York (2007), http://doi.acm.org/10.1145/1247480.1247486 CrossRefGoogle Scholar
- 16.XBOX: Slow garbage collection on the xbox, http://blogs.msdn.com/b/shawnhar/archive/2007/06/29/how-to-tell-if-your-xbox-garbage-collection-is-too-slow.aspx
- 17.XNA: The xna framework, http://msdn.microsoft.com/xna
- 18.XNA: Xna spacewar 4, http://create.msdn.com/education/catalog/sample/spacewar
Copyright information
© Springer-Verlag Berlin Heidelberg 2012