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 issize=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 defaultstairs=5
. -
rooms=π
β maximal number πβ[1,100000] of rooms in the whole dungeon. By defaultrooms=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 defaultsplit=3x8x0.1
.
Content
-
pos=πxπxπxπ</code> – 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=πβ,πβ,πβ,....πβ
ormodels=πβ,πβ,πβ,....πβ
β a list of models names. These models are placed in the largest rooms. No default value.</li>
Interface
-
back
orback=πππ
β 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 defaultzoom=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 islang=en
. No default value.
January 2021