Coder Social home page Coder Social logo

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 students at KWARC)

Active Development happens at https://gl.kwarc.info/FrameIT/UFrameIT Stable Versions will be released on GitHub.

Installation (for developers)

First, you have to set up a development environment:

  1. 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.

  2. Install Git LFS

  3. Clone this repository: git clone --recurse-submodules https://github.com/UFrameIT/UFrameIT.git

  4. 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

  1. Open the Unity Hub and add the folder where you cloned this repository to. Then open the project in the hub.
  2. Follow the UFrameIT server installation guide to run the server
  3. 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 and starting the UFrameIT Server for standalone run.

  1. 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.
  2. Download Archives folder
  3. 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
  1. Open in Intellij the project with the UFrameIT Server.
  2. Navigate in Intellij to: File -> Project Structure -> Artifacts
  3. In the Artifacts Menue, press the icon "+" than choose JAR -> From modules with dependencies
  4. In the new Menue "CreateJAR from Modules"
    • find "Module:" and select "frameit-mmt"
    • 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 "extract to the target JAR".
    • Press "Ok"
  5. "Press OK"
  6. Follow steps from next chapter:
Build the JAR
  1. Open in Intellij the project with the UFrameIT Server.
  2. Navigate in Intellij to: Build -> Build Artifacts -> SelectYourArtifact -> Build

Useful Links for new Developers

UFrameIT Unity Plugin

FrameIT Server

Formalized Knowledge

UFrameIT's Projects

archives icon archives

All MMT archives of formalizations needed by the UFrameIT prototype in the FrameIT project.

loviwo icon loviwo

Unity-based project connecting Logical- and Virtual worlds by using logic-based knowledge-management techniques

uframeit icon uframeit

The current Unity-based implementation of the FrameIT approach

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.