Virtual-E-Mart

Virtual Reality class project

About

A goal of the project is to create a virtual world - 3D web game for kids in a virtual mart environment as a Virtual Reality - NPGR012 class project.

Main game features are called nuts. A nut is an interactive object which kid (or any other operator) should play with to achieve game points.



Authors


Technical background

We use Virtual Reality Modeling Language (VRML) to design the web game. You have to get a VRML plugin to run it.
We are planning to create X3D version of the game with a support of haptic technology using H3D API (see Haptic API survey).


Links

Virtual-E-Mart

Nuts



Prototypes

# ---------------------------------------------------------
# PROTO First possible head for the Jack
#
# parameters:
# - texture - Head texture
# - noseAppearance - appearance of the cown nose
# - hatAppearance - appearance of the cown hat
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO Clown [
	exposedField SFNode texture
	exposedField SFNode noseAppearance
	exposedField SFNode hatAppearance
	exposedField SFInt32 lod
] "jack-in-the-box.wrl#Clown"

# ---------------------------------------------------------
# PROTO JackInTheBox
#
# parameters:
# - boxAppearance - appearance of the box
# - coverAppearance - appearance of the box cover 
# - springAppearance - appearance of the spring
# - children - appearance of the spring
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO JackInTheBox [
	exposedField SFNode boxAppearance
	exposedField SFNode	coverAppearance
	exposedField SFNode springAppearance
	exposedField MFNode children
	exposedField SFInt32 lod
] "jack-in-the-box.wrl#JackInTheBox"

# ---------------------------------------------------------
# PROTO ToyRack
#
# parameters:
# - color1 - Steam engine bed color
# - color2 - Steam engine boiler color
# - color3 - Steam engine cabin color
# - color4 - Steam engine features color
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	ToyRack [
	exposedField SFNode color1
	exposedField SFNode color2
	exposedField SFNode color3
	exposedField SFNode color4
	exposedField SFInt32 lod
] "toyrack.wrl#ToyRack"

# ---------------------------------------------------------
# TinCan
#
# parameters:
# - scaleFactor - scale factor of the tincan
# - textureUrl - path to the tincan texture
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	TinCan [
	exposedField SFVec3f scaleFactor
	exposedField MFString textureUrl
	exposedField SFInt32 lod
] "tincan.wrl#TinCan"


# ---------------------------------------------------------
# PROTO Bottle
#
# parameters:
# - scaleFactor - scale factor of the bottle
# - textureUrl - path to the bottle texture
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	Bottle [
	exposedField SFVec3f scaleFactor
	exposedField MFString textureUrl
	exposedField SFInt32 lod
] "bottle.wrl#Bottle"

# ---------------------------------------------------------
# PROTO BasketBall
#
# parameters:
# - textureUrl - path to the baset texture
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	BasketBall [ 
	exposedField MFString textureUrl
	exposedField SFInt32 lod 
] "basketball.wrl#BasketBall"

# ---------------------------------------------------------
# PROTO Infotable
#
# parameters:
# - textureUrl - path to the infotable texture
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	Infotable [ 
	exposedField MFString textureUrl 
	exposedField SFInt32 lod
] "infotable.wrl#Infotable"

# ---------------------------------------------------------
# PROTO Ball1, Ball2
#
# parameters:
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	Ball1 [ exposedField SFInt32 lod  ] "basketball.wrl#Ball1"
EXTERNPROTO	Ball2 [ exposedField SFInt32 lod  ] "basketball.wrl#Ball2"

# ---------------------------------------------------------
# PROTO Girder
#
# parameters:
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO	Girder [ exposedField SFInt32 lod ] "environment.wrl#Girder"

# ---------------------------------------------------------
# PROTO extinguisher
#
# parameters:
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO Extinguisher [ exposedField SFInt32 lod ] "environment.wrl#Extinguisher"

# ---------------------------------------------------------
# PROTO Companion cubes
#
# parameters:
# - Appearance - appearance of the companion cubes from Portal game
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
PROTO Cubes [	exposedField SFNode appearance ] "envionrment.wrl#Cubes"

# ---------------------------------------------------------
# PROTO GenericRack
#
# parameters:
# - LOD - turn on/turn off level of detail
# ---------------------------------------------------------
EXTERNPROTO GenericRack [ exposedField SFInt32 lod ] "environment.wrl#GenericRack"

Textures

FilenameDisk sizeMemory sizeImage preview
ball1.png 139KB 256x256x32b = 256KB
ball2.png 37KB 256x256x32b = 256KB
ball.png 795B 256x256x32b = 256KB
basket.png 54KB 256x256x32b = 256KB
bottle-transp.png 54KB 256x256x32b = 256KB
bricks.jpg 91KB 508x787x24b = 1171KB
cube.jpg 10.4KB 256x256x24b = 192KB
fire.png 2.1KB 256x256x32b = 256KB
jack-in-the-box1.png 26KB 128x128x32b = 64KB
nuts2.png 222KB 512x512x32b = 1024KB
nuts.png 222KB 512x512x32b = 1024KB
sandstone.jpg 32KB 512x512x24b = 768KB
tincan.jpg 63KB 512x512x24b = 768KB
wood-texture.jpg 120KB 512x512x24b = 768KB
TOTAL: 7251KB ~ 7MB 



Progress

12.10.2010 - Project started

19.10.2010 - Basic ideas of nuts designed

26.10.2010 - 1st assignment deadline!

09.11.2010 - 2st assignment deadline!