Mathengine Karmatm User Guide

Total Page:16

File Type:pdf, Size:1020Kb

Mathengine Karmatm User Guide MathEngine KarmaTM User Guide March 2002. Accompanying Karma Version 1.2. MathEngine Karma User Guide • MathEngine Karma User Guide Preface 7 About MathEngine 9 Contacting MathEngine 9 Introduction 1 Historical Background 2 Application to entertainment 2 Physics Engines 3 Usage† 3 The Structure of Karma 5 Overview 6 Karma Simulation 6 The Karma Pipeline 8 Karma Data Structures 11 Implementation of the Pipeline 13 Two Spheres Colliding 16 AABBs do not overlap. 16 AABBs overlap, but the objects do not. 16 The AABBs overlap and the spheres touch. 17 The AABBs overlap, but the spheres are not touching as they move away. 18 AABBs do not overlap as the spheres move away from each other. 18 Dynamics 21 Conventions 22 The MathEngine Dynamics Toolkit (Mdt) 24 Designing Efficient Simulations Using the Mdt Source Code 25 Designing Efficient Simulations Using the Mdt Library 25 Rigid Bodies: A Simplified Description of Reality 25 Karma Dynamics - Basic Usage 28 Creating the Dynamics World 28 Setting World Gravity 28 Defining a Body 28 Evolving the Simulation 29 Cleaning Up 30 Evolving a Simulation - Using the Basic Viewer Supplied with Karma 30 The Basic Steps Involved in Creating a Karma Dynamics Program 31 Constraints: Joints and Contacts 33 Degrees of Freedom 33 Joint Constraints and Articulated Bodies 33 Joint Types 34 Constraint Functionality 34 Constraint Usage 36 Joints 36 Contact Constraints and Collision Detection 42 Further features 44 Automatic Enabling and Disabling of Bodies 44 The Meaning of Friction, Damping, Drag, etc. 44 Simulating Friction 46 Slip: An Alternate Way to Model the Behavior at the Contact Between Two Bodies. 48 Setting Properties of the Virtual World - Epsilon e and Gamma g 49 MathEngine Karma User Guide Stacking Boxes 50 External Forces, Torques and Impulses 51 Collision 53 Overview of Collision Detection 54 Using Collision Detection within a Universe 54 Explanation of Model, Geometry, and Body 54 Making a Model with a Box Geometry 55 Making a Model with a Convex Mesh Geometry 55 Creating a Model with an Aggregate Geometry 56 Constructing an Immovable Model, such as a Terrain 57 Disabling and Enabling Pairs of Models 58 Time Of Impact 59 Querying Line Segment Intersections 59 Testing Collision Directly 60 Creating a Model Without Using the Universe 61 Geometrical Types and Their Interactions 62 Overview 62 Register Types of Geometries to be Used 62 Intersection Functions 62 Geometrical Primitives 63 Advanced Features 66 Collision Spaces 66 Transform and Synchronization with Graphics 67 Transition 67 Static Models 68 Change Blocks 68 Updating The Models 70 Testing for Collisions 70 Cleaning Up 73 The Bridge 75 Introduction 76 Creating a Universe 77 Fitting Out the Universe 78 Resetting 78 Setting the Universe in Motion 78 Cleaning Up 79 Building a Bridge 80 Callback Functions 80 Creating Good Simulations with Karma 83 Points to Remember When Using Karma 84 Further details: 84 Karma Project Usage 89 Dynamics 89 Collision 90 Performance Considerations 92 Implementation Considerations 94 Performance 97 Frame time used by Karma 98 Dynamics Algorithms - Technical Information 100 MathEngine Karma User Guide Karma x86 and SSE Optimizations 102 Benchmarks 103 Karma for PlayStation®2 104 Processor usage 104 Code size 104 Scratchpad, VUMEM0, MICROMEM0 and VU0 registers. 104 Vif0 chains 105 Compatibility with compilers 105 Compatibility with renderers 105 Optimizations 105 Summary 106 Performance of a ‘Rag Doll’ Simulation on the Sony PlaySta- tion®2 using MathEngine Karma 107 Application level Optimizations 107 Karma architecture 108 Current state of PlayStation®2 Optimization 109 Performance analyser results 109 Quadbike Tutorial 111 Introduction 112 Initializing the Karma Collision and Dynamics Framework 112 Creating a Four Wheel Vehicle 115 Creating a Rider for the Vehicle 119 Appendix A - Default Values 123 Appendix B - The Karma Viewer 129 Using the Viewer in an Application 130 First Steps 130 Initializing the Renderer 130 Creating the Graphics 130 Running the Simulation 131 Terminating the Program 131 Render Contexts 132 Render Lists 133 Creating Primitives 134 Creating Objects 136 Manipulating RGraphic Objects 137 Menu System 138 Help System 139 The Camera 140 Camera Movement 140 Lighting 141 Ambient Lighting 141 Directional Lighting 141 Point Light 141 Textures 142 Disabling an object's texture 142 Controls 143 Button Press Controls 143 Analog Controls 143 Performance Measurement 144 MathEngine Karma User Guide Utilities 145 Geometry Data Format 146 Creating New Objects 146 RObjectVertex 146 Object Geometry Files 148 File Format 148 Appendix C - Memory Allocation 149 Memory Allocation in Karma 150 Introduction 150 Re-Routing Memory Management In Karma 152 Setting Karma Memory Usage 152 Memory Usage In Kea 152 Matrix Capping 153 Per Constraint Memory Used by Kea 153 Appendix D: Constraints Reference 155 Common Constraint Functions 156 Common Accessors 157 Common Mutators 157 Base Constraint Functions 158 The Constraints Mutator Functions 159 The Constraint Accessor Functions 159 Ball-and-socket (BS) Joint: MdtBSJoint 161 Ball-and Socket Joint Functions 161 Hinge Joint: MdtHinge 162 Hinge Limits 162 Hinge Joint Functions 162 Prismatic: MdtPrismatic 164 Prismatic Limits 164 Prismatic Actuators 164 Prismatic Joint Functions 164 Universal Joint: MdtUniversal 166 Universal Joint Functions 166 Angular Joint: MdtAngular3 & MdtAngular2 167 Angular3 Joint Functions 167 CarWheel Joint: MdtCarWheel 169 CarWheel Joint Functions 169 Linear1 Joint: MdtLinear1 172 Linear2 Joint: MdtLinear2 173 Functions Specific to Linear2 Joint 173 Fixed-Path Joint: MdtFixedPath 174 Functions Specific to Fixed-Path Joint 174 Relative-Position-Relative-Orientation Joint: MdtRPRO- Joint 175 Functions Specific to RPRO Joint 176 Skeletal limit constraint: MdtSkeletal 178 Skeletal Joint Functions 178 Spring Joint: MdtSpring 180 Functions that are Specific to the Spring Joint 180 Cone Limit constraint: MdtConeLimit 182 MathEngine Karma User Guide Cone Limit Functions 182 Joint Limit: MdtLimit 184 The Single Joint Limit: MdtSingleLimit 187 Functions that are specific to Contacts 188 MdtContactGroups 191 Functions that are specific to MdtContactGroups 191 The MdtBclContactParams Structure 193 Glossary Gl 1 Gl 2 Bibliography Bib 1 References Bib 2 MathEngine Karma User Guide Preface MathEngine Karma is a physics and collision detection software package. Software libraries are provided that contain routines that users can call on to quickly and easily add physical behaviour to their 2D or 3D environment. While the Karma product is suitable for a wide range of applications users should note that it is targeted at the games and entertainment markets. This userguide provides a background to the subject and introduces the Karma package, before going on to explain in detail how Karma can be used and integrated into a project. Karma is aimed at developers of real-time entertainment simulation software who are familiar with the C programming language and have a basic knowledge of maths. Experience with Microsoft Visual C++ is an asset. The source that is provided is in C. Karma uses a C API. In broad terms Karma consists of collision detection and dynamic simulation modules that may be used alone or together. The Karma Bridge (Mst Library) provides an API that simplifies the interoperation of Karma Dynamics (Mdt Library) and Karma Collision (Mcd Library). A basic cross platform renderer that wraps the DirectX and OpenGL graphics libraries is provided. While this allows users to build 3D applications with simple scenes, it is intended that users will integrate Karma with their own rendering solution. Karma is available for: • Win32 built in single precision against the Microsoft LIBC, LIBCMT or MSVCRT libraries. • the Sony PlayStation®2 games console. • the Xbox games console. • Win32 double precision and Linux versions on request. Information about each library function is provided in the html online documentation that can be found by following the ‘Demos and Manuals’ hyperlink in the index.html file in the metoolkit directory. Preface MathEngine Karma User Guide The origins of physical simulation, and how it has developed from the early days of electronic games through to the recent introduction of what have become known as Physics Engines, are discussed in chapter 1. Chapter 2 introduces MathEngine’s Karma product - a physics engine - and outlines what it can be used for, and how it works. The internal data structures are discussed, along with the data flow during a game. An example of two spheres colliding is used to demonstrate this. Chapter 3 presents Karma Dynamics, including discussions on the units, scale, coordinate system and reference frames used. The dynamics library functions are discussed and demonstrated with explanations of relevant physical behavior and the provision of user examples - from basic user functionality through to more advanced usage of Karma’s libraries. World properties, bodies, constraints and forces are introduced. In chapter 4 an overview of collision detection is given, with an explanation of how the three main parts of Karma, namely Karma Dynamics, Karma Collision and the Karma Simulation Toolkit, work together. The distinction between collision primitives, aggregates, and static models is made and examples of their implementation provided. Determination of object intersection in a game environment is demonstrated, along with line of sight tests to determine any objects that lie on a line joining two points in 3D
Recommended publications
  • Audio Middleware the Essential Link from Studio to Game Design
    AUDIONEXT B Y A LEX A N D E R B R A NDON Audio Middleware The Essential Link From Studio to Game Design hen I first played games such as Pac Man and GameCODA. The same is true of Renderware native audio Asteroids in the early ’80s, I was fascinated. tools. One caveat: Criterion is now owned by Electronic W While others saw a cute, beeping box, I saw Arts. The Renderware site was last updated in 2005, and something to be torn open and explored. How could many developers are scrambling to Unreal 3 due to un- these games create sounds I’d never heard before? Back certainty of Renderware’s future. Pity, it’s a pretty good then, it was transistors, followed by simple, solid-state engine. sound generators programmed with individual memory Streaming is supported, though it is not revealed how registers, machine code and dumb terminals. Now, things it is supported on next-gen consoles. What is nice is you are more complex. We’re no longer at the mercy of 8-bit, can specify whether you want a sound streamed or not or handing a sound to a programmer, and saying, “Put within CAGE Producer. GameCODA also provides the it in.” Today, game audio engineers have just as much ability to create ducking/mixing groups within CAGE. In power to create an exciting soundscape as anyone at code, this can also be taken advantage of using virtual Skywalker Ranch. (Well, okay, maybe not Randy Thom, voice channels. but close, right?) Other than SoundMAX (an older audio engine by But just as a single-channel strip on a Neve or SSL once Analog Devices and Staccato), GameCODA was the first baffled me, sound-bank manipulation can baffle your audio engine I’ve seen that uses matrix technology to average recording engineer.
    [Show full text]
  • Introduction Physics Engines AGEIA Physx SDK AGEIA
    25/3/2008 SVR2007 Introduction Tutorial AGEIA PhysX • What does physics give? – Real world interaction metaphor – Realistic simulation Virtual Reality • Who needs physics? and Multimedia { mouse, ds2, gsm, masb, vt, jk } @cin.ufpe.br Research Group Thiago Souto Maior – Immersive games and applications Daliton Silva Guilherme Moura Márcio Bueno • How to use this? Veronica Teichrieb Judith Kelner – Through physics engines implemented in software or hardware Petrópolis, May 2007 Physics Engines AGEIA PhysX SDK • Simplified Newtonian models • Based upon NovodeX API • “High precision” versus “real time” simulations • Commercial and open source engines • Middleware concept • What comes together in a physics engine? • First asynchronous physics API – Mandatory • Tons of math calculations • Takes advantage of multiprocessing game • Collision detection • Rigid body dynamics systems – Optional • Fluid dynamics • Cloth simulation • Particle systems • Deformable object dynamics AGEIA PhysX SDK AGEIA PhysX SDK • Supports game • Integration with game development life cycle engines – 3DSMax and Maya – Unreal Engine 3.0 plugins (PhysX – Emergent GameBryo Create) – Natural Motion – Properties tuning with Endorphin PhysX Rocket • Runs in PC, Xbox 360 – Visual remote and PS3 debugging with PhysX VRD 1 25/3/2008 AGEIA PhysX SDK AGEIA PhysX Processor • Supports • AGEIA PhysX PPU – Complex rigid body dynamics • Powerful PPU + – Collision detection CPU + GPU – Joints and springs – Physics + Math + – Volumetric fluid simulation Fast Rendering – Particle systems
    [Show full text]
  • DXF Reference
    AutoCAD 2012 DXF Reference February 2011 © 2011 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder. Trademarks The following are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and other countries: 3DEC (design/logo), 3December, 3December.com, 3ds Max, Algor, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Intent, Autodesk Inventor, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack, Backburner, Backdraft, Beast, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Civil 3D, Cleaner, Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio, Design Web Format, Discreet, DWF, DWG, DWG (logo), DWG Extreme, DWG TrueConvert, DWG TrueView, DXF, Ecotect, Exposure, Extending the Design Team, Face Robot, FBX, Fempro, Fire, Flame, Flare, Flint, FMDesktop, Freewheel, GDX Driver, Green Building Studio, Heads-up Design, Heidi, HumanIK, IDEA Server, i-drop, Illuminate Labs
    [Show full text]
  • An Embeddable, High-Performance Scripting Language and Its Applications
    Lua an embeddable, high-performance scripting language and its applications Hisham Muhammad [email protected] PUC-Rio, Rio de Janeiro, Brazil IntroductionsIntroductions ● Hisham Muhammad ● PUC-Rio – University in Rio de Janeiro, Brazil ● LabLua research laboratory – founded by Roberto Ierusalimschy, Lua's chief architect ● lead developer of LuaRocks – Lua's package manager ● other open source projects: – GoboLinux, htop process monitor WhatWhat wewe willwill covercover todaytoday ● The Lua programming language – what's cool about it – how to make good uses of it ● Real-world case study – an M2M gateway and energy analytics system – making a production system highly adaptable ● Other high-profile uses of Lua – from Adobe and Angry Birds to World of Warcraft and Wikipedia Lua?Lua? ● ...is what we tend to call a "scripting language" – dynamically-typed, bytecode-compiled, garbage-collected – like Perl, Python, PHP, Ruby, JavaScript... ● What sets Lua apart? – Extremely portable: pure ANSI C – Very small: embeddable, about 180 kiB – Great for both embedded systems and for embedding into applications LuaLua isis fullyfully featuredfeatured ● All you expect from the core of a modern language – First-class functions (proper closures with lexical scoping) – Coroutines for concurrency management (also called "fibers" elsewhere) – Meta-programming mechanisms ● object-oriented ● functional programming ● procedural, "quick scripts" ToTo getget licensinglicensing outout ofof thethe wayway ● MIT License ● You are free to use it anywhere ● Free software
    [Show full text]
  • Opera Acquires Yoyo Games, Launches Opera Gaming
    Opera Acquires YoYo Games, Launches Opera Gaming January 20, 2021 - [Tuck-In] Acquisition forms the basis for Opera Gaming, a new division focused on expanding Opera's capabilities and monetization opportunities in the gaming space - Deal unites Opera GX, world's first gaming browser and popular game development engine, GameMaker - Opera GX hit 7 million MAUs in December 2020, up nearly 350% year-over-year DUNDEE, Scotland and OSLO, Norway, Jan. 20, 2021 /PRNewswire/ -- Opera (NASDAQ: OPRA), the browser developer and consumer internet brand, today announced its acquisition of YoYo Games, creator of the world's leading 2D game engine, GameMaker Studio 2, for approximately $10 million. The tuck-in acquisition represents the second building block in the foundation of Opera Gaming, a new division within Opera with global ambitions and follows the creation and rapid growth of Opera's innovative Opera GX browser, the world's first browser built specifically for gamers. Krystian Kolondra, EVP Browsers at Opera, said: "With Opera GX, Opera had adapted its proven, innovative browser tech platform to dramatically expand its footprint in gaming. We're at the brink of a shift, when more and more people start not only playing, but also creating and publishing games. GameMaker Studio2 is best-in-class game development software, and lowers the barrier to entry for anyone to start making their games and offer them across a wide range of web-supported platforms, from PCs, to, mobile iOS/Android devices, to consoles." Annette De Freitas, Head of Business Development & Strategic Partnerships, Opera Gaming, added: "Gaming is a growth area for Opera and the acquisition of YoYo Games reflects significant, sustained momentum across both of our businesses over the past year.
    [Show full text]
  • Are Game Engines Software Frameworks?
    ? Are Game Engines Software Frameworks? A Three-perspective Study a < b c c Cristiano Politowski , , Fabio Petrillo , João Eduardo Montandon , Marco Tulio Valente and a Yann-Gaël Guéhéneuc aConcordia University, Montreal, Quebec, Canada bUniversité du Québec à Chicoutimi, Chicoutimi, Quebec, Canada cUniversidade Federal de Minas Gerais, Belo Horizonte, Brazil ARTICLEINFO Abstract Keywords: Game engines help developers create video games and avoid duplication of code and effort, like frame- Game-engine works for traditional software systems. In this paper, we explore open-source game engines along three Framework perspectives: literature, code, and human. First, we explore and summarise the academic literature Video-game on game engines. Second, we compare the characteristics of the 282 most popular engines and the Mining 282 most popular frameworks in GitHub. Finally, we survey 124 engine developers about their expe- Open-source rience with the development of their engines. We report that: (1) Game engines are not well-studied in software-engineering research with few studies having engines as object of research. (2) Open- source game engines are slightly larger in terms of size and complexity and less popular and engaging than traditional frameworks. Their programming languages differ greatly from frameworks. Engine projects have shorter histories with less releases. (3) Developers perceive game engines as different from traditional frameworks. Generally, they build game engines to (a) better control the environ- ment and source code, (b) learn about game engines, and (c) develop specific games. We conclude that open-source game engines have differences compared to traditional open-source frameworks al- though this differences do not demand special treatments.
    [Show full text]
  • Sensorfx Users Guide Iii Contents
    SensorFX Users Guide SensorFX Users Guide Copyright © 2017 VT MAK All rights Reserved. Printed in the United States. Portions of this document are copyright JRM Technologies. Under copyright laws, no part of this document may be copied or reproduced in any form without prior written consent of VT MAK. VR-Exchange™, VR-Vantage™. DI-Guy™, and DI-Guy Scenario™ are trade- marks of VT MAK. MÄK Technologies®, VR-Forces®, RTIspy®, B-HAVE®, and VR-Link® are registered trademarks of VT MAK. GL Studio® is a registered trademark of The DiSTI® Corporation. Portions of this software use SpeedTree® RT technology (©2008 Interactive Data Visualization, Inc.). SpeedTree® is a registered trademark of Interactive Data Visual- ization, Inc. All rights reserved. SilverLining™ is a trademark of Sundog Software. All other trademarks are owned by their respective companies. VT MAK 150 Cambridge Park Drive, 3rd Floor Cambridge, MA 02140 USA Voice: 617-876-8085 Fax: 617-876-9208 [email protected] www.mak.com Revision VRV-2.2-11-170307 Contents Preface MAK Products ............................................................................................ v How to Contact Us .................................................................................. viii Document Conventions ............................................................................. ix DI-Guy Conventions ........................................................................... x Mouse Button Naming Conventions.................................................... x Third Party Licenses ...................................................................................
    [Show full text]
  • Evaluating Game Technologies for Training Dan Fu, Randy Jensen Elizabeth Hinkelman Stottler Henke Associates, Inc
    Appears in Proceedings of the 2008 IEEE Aerospace Conference, Big Sky, Montana. Evaluating Game Technologies for Training Dan Fu, Randy Jensen Elizabeth Hinkelman Stottler Henke Associates, Inc. Galactic Village Games, Inc. 951 Mariners Island Blvd., Suite 360 119 Drum Hill Rd., Suite 323 San Mateo, CA 94404 Chelmsford, MA 01824 650-931-2700 978-692-4284 {fu,jensen}@stottlerhenke.com [email protected] Abstract —In recent years, videogame technologies have Given that pre-existing software can enable rapid, cost- become more popular for military and government training effective game development with potential reuse of content purposes. There now exists a multitude of technology for training applications, we discuss a first step towards choices for training developers. Unfortunately, there is no structuring the space of technology platforms with respect standard set of criteria by which a given technology can be to training goals. The point of this work isn’t so much to evaluated. In this paper we report on initial steps taken espouse a leading brand as it is to clarify issues when towards the evaluation of technology with respect to considering a given piece of technology. Towards this end, training needs. We describe the training process, we report the results of an investigation into leveraging characterize the space of technology solutions, review a game technologies for training. We describe the training representative sample of platforms, and introduce process, outline ways of creating simulation behavior, evaluation criteria. characterize the space of technology solutions, review a representative sample of platforms, and introduce TABLE OF CONTENTS evaluation criteria. 1. INTRODUCTION ......................................................1 2.
    [Show full text]
  • What Is Game Engine Architecture
    What Is Game Engine Architecture What Is Game Engine Architecture 1 / 2 In any case, game engines are the workhorses of modern videogame development As you'd expect, there are plenty of engines out there, from very well-known names like Quake and Unreal, that developers and publishers can license at considerable expense, through to in-house proprietary engines created by studios specifically for their own titles.. Quite a few of the in-house engines have no public personality and thus are not included on this list.. CryENGINEAs Seen In: Far Cry, Crysis, Crysis Warhead, Crysis 2, Aion: Tower of Eternity It didn't take long for the German developer Crytek to make a name for itself.. These are what turn good creative ideas into great gameplay Note: It is important to understand that not all developers are vocal about their game engines and instead play their cards close to their chests. T A L K E R to usher in a new generation of PC gaming, Crytek beat them all to the punch with a stunning, tropical set FPS game powered by its own brilliant CryENGINE.. 14320288/red-dead-redemption/videos/reddead_trl_wildwest_50509 html;jsessionid=1oyv5eo9s1id0' target='_blank'>Click here to see just how stunning Red Dead Redemption looks.. Click here to see the CryENGINE 3 GDC demo According to Crytek, 'CryENGINE 3 is the first Xbox 360, PlayStation 3, MMO, DX9 and DX10 all-in-one game development solution that is next-gen ready – with scalable computation and graphics technologies.. And it is still so young: accurate physics, ecosystem A I and improved draw distance are just some of the improvements we'll see in RAGE over the coming months.
    [Show full text]
  • Immersion Demos New Haptic Apps at Samsung Developers Conference
    October 28, 2013 Immersion Demos New Haptic Apps at Samsung Developers Conference Go hands-on with new titles from developers like Creative Mobile, HeroCraft, Fat Bat Studios and Modesty at the Immersion exhibition & game lounge SAN FRANCISCO--(BUSINESS WIRE)-- Samsung Developers Conference (SDC 2013) —- Immersion Corporation (Nasdaq:IMMR), the leading developer and licensor of touch feedback technology, will be hosting a technical session for game developers on the design and integration of tactile effects and demonstrating the latest titles from developers using the Immersion Haptic SDK at the Samsung Developers Conference in San Francisco. Attendees can find Immersion throughout the two-day event: ● Experience the Immersion Haptic Gaming Lounge at the Exploratorium after party on Monday, October 28th th ● Join Immersion on Tuesday, October 29 for the conference session titled "Up Your Game," where developers will learn how to incorporate haptic effects with maximum impact and minimal effort th ● Visit the Immersion exhibition on Tuesday, October 29 to experience the latest apps and visit with our team of experts to learn more about Immersion's Haptic integration tools "The Immersion Haptic SDK brings the console gaming experience to the mobile platform by providing Android game developers with tools to easily incorporate high quality, immersive tactile feedback into their mobile games," explains Suzanne Nguyen, Director of Developer Marketing at Immersion. "We designed the Haptic SDK to deliver quality effects on all Android handsets
    [Show full text]
  • A Doom-Based AI Research Platform for Visual Reinforcement Learning
    ViZDoom: A Doom-based AI Research Platform for Visual Reinforcement Learning Michał Kempka, Marek Wydmuch, Grzegorz Runc, Jakub Toczek & Wojciech Jaskowski´ Institute of Computing Science, Poznan University of Technology, Poznan,´ Poland [email protected] Abstract—The recent advances in deep neural networks have are third-person perspective games, which does not match a led to effective vision-based reinforcement learning methods that real-world mobile-robot scenario. Last but not least, although, have been employed to obtain human-level controllers in Atari for some Atari 2600 games, human players are still ahead of 2600 games from pixel data. Atari 2600 games, however, do not resemble real-world tasks since they involve non-realistic bots trained from scratch, the best deep reinforcement learning 2D environments and the third-person perspective. Here, we algorithms are already ahead on average. Therefore, there is propose a novel test-bed platform for reinforcement learning a need for more challenging reinforcement learning problems research from raw visual information which employs the first- involving first-person-perspective and realistic 3D worlds. person perspective in a semi-realistic 3D world. The software, In this paper, we propose a software platform, ViZDoom1, called ViZDoom, is based on the classical first-person shooter video game, Doom. It allows developing bots that play the game for the machine (reinforcement) learning research from raw using the screen buffer. ViZDoom is lightweight, fast, and highly visual information. The environment is based on Doom, the customizable via a convenient mechanism of user scenarios. In famous first-person shooter (FPS) video game. It allows de- the experimental part, we test the environment by trying to veloping bots that play Doom using only the screen buffer.
    [Show full text]
  • Multicopter Design and Control Practice Experiments
    Multicopter Design and Control Practice Experiments RflySim Advanced Courses Lesson 05: UE4 3D Scene Development Dr. Xunhua Dai, Associate Professor, School of Computer Science and Engineering, Central South University, China; Email: [email protected] ; https://faculty.csu.edu.cn/daixunhua Content 1. Setup Instruction Path of source code in this Lesson: 2. UE4 3D scene build “RflySimAPIs\UE4MapSceneAPI” 3. RflySim3D 3D scene import 4. Vehicle 3D model build and import 5. Control demo of objects in scene 6. Summary 2 Note: If you failed to download 1. Setup Instruction the file, you can use the installer “RflySimAPIs\UE4MapSceneAPI\E picInstaller-******.msi” 1.1 Components to be installed • 3Ds Max 2020 (or other versions, please install by yourself) • Visual Studio 2017 (not required to develop UE4 scenes, but required for UE4 C++/plugin programming development) • Unreal Engine 4.22 (UE4.22 this version only) The following describes how to install UE4.22 engine (internet connection required): • Open the official website of the EPIC Unreal Engine: • https: //www.unrealengine.com/en-US/?lang=en-US • Register an EPIC account and log in • Then, click the “DOWNLOAD" button on the upper right 3 1. Setup Instruction 1.2 How to install Epic Games • After clicking the “DOWNLOAD" button, the following selection box will pop up • Select the “Creators License” on the right to download the latest installation package. • Click the installation package to install, you can get "Epic Games Launcher" shortcut • Click this shortcut and log in to your Epic account, you can enter the Epic Games management page 4 1.
    [Show full text]