UFrameIT
The FrameIT project builds a Framework for developing Serious Games by combining Virtual Worlds with Mathematical Knowledge Management. The UFrameIT framework uses the Unity game engine with the MMT system. This repository contains the Unity project, which currently includes the framework itself and a demo game. MMT itself is a large system with many different use cases beyond FrameIT. It operates with archives of formalized knowledge. For FrameIT, we added a new archive that, in turn, makes use of archives that existed before and contain knowledge about mathematics and logics. Unity and MMT communicate via the FrameIT-Server
For more information about the project, please visit https://uframeit.org
Installation (for end users)
Just download our latest release: https://github.com/UFrameIT/UFrameIT/releases/latest
Installation (for developers)
New developpers install guide: Snippets - UFrameIT, archives & MMT install guide
Old guide:
First, you have to set up a development environment:
-
Install Unity 2020.3.x (LTS) via the Unity Hub.
We periodically update to the latest LTS version. Currently, any 2020.3 version should work; you can safely ignore any version warnings popping up.
Make sure to activate your license.
-
Clone this repository:
git clone --recurse-submodules https://github.com/UFrameIT/UFrameIT.git
-
Follow the UFrameIT server's guide on setting up a dev environment.
Thereby, you will also install the necessary archives of formalization UFrameIT/archives.
Running
- Open the Unity Hub and add the folder where you cloned this repository to. Then open the project in the hub.
- Follow the UFrameIT server installation guide to run the server
- In Unity, select the scene MainMenue.unity (You can find it in Assets\Scenes\Menues) and run the game (Play Button). From there you can try out "TechDemo A" in the "Demo Category"; click on it to expand a list of levels to choose from.
Building UFrameIT
Tipps: TupleFactory and AppDomain don't function with .NET Standard 2.1, instead use .NET Framework.
Building and starting the UFrameIT Server for standalone run.
- Get JAR-file of the UFrameIT Server
- Download a prebuild Version here: frameit-mmt.jar
- Or build your own JAR as described in the following chapter "Build FrameIT Server to JAR" below.
- Download Archives folder
- Start Server with Command:
-
Java -jar YourUFrameITServer.jar -bind :PortOfNewServer -archive-root LinkToFolderArchives Example: Java -jar frameit-mmt.jar -bind :8085 -archive-root C:\Users\abc\xyz\archives
-
Build FrameIT Server to JAR
First time setting up
- Open in Intellij the project with the UFrameIT Server.
- Navigate in Intellij to: File -> Project Structure -> Artifacts
- In the Artifacts Menue, press the icon "+" than choose JAR -> From modules with dependencies
- In the new Menue "CreateJAR from Modules"
- find "Module:" and select "All Modules" (in the past was "frameit-mmt" possible)
- find "Main Class:" and search for the "Server" or set the path to the Server:
Link: ... -> frameit-mmt -> src -> info.kwac.mmt.frameit -> communication -> server -> Server - Set "JAR files from libraries" to "copy to the output directory and link via manigest" (in the past was "extract to the target JAR" possible).
- Press "Ok"
- "Press OK"
- Follow steps from next chapter:
Build the JAR
- Open in Intellij the project with the UFrameIT Server.
- Navigate in Intellij to: Build -> Build Artifacts -> SelectYourArtifact -> Build