Code Monkey home page Code Monkey logo

meiro's Introduction

Meiro

Meiro is a gaming environment populated with interactive 3D models. It is a successor of the FMI-3D project. Currently Meiro contains over 300 models covering different topic from Computer Graphics. Meiro is used in the course "Fundamentals of Computer Graphics" for Computer Sciences undergraduate students from the Faculty of Mathematics and Informatics at Sofia University.

Important note

The Meiro project is currently being githubbed. It will take some time until the old code is refactored and polished. This document will present the elements that are fixed.

Floor plan

During the game students may view the floor plan of Meiro. This is a map of floors, rooms, locations of models, etc.

Click on an image to run examples of different Meiros. As they are randomly generated at run time, they will appear with different allocation of rooms.

Meiro dungeon

Meiro is a closed building, i.e. there is no entrance or exit. t is split in rooms and every room could be accessed from any other room.

Click on the image to run an example is an empty Meiro (medium, sparse and dense layouts).

Meiro parameters

Meiro passes configuration data as parameters embedded in the web address.

Topology

  • id=๐ โ€“ dungeon id ๐, a number defining the structure of the dungeon. A random id is used if the id is missing or it the id is 0. There is no default value. Example: id=3.

  • size=๐—x๐˜x๐™ โ€“ dungeon size, a string of three integer numbers: ๐—โˆˆ[4,100] and ๐™โˆˆ[4,100] are for the horizontal sizes of the dungeon, ๐˜โˆˆ[1,30] is the number of floors. By default size is size=20x3x15.

  • stairs=๐ โ€“ maximal number of stairs ๐โˆˆ[0,200] between two floors. Depending on the dungeon layout the number of actual stairs could be less. By default stairs=5.

  • rooms=๐ โ€“ maximal number ๐โˆˆ[1,100000] of rooms in the whole dungeon. By default rooms=10.

  • split=๐Œ๐ˆ๐x๐Œ๐€๐—x๐ƒ โ€“ splitting into rooms, a string of three numbers. The rooms of each floor are generating by splitting larger rooms into smaller rooms. ๐Œ๐ˆ๐โˆˆ[1,30] is an integer number for the minimal size of a room after splitting. If a room is larger than ๐Œ๐€๐—โˆˆ[1,100] (also an integer number), it could be split if needed. A room is split by addind a wall with at least 1 door. The floating number ๐ƒโˆˆ[0,1] multiplied by the wall length defines the number of additional doors in the wall. By default split=3x8x0.1.

Content

  • pos=๐—x๐˜x๐™x๐€</code> &ndash; player position, a string containg four floating point numbers. A sign *"You are here"* is placed at position (๐—,๐˜,๐™) and pointing toward direction ๐€ - an angle in radians. If pos` is missing, there will be no sign. No default value.

  • model=๐Œโ‚,๐Œโ‚‚,๐Œโ‚ƒ,....๐Œโ‚™ or models=๐Œโ‚,๐Œโ‚‚,๐Œโ‚ƒ,....๐Œโ‚™ โ€“ a list of models names. These models are placed in the largest rooms. No default value.

Interface

  • back or back=๐”๐‘๐‹ โ€“ shows a button for closing the current page. If ๐”๐‘๐‹ is defined it defines the returning URL address. No default value.

  • zoom=๐ โ€“ zoom factor, the floating point number ๐โˆˆ[1,10] defines the maximal zoom-in and zoom-out. For example, zoom=10 allows zooming from x0.1 to x10. By default zoom=3.

  • lowpoly โ€“ a parameter without a value. It existence hints Meiro to use simpler objects in attempt to make graphics faster. If not defined, Meiro uses more complex objects. No default value.

  • lang=๐‹ โ€“ string for the interface language ๐‹โˆˆ[en (English), bg (Bulgarian)]. If undefined, Meiro switches to English as if it is lang=en. No default value.

January 2021

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.