`
`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