Skip to main content
Log in

SpringBoard: game-agnostic tool for scenario editing with meta-programming support

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

Although we have recently seen an increase of good, free game engine editors, general purpose scenario (level) editors are still lagging behind in terms of functionalities and ease of use. Using them to create game scenarios can be difficult as they often expose general engine capabilities instead of limiting the toolset to fit game-specific requirements. They often require programming skills to use, which introduce additional user skill requirements, and configuring them for a specific game can be equally difficult. In this paper we have developed SpringBoard, an open source scenario editor for games using the SpringRTS engine. Extending it to support game and level requirements is achieved with multi-level meta-programming, while still providing a system that is integrated with the GUI editor and therefore intuitive to use. Our meta-programming system has support for trigger elements (events, functions and actions), custom (composite) data types, scoped data access, higher order functions and actions, and data synchronization mechanics. This novel approach allows us to have the full expressiveness of the underlying programming language, while exposing a user-friendly GUI that consists of terminology familiar to the domain expert.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Listing 1
Listing 2
Fig. 2
Fig. 3
Listing 3
Fig. 4
Fig. 5
Fig. 6
Listing 4
Listing 5
Listing 6
Listing 7
Listing 8
Listing 9
Listing 10
Listing 11
Listing 12
Listing 13
Listing 14
Fig. 7

Similar content being viewed by others

Notes

  1. CryEngine - https://www.cryengine.com/

  2. Godot - https://godotengine.org/

  3. SpringRTS - https://springrts.com/

  4. Unity - https://unity3d.com/

  5. Unreal - https://www.unrealengine.com/

  6. SpringGrid scheduler website: https://github.com/gajop/springgrid, botrunner: https://github.com/gajop/botrunner

  7. Folding@Home: http://folding.stanford.edu/

  8. Official Warcraft 3 homepage: http://us.blizzard.com/en-us/games/war3/

  9. Starcraft 2 Galaxy Editor: http://us.battle.net/sc2/en/game/maps-and-mods/tutorials/data/1

  10. Zero-K Mission Editor wiki http://zero-k.info/mediawiki/index.php?title=Mission_Editor

  11. Jupyter Notebook for SpringRTS https://github.com/gajop/spring_kernel

  12. Lua game console with custom command support https://github.com/gajop/chonsole

  13. Evolution RTS: https://www.evolutionrts.info/ - an Open Source game based on the SpringRTS engine

  14. The SpringRTS Lua scripting API: https://springrts.com/wiki/Lua_Scripting

  15. SpringRTS API scripts https://github.com/Spring-SpringBoard/SpringBoard-Core/blob/master/triggers/core.lua

  16. SpringBoard extra functionalities: https://github.com/Spring-SpringBoard/SpringBoard-Core/blob/master/triggers/extra.lua

  17. Custom meta-model for the Gravitas game: https://github.com/SpringCabal/Scenario-Editor-Gravitas/blob/master/triggers/gravitas_triggers.lua. Gravitas level data: https://github.com/SpringCabal/Gravity-Enterprize/blob/master/model.lua

  18. SpringBoard can be obtained from the following links: Core(main module used by all games) https://github.com/Spring-SpringBoard/SpringBoard-Core, official game scenarios https://github.com/Spring-SpringBoard

  19. Balanced Annihilation, Zero-K and Evolution RTS modules: https://github.com/Spring-SpringBoard/SpringBoard-BA, https://github.com/Spring-SpringBoard/SpringBoard-ZK, https://github.com/Spring-SpringBoard/SpringBoard-EVO

  20. Gravitas: Ludum Dare 32 entry, with level made in an earlier version of SpringBoard https://github.com/SpringCabal/Scenario-Editor-Gravitas https://www.youtube.com/watch?v=a1D295mRqdE

References

  1. Moanes A, Ibrahim AH, Hosny A (2016) xgame: a novel approach for developing accessible mobile games. In: New trends in software methodologies, tools and techniques, vol 286 of frontiers in artificial intelligence and applications. IOS Press, pp 315–321

  2. Anderson EF, McLoughlin L, Watson J, Holmes S, Jones P, Pallett H, Smith B (2013) Choosing the infrastructure for entertainment and serious computer games - a whiteroom benchmark for game engine selection. In: 2013 5th international conference on games and virtual worlds for serious applications (VS-GAMES). IEEE, pp 1–8

  3. Brassai B, Varga B, Simon K, Torok-Vistai T (2014) Geoquesting: mobile adventure game and web-based game editor. In: 2014 IEEE 12th international symposium on intelligent systems and informatics (SISY). IEEE, pp 99–103

  4. Dobrovsky A, Borghoff UM, Hofmann M (2016) An approach to interactive deep reinforcement learning for serious games. In: 2016 7th IEEE international conference on cognitive infocommunications (CogInfoCom). IEEE, pp 000085–000090

  5. Dondlinger MJ (2007) Educational video game design: a review of the literature. Journal of Applied Educational Technology 4(1):21–31

    Google Scholar 

  6. Guo X, Singh S, Lee H, Lewis RL, Wang X (2014) Deep learning for real-time atari game play using offline Monte-Carlo tree search planning. In: Ghahramani Z, Welling M, Cortes C, Lawrence ND, Weinberger KQ (eds) Advances in neural information processing systems 27. Curran Associates, Inc., pp 3338–3346

  7. Gustavsson PM, Lubera M, Lind H, Blomberg J (2009) J wemmergård Lessons learned from the implementation of a battle management language in a general scenario editor. In: Fall simulation interoperability workshop

  8. Hausknecht MJ, Stone P (2015) Deep recurrent q-learning for partially observable mdps. In: AAAI fall symposium series

  9. Lv Z, Tek A, Da Silva F, Empereur-mot C, Chavent M, Baaden M (2013) Game on, science - how video game technology may help biologists tackle visualization challenges. PLoS ONE 8(3): e57990

    Article  Google Scholar 

  10. Mattheiss E, Regal G, Sellitsch D, Tscheligi M (2017) User-centred design with visually impaired pupils: a case study of a game editor for orientation and mobility training. Int J Child-Comput Interact 11:12–18

    Article  Google Scholar 

  11. Mnih V, Badia AP, Mirza M, Graves A, Lillicrap T, Harley T, Silver D, Kavukcuoglu K (2016) Asynchronous methods for deep reinforcement learning. In: International conference on machine learning, pp 1928–1937

  12. Mnih V, Kavukcuoglu K, Silver D, Graves A, Antonoglou I, Wierstra D, Riedmiller M A (2013) Playing atari with deep reinforcement learning. In: NIPS deep learning workshop

  13. Oh J, Guo X, Lee H, Lewis RL, Singh S (2015) Action-conditional video prediction using deep networks in atari games. In: Cortes C, Lawrence ND, Lee DD, Sugiyama M, Garnett R (eds) Advances in neural information processing systems 28. Curran Associates, Inc., pp 2863–2871

  14. Oswald P, Tost J, Wettach R (2014) The real augmented reality: real-time game editor in a spatial augmented environment. In: Proceedings of the 11th conference on advances in computer entertainment technology - ACE 14. ACM Press, pp 1–4

  15. Park W-S, Hong H-K, WhangBo T-K (2010) Design and implementation of game scenario editor. Journal of Korea Game Society 10(1):115–125

    Google Scholar 

  16. Thompson D, Baranowski T, Buday R, Baranowski J, Thompson V, Jago R, Griffith MJ (2010) Serious video games for health: how behavioral science guided the development of a serious video game. Simul Games 41(4):587–606

    Article  Google Scholar 

  17. Ullner F, Lundgren A (2008) Lessons learned from implementing a msdl scenario editor. Student Paper

  18. van der Spek ED, van Oostendorp H, Meyer J-JC (2013) Introducing surprising events can stimulate deep learning in a serious game. Br J Educ Technol 44(1):156–169

    Article  Google Scholar 

  19. Wyeld T, Barbuto Z (2014) Don’t hide the code!: empowering novice and beginner programmers using a HTML game editor. In: 2014 18th international conference on information visualisation. IEEE, pp 125–131

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gajo Petrovic.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Petrovic, G., Fujita, H. SpringBoard: game-agnostic tool for scenario editing with meta-programming support. Appl Intell 48, 1161–1175 (2018). https://doi.org/10.1007/s10489-017-1069-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-017-1069-y

Keywords

Navigation