CS 491J - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

CS 491J

Description:

Computer Science of Multi-Player Games. Welcome. This is not Victorian Literature. This is Computer Science 491G. So what are we here to learn? ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 26
Provided by: brenda6
Category:
Tags: 491j | victorian

less

Transcript and Presenter's Notes

Title: CS 491J


1
CS 491 CSMPG
  • Lecture Zero

2
Welcome
  • This is not Victorian Literature
  • This is Computer Science 491G
  • So what are we here to learn?

3
Course Structure Classes
  • First Half of the Semester
  • The intersection of CS and Games
  • Theory
  • Software Engineering
  • Graphics
  • Artificial Intelligence
  • Networking
  • Game Design (Not quite CS)

4
Course Structure Classes
  • Second Half of the Semester
  • Student Presentations
  • Each student will make two class presentations
  • 15 minutes per presentation
  • Subject of your choice related to games (given
    instructor approval)
  • Opportunity to explore interesting subjects
  • Gain experience speaking to a group

5
Course Structure Programming
  • C is the course language
  • Six Mini-Labs
  • First one is due on 2/2 (one week!)
  • Opportunity to do limited exploration of the
    fundamental subjects
  • Final Programming Project
  • Large (half semester) project doing more in-depth
    game development

6
Course Structure Codebase
  • All programming will use the CS 491 codebase
  • Basic functionality a simple game
  • Youll get to extend and enhance it

7
How to fail
  • Dont come to class
  • Start programming the day before somethings due
  • Give a bad presentation
  • Copy someone elses work

8
Course Structure Grading
  • 30 Presentations
  • 30 Labs
  • 30 Final Project
  • 10 Class Participation

9
Course Structure Details
  • http//signl.cs.umass.edu/491G
  • Brendan Burns
  • bburns_at_cs
  • CS 254
  • Office Hours
  • 930-1030am Wed
  • 11am-12pm Fri

10
Codebase Details
  • In CVS on linux edlab
  • /courses/cs400/cs491j/cs491j/cvsroot
  • CVS clients available for all platforms
  • Checkout code into your local directory

11
Codebase Organization
  • /gamecode/
  • doc/
  • src/
  • include/
  • examples/
  • echo/
  • taggame/

12
What is this for?
13
CSerializable
  • Objects which can be sent implement the
    CSerializable interface
  • serial_data CSerializableserialize()
  • void CSerializabledeserialize(serial_data )

14
CTarget
  • CTargets can receive serial_data messages
  • CTargetsend(serial_data data)

15
CSource
  • CSource has a target to which it sends messages
  • CSource(CTarget )
  • CSourcehasTarget(CTarget )
  • CSourcesetTarget(CTarget )
  • CTarget CSourcegetTarget()

16
Network Implementations
  • CSendSocket public CTarget
  • CRecvSocket public Csource
  • CSocketFactory builds provides platform specific
    implementations.

17
How does it work?
18
Base Classes
  • CBasicClient(factory, host, hst_port, clnt_port)
  • CBasicClientconnect()
  • CBasicClientdisconnect()
  • CBasicServer(factory, port)
  • CBasicServersendToAll(CMessage )
  • CBasicServerrun()

19
EchoServer / EchoClient
20
What makes it a game?
21
CEvent / CEventThread
  • Timed callbacks
  • Event thread takes care of details
  • cnew CEvent(t.now()100, myFunc, myArg)
  • t.addEvent(c)
  • t.run() or t.start()

22
CGameState / CGameObject
  • CGameState holds game objects
  • It extends CMessage
  • CGameObject is extended to become specific
    objects in a game

23
CIntention / CGame
  • CIntentions indicate what a client would like to
    do.
  • CGame evaluates CIntentions and modifies the game
    state.
  • CGameState CGamerules
  • (vectorltCIntention gt, CGameState ) state

24
CRenderer / CPlayer
  • Create a representation of a CGameState
  • CRendererrender(CGameState )
  • CSDLRenderer can be extended to simplify
    graphical renderering
  • CPlayer represents a generic player
  • vector ltCIntention gt CPlayerevaluate()

25
Tag Game
Write a Comment
User Comments (0)
About PowerShow.com