DOC PREVIEW
UI ECE 591 - Programming Language

This preview shows page 1-2-24-25 out of 25 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Programming Language Support for Collaborative Virtual EnvironmentsWhy study games?Game TechnologiesWhat is a Virtual Environment? My definition for purposes of this talkWoWWhat do we know about WoW’s internals?ChallengesResearch Avenues where you see ‘state of art’ substitute ‘WoW’HypothesisWhat does “Language Support” Really Mean?TexturesTexture Example3D ModelModviewScripting Example (SecondLife)User-defined ContentCVESlide 18Slide 19Slide 20Static and Dynamic Model DataUnder ConstructionS3D FilesNew This SpringI Need HelpProgramming Language Support for Collaborative Virtual EnvironmentsProgramming Language Support for Collaborative Virtual EnvironmentsClint JefferyUniversity of [email protected] JefferyUniversity of [email protected] study games?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)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)Game TechnologiesGame 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?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?What is a Virtual Environment?My definition for purposes of this talkWhat 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3D, video game-likeMulti-user, collaborative environmentPersistent “virtual world”I am interested in building them…For both games and serious purposesWoWWoWWhat do we knowabout WoW’s internals?What do we knowabout WoW’s 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 I’ve got.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 I’ve got.ChallengesChallengesGiven $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” won’t have theseGiven $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” won’t have theseResearch Avenueswhere you see ‘state of art’ substitute ‘WoW’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Neces sary to advance state of art in:Cost of codingCost of art, modeling, content creation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Necess ary to advance state of art in:Cost of codingCost of art, modeling, content creationHypothesisHypothesis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…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…What does “Language Support” Really Mean?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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 notTexturesTextures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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 PhotoshopTexture ExampleTexture Example3D Model3D ModelIf CAD/blueprint data is available, use it… if you can


View Full Document

UI ECE 591 - Programming Language

Documents in this Course
SunSpiral

SunSpiral

34 pages

Contol

Contol

11 pages

Load more
Download Programming Language
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Programming Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Programming Language 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?