csc 631 831 multiplayer game design and development lecture notes about game engine l.
Skip this Video
Loading SlideShow in 5 Seconds..
CSc 631/831 Multiplayer Game Design and Development - Lecture notes about Game Engine PowerPoint Presentation
Download Presentation
CSc 631/831 Multiplayer Game Design and Development - Lecture notes about Game Engine

Loading in 2 Seconds...

play fullscreen
1 / 19

CSc 631/831 Multiplayer Game Design and Development - Lecture notes about Game Engine - PowerPoint PPT Presentation

  • Uploaded on

CSc 631/831 Multiplayer Game Design and Development - Lecture notes about Game Engine Dr. Ilmi Yoon What is Game Engine Game Engine – real engine of a car Non game specific technology Game – a real car

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

CSc 631/831 Multiplayer Game Design and Development - Lecture notes about Game Engine

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
what is game engine
What is Game Engine
  • Game Engine – real engine of a car
    • Non game specific technology
  • Game – a real car
    • all the content (models, animations, sounds, AI, and physics) which are called 'assets‘
    • the code required specifically to make that game work, like the AI, or how the controls work
game engine
Game Engine
  • reusable software components within different games
  • enable simplified, rapid development of games in a data-driven manner
  • sometimes called "game middleware" since it allows specific systems in the engine to be replaced or extended
game engine8
game engine
  • software system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and desktop operating systems such as Microsoft Windows, Linux, and Mac OS X. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3Dgraphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, and a scene graph. The process of game development is frequently economized by in large part reusing the same game engine to create different games.

Modern game engines are some of the most complex applications written, frequently featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, and level design. It is now common (as of 2003), for example, for a typical game development team to have several times as many artists as actual programmers

game engine history
Game Engine History
  • The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS). (See also:first-person shooter engine). Such was the popularity of id Software's Doom and Quake games that, rather than work from scratch, other developers licensed the core portions of the software and designed their own graphics, characters, weapons and levels—the "game content" or "game assets." Separation of game-specific rules and data from basic concepts like collision detection and game entity meant that teams could grow and specialize.
  • Later games, such as Quake III Arena and Epic Games's 1998 Unreal were designed with this approach in mind, with the engine and content developed separately. The practice of licensing such technology has proved to be a useful auxiliary revenue stream for some game developers, as a single license for a high-end commercial game engine can range from US$10,000 to millions of dollars, and the number of licensees can reach several dozen companies (as seen with the Unreal Engine). At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive video game industry.
mmog middleware
MMOG Middleware
  • Middleware for massively-multiplayer online games is far more complex than for single-player video games. However, the increasing popularity of MMOGs is spurring development of such middleware packages. Some prominent solutions, based upon sales[citation needed], include:
    • Unreal Engine 3 (client-only)
    • CryEngine2 (client-only)
    • RealmCrafter
    • Gamebryo (client-only)
    • Q (game engine) (client-only, but with server solution as 'Messiah')[14]
    • AbyssalEngine
    • Multiverse Network
    • Bigworld Technology[15]
    • HeroEngine[16]
    • Project Darkstar(Open Source)
  • "pre-invent the wheel" by developing robust software suites
  • Some middleware only do one thing
    • SpeedTree was used to render the realistic trees and vegetation
graphics engine
Graphics Engine
  • The Renderer (Graphics Engine)
    • RealmForge, Ogre, Power Render, Crystal Space, Genesis3D, and JMonkey Engine
    • scene graph, which is an object-oriented representation of the 3D game world
  • a library of subroutines for 3D rendering and game development.
  • Game development with Panda3D usually consists of writing a Python program that controls the Panda3D library.
  • emphasis is on supporting a short learning curve and rapid development.
panda3d features
Panda3D Features
  • Short learning curve
  • Rapid development
  • Library callable from C++ or Python
  • Rock solid stability
  • Free software license
  • Support for Windows and Linux
  • Simple installation
  • Collection of free models and artwork
  • Multiple active development teams
    • Disney Imagineering
    • CMU Entertainment Technology Center
  • Lots of documentation
    • Extensive manual
    • Collection of code samples
    • API Reference materials

To start Panda3D, create a text file and save it with the .py extension. PYPE (available at, SPE and IDLE are Python-specific text-editors, but any text editor will work. Enter the following text into your Python file:

import direct.directbase.DirectStart run()

To run your program, type this at the command prompt:


import direct.directbase.DirectStart #Load the first environment model environ = loader.loadModel("models/environment") environ.reparentTo(render) environ.setScale(0.25,0.25,0.25) environ.setPos(-8,42,0) #Run the tutorial run()

test1 py
  • loader.loadModel() loads the specified file
    • “environment.egg” file in the models folder.
    • The return value is a 'NodePath', effectively a pointer to the model
  • scene graph
    • At the root of the tree is an object named render
default mouse control
Default Mouse Control
  • Left Button: pan left and right
  • Right Button: move forwards and backwards
  • Middle Button: rotate around the origin of the application
  • Right and Middle Buttons: roll the point of view around the view axis