Advertisement

Tight Integration of Rule-Based Tools in Game Development

  • Denise Angilica
  • Giovambattista Ianni
  • Francesco PacenzaEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11946)

Abstract

In the wider perspective of narrowing down some of the gaps that prevent the adoption of declarative logic programming within highly dynamically changing environments, we focus in this paper on the context of integrating reasoning modules in real-time videogames. Integrating rule-based AI within the commercial game development life-cycle poses a number of unsolved challenges, each with non-obvious solution. For instance, it is necessary to cope with strict time performance requirements; the duality between procedural code and declarative specifications prevents easy integration; the concurrent execution of reasoning tasks and game updates requires proper information passing strategies between the two involved sides. In this work we illustrate our recent progress on how to embed rule-based reasoning modules into the well-known Unity game development engine. To this end, we report about ThinkEngine, a framework in which a tight integration of declarative formalisms within the typical game development workflow is made possible. We prove the viability of our approach by developing a proof-of-concept Unity game that makes use of ASP-based AI modules.

Keywords

Answer Set Programming Artificial Intelligence Game Programming Knowledge Representation and Reasoning Logic Programs Rule-based Systems Unity 

References

  1. 1.
    Buccafurri, F., Leone, N., Rullo, P.: Strong and weak constraints in disjunctive datalog. In: Dix, J., Furbach, U., Nerode, A. (eds.) LPNMR 1997. LNCS, vol. 1265, pp. 2–17. Springer, Heidelberg (1997).  https://doi.org/10.1007/3-540-63255-7_2CrossRefGoogle Scholar
  2. 2.
    Calimeri, F., Fuscà, D., Germano, S., Perri, S., Zangari, J.: Fostering the use of declarative formalisms for real-world applications: the EmbASP framework. New Gener. Comput. 37(1), 29–65 (2019)CrossRefGoogle Scholar
  3. 3.
    Calimeri, F., Germano, S., Ianni, G., Pacenza, F., Perri, S., Zangari, J.: Integrating rule-based AI tools into mainstream game development. In: Benzmüller, C., Ricca, F., Parent, X., Roman, D. (eds.) RuleML+RR 2018. LNCS, vol. 11092, pp. 310–317. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-99906-7_23CrossRefGoogle Scholar
  4. 4.
    Creighton, R.H.: Unity 3D game development by example: a seat-of-your-pants manual for building fun, groovy little games quickly. Packt Publishing Ltd (2010)Google Scholar
  5. 5.
    Eiter, T., Ianni, G., Krennwallner, T.: Answer set programming: a primer. In: Tessaris, S., et al. (eds.) Reasoning Web 2009. LNCS, vol. 5689, pp. 40–110. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-03754-2_2CrossRefGoogle Scholar
  6. 6.
    Febbraro, O., Leone, N., Grasso, G., Ricca, F.: JASP: a framework for integrating answer set programming with Java. In: KR (2012)Google Scholar
  7. 7.
    Fink, M., Germano, S., Ianni, G., Redl, C., Schüller, P.: ActHEX: implementing HEX programs with action atoms. In: Cabalar, P., Son, T.C. (eds.) LPNMR 2013. LNCS (LNAI), vol. 8148, pp. 317–322. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40564-8_31CrossRefGoogle Scholar
  8. 8.
    Gebser, M., Kaminski, R., Kaufmann, B., Ostrowski, M., Schaub, T., Wanko, P.: Theory solving made easy with clingo 5. In: ICLP. Technical Communications (2016)Google Scholar
  9. 9.
    Oetsch, J., Pührer, J., Seidl, M., Tompits, H., Zwickl, P.: VIDEAS: a development tool for answer-set programs based on model-driven engineering technology. In: Delgrande, J.P., Faber, W. (eds.) LPNMR 2011. LNCS (LNAI), vol. 6645, pp. 382–387. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-20895-9_45CrossRefGoogle Scholar
  10. 10.
    Rath, J., Redl, C.: Integrating answer set programming with object-oriented languages. In: Lierler, Y., Taha, W. (eds.) PADL 2017. LNCS, vol. 10137, pp. 50–67. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-51676-9_4CrossRefGoogle Scholar
  11. 11.
    Ricca, F.: The DLV Java wrapper. In: de Vos, M., Provetti, A. (eds.) ASP 2003, pp. 305–316 (2003)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Denise Angilica
    • 1
  • Giovambattista Ianni
    • 1
  • Francesco Pacenza
    • 1
    Email author
  1. 1.Department of Mathematics and Computer ScienceUniversity of CalabriaRendeItaly

Personalised recommendations