FrameIT is a novel approach for building serious games by combining the exploration of virtual worlds with logic-based knowledge management (... details, publications, news)
The UFrameIT project was initiated by the KWARC Research Group at FAU Erlangen-Nürnberg (... news, team, history) to advance the FrameIT method and to create an appropriate framework for it.
<iframe width="560" height="315" src="https://www.youtube.com/embed/4hrL88jxcX0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>-
{% for post in site.posts limit:5 %}
{% include post_link.html post=post %}
{% endfor %}
To showcase the framework, we plan to continuously create new simple game demos. Built executables of previous releases can be found here: UFrameIT releases.
In the FrameIT method, we use MMT theory graphs to encode and represent the knowledge about the world and its logic, whereas we use a game engine (currently Unity; but others are possible) to create and visualize the virtual world. The MMT system can then reason about the world and apply the knowledge in concrete situations.
Accordingly, the implementation is split into two parts that communicate via a REST/JSON API:
- the UFrameIT Unity Plugin, which supplies gadgets that help exploring the 3D world and an infrastructure for managing and applying knowledge, and
- the FrameIT Server, which acts as an generic, game-engine-independent interface to the MMT system and the formalized knowledge.
A particular UFrameIT game instantiates the framework with
- a virtual world that acts as a game setting, additional gadgets for interacting with it, and
- an MMT ontology that describes the virtual world and formalizes the learning goals conveyed by the game.
The latter builds on builds on the Math-in-the-Middle Ontology (MitM) — a general-purpose formalization of elementary mathematics developed and maintained by the KWARC group at FAU.
The UFrameIT framework and games based on it are open source. They are developed publicly on GitHub (documentation, issues, milestones)
We are an open team of developers, please feel free to join.
- Prof. Dr. Michael Kohlhase (lead; enjoys the demos)
- Richard Marcus (Unity Plugin)
- Navid Roux (mmt-server, MMT extensions, and MMT formalizations)
- Marco Zimmer (FrameWorld levels)
- Stefan Richter (Android Port)
- Tobias Schöner
- Jakob Holdinghausen
- Björn Eßwein
- Dennis Müller (MMT and Formalization Guru)
- Prof. Dr.-Ing. Marc Stamminger (Graphics/Virtual Worlds)
- Prof. Dr. Andrea Kohlhase (Interaction Design and UX)
- Christian Kropfeld (Video Editing and Design)
- Benjamin Bösl (mmt-server, MMT formalizations of FrameWorld v1)
- Denis Rochau (first Unreal-based FrameIT implementation)
- John Schihada (Unity Plugin, mmt-server)
- Sebastian Weber (Visual Problem Editor)
- Marcel Dreier (Volume Formalizations)
- Mark Tintemann (Advanced Gearbox Logics)
The Jacobs University Phase
The idea behind FrameIT was already formulated in a paper in 2012. A very first version was implemented in a 2013 bachelor thesis. In 2015/6, Denis Rochau gave a complete implementation based on the Unreal Engine (Bachelor's Thesis; CICM Work-in-Progress Paper, demo video).
UFrameIT at FAU Erlangen-Nürnberg
After a long period, where students with graphics and game development expertise didn't find their way to FrameIT, the cooperation with the Chair of Visual Computing brought together a group of FAU students in late 2019 to restart the project. The UFrameIT framework using the Unity game engine as a basis is the result of this effort.
<iframe width="560" height="315" src="https://www.youtube.com/embed/THkbaLcdQMU?si=W6EYlASnO6i6L-F7" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/4hrL88jxcX0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/98D2PYgflPw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="560" height="315" src="https://www.youtube.com/embed/GWuySbzJUwQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>To contact a human: reach out to Michael Kohlhase.
Feel free to raise an issue at our UFrameIT/UFrameIT repository.