1 / 20

CSE 380 – Computer Game Programming Introduction

Computer Game Programming. CSE 380 – Computer Game Programming Introduction. Entropy, by XRG Recursive Gaming, winner of 2007 Stony Brook Gaming Competition. Why study games?. To get game development jobs Because it is fun Because they are complex

gella
Télécharger la présentation

CSE 380 – Computer Game Programming Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Game Programming CSE 380 – Computer Game ProgrammingIntroduction Entropy, by XRG Recursive Gaming, winner of 2007 Stony Brook Gaming Competition

  2. Why study games? • To get game development jobs • Because it is fun • Because they are complex • Because they push the envelope of computing technology • Bottom line: • games are natural learning devices • making games is a great way to learn other things

  3. To really join the industry

  4. Modern Games are Complex • Can be very complex • Technologies used: • 2D & 3D Graphics • Sound & Music • Networking • Artificial Intelligence • Physics Simulation • Parallel Processing • Custom scripting languages • Etc. • All of it must be implemented efficiently

  5. Pong by Atari, released to public 1975

  6. Battlefield 3 by Electronic Arts/DICE

  7. Blizzard’s World of Warcraft • Over 10,000,000 subscribers • thousands play simultaneously • players in countries around the world • Requires: • Rich graphical environment • Complex networking • Semi-nude dancing • Needs an army to make it. And: • maintain • update • count profits

  8. The Development Team/Army Designers Programmers Artists Audio Engineers Producers

  9. The Modern Game Programmer • Is often more of a tools programmer • what tools? • tools for game designers, artists, & other programmers • Often works with very specific technologies • AI programmer, physics programmer, graphics programmer, etc. • Often has very specific skills • advice: find your niche

  10. What is this course about? • Syllabus says: • “Learners should have good basic skills in scripting and digital media production, and also a keen interest in digital media and entertainment systems on a variety of platforms, such as computers, the internet, mobile and handheld devices, television and games consoles. ” • “Learners will develop theoretical and practical skills related to the use of digital media in the production of a variety of professional DES. ”

  11. Course Objectives • Integrate technologies such as multimedia, artificial intelligence, and physics modeling into a cohesive, interactive game application. • Introduce the principles of game design that make for a playable experience. • Learn and use software engineering, team project management, and prototype presentation principles in a game development context.

  12. Serious Games • Does not mean it: • is boring • teaches in the tradition sense • is a tutorial • It does mean that it: • is a game • should entertain • should get the player thinking about something other than the raw gameplay • should try to enrich the player’s understanding of some subject

  13. An Example: Typist

  14. Game Documentation • For your project, you will be required to produce: • Game design docs • Storyboards • Game development LOGs (your Web pages) • Bug database

  15. The Game Design Document • The roadmap, blueprint, or outline, of a game • Concept: What is the game about? • Appearance: What will the game look like? • Controls: What controls will be used and how will they control the game? • Behavior: Answer gameplay questions like: • Who is the main character? • What can he/she do? • What’s the opposition? • How do you win the game? • Game levels • Etc …

  16. Storyboard • Sketches depicting the look & feel of the game • Show how players will interact • Show player progress & plot through a game • Example Format from The Tree of Life: • http://www.finegamedesign.com/script/index.html

  17. More Project Documentation • Game Development LOG (your Web pages) • specify progress • features added • game versions (ex: 1.0 ready for release, a.k.a. grading) • Bug Database (use a simple text file) • list of things to add next • list of known problems that have to be resolved • brief description of problem • if known, brief description of how to resolve problem • BTW: I strongly advise you use CVS

  18. Why 2D Games? • Avoid 3D Artwork Obstacles • Many topics are relevant to both 2D & 3D games • NOTE: • we will still have to implement our games efficiently • 2D game graphically speaking is basically 2 things: • Texture rendering (images) • Text rendering

  19. Course Topics • Game program architecture • Game Timing • GUI programming for games • Tile-based graphics • Page & side scrolling algorithms • Sprites & bitmap animation • Collision detection • Physics-based modeling • Artificial Intelligence in games • Pathfinding Algorithms • Render Threading • Optimization techniques • Game input devices • Sound & Music • Differing game types, modes, & perspectives • Game & level design • Rapid Prototyping & game testing • Game project management • Game design documentation • Gaming industry issues • Computer game history

  20. Reference Textbooks Adobe Flash CS6 Professional: Classroom in a Book, Adobe. Real-World Flash Game Development: How to Follow Best Practices AND Keep Your Sanity by Christopher Griffith, Focal Press.

More Related