Abstract
In many Real-Time Strategy (RTS) games, players develop an army in real time, then attempt to take out one or more opponents. Despite the existence of basic similarities among the many different RTS games, engines of these games are often built ad hoc, and code re-use among different titles is minimal. We created a design pattern called “Resource Entity Action” (REA) abstracting the basic interactions that entities have with each other in most RTS games. The paper discusses the REA pattern and its language abstraction. We also discuss the implementation in the Casanova game programming language. Our analysis shows that the pattern forms a solid basis for a playable RTS game, and that it achieves considerable gains in terms of lines of code and runtime efficiency. We conclude that the REA pattern is a suitable approach to the implementation of many RTS games.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aldrich, C.: The Complete Guide to Simulations and Serious Games: How the Most Valuable Content Will Be Created in the Age Beyond Gutenberg to Google. Pfeiffer & Co., San Francisco (2009)
Andersen, E., Liu, Y.-E., Snider, R., Szeto, R., Popović, Z.: Placing a value on aesthetics in online casual games. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’11, pp. 1275–1278, New York, NY, USA. ACM (2011)
Buro, M.: Real-time strategy games: a new AI research challenge. In: Proceedings of the 18th International Joint Conference on Artificial Intelligence, pp. 1534–1535. Morgan Kaufmann Publishers Inc. (2003)
Buro, M., Furtak, T.: On the development of a free rts game engine. In: GameOn-NA 2005 Conference, pp. 23–27. Montreal (2005)
Gamma, E., Helm, R., Johnson, R., John, V.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Gril, J.: The state of indie gaming, vol. 4 (2008). http://www.gamasutra.com/view/feature/132041/the_state_of_indie_gaming.php?print=1
Kristiansson, J.: Interview starbreeze studios johan kristiansson, vol. 5 (2009). http://www.develop-online.net/features/478/Interview-Starbreeze-Studios-Johan-Kristiansson
Maggiore, G., Spanò, A., Orsini, R., Bugliesi, M., Abbadi, M., Steffinlongo, E.: A formal specification for casanova, a language for computer games. In: Proceedings of the 4th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, EICS ’12, pp. 287–292, New York, NY, USA. ACM (2012)
Michael, D.: Indie Game Development Survival Guide (Charles River Media Game Development). Charles River Media, Hingham (2003)
ESA Report: Essential Facts About the Computer and Video Game Industry (2011)
Syme, D.: Leveraging.NET meta-programming components from F#: integrated queries and interoperable heterogeneous execution. In: Proceedings of the 2006 Workshop on ML, pp. 43–54. ACM (2006)
von Bültzingsloewen, G.: Translating and optimizing sql queries having aggregates. In: Proceedings of 13th International Conference on VLDB, pp. 235–243 (1987)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Abbadi, M., Di Giacomo, F., Orsini, R., Plaat, A., Spronck, P., Maggiore, G. (2014). Resource Entity Action: A Generalized Design Pattern for RTS Games. In: van den Herik, H., Iida, H., Plaat, A. (eds) Computers and Games. CG 2013. Lecture Notes in Computer Science(), vol 8427. Springer, Cham. https://doi.org/10.1007/978-3-319-09165-5_21
Download citation
DOI: https://doi.org/10.1007/978-3-319-09165-5_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09164-8
Online ISBN: 978-3-319-09165-5
eBook Packages: Computer ScienceComputer Science (R0)