throbber
PC Gam
`
`mg Per
`
`.US.6aFl8hin
`
`9n.._..UrOD.D.
`
`ce 2
`
`0 and D"
`Irect-X 5.0
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 1
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 1
`
`

`

`A Force Feedback
`
`Programming Primer
`
`For Gaming Peripherals Supporting DirectX 5
`and I—FORCE 2.0
`
`by
`
`Louis B. Rosenberg Ph.D.
`
`Endorsed by these Manufacturers of Force Feedback Hardware:
`
`Logitech Inc.
`ThrustMaster
`
`ACT Labs
`
`CH Products
`SC&T International
`
`Interactive IO
`
`Advanced Gravis
`
`InterAct Accessories
`
`Nuby Manufacturing
`
`Immersion Corporation
`
`
`
`
`
`Immersion Corporation
`the Force Feedback Company
`
`_
`
`IMIVIERSION CORPORATION, San Jose, Caljfomia 95131 Copyright © 1997
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 2
`
`:
`E
`
`
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 2
`
`

`

`-Rosenberg, Louis B.
`
`_
`
`A Force Feedback Programming Primer. For PC Gaming
`Peripherals Supporting I-Force 2.0 and DirectX 5
`
`Editorial/production supervisor: Tim Lacey
`
`Cover design: Cathy Ricke
`
`Cover art contributions: Bruce Schena
`
`Special Thanks to Adam Braun,_Dean Chang, and everyone else on the LFORCE
`
`development team who provided technical assistance without which this book would have
`
`been impossible.
`
`Special thanks to I—FORCE hardware manufacturers, who contributed to Section 1.5 of
`this book.
`
`DirectX is a trademark of Microsoft Corporation.
`
`I-Force and I~Force Studio are
`
`trademarks of Immersion Corporation. Product and company names in section 1.5 and
`
`throughout this book are trademarked by their respective holders.
`
`
`
`Copyright © 1997
`
`Immersion Corporation
`
`San Jose, CA 95131
`
`, First Printing, April 1997
`
`Second Printing (revised), June 1997
`
`All rights reserved. No part of this book may be reproduced, in any form or by any means,
`
`without permission in wiiting from the publisher.
`
`Printed in the United States of America
`
`i
`
`E
`
`E
`
`E
`
`
`
`APPLEINC.
`
`..
`
`_-
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 3
`
`

`

`
`
`(:-
`3E
`
`ii.
`1‘;
`
`".’".".Ccfr’l-’:1’-\<,%‘-v13’%T:F?bf§§‘Ef?i‘§%-Krfirri-I-W?»-....ma!-‘raw.
`
`PREFACE
`
`Like graphics and sound, Force Feedback is a creative medium that will let you add
`
`engaging perceptual content to your gaming environments. As is true of any creative
`
`medium, the potential of force feedback is essentially unlimited but the effectiveness of
`
`particular force feedback implementations is ultimately in the hands of the individual
`
`developer. Our goal in -writing this book is to expose developers to the exciting potential
`
`of force feedback technologies,
`
`to _provide guidelines on how to use “feel” most
`
`effectively within your gaming applications, and to encourage gaming innovators to invent
`
`creative uses of “feel” that have never before been imagined. We sincerely hope the
`
`information and insights provided in this text will encourage developers to use force
`
`feedback technologies to their fullest potential.
`
`This book is structured as an introduction to the hardware and software issues of force
`
`is presented as a reference document written for
`The text
`feedback technology.
`professionals involved in allraspects of game development from conceptual design to low-
`
`level coding. For the game designer, this book provides an overview of force feedback
`
`device capabilities, giving you an understanding of how “feel” can enhance your current
`
`gaming titles. For the programmer, this book describes the methods used to add feel
`
`sensations to your applications. We hope the information provided in this text will clarify,
`
`simplify, and facilitate the force feedback development process.
`
`
`
`While many of the concepts introduced in this text are applicable across all platforms, the
`
`specific code examples used in this text assume that you are programming force feedback
`hardware compatible with the DirectX 5 specification defined by Microsoft and
`
`Immersion Corporation. Some of the advanced features described in this text are enabled
`
`through the “I-FORCE Studio” toolset from Immersion Corporation. The LFORCE
`
`Studio toolset enhances and facilitates DirectX force feedback development and is
`described in detail in the last chapter of this book. For the latest updates on force
`
`feedback technology and a list of titles currently supporting this new technology, please
`visit the web site www.force-feedback.com.
`
`
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 4
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 4
`
`

`

`'
`".
`t
`
`
`-'"‘-~«
`
`
`CONTENTS
`
`1. INTRODUCTION........................................................................................................... 1
`1.1 OVERVIEW OF FORCE FEEDBACK TECHNOLOGY......................................................... 2
`1.2 THE SCIENCE OF FORCE FEEDEACK. ............
`..............................:I............................. 6
`I .2. a Bi-Directional Interaction ................................................................................. .. 9
`
`I .2.b So, What is a Feel Sensation Anyway? ....................................................... .. I I
`
`I .2. c Reflexes, A Techniquefor Efiicient Force Feedback Programming.............. .. I 6
`I .2.d Intelligent Disturbance Filtering (IDF) .......................................................... .. I 8
`
`1.3 SUPPORTING FORCE FEEDBACK — THE EMERGING STANDARDS .............................. .. 20
`
`1.4 THE DIRECTX API AND THE I-FORCE STUDIO TOOLSET. ..................................... .. 21
`
`1.5 WHAT TO EXPECT EROM MANUFACTLIRERS ...... ..' .................................................... .. 23
`
`I.5.a Logitech Inc. .......... .......................................................................................... .. 24
`
`I.5.b CHProducts .................................................................................................... .. 25
`I .5.c ThrustMaster ........................................................
`......................................... .. 26
`
`I .5.d Immersion Corporation ................................................................................... .. 2 7
`
`I.5.eACTLabs ..................................................................................
`
`................ ..28
`
`I .5.fSC&T International ................
`
`........................................................................ .. 29
`
`I . 5.g Nuby Manufacturing........................................................................................ .. 30
`I.5.hInteract ............................................................................................................. .. 31
`
`I. 5.1‘ Interactive I/O................................................................................................... .. 32
`
`2. THE BASICS OF FORCE FEEDBACK ................................................................... 33
`
`2.1 OVERVIEW ............................................................................................................... .. 34
`
`2.2 OVERVIEW OF FORCE FEEDBACK HARDWARE ARCHITECTURE .............................. .. 35
`
`2.3 OVERVIEW OF FORCE FEEDBACK SENSATIONS ....................................................... .. 43
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 5”
`
`%
`=
`
`
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 5
`
`

`

`iv
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 6
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 6
`
`

`

`2.3.a Spatial Conditions ........................................................................................... .. 43
`2.3.12 Temporal Waves .............................................................................................. .. 44
`2.3.4: Dynamic Sensations......................................................................................... .. 45
`2.4 FORCE STREAMING .................................................................................................. .. 47
`
`3. UNDERSTANDING SPATIAL CONDITIONS ................................................... 49..
`
`3 .1 OVERVIEW ............................................................................................................... .. 50
`
`3.2 SPRING ..................................................................................................................... .. 52
`
`3.3 DAMPER ..................................................................................................................... 57
`
`3.4 INERTIA .................................................................................................................... .. 59
`
`3.5 FRICTION .................................................
`
`............................................................... .. 60
`
`3 .6 TEXTURE ................................................................................................................. .. 61
`
`3.7 WALL ......................................................................................................................... 63
`
`3.8 BARRIER .................................................................................................................. .. 68
`
`4. UNDERSTANDING TEMPORAL WAVES ........................
`
`............................ 71
`
`4.1 OVERVIEW ............................................................................................................... .. 72
`
`4.2 DEFINING FORCE SIGNALS: CONSTANT & PERIODIC ................................................. 73
`
`....... .. 75
`4.2.a Impulse Wave Shaping ofForce Signals ..........................................
`4.2.b Summary ofPeriodic Force Signal Generation ............................................. .. 8]
`
`4.2.c Three types ofPeriodic Waves ........................................................................ .. 83
`4.3 DEFINING FORCE PROFILES ..................................................................................... .. 86
`
`4. 3.a Custom Force Profiles..........................................
`
`........................................ .. 86
`
`S. UNDERSTANDING DYNAMIC SENSATIONS ................................................. 89
`
`5.1 OVERVIEW .................. ..-. .......................................................................................... .. 90
`
`5.2 THE BASIC DYNAMIC SENSATIONS .......................................................................... .. 93
`
`5.3 DYNAMIC RECOIL — “ULTRA—REALIsTIC WEAPON SIMULATION” ............................. 96
`
`5.4 DYNAMIC IMPACT — “ULTRA—REALISTIC COLLISION SIMULATION” ........................ .. 98
`
`5.5 DYNAMIC LIQUID — “A LIQUID SENSATION THAT JIGGLES” .................................. .. 100
`
`5.6 DYNAMIC INERTIA — “ADJUST THE WEIGHT OF YOUR INTERFACE” ...................... .. 102
`
`5.7 DYNAMICCENTERDRIPT - “SPRING ORIGIN FOLLOWS USER OVER TIME” ........... .. 103
`
`5.8 DYNAMIC SLING — “LETS YOU FEEL A BALL-ON-A-STRING” .................................. .. 104
`
`5.9 DYNAMIC PADDLE -“LETS YOU FEEL A BALL—PADDLE INTERACTION” .................. .. 107
`
`5.10 DYNAMIC CONTROL LAW .................................................................................... .. 111
`
`6. THE PROGRAMMING MODEL FOR SIMULATED FEEL ............................. 113
`
`6.1 OVERVIEW ......................................... ..' .................................................................. .. 114
`
`vi
`
`CONTENTS’
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 7
`
`
`
`E
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 7
`
`

`

`_
`
`
`
`I
`
`1:
`
`E
`
`
`
`1‘.
`
`
`
`'5
`
`
`
`
`
`%
`
`6.2 THE CONCEPTUAL MODEL SHARED BY DIRECTX AND LFORCE .......................... 1 16
`6.3 THE EFFECT STRUCTURE ....................................................................................... .. 119
`6 .4 THE‘. TYPE DEFINITIONS ......................................................................................... .. 123
`6. 4‘. a Condition Type Definitions ........................................................................... .. I23
`6. 4.?) Wave Type Definitions................................................................................... .. I24'
`6.4.0 Dynamic Type Definitions ............................................................................. .. I24
`6.5 DIRECTION CONVENTIONS ....................................................................................... 125
`6.5.a ID Devices ..................................................................................................... .. I25
`6.5.}: 2D Devices .........................................................
`.......................................... .. 125
`6.5. c 3D Devices ....................................................................................................... I25
`6.5. d nD Devices .................................................................................................. ...... I26
`6.6 TYPE SPECIFIC PARAMETER STRUCTURE ................................................................ 127
`6. 6. a Condition Strucr............................................................................................. .. I27
`6.'6.b Periodic Siruct................................................................................................ .. I28
`6. 6.c Constant Struct............................................................................................... .. I29
`
`6.6.dCustom Szfrucz‘.........................................
`
`....................‘.................................... 130
`
`6. 6.eRamp Struct.................................................................................................... -130
`6. 6.fDynamic Srruci ............................................................................................... ..131
`6. 6.g Barrier Struct................................................................................................. .. I33
`6.6.}: Wall Struct ..........................
`........................................................................... I35
`6. 6. i Advanced Periodic Struci............................................................................... .. J3 7
`6. 6.j Texture Struct.................................................................................................. .. I38
`7. WPLEMENTATION OF FORCE FEEDBACK USING BIRECTINPUT ....... 139
`7.1 OVERVIEW ...............................................................................................................140
`7 .2 ENUMERATING DIRECTINPUT FORCE FEEDBACK JOYSTICKS ................................ .. 141
`7.3 CREATING THE. DIRECTINPUT FORCE FEEDBACK DEVICE ....................................... 142
`7 .4 GETTING DIRECTINPUT FORCE FEEDBACK DEVICE CAPABILITIES ........................ .. 143
`7 .5 GENERATING DIRECTINPUT FORCE FEEDBACK DEVICE EFFECTS EXAMPLE: SPR1NG_
`AND TEXTURE ................................................................................................................ 144
`8. THE I-FORCE 2.0 WRAPPER FUNCTIONS........................................................ 147
`3.1 OVERVIEW ............................................................................................................... 148
`
`8.2 CONDITION FUNCTION WRAPPERS ............................................................. .. 149
`
`8.3 WAVE FUNCTION WRAPPERS ....................................................................... .. 153
`
`3.4 DYNAMIC FUNCTION WRAPPERS ................................................................ .. 155
`8.5 SAMPLE CODEFOR FUNCTIONWRAPPERS. ............................................................. 158
`
`APPLE INC.
`
`CONTENTS
`
`vii
`
`EXHIBIT 1017 - PAE 8 _
`
`_
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 8
`
`

`

`
`
`9. THE I-FORCE STUDIO TOOLSET FOR
`
`....
`
`171
`
`9.1 OVERVIEW ............................................................................................................. .. 172
`
`9.2 INTRODUCTION ...................................................................................................... .. 173
`
`9.3 THE DEVELOPMENT ENVIRONMENT...................................................................... .. 174
`
`9.4 THE SENSATION DESIGN PROCESS ....................................................................... .. 177
`
`9.5 THE S1MPL}F[E‘.D PROGRAMMING PROCESS ............................................................ 1-81
`
`viii
`
`CONTENTS
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 9
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 9
`
`

`

`1. Introduction
`
`
`
`You are Captain Flack, the latest space wanior to battle evil-creatures in the dark tunnels
`
`of Griok. In the distance you see a platoon of enemy soldiers. Using your force feedback
`
`joystick, you cautiously retreat into the shadows — abruptly you feel the solid surface of a
`
`stone wall at your rear. You can Withdraw no fu-iiher. Instead, you strafe ‘along the wall,
`
`feeling the texture of the rock surface as you cover ground. Suddenly you feel a snap as
`
`the wall gives way behind you — a secret passage. You enter. Splash, you slip into an
`
`underground poo]. As you wade through the waste-deep s]1'1ne, the feeling of undulating
`muck makes it difficult to walk in a straight line. 'But you are a fast study and quickly
`
`learn that by absorbing the undulations with your wrist, you can move as efficiently in
`water as on land.
`
`
`
`5:7‘:
`
`=%
`
`at
`
`i ,
`
`E
`
`
`
`
`
`APPLE INC.
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 10
`
`

`

`1.1 Overview of Force Feedback Technology
`
`Physical sensations added to gaming software greatly enhance the realism of simulated
`
`environments, providing players with more engaging, more intuitive, and more
`
`entertaining experiences. High fidelity feel, like advanced graphics and sound, adds
`
`dramatically to the perceptual richness of simulated interactions by presenting users with
`
`compelling information through natural and intuitive channels. But while graphics and
`
`sound are passive media presented to static observers, force feedback is a inherently
`
`interactive media that is engaged by active participants. In other words, when using force
`
`feedback hardware technology, the player pushes on the game and the game pushes back.
`
`The implications of such bi—directiona1 interactions are nothing less than profound — for
`
`when a player makes a physical gesture and the computer fights back with genuine
`
`physical forces, the basic premise of computer gaming is launched to an entirely new level
`
`of realism. Computer Gaming World magazine, after reviewing the world’s first
`
`consumer force feedback joystick, the Force-FX Joystick developed by CH Products and
`
`Immersion Corporation, commented:
`
`“A force feedbackjoystick does more for the feeling of
`
`‘being there’ than any VR helmet. ”
`
`Computer Gaming World, 11/96
`
`The above observation is highly insightful, for it summarizes a universal reaction players
`
`report when first experiencing force feedback technology — namely that force feedback
`
`makes even the most basic simulated interactions seem intensely real. A ball bouncing on
`
`a paddle, a boat floating through water, a sword clanking into armor, a missile thrusting
`
`off the deck of your A ship;
`
`no matter how simple or sophisticated the graphics, an
`
`appropriate feel sensation can make the gaming event seem startlingly genuine.
`
`Many users are actually surprised by the profound improvement that subtle physical
`
`sensations can have upon the realism of gaming interactions. Many first time users even
`
`inquire as to how such simple physicals ones can so substantially enhance the perceived
`
`realism of a simulated event. The answer has nothing to do with software, it has only to
`
`2
`
`Introduction
`
`APPLE INC.
`
`EXHIBIT 1017 _- PAGE11, _ _,_,,,____,___.__.nm
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 11
`
`

`

`
`
`
`
`do with the human perceptual system — the human organism has evolved to rely heavily on
`
`feel sensations as a primary means of instilling the surrounding world with the sensory
`
`impression of concrete substance and physical realism. Although we often take it for
`
`granted, people depend greatly upon feel as a critical modality for interacting with and
`
`understanding the physical" world. As a result, adding accurate feel sensations to
`
`simulated worlds greatly facilitates a user’s Suspension of disbelief and induces users
`
`immerse themselves within the simulated experience, transforming game players from
`
`passive-observers to interactive participants.
`
`Of course today’s computer users have been cultured to expect and accept simulated
`
`environments that are rich in graphics and sound but devoid of allphysical content. These
`
`cultural expectations, though deeply ingrained by decades of “feel-less” computing, will
`
`rapidly change as users learn that just because an environment is computer‘ generated, it
`
`need not deprive them of their intuitive physical senses. With a number of force feedback
`
`products already on the market and many more scheduled for release over the next year,
`
`consumers will quickly start demanding gaming experiences that are instilled with
`
`physical realism. Feel will soon become a basic requirement of quality gaming rather than
`
`the advanced enhancement it is today.
`
`Figure 1-1 The Currently Shipping Force-FX Joystick
`
`In many ways, the addition of Force Feedback technology to gaming controllers is much
`
`like the transition from monochrome displays to color displays made by computer users 3.
`
`APPLE INC.
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 12
`
`

`

`
`
`generation ago — once a user makes the shift, there is simply no turning back. For most
`
`users, the first experience with force feedback is a truly memorable event, a revelation of
`
`sorts — suddenly a new channel of information has been added to the world of computing
`
`and users do not want to turn it off. Game Pro Magazine and Computer Life Magazine
`
`gave the following assessments after their -first experience with a joystick enabled with the
`
`I-FORCE force feedback technology from Immersion Corporation:
`
`“Once you’ve felt theforce, it may be hard to go back
`to a static stick”
`
`Computer Life Magazine 9/96
`
`“Once you’ve tried an I—FORCE joystick with a game,
`
`playing without it isn ’I nearly asfun! ”
`
`Game Pro Magazine 8/96
`
`It is not only users who are excited by the potentialiof force feedback. Game developers
`are captivated not only by the feel, but by the creative potential of this largely unexplored
`
`new medium. By adding the physical modality to the toolbox of perceptual effects that
`
`game developers have at their disposal, Force Feedback will breathe new life into common
`
`video game paradigms.
`
`In addition, this new physical modality for human—computer
`
`interaction is sure to inspire entirely new scenarios for video game experiences which have
`
`never been considered because the feel sensations were simply unavailable. Game
`
`paradigms will be developed where feel is so critical to play, users can not perform the
`
`task without leveraging their physical dexterity and manual intuition — it is not hard to
`
`imagine feel becoming essential to skilled play — after all, in the real world you can not
`
`throw a ball, swing a sword, or even walk across a room without depending heavily on
`your sense of feel.
`
`_ 4
`
`EXHIBIT 1017 - PAGE 13 ,
`
`Introduction
`
`APPLE INC.
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 13
`
`

`

`Reporting on their first experience with force feedback technology, gaming experts at
`Next Generation Magazine Wrote:
`
`“More than any other advanced controller technology,
`
`Force-Feedback promises to open up whole new ways of
`
`experiencing a video or computer game”
`
`Next Generation Magazine 5/96
`
`“Force feedback joysticks enable players to go out and
`
`physically wrestle with an opponent for the
`
`ball...Basz'cally, the simplest game in the world becomes
`
`very interesting when you addforce feedback... This
`
`could be the understatement of the year”
`
`Next Generation Magazine 5/96
`
`Of course there will remain skeptics who view force feedback as a novel embellishment
`
`rather than a fundamental milestone in interactive computing. Such misconceptions will
`
`be born from either a lack of experience with quality Force Feedback technology or from
`
`confusion between Force Feedback and gimmicky technologies where simple buzzing is
`
`touted as “feel”. Force Feedback, when done right, is not just a “whack” or a “buzz”
`
`corresponding with a game event, true Force Feedback is the generation and presentation
`
`of complex and subtle feel sensations that accurately represent physical phenomenon
`
`through carefully simulated forces.
`
`In other words, Force Feedback is an “infonnation
`
`technology” that provides a rich and perceptually important channel of information that
`
`informs, engages, and interacts with users as they experience simulated environments.
`
`A
`
`APPLE INC.
`
`AG .
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 14
`
`

`

` 1.2 The Science of Force Feedback.
`
`Force Feedback, also known as hapticfeedbaek or force reflection, refers to the technique
`
`of adding “feel” sensations to computer software by imparting real physical forces upon
`
`the user’s hand. These forces are imposed by actuators, usually motors, incorporated in
`
`the interface hardware. The interface hardware may be a joystick, steering wheel, flight
`
`yoke, or other standard peripheral. When equipped with force feedback technology, the
`
`interface device can impart the simulated “feel” of jolting blasts, rigid surfaces, viscous
`
`liquids, compliant springs, jarring vibrations, grating textures, heavy masses, gusting
`
`impacting asteroids, and just about any other physical
`winds, rumbling engines,
`phenomenon that can be represented rnathematically.
`
`The basic premise behind Force Feedback technology is quite simple — as the user
`
`manipulates the interface hardware, the actuators apply computer modulated forces that
`
`either resist or assist the manipulations. These forces are generated based on mathematical
`
`models appropriate for the desired sensations. For example, when simulating the feel of a
`
`rigid wall with a force feedback joystick, motors within the joystick apply forces to the
`
`handle to replicate the feel of encountering a wall.
`
`In this case, the mathematical model
`
`driving the forces is as follows — as the user moves the joystick to penetrate the wall, the
`
`the paradigm is basically the same.
`
`motors apply a force that resists the penetration. The harder the user pushes, the harder
`
`the motors push back. The end result is a sensation that feels quite compelling because it
`truly represents a physical encounter with an obstacle — a simulated obstacle — but an
`
`obstacle none the less. Other sensations follow more complex mathematical models, but
`
`The magic behind generating compelling force feedback sensations is of course in the
`
`mathematical models that control the actuators. These models may be very simple,
`
`modulating force based on a predefined function of time (the resulting sensations are
`
`known as “Temporal Waves”). These models may be more complex, modulating forces
`
`based on user manipulations (the resulting sensations are known as Spatial Conditions”).
`
`These models may even modulate force based on both time and user manipulations (the
`
`resulting sensations are known as “
`
`namic Sensations”). Together, these three classes
`
`of feel
`
`sensation make up the basic conceptual
`
`foundation for
`
`force feedback
`
`6
`
`Introduction
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE
`
`
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 15
`
`

`

`described in detail throughout the rest of this text:
`
`
`Sensation Overview
`
` programming. These types of feel sensation are listed for your reference below and are
`
`
`
`To simplify the process of generating feel sensations, the manufacturers of force feedback
`
`hardware have taken care of all the mathematics required in the generation of the above
`
`types of feel sensations. Most of the sophisticated computations are handled by dedicated
`
`hardware on board the peripheral device. For example, I-FORCE is a computation engine
`
`from Immersion Corporation that has been licensed to many major manufacturers of
`
`gaming peripheral devices for use in their force feedback products. Such a computation
`
`engine enables a wide variety of complex feel sensation to be produced efficiently in
`
`hardware with minimal programming overhead.
`
`With manufacturers handling the mathematical complexities of force feedback in -
`
`dedicated hardware, game programmers can be provided with an easy to use high—level
`
`API that abstracts the problem of feel programming to a perceptual rather than
`
`mathematical
`
`level. API calls allow programmers to easily define and initiate feel
`
`sensations using intuitive function calls with descriptive physical names such as “Wall”,
`
`“Vibration” or “Liquid”. These functions are highly parameterized so that programmers
`
`can customize the feel of each basic sensation type with great flexibility. Programmers are
`
`thereby spared the burden of actually controlling force as a mathematical function of time
`
`or motion. Of course there are methods by which advanced programmers can delve into
`
`the mathematics and create their own sensations at the lowest level, but for the most part
`
`programmers can generate very sophisticated sensations that are carefully tuned to desired
`
`gaming events by using the high—level API calls provided by manufacturers.
`
`
`
`|B 01
`
`..
`
`APPLE INC.
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 16
`
`

`

`To make force feedback programming easier, the core API for the I-FORCE hardware
`
`processor has been added to DirectX 5 from Microsoft. The I—FORCE Studio toolset
`
`has also been developed by Immersion Corporation, the inventors of consumer force
`
`I-
`feedback technology, to further support force feedback development within DirectX.
`FORCE Studio is a development package for use with DirectX that greatly facilitates the
`
`force feedback programming process and simplifies the design of feel sensations. An
`
`added feature of I-FORCE Studio is that it enables force feedback in operating systems
`
`other than those supported by DirectX (e.g., DOS and later perhaps consoles).
`
`Whether programniing for Windows, DOS, or another platform, the Dii-ectX API and/or
`
`g
`
`the LFORCE Studio toolset greatly facilitate the generation of the three primary classes of
`sensations: Temporal Waves, Spatial Conditions, and Dynamic Sensation. These three
`
`sensation types are described in great detail throughout this text. In addition, this text will
`
`also describe a technique for modulating forces directly, allowing you to create sensations
`
`from the most basic building blocks, discrete forces. This technique is called Force
`
`Streaming and is best implemented on rapid communication channels such as USB. See
`
`section 2.4 for details on Force Streaming. Finally, at the end of this book, Chapter 9 will
`
`introduce the LFORCE Studio toolset and describe how force feedback programming is
`
`accelerated by using these simple graphical tools to create DirectX compatible code.
`
`8
`
`A
`
`Introduction
`
`APPLE INC.
`
`EXHIBIT 1017 - PAGE 17
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 17
`
`

`

`
`
`
`
`1.2.a Bi—Directional Interaction
`
`To fully understand force feedback programming, it is helpful to first explore how force
`
`feedback hardware devices differ from traditional gaming peripherals. Typical human
`
`interface devices are input—onIy; they track a user’s physical manipulations but provide no
`
`manual feedback representing the results of those manipulations. As a result, information
`
`flow for traditional joysticks, steering Wheels, and other gaming peripherals is in only one
`
`direction, from the peripheral to the host computer. Force Feedback human interface
`
`devices are input-output devices. They not only track a user’s physical manipulations
`
`(input),
`
`they also provide realistic physical sensations coordinated with game play
`
`(output).
`
`Therefore the host computer running the gaming application needs to
`
`communicate quickly with the force feedback device bi—directionally.
`
`Tracking
`
`information is sent from the peripheral to the host for use in controlling game play. Force
`
`Feedback information is sent from the host to the peripheral, to coordinate feel sensations
`
`with gaming events.
`
`
`
`Force Commands
`
`
`
`FORCEFEEDBACK
`
`
`HOST
`PEMPHERAL
`COMPUTER
`
`
`
`
`
`
`Position Data
`
`Figure 1-2 Force Feedback Information Flow
`
`Because force feedback devices require bi—directiona1 communication to coordinate feel
`
`sensations with gaming play, communication speed has a substantial effect upon force
`
`feedback performance. The faster the communication link, the better the coordination
`
`between visual and physical events.
`
`Ideally, force feedback devices use efficient processing techniques to minimize the
`
`amount of information that needs to be communicated between the host and the peripheral.
`
`
`
`APPLE INC.
`
`APPLE INC.
`EXHIBIT 1017 - PAGE 18
`
`

`

`For example, efficient force feedback devices use sophisticated local microprocessors to
`
`produce force feedback sensations locally in response to concise high—level commands
`
`sent from the host. The I—FORCE processor is a popular example of such a force feedback
`
`computation engine that has been licensed by many major manufacturers as listed in
`
`Section 1.5 of this book. Beyond reducing the amount of information that needs to pass
`
`between the host and the peripheral, such local processing hardware has the added benefit
`
`of performing force feedback computations in par

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket