Multimedia Programming - PowerPoint PPT Presentation

1 / 60
About This Presentation
Title:

Multimedia Programming

Description:

Multimedia Programming. Game Consoles. Sara Garcia Ramirez 66406B ... 1967 Bill Harrison developed the light gun and, with Bill Rusch, created video games ... – PowerPoint PPT presentation

Number of Views:100
Avg rating:3.0/5.0
Slides: 61
Provided by: tml9
Category:

less

Transcript and Presenter's Notes

Title: Multimedia Programming


1
Multimedia Programming
  • Game Consoles

Sara Garcia Ramirez 66406B Maria Yolanda Raton
Perez 66424A Javier Moreno Molinero 66419S Jorge
Navarro Medrano 66421U
2
Contents
  • History of game consoles
  • Nokia N-Gage
  • Sony PlayStation 2
  • Microsoft XBox360

3
Evolution Hw / Sw in game consoles 1950s and
1960s
  • 1952 OXO ? the first known graphical game to run
    on a computer.
  • The player plays against the computer.
  • Tic-tac-toe .
  • output was displayed on the computer's 3516
    pixel cathode ray tube.
  • 1966 Chase ? a simply video game that could be
    displayed on a standard television.
  • 1968 Ralph Baer had a prototype that could play
    several different games, including versions of
    table tennis and target shooting.
  • 1967 Bill Harrison developed the light gun and,
    with Bill Rusch, created video games

4
Evolution Hw / Sw in game consoles 1970s
  • 1972 Atari ? founded by Nolan Bushnell.
  • Pong ? The first arcade video game success.
  • The coin-operated arcade video game craze had
    begun.
  • Monitor Raster, standard resolution, 33
    cm/13-inches (Horizontal) Black and White. Input2
    rotary controllers.
  • 1972 Tic-Tac-Toe ? The first portable, handheld
    electronic game.
  • fragile LCD display and a very narrow selection
    of games.
  • they paved the way for more advanced single-game
    handhelds, called "LED games" or "LCD games"
    depending on their display system .

5
Evolution Hw / Sw in game consoles 1970s
  • The first home video games
  • 1972 Magnavox Odyssey ? the first video game
    console for the home market.
  • the Odyssey is analog rather than digital.
  • gamers could put on their TV screen to simulate
    colour graphics, though only two TV sizes were
    supported.

6
Evolution Hw / Sw in game consoles 1970s
  • Used a type of removable circuit card that
    inserted into a slot similar to a cartridge slot.
  • The Odyssey was successful enough to support an
    add-on peripheral ("light gun").

7
Evolution Hw / Sw in game consoles 1970s
  • Early 8-bit home consoles
  • By the mid-1970's video games were found on
    cartridges.
  • Programs were burned onto ROM chips that were
    mounted inside plastic cartridge casings that
    could be plugged into slots on the console.
  • Microprocessors in the consoles read the
    cartridge memory and ran whatever program was
    stored there.
  • 1976 ? The Fairchild VES was the world's first
    cartridge-based video game console.

8
Evolution Hw / Sw in game consoles 1970s
  • 1977 Atari ? released its cartridge-based console
    called the Video Computer System (VCS), later
    called Atari 2600.
  • 1978 Magnavox ? released its
  • cartridge-based console, the Odyssey 2
  • alphanumeric membrane keyboard,
  • standard joystick design
  • music, and sound-effects enhancement.

9
Evolution Hw / Sw in game consoles 1980s
  • 1980 Intellivision ? introduced by Mattel.
  • processor with instructions 10 bits and
  • registers 16 bits
  • 1982 Vectrex ?
  • own monitor.
  • illusion of color
  • peripherals light pen
  • and 3D imager

10
Evolution Hw / Sw in game consoles 1980s
  • 1982 Colecovision ?
  • The controller joystick, two side buttons, and a
    number-pad
  • A second module came with steering wheel and
    pedal controllers
  • the first console to feature the hit Donkey Kong,
    by Nintendo.
  • Cartridges were 2KB ROMs for Atari 2600 and 4K
    for Intellivision
  • This upper limit grew steadily from 1978 to 1983,
    up to 16KB for Atari 2600 and Intellivision, 32KB
    for Colecovision

11
Evolution Hw / Sw in game consoles 1980s
  • 1985 Nintendo Entertainment System (NES)
  • 8-bit video game console released by Nintendo
  • Designed to resemble the front-loading mechanism
    of a VCR.
  • It was bundled with Super Mario Bros
    72-pin cartridges
  • RF modulator and RCA composite
  • output cables.
  • The game controller, simple five-button layout
    two round buttons labelled "B" and "A," a "Start"
    button, a "Select" button, and a cross-shaped
    D-pad to replace the bulkier joysticks that most
    earlier gaming consoles had utilized

12
Evolution Hw / Sw in game consoles 1980s
  • 1986 Master System
  • An 8-bit video game console released by Sega
  • Graphics VDP (Video Display Processor)
  • 256 possible colors.
  • 8x8 or 8x16 pixel sprites, max 64
  • Horizontal, diagonal, vertical, and partial
    screen scrolling
  • ROM 64 kbit (8 kB) to 2048 kbit (256 kB),
    depending on built-in game
  • Main RAM 64 kbit (8 kB)
  • Video RAM 128 kbit (16 kB)
  • Notable games Sonic
  • Evolution with Master System II

13
Evolution Hw / Sw in game consoles 1990s
  • 1989 Game Boy
  • CPU Custom 8-bit Sharp Z80
  • RAM 8 kByte S-RAM.
  • Video RAM 8 kByte
  • Sound4 channel stereo sound.
  • Display Reflective LCD 160 x 144 pixels
  • Color Palette 4 shades of "gray" (green to
    black)
  • Communication Up to 4 Game Boys can be linked
    together via serial ports
  • Evolution Game Boy Pocket, Game Boy Light , Game
    Boy Color, Game Boy Advance, Game Boy Advance SP,
    Game Boy Micro

14
Evolution Hw / Sw in game consoles 1990s
  • 1991 Sega Game Gear
  • Main processor Zilog Z80 (8 bit)
  • Processor speed 3.58 MHz (same as NTSC dot
    clock)
  • Resolution 160 x 144 pixels
  • Colors available 4,096
  • Colors on screen 32
  • Maximum sprites 64
  • Sprite size 8x8 or 8x16
  • Screen size 3.2 inches (81 mm)
  • Audio 4 channel tone generator
  • RAM 8 KiB

15
Evolution Hw / Sw in game consoles 1990s
  • 16-bit era
  • 1990 Super Grafx
  • Memory Work RAM 8KB, Video RAM 64KB
  • Colors available 512
  • 1990 Neo-Geo
  • Internal RAM Work RAM 64 KB, Video RAM 68 KB,
    Z80 RAM 2 KB
  • Removable Memory Card 8kb or 68-pin

16
Evolution Hw / Sw in game consoles 1990s
  • 1990 Sega Mega drive
  • Converted to display PAL 50-Hz signal
  • English-language settings
  • Cartridge lock removed
  • High Definition Graphics
  • Stereo Sound

17
Evolution Hw / Sw in game consoles 1990s
  • 1991 Super nintendo
  • Sound Controller Chip 8-bit Sony SPC700 CPU for
    controlling the DSP
  • Sound RAM 64 KB shared between SPC700 and S-SMP.
  • Picture Processor Unit 16-Bit
  • Video RAM 128 KB
  • 64 KB of VRAM for screen maps and tile sets
  • Palette 256 entries 15-Bit color depth (RGB555)
    for a total of 32,768 colors.

18
Evolution Hw / Sw in game consoles 1990s
  • 32-bit era
  • 1994 Sega Saturn
  • Processors Two Hitachi SuperH-2 7604 32-Bit RISC
    processors at 28.6MHz (50-MIPS),SH-1 32-bit RISC
    processor (controlling the CD-ROM)
  • Memory 1MB (8 Megabits) SDRAM, 1MB (8 Megabits)
    DRAM, 512KB (4 Megabits) VDP1 video RAM
  • Peripherals Saturn digital gamepad (8-way pad, 6
    buttons)

19
Evolution Hw / Sw in game consoles 1990s
  • 1995 PlayStation
  • MIPS R3000A-compatible (R3051) 32bit RISC chip
    running at 33.8688 MHz
  • Operating Performance of 30 MIPS
  • Bus Bandwidth 132 Mbit/s
  • Instruction Cache 4 kB
  • Data Cache 1 kB (non associative, just 1024 bytes
    of mapped fast SRAM)
  • Maximum of 16.7 Million Colours

20
Evolution Hw / Sw in game consoles 1990s
  • Resolutions from 256224 to 640480
  • Adjustable frame buffer
  • Unlimited Colour Lookup Tables
  • Maximum of 4000 88 pixel sprites with individual
    scaling and rotation
  • Evolution Ps one, Ps one Lcd

21
Evolution Hw / Sw in game consoles 1990s
  • 1996 Nintendo 64
  • Processor Custom 93.75 MHz MIPS R4300i series
    64-bit RISC CPU
  • RAM 4 MB Rambus RDRAM
  • Bandwidth 562.5 MB/s
  • Bus Custom 9-bit Rambus at 500 MHz (max)
  • Graphics SGI 62.5 MHz contains two
    sub-processors.
  • RSP (Reality Signal Processor) controls 3D
    graphics and sound
  • Resolution 256x224 to 640x480 pixels
    flicker-free, interlaced
  • Colors 16.7 million (32,000 on screen)
  • Sound 16 bit ADPCM Stereo
  • Evolution games Super Mario 64, Zelda

22
Evolution Hw / Sw in game consoles 1990s
  • 1999 Dreamcast
  • CPU SH-4 RISC CPU with 128 bit graphic
  • Memory Main RAM 16 MB (Hyundai), Video RAM 8
    MB
  • Sound RAM 2 MB
  • Sound Engine Sound Processor with 47MHz 32-Bit
    ARM7 RISC CPU GD-ROM Holds up to 1.2 GB of data.
  • Inputs USB-like "Maple Bus". Four ports support
    devices such as digital and analogy controllers,
    steering wheels, joysticks, keyboards and mouse

23
Evolution Hw / Sw in game consoles 2000s
  • 2000 Sony released the PlayStation 2.
  • The Sims was released.
  • 2001 Nintendo released the GameCube and the
    successor to the Game Boy Color, the Game Boy
    Advance.
  • Microsoft entered the videogame console industry
    by releasing its new home console, the Xbox.
  • 2004 Nintendo released a brand new type of
    portable handheld console, the Nintendo DS.
  • 2005 Sony PlayStation Portable (PSP)
  • Microsoft announces Xbox 360

24
Contents
  • History of game consoles
  • Nokia N-Gage
  • Sony PlayStation 2
  • Microsoft XBox360

25
Nokia N-Gage
  • Offers communication and entertainment, game,
    music, e-mail client, Bluetooth connectivity.
  • "N-Gage is still being sold but it was not a
    success in the sense of developing a new
    category," said Antti Vasara, Nokia's vice
    president for corporate strategy, admitting his
    failure.

26
Nokia N-Gage Technical Specs
  • Operating System
  • Symbian OS v6.1
  • Java Technology
  • CLDC 1.0
  • Wireless Messaging API (JSR-120)
  • Mobile Media API
  • (JSR-135)
  • MIDP 1.0
  • Nokia UI API
  • Browser
  • WAP 1.2.1
  • XHTML
  • Sound Formats
  • AAC
  • AMR (NB-AMR)
  • MIDI tones (poly 24)
  • MP3
  • WAV
  • Colour Formats
  • Color Depth 12 bit
  • Resolution 176 x 208
  • Video Support
  • 3GPP formats (H.263)

27
Software development for Ngage
  • For N-gage the Nokia developer's Suite for J2ME
    is called N-gage developer program

28
Software development for Ngage
  • The Nokia Developer's Suite for J2ME
  • A UI Designer, which enables drag-and-drop
    creation of user interface layouts and tiled
    layers for games.
  • A Screen Flow Designer, which provides
    drag-and-drop features that speed up the creation
    of application logic

29
Software development for Ngage
  • Normally, the games for mobile phones are
    implemented using Java (Mobile Java)
  • But, as N-gage uses Symbian OS, it is possible to
    implement games for this mobile phone/console
    using C.

30
APIs for Nokia N-gage
  • Java APIs
  • CLDC 1.0 - MIDP 1.0
  • The Mobile Information Device Profile (MIDP),
    when combined with the Connected Limited Device
    Configuration (CLDC), is the Java runtime
    environment for today's most popular compact
    mobile information devices,
  • Nokia UI API
  • Low level access to image pixel data
  • Transparency support
  • Full screen drawing
  • Sound
  • Vibration and device lights control
  • Wireless Messaging API
  • Mobile Media API

31
Contents
  • History of game consoles
  • Nokia N-Gage
  • Sony PlayStation 2
  • Microsoft XBox360

32
PlayStation 2 Introduction
  • Release in Japan on March 2000.
  • The PlayStation brand's strength has lead to
    strong third-party support for the system.
  • More popular gaming console (90 millions unit
    shipped).
  • Extraordinary good platform to develop multimedia
    applications.

33
PlayStation 2 - HW Overview
  • Processor 128-bit "Emotion Engine"
  • Processor clock speed 300 MHz
  • Floating point unit (FPU) co-processor operating
    at 6.2 gigaflops
  • Bus speed 3.2 GB per second
  • Main processor MIPS R5900 CPU core, 64 bit
  • Original Play Station CPU core as I/O processor
  • Graphics "Graphics Synthesizer" clocked 150 MHz
  • Embedded cache
  • 4 MB VRAM
  • Resolution 640x480 or 320x240 interlaced.
    Colours 24-bit(16,777,216) maximum, as well as
    16-bit (65,536) mode
  • Geometry engine
  • Alpha channel , Anti-aliasing, Bezier surfacing ,
    Gouraud shading, Mip mapping, Perspective
    correction , Z-buffer.
  • Polygon rendering 75 million polygons per second

34
PlayStation 2 - HW Overview
  • Audio SPU2 (CPU)
  • Channels 48
  • Sample rate 44.1 KHz or 48 KHz
  • Memory 2 MB RAM
  • Optical digital output
  • Memory 32 MB RDRAM
  • Operating system Proprietary Sony
  • Game medium Proprietary 4.7-GB DVD
  • Supports original PlayStation CDs
  • Video DVD support
  • Audio CD support
  • Drive bay (for hard disk or network interface)
  • Other features Two memory card slots, Two USB
    ports, FireWire port (called iLink by Sony) .

35
PlayStation 2 Emotion Engine
  • The Emotion Engine is the name of the Central
    Processing Unit (CPU).
  • Designed by Toshiba and Sony.
  • Two times faster than a 733 MHz Pentium III.
  • 128 bit technology, integrated on a single 0.18
    micrometer process technology chip.
  • Based on the MIPS R5900, is sort of a combination
    CPU and DSP processor, whose main function is
    simulating 3D worlds.
  • Image processing unit (basically an MPEG2
    decoder).

36
PlayStation 2 Technical Data
  • R5900
  • instructions and computations performed by the
    processor are simpler and fewer.
  • Superscalar they can perform multiple
    instructions at the same time.
  • Floating point unit (FPU) a special processor
    that is dedicated to handling complex
    mathematical equations, with floating point
    operations.
  • The complexity of such numbers can create a
    tremendous bottleneck if the main processor. To
    alleviate this, the non-integer numbers are sent
    to the FPU (6.2-gigaflops) .

37
PlayStation 2 Technical Data
  • Hardware effects that are handled by the Graphics
    Synthesizer
  • Alpha channel to add transparency effects to an
    object. This is a special graphics mode used by
    digital video, animation and video games to
    achieve certain looks
  • 24 bits are used to define the amounts of red,
    green and blue, 8 bits each, needed to create a
    specific colour. Another 8 bits are used to
    create a Gray-scale mask that acts as a separate
    layer for representing levels of object
    transparency.
  • The degree of transparency is determined by how
    dark the gray in the alpha channel is. By making
    an area of the mask dark gray, you can make an
    object appear to be very transparent By making
    it light grey, you can create special fog or
    water effects.

38
PlayStation 2 Technical Data
  • Bezier surfacing is a 3-D modelling process that
    calculates how many polygons are needed to create
    an object.
  • Perspective correction makes the texture map
    resize at the same rate as the object that it is
    mapped on.
  • Mip mapping It is a form of texture mapping
    whereby different sizes of each texture map are
    made. In essence, the processor replaces the
    appearance of an object with a more detailed
    image as you move closer to the object in the
    game .

39
Multimedia Features
  • Compatible with older PlayStation games
  • DVD Video playback, CD-ROMs or higher-capacity
    DVD-ROMs.
  • USB and FireWire ports.
  • Online play separate unit called the Network
    Adaptor. Dynamic Network Authentication System
    (DNAS). The purpose of this system is to prevent
    piracy and online cheating.

40
Hardware Features
The incredible amount of heat generated by the
processors requires this huge heat sink. View of
the Emotion Engine and Graphic Synthesizer
processors.
41
Multimedia Features
  • Controller
  • Is the primary user interface for the PlayStation
    2.
  • With its winged shape, analog controls and
    abundance of well-positioned buttons, it is easy
    to use yet powerful.
  • The standard PS2 controller has 15 buttons all
    of them, except for analog, Start and Select are
    analog (pressure-sensitive), As the button is
    pressed harder, more of the disk comes into
    contact with the strip, gradually increasing the
    level of conductivity .

42
Multimedia Features
  • PS2 controllers also have two analog joysticks.
  • Two potentiometers, variable resistors, are
    positioned at right angles to each other below
    the joystick.
  • Dual Shock 2 controller, actually the reason for
    its name, is force feedback. This feature
    provides a tactile stimulation to certain actions
    in a games.

43
Software Development
  • The PS2 is a powerful machine that has the
    potential to be used in a lot more ways than just
    a games machine.
  • Currently there are a number of different avenues
    to develop programs for PlayStation2
  • PS2DEV home brew development community. These
    are people that use open source, GPL free
    software to develop programs for PS2.
  • Sony released Linux for the PS2 in 2002. It
    includes a hard drive, LAN connection and other
    bits and pieces to turn PS2 into a Linux machine.

44
Software Development
  • Official Development Kits (If you have plenty of
    money to throw around) you could always approach
    Sony for an official development kit.
  • Sony used to make its official PlayStation 2 API
    available only to licensed PlayStation
    developers. This is because Sony wanted to
    restrict how many people could write a
    PlayStation 2 game, and wanted to profit from
    them as much as possible.
  • Develop Tools
  • Toolchain GCC EE/IOP/DVP compilers for Win32,
    buildscripts for EE and IOP, PS2Dev Environment
    for Win32
  • Misc image/texture/icon utilities. PS2 Image
    Studio byLion, bmp2icon v0.2, MilkShape
    plug-in Icon Importer/Exporter v0.8
  • Debugging Tools.Win32 Cvgwin Remote GDB, test
    release, ps3reg PS2DIS Hanimars disasembler.

45
Software Development
  • PlayStation 3 is based entirely on open and
    publicly available APIs
  • Cg, Nvidia's C-like shading language.
  • COLLADA, an open, XML-based file format for 3D
    models.
  • OpenGL ES 2.0, the embedded version of the
    popular OpenGL graphics API.
  • OpenMAX, a collection of fast, cross-platform
    tools for general "media acceleration," such as
    matrix calculations.
  • OpenVG, for hardware-accelerated 2D vector
    graphics.

46
Contents
  • History of game consoles
  • Nokia N-Gage
  • Sony PlayStation 2
  • Microsoft XBox360

47
XBOX 360 Introduction
  • The last game consoling launched (22-11-2005)
  • Developed by Microsoft. XBOX is the Microsofts
    first inclusion in game consoling.
  • XBOX 1 (the previous model) sold more than 20
    millions units.
  • Microsoft predicts to sell 5 millions of XBOX 360
    until March

48
XBOX 360 Hardware
  • Custom IBM PowerPC-based CPU
  • Three symmetrical cores running at 3.2 GHz each
  • Two hardware threads per core
  • 128 128 bits registers per hardware thread
  • 1 MB L2 cache
  • CPU Game Math Performance
  • 9 billion dot product operations per second
  • Custom ATI Graphics Processor
  • 10 MB of embedded DRAM

49
XBOX 360 Hardware
  • Memory
  • 512 MB
  • Storage
  • Detachable and upgradeable 20-GB hard drive
  • 12x dual-layer DVD-ROM
  • I/O
  • Support for up to four wireless game controllers
  • Three USB 2.0 ports
  • Two memory unit slots

50
XBOX 360 Multimedia
  • Optimized for Online
  • Nowadays, all the consoles must be prepared for
    network gaming
  • Ethernet port
  • Wi-Fi 802.11a, 802.11b and 802.11g

51
XBOX 360 Multimedia
  • Digital Media Support
  • Support for DVD-Video, DVD-ROM, DVD-R/RW,
    DVDR/RW, CD-DA, CD-ROM, CD-R, CD-RW, WMA CD, MP3
    CD, JPEG Photo CD
  • High-Definition Game Support
  • Standard-definition and high- definition video
    output supported
  • Audio
  • Multi-channel surround-sound output
  • Supports 48-KHz 16-bit audio

52
Programming games for XBOX 360
  • Xbox 360 games are programmed using the Microsoft
    Visual Studio development system.
  • Development kit (XDK) supports development using
    either C or C.
  • Recommended software for writing Xbox 360 code
    using a PC
  • Microsoft Visual Studio 2005 or Visual Studio
    .NET 2003
  • Direct3D 9.0 Software Development Kit
  • Microsoft Cross-Platform Audio Creation Tool
    (XACT)

53
Programming games for XBOX 360
  • Multithread your game engine. Single-threaded
    games use only a third of the processing power.
  • Prefer using native Windows thread APIs and
    synchronization primitives.
  • A simple architecture for multithreading on Xbox
    360 uses one thread for world updates and another
    thread for graphics processing.
  • An additional CPU core can be used for audio,
    decompression, geometry generation or other game
    tasks.
  • Another way to utilize additional cores is with
    OpenMP.

54
Programming games for XBOX 360
  • Xbox 360 does not have hard disk paging like
    Windows.
  • Access memory carefully.
  • Optimize for the L2 cache. Xbox 360 has a 1MB L2
    cache.
  • Avoid walking linked-lists that has nodes spread
    across memory.
  • Avoid walking any large data structure more than
    once per frame.
  • Prefer contiguous data structures, like arrays.

55
Programming games for XBOX 360
  • Prefer calculating data to loading it. The Xbox
    360 CPU is a mathematical monster.
  • For best performance, prefer native Windows
    functions to C runtime functions. For instance,
    prefer ReadFile over fread.

56
Programming games for XBOX 360
  • Graphics
  • Target the Direct3D 9.0 interface
  • Direct3DX utility functions are not tuned for
    Xbox 360
  • Support a minimum frame buffer size of 1280
    720.
  • HLSL shader model 3.0 programming is the right
    way to harness the GPU.
  • Avoid using the fixed-function pipeline. It is
    not supported on Xbox 360.
  • Use PIX, a performance-analyzing tool for game
    and graphics tuning.

57
Programming games for XBOX 360
  • Audio
  • XACT is the preferred way of creating and playing
    audio content on both PC and Xbox.
  • Source material should be sampled at a minimum
    rate of 48KHz.
  • XMA is the native audio format for Xbox 360.

58
Programming games for XBOX 360
  • Networking
  • Use basic sockets or Winsock for network
    programming
  • Prefer UDP as the network protocol for most games
  • Plan for voice chat within your game
  • Contents
  • Update your content pipeline to support
    big-endian hardware. Intel-based PCs are
    little-endian, while Xbox 360 is big-endian.
  • Ensure the game art pipeline supports features
    like vertex compression, texture compression, and
    triangle stripping.

59
Programming games for any console
  • Design for controller input, not for keyboard
    mouse input
  • Use fonts that are readable on televisions.
  • Use simple menus avoid long scrolling lists.
  • Consider using a television as an output device
    during development.
  • Minimize load times.
  • Not all the console player has a memory unit.
  • Be aware of the title-safe region on televisions

60
References
  • History of the game consoles
  • www.wikipedia.com
  • N-Gage
  • www.n-gage.com
  • www.hta-bi.bfh.ch/Projects/polyphm2/javadoc/nokia_
    j
  • http//java.sun.com/products
  • Playstation
  • www.ps2-pro.com
  • http//playstation2-linux.com/
  • http//ps2dev.org/ps2/
  • www.arstechnica.com
  • X-BOX 360
  • www.tmstation.scei.co.jp
  • www.technology.scee.net/middleware
  • www.xbox.com
Write a Comment
User Comments (0)
About PowerShow.com