Programming Language Support for Collaborative Virtual Environments - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Programming Language Support for Collaborative Virtual Environments

Description:

Programming Language Support for Collaborative Virtual Environments Clint Jeffery University of Idaho jeffery_at_uidaho.edu – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 26
Provided by: Clin175
Category:

less

Transcript and Presenter's Notes

Title: Programming Language Support for Collaborative Virtual Environments


1
Programming Language Support for Collaborative
Virtual Environments
  • Clint Jeffery
  • University of Idaho
  • jeffery_at_uidaho.edu

2
Why study games?
  • Fun!!
  • Computer game industry is big
  • Larger than the film industry
  • Shortly to eclipse the music industry
  • Games drive technological advances
  • Games have many serious applications
  • Simulation, film, education/training
  • Both software problems (e.g. AI) and
    engineering problems (e.g. cost, time)

3
Game Technologies
  • Game development is a specialized form of
    software engineering
  • Lots of graphics, Lots of art
  • A/I, Physics
  • Networking
  • Usually a simulation of some kind
  • How to engineer fun?
  • How to reduce the cost of development?

4
What is a Virtual Environment?My definition for
purposes of this talk
  • 3D, video game-like
  • Multi-user, collaborative environment
  • Persistent virtual world
  • I am interested in building them
  • For both games and serious purposes

5
WoW
6
What do we knowabout WoWs internals?
  • Rumored to cost 60M to develop initially
  • Uses Lua as its interface customization extension
    scripting language
  • ?
  • I suppose we could try to hack it, but I am not
    willing to risk losing my level 58 undead
    warrior
  • Could imitate their dev model, just need 60M and
    more expertise than Ive got.

7
Challenges
  • Given 0, how do I
  • Create a 3D world that is cool enough
  • make or buy ? (make sounds hard)
  • Collect lots of textures
  • Build a detailed 3d model of my world
  • With enough stuff to do to be interesting
  • Stuff that is education-relevant
  • Implies edu domain-specific tools
  • What you can buy wont have these

8
Research Avenueswhere you see state of art
substitute WoW
  • Difficult to advance state of art in
  • graphics
  • networking
  • Moderately easy to advance state of art in
  • if you can even get in the game...
  • AI gameplay
  • Educational uses
  • Necessary to advance state of art in
  • Cost of coding
  • Cost of art, modeling, content creation

9
Hypothesis
  • If I build the right language and tools, the cost
    of developing custom MMOs will become tractable.
  • So far graphics and networking
  • Future AI, physics, 3D modeling, art

10
What does Language Support Really Mean?
  • Functions, operators, keywords, and/or Control
    Structures
  • syntax! ouch! Justifiable bug avoidance, e.g.
    matrix stacks, named render sections
  • Simplifying OpenGL and sockets
  • Built-in smart behavior, but flexible
  • Generalizing things like input handling (select()
    and non-blocking read())
  • Deciding what to do in C, and what not

11
Textures
  • 2D image, to be drawn on a 3D surface
  • Harder than I thought it would be
  • Start with digital photos of everything
  • each room needs 3-300 photos
  • Tedious manual editing process!
  • crop dimensions to power of 2
  • remove irregularities
  • scale them down to fit more in
  • most textures need to be tileable
  • may need GIMP or Photoshop

12
Texture Example
13
3D Model
  • If CAD/blueprint data is available, use it if
    you can read/understand/convert it
  • Otherwise, start from floor plans
  • Give (x,z) coordinates add your ys
  • Decide on a coordinate system
  • Where is 0,0,0? Feet or meters?

14
Modview
15
Scripting Example (SecondLife)
16
User-defined Content
  • SecondLife lets users create the world
  • We are going to let users create the quests
  • Quests will be dual-peer rated for (fun,xp) where
    completers rate the fun, domain experts rate the
    xp.

17
CVE
  • CS educational virtual environment
  • Initial funding from NSF ATE program
  • Lives at cve.sourceforge.net
  • Runs on X11 and on Windows
  • (OpenGL so far it stinks on Vista)
  • SIMPLE 3d worlds, needs more tools
  • Collaborative IDE
  • Under construction
  • Departments so far UI and NMSU CS

18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
Static and Dynamic Model Data
  • static properties of a door
  • Door
  • x 33
  • y 0
  • z 3.9
  • height 2.3
  • plane 3
  • rooms SH 167, corridor 167
  • dynamic state of a door
  • link
  • name link1
  • openness 1.0
  • delta 0
  • direction 1

static properties of a room Room name SH 167 x
29.2 y 0 z 0.2 w 6 h 3.05 l 3.7 floor Rect
texture floor2.gif obstacles Box
window sill Rect coords 29.2,0,.22,29.2,1,
.22,
35.2,1,.22,35.2,0,.22
22
Under Construction
  • High-level object selection
  • 3D model imports
  • better avatars, more virtual objects
  • NPCs and quests
  • CS/library tutorial content
  • a recruiting tool, will reach grades 4
  • Collaborative debugger (pty API)
  • Collaborative design (UML--) tool
  • Augmented reality and virtuality

23
S3D Files
  • // version
  • 103
  • // nTextures,nTris,nVerts,nParts,nFrames,nLights,n
    Cameras
  • 1,892,445,1,24,0,0
  • // partList firstVert,numVerts,firstTri,numTris,"
    name"
  • 0,445,0,892,"pCube1"
  • // texture list name
  • uvmap.tga
  • // triList materialIndex,vertices(index, texX,
    texY)
  • 0, 8,33.7125,75.1163, 42,32.1658,78.5249,
    9,31.0493,70.0337
  • 0, 30,93.7656,9.30429, 5,96.9879,15.1088,
    2,94.4741,16.4074
  • 0, 103,209.125,250.495, 106,211.483,238.497,
    85,212.028,244.752
  • 0, 30,93.7656,9.30429, 39,97.957,10.0346,
    5,96.9879,15.1088

24
New This Spring
  • NASA MMO
  • Planning stages K-12 edutainment recruiting
  • Direct3D port
  • maybe shaders, while we are at it
  • Mac/Cocoa port
  • duelling infinite loops

25
I Need Help
  • Want to build more of uidaho?
  • Id love to work with you
  • Want to help?
  • projects for students and new friends
  • standalone tools, or core system elements
  • NPCs
  • Both game and educational stuff to do
  • Instructional activities (quests/skills),
    experience points and peer ratings system
Write a Comment
User Comments (0)
About PowerShow.com