A Collaborative VR Game Proposal
By Julian Yu-Chung Chen, Fall 2005
Assignment Description
Definition
To look at the requirement of the game. I will look at it as "collaborative", "virtual reality"
and "game". First I will dig in the meaning of these three characteristics individually and in
the reverse order! And putting them together, I will introduce what the hardware, software,
human resource requirements and what the users' experience will be.
Game
Everybody likes to play games. Why? Because playing games is fun. And the most important element
of a game is 'FUN'. Just as Linus Torvalds and other psychologists[] said, there are three
stages in the human being evolution, the first stage is to survive, the second stage is to
achive some social goals/status and the third stage is to have fun!
Things like television, celluar phone and the development of Linux are all examples of it.
Only one fun game can attract a user to stay with and keep coming back to the game.
What factors could let a game player feel fun? According to the research[], the "funativity" can
basically be categoried into three type (especially in games):
- Physical fun
Like: to survival; to explore; to exercise/sport; to gather etc.
- Mental fun
Like: to solve problems; to figure out puzzles; to outsmart and beat the computer!
- Social fun
Like: Team work, sharing information, trading collectables, meeting new people etc.
Also in the investigation poll of most gamers, we can find that what they would like
to have most in the games. The top four are, "realistic graphics",
"excitement", "interactivity", and
"unpredictability". So in the collaborative VR game I am going to
propose, it will try to fulfill all these three ideas.
Virtual Reality
Why using virtual reality? One obvious reason is to provide the whole new gaming experience!
Take the prototype of CAVE version of id Software's Quake III Arena[] for example, the gaming
setup and display looks like this:
Image from Paul Rajlich: http://www.visbox.com/cq3a/
With hardware setup like this, the gaming experience is never the same as the desktop.
Using VR as the interface between player and the gaming world content will take the
"physical fun" element to the next level, the player now can not only accomplish somthing
in the game, and he has to actually move his physical body to do it. This will make it
like a real life experience. Using VR also corresponds to two of the most wanted features
from the gamers, "realistic graphics" and
"interactivity". Being in the VR device would
make player feel immersive in the world of the game. With nowadays software
development, using software to simulate the real world physical system is never a impossible
mission. Libraries like "Open Dynamics Engine"[] can give player more interactive feedback
about the actions he/she puts in the virtual world.
But if everything in the gaming environment is all virtual, as the user spend more time
in the system, things will get more and more predictable. Soon the player can learn the
pattern of how computer or AI works and figure out a way that always beat the computer.
The user will get bored soon unless the content of the game is updating
along with time. One thing now a lot of game company do is making the game software a
multiple player version. This also implies an online multiple 'human' player mode, which
will lead us to the next key topic, "collaboration".
Collaborative
People are colletive animals. From technologies these years we can find that a lot of
technologies took off based on one persion's need and huger to connect to rest of the
world. Evidient examples are Email, celluar phones, and bloggers.
Playing with real humans is always more challenging and hence more fun than play by yourself
with computers. Since we were kids, we always prefer playing with other kids on the same
block. It took IBM and all the chess researchers decades to invent "Deep Blue" to beat world
chess champion Garry Kasparov[]. This means in the sense of competition with other players in
the game.
Aside from the perspective of compeition, with proper game(content) design, the players in the
game could also be required to cooperate with each other to finish a specific task. Or to
achieve some task that is so difficult that if one player wants to do that, it will comsume
him just too much time.
So these are the reasons that multiplayer online role-playing games(MMORPG) like "World of
Warcraft", are so popular among gamers. I think human's unpredictable factor is yet
another reason that will make gamers feel enjoyable. If you ever got into these games, you will find
that there are always players gathering up as teams or even guilds. Some guilds are even
have made "laws" asking partipatations to obey. The whole online gaming world is almost
just like a real world!
Image from http://data.blogg.de/5559/images/crowd.jpg
User Experience
In our collaboration VR game, we will try to not only immersive the user/player into the
virtual world we created. We will also try to provide the user a key to bridge the virtual
world and the real world in a more direct and intiuitive way. The background story of the
game will be based on popular first person shooting game like Quake[] mentioned above, with
another game, Myst[]'s puzzle solving element.
Image from Myst 1: http://www.myst.com/myst_screenshots.html
Image from Myst IV: http://www.mystworlds.com/us/screenshots_myst5.php
The user will first pay "$10" to be allow to play the game.
In entering the game, the player will have a rough scan of his face (through images), and an estimation
of his height and 'width(?!)' using computer vision techniques, as a metric to generate proper avatar
representative in the virtual world.
Next thing is role picking. The player can either 1. choose by himself/herself what kind of characters
that
he/she would like to play or 2. or through a simple mind test. The user can point to answers of
several questions in the VR environment, and the system will choose 'proper' character for him/her.
This will went through for only one time, all the user's playing status data and character data
will be saved to a memory, it could be a USB thumb drive or a RFID that belongs to the player (since
things like USB thumb drive is so cheap now, application like this might need only 32MB or even less
storage size). We will call this device "VR ID". So when the user come back to play the game again,
he/she will not to went through the whole setup again.
The user can choose to do pure physical shooting NPC monsters to survive and get high scoring as the role of fighter.
Then in this mode, the joystick will produce vibration when the player fires to simulate the vibration
of guns.
Image from Paul Rajlich: http://brighton.ncsa.uiuc.edu/~prajlich/caveQuake/
Or the user can also solving puzzles provided by the system. Those who focus on
puzzle-solving are called 'wiz'. With each puzzle solved the user can gain scores and also get more
powerful weapons, which can cast more powerful attacks or generate shields to prevent
himself/herself being shot by others for a period of time.
With VR and collaborative capabilities, the puzzles we can put into this environment will not be limited
to single person puzzles like those of Myst games. Some puzzles will need multiple users interactively
cooperating together to solve it, so all related participators can gain a substional amount of energies
to power up the users' heavy weapon or protective gadgets like shield generators.
So why would the user like to come back, pay and play again? We are leveraging the concept of buzz idea
social networking. Along the stereo glass the user wear, it will also equipped with a microphone to
record the user's voice. The voice can be used to talk to other players in the game. And the voice
is also feed into the workstation in each "Platform Access Location". The workstation will do realtime
voice recognition, and classfy according to keywords in pre-defined vocabulary library.
If the player's voice
content matches some keyword above one threadshold frequency,
a visual tag will be put on user's avatar in the
virtual world. So that other players can easily identify people who are sharing some common interests
as they are. An example scenerio would be like what "The Sims"[] has status and emotion icons above player
or NPC's avatars.
Images from: http://www.sg.hu/kep/2004_09/0920thesimsbemutatoketto22.jpg, Sims screenshot
And since the player can talk to each other, the players could be able to communicate
and form teams and community easily in the virtual environment. In each time he/she entering the game,
the player is also provided with the option whether he/she wants to answer some questionaire, so that
the play time could be extended. With these information (or use Google's personal information, if Google
is ever going to relase them ;)), the system can put some tags or signs on the avators in the virtual
environment. In this case the players in the virtual environment can then easily identify those who are
'the same kind' of persons as they are, which will make forming teams and community easier.
Hardware and Software Requirements
The Distributed Server Platform
The whole platform is going to be distributed. At the first stage, the world will be partitioned according
to the deployment of the "Platform Access Locations". We will need to setup the server platform with the
following hardware:
- PC clusters
With high availability (HA) and high througput capabilities
- High-speed network
To support multiple user connecting in.
- Storage services with redundency and hetergenious backup
- Power backup solution
You might not need to use supercomputer scale server system. But with the number of user grows, the architecture
of the server system has to be scalable.
Image from Virginia Tech System X: http://www.tcf.vt.edu/systemX.html
Approximate cost: $500,000
Design and Planning Center
To help the moderator, game designer, and planner to monitor and design new components of the virtual
world, using a high-resolution display wall could help all these people gather together (in the real
world) to discuss and place modifications into the virtual world.
High-resolution display
Image from EVL: http://www.evl.uic.edu/cavern/glvf/a.html
Image from EVL: http://www.evl.uic.edu/cavern/sage/gallery.php
- LCD panels: 20 to 40 LCD panels
- PC cluster to drive the display: 10 to 20 graphics servers
Approximate cost: $30,000 to $60,000
Platform Access Locations
Due to using HMD cannot really see the outside(real)
world, so we might need to limited the area of users' activities for safety reasons,
we will use full-fledge CAVE or Cwall in the platform access location.
In the case of Cwall, the required equipments are:
- High luminance projector * 2
We are going to use back projection, so it would be better to mount them
on the ceiling behind the screen of the gaming area.
- Circular polarization filters * 2
To be placed in fron of each projector.
- Non-depolarized screen (from Stewart Filmscreen)
- AMD Opetron-based dual CPU workstation
With high-end dual output OpenGL PCI-Express graphics card with sync-gen signal connector, at least 128MB
of video memory or more.
- 100 pairs of polarized stereo glasses
Approximately cost: $30,000.
For CAVE-like virtual environment setup, nowadays we are not limited to Silicon Graphics based
supercomputers or workstations. We can use commodity hardware components as Cwall does.
(Take 4-walls, front, right, left and ground for example)
- Projectors: 2 * 4 = 8 projectors
- Non-depolarized screens: * 3
- PC workstations: * 4
- Workstation graphics synchronization hardware
- High-speed networking between workstations
And since the player should be able to clearly hear and identify other players' talking voice, so a
surround acoustic system is required for both Cwall and CAVE-like environment setup. The workstation
system should be able to generate clear positional acoustic voices and effects depending on the
information of other players' positions in the virtual world.
Approximate cost: $ 150,000.
Image from Paul Rajlich: http://brighton.ncsa.uiuc.edu/~prajlich/caveQuake/
For the software side, some program might need to be rewritten.
There are some opensource middleware like Chromium and
Electro available. And we must develop
the game platform based on these already-done software stack or porting.
For each "Platform Access Location", personnels required would be,
- One reception
To collect the game token(payment), introduce the user to the environment and help the user
put on required VR equipments. Also introduce possible dangers in using VR devices, if there
are any. ;)
- System technician
One technician who knows how to find and fix the problems about the VR device(cwall or cave) when
the system is not responding or behave strangely.
Initial idea and sketch drawings
References:
- cs528: Virtual Reality, Andy Johnson's course material
- cs426: Video Game Design and Programming, Jason Leigh's course material
- Paul Rajlich's Cave Quake III Arena
- Maslow's Hierarchy of Needs
- The Making of a Chess Machine
- Wikipedia - World of Warcraft
- Wikipedia - The Sims
- Chromium
- Non-planar Tilesort Rendering
- Electro
Julian Yu-Chung Chen
Last modified: Tue Dec 6 14:54:20 CST 2005