Advertisement

Designing Casanova: A Language for Games

  • Giuseppe Maggiore
  • Alvise Spanò
  • Renzo Orsini
  • Giulia Costantini
  • Michele Bugliesi
  • Mohamed Abbadi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7168)

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.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    Casanova: Casanova project page, casanova.codeplex.com/
  4. 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. 5.
    ESA: Entertainment software association, http://www.theesa.com
  6. 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. 7.
    Gameobjects: Inheritance vs aggregation in game objects, http://gamearchitect.net/Articles/GameObjects1.html
  8. 8.
    Garcia-molina, H., Ullman, J.D., Widom, J.: Database System Implementation (2000)Google Scholar
  9. 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. 10.
    Maggiore, G., Costantini, G.: Friendly F# (fun with game programming). Smashwords (2011)Google Scholar
  11. 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. 12.
    Moggi, E.: Notions of computation and monads. Information and Computation 93, 55–92 (1989)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Wadler, P.: Linear types can change the world! In: Programming Concepts and Methods. North (1990)Google Scholar
  14. 14.
    Wadler, P.: Comprehending monads. In: Mathematical Structures in Computer Science, pp. 61–78 (1992)Google Scholar
  15. 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. 16.
  17. 17.
    XNA: The xna framework, http://msdn.microsoft.com/xna
  18. 18.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Giuseppe Maggiore
    • 1
  • Alvise Spanò
    • 1
  • Renzo Orsini
    • 1
  • Giulia Costantini
    • 1
  • Michele Bugliesi
    • 1
  • Mohamed Abbadi
    • 1
  1. 1.DAIS - Computer ScienceUniversità Ca’ Foscari VeneziaItaly

Personalised recommendations