Gameplay
CSE 191A: Seminar on Video Game Programming
Lecture 6: Gameplay
UCSD, Spring, 2003
Instructor: Steve Rotenberg
Don Likeness
Lecture: “Programming Video Games”
Friday, May 16, 2:00-3:00
AP&M 4301
Co-founder & President of Treyarch Corp.
HomeworkTwo page report on any subject within game developmentI will accept almost any topic, but you must do some real research. Read some papers, find some books, read some stuff on the internet, or whatever you can find…Please get my approval on the topic so I can point you in the direction of some references if I canOptionally, you can do a simple demo program INSTEAD of the written report. The demo should demonstrate one relevant piece of technology or interactivity. Again, please get my approval on the topic first.You can turn it in on the last lecture (6/6/03) but sooner would be nice.
PrioritiesGameplay and fun are considered the top priorities in most successful games.Technology is important as a means of enabling the player to interact with the world in new and different ways.Technology also plays an important role in production efficiency (tools & support).It is important to experiment with gameplay as early in the development process as possible.
Play Control Feedback LoopComputer:
Read input deviceMove player ‘vehicle’ and update worldMove cameraRender world (& generate audio)Display image on monitor (& play audio)
Human:View image on monitor (& hear audio)Process image (& audio)Make decisionsMove fingers, hands to control input device
Interactivity FrequencySee and hear world (every frame (60 Hz))Control ‘vehicle’ (several times per second)Interact with environment (a few times every second)Interact with AI entities & other players (every second)Make tactical decisions (every 10 seconds)Make strategic decisions & planning (every minute)
Interactivity TypesRacing
Vehicle handlingPacing competition
CombatTargetingChasingHide & seekLearning special moves
AdventureDiscoverySolving puzzlesNavigationStory
This is only a partial list!
Design Issues
Learned skills vs. acquired skills
Balance (small & fast vs. big & slow)
Damage (lose performance as you get damaged?)
Simulation vs. game
Intelligence vs. patterns
…and many others
TestingDaily Testing: It is nice if a game has a full time person who can do constant daily testing of every new code & art feature that goes in. This person can also help with game design and other production assistant tasks.Focus Testing: Once the game is at a ‘presentable’ state, it is nice to do regular (monthly?) focus testing using people who have never played the game before. This type of testing is extremely valuable and it is very beneficial if the game designer is present and able to silently observe the test subjects.Beta Testing: Once the game is close to completion, it enters a rigorous testing phase with several on-site testers and several more testers who may be off-site.Product Testing: Once the game is finished and a final rom is submitted to the system manufacturer (Nintendo, Sony, Microsoft), they will do final testing to verify that the game follows their system conventions and behaves properly.
Input Devices
Dead zones, exponentials
Rectangular vs. polar coordinates
Gesture recognition
Device sampling
Force feedback
Next-gen input devices (cameras, voice input…)
Cameras
Cameras are hard.
Base camera class, derived cameras
Transitions
Types: polar, fixed, locked, follow, canned…
Collisions
Multiplayer
Job TypesProgramming
Programmer
Lead programmer
Technical director
ArtModeler
Animator
2D artist
Lead artist
Art director
Game designAssistant designer
Level designer
Lead designer
AudioSound effects designerComposer
ProductionTesterLead testerProduction assistantProducer
Resume & Interview SuggestionsCustomize presentation towards specific career types or even specific companiesDo some demos. I suggest doing a simple game that includes a variety of components (graphics, effects, sound, AI, terrain, collisions…). It doesn’t have to do those things terribly well, but it is nice to show competence in a variety of subjects. It might also be nice to do some focused demos that show off one particular subject very well. You can put demos on your personal web page and/or you can bring a CD or laptop to an interview with you.Clear objectiveBe persistent (but don’t be a pest)Background experience in art, design, sound, writing, music, film, etc. is a plusLearn as much as you can about the companies you apply to.Take as many related classes as you can (AI, networking, graphics, audio, art…)Study game programming on your own. Read books, write games, attend conferences…