GTA III's Renderware Engine

Total Page:16

File Type:pdf, Size:1020Kb

GTA III's Renderware Engine GTA III's RenderWare Engine Kevin Wijsenbach RenderWare is a graphics engine by Criterion Software that was used by Rockstar for their titles Manhunt, Bully, GTA III, Vice City and San Andreas. GTA's portable successors Liberty City Stories and Vice City Stories use a clone of the original RenderWare engine (called Rockstar Leeds), which was already influenced by Rockstar's next-gen RAGE engine. The biggest challenge was finding out what to load, and how. I used the website GTAModding as a reference. Second was to figure out how GTA III's data translates to Unity. Loading the game world goes as follows: 1. Load the models/gta3.img archive file Process the model files Process the texture archives 2. Load the data/default.dat map listing 3. Load the data/gta3.dat map listing 4. Iterate the item placement instances Tools I've Used Name Description Website RW Analyze Viewer for RenderWare binary stream files Steve's GTA Page IMG Tool IMG archive editor GTAForums Hex Fiend Hex editor ridiculous_fish Archive File To improve I/O speed, archive files reflect sectors of CD-ROM's. The directory and the raw binary files are stored in separate files, the directory entries are stored in a .dir and the content pointed by the directory in the .img itself. The directory archive ( .dir ) must have the same name as the .img archive. The directory archive contains no header, just the following structure repeated until the end of the file. Directory Entry Format Description uint Offset (in sectors 1) uint Size (in sectors) char[24] Name of the file The .img file itself has no special structure or header, just all the raw binary files pointed by the directory archive. RenderWare binary stream RenderWare binary stream files are hierarchically structured binary data files. GTA III's model files use the file extension .dff and texture archives use .txd . The streams are split up into chunks. Each section has a 12 byte header and can either be empty, contain data or more child chunks. The content depends on the type and parent chunks. Chunk Format Description uint Section type uint Size uint Version Model File ( .dff ) Clump Chunk Frame List Chunk Frame Chunk Extension Chunk Geometry List Chunk Geometry Chunk Material List Chunk Material Chunk Texture (optional) Chunk String (texture name) Chunk String (alpha name) Chunk Extension Chunk Atomic Chunk Clump Format Description uint Atomic count Frame List Format Description uint Frame count Frame Format Description Matrix3x3 Rotation matrix Vector3 Position 2 uint Parent frame index uint Unknown Frame List Extension A frame list may have an extension section. For this section the extension can appear multiple times. The amount of extensions may not match the number of frames, but usually does since the extensions are holding the names of the single frames. Geometry List Format Description uint Geometry count Geometry Format Description uint Flags uint Triangle count uint Vertex count uint Morph target count (always 1 ) float Ambient float Specular float Diffuse Color[vertexCount] Vertex colors (only exists if HasColors flag is set) Texture coordinates (only exists if HasTexCoords flag is Vector2[vertexCount] set) ushort[triangleCount * 3] Indices 3 Vector4 Bounding sphere bool Geometry has vertices bool Geometry has normals Vector3[vertexCount] Vertices Vector3[vertexCount] Normals (only if HasNormals flag is set) Material List Format Description uint Material count uint[materialCount] Instance indices 4 Material Format Description uint Flags Color Color uint Unknown bool Material is textured float Ambient float Specular float Diffuse Texture Format Description byte Texture filtering byte Texture wrap ushort Padding Geometry Extension The extension of an geometry can hold a Bin Mesh plugin chunk. A Bin Mesh is an optimized representation of the model topology. Triangles are grouped together into Meshes by their Material. Format Description uint Type uint Mesh count uint Index count (total) Bin Mesh Format Description uint Index count uint Material index uint[indexCount] Indices (in reverse order) Atomic An atomic section can associate a Frame with a Geometry. They are transformed from object-space based on the transformation rules that are set for the Frame. Format Description uint Frame index uint Geometry index uint Unknown uint Unknown Texture Archive ( .txd ) Texture Dictionary Texture Native Texture Dictionary Format Description ushort Texture count ushort Platform ID 5 Texture Native Format Description uint Platform ID byte Texture filtering byte Texture wrap ushort Padding char[32] Texture name char[32] Alpha name uint Raster format bool Texture has alpha ushort Width ushort Height byte Bits per pixel byte Mip map count byte Raster type byte Compression Color[256] Color palette (only exists if the PAL8 raster format flag is set) uint Amount of bytes to read next One of two things can happen next: 1. If the PAL8 flag is set, read using the color palette. Each pixel is a byte, which is the palette index. 2. Just read the amount of bytes, and repeat for each mip map. Map Listing ( .dat ) A .dat file lists which files define the game map. Each line links to a map file, unless it's empty or starts with # (comment). There are different types of files, so a identifier specifies the filetype. Identifier Filetype IDE Item definition TEXDICTION Texture archive MODELFILE Model file COLFILE Collision file IPL Item placement Item Definition ( .ide ) Item definition files are stored in plain text, and split up into sections. Each section starts with a four-character identifier. The identifier is followed by the definition entries. Each entry takes one line and every line follows certain rules. Lines can also be empty or commented. The end of a section is terminated by end . Lines itself are always formatted in the same way differing only in the number of parameters. Parameters are usually separated by , . Sections Identifier Description objs Objects Timed objects (similar to objs , but also defines the time range the object can be tobj rendered) hier Cutscene objects cars Vehicles peds Pedestrians path Waypoints for NPC spawns Object Format Description int Object ID string Model name string Texture name int Mesh count int[3] Draw distances int Object flags int Time on (if timed object) int Time off (if timed object) Vehicle Format Description int Object ID string Model name string Texture name string Vehicle type string Handling ID string Vehicle class int Spawn frequency int Unknown string Component rules Pedestrian Format Description int Object ID string Model name string Texture name string Pedestrian type string Behaviour string Animation group string Cars pedestrian will drive Collision File ( .col ) Unlike the graphical models, collision models are not only comprised of triangles, but also spheres and boxes. Collision files are stored binary. Format Description uint Magic ( COLL ) uint Size char[22] Name float Bounding sphere radius Vector3 Bounding sphere center Vector3 Bounds min Vector3 Bounds max uint Collision sphere count Sphere[sphereCount] Collision spheres uint Unknown uint Collision box count Box[boxCount] Collision boxes uint Vertex count Vector3[vertexCount] Vertices uint Face count Face[faceCount] Faces Collision Surface Format Description byte Material byte Flag byte Brightness byte Light Collision Sphere Format Description float Radius Vector3 Center Surface Collision surface Collision Box Format Description Vector3 Min Vector3 Max Surface Collision surface Face Format Description uint[3] Triangle indices Surface Collision surface Item Placement ( .ipl ) Item placement files are used to create and place different objects, zones of special behaviour or paths in the world. The files are stored in plain text. The structure and format is similar item definition files. Sections Identifier Description inst Instances zone Ingame zones cull Zones with special behaviour pick Weapon pickups Instance Format Description int Model ID string Model name Vector3 Position Vector3 Scale 6 Quaternion Rotation 7 Zone Format Description string Name int Type Vector3 Area min Vector3 Area max int Island string .gtx text file Screenshots Types Section Type public enum SectionType { None = 0, Struct = 1, String = 2, Extension = 3, Texture = 6, Material = 7, MaterialList = 8, FrameList = 14, Geometry = 15, Clump = 16, Atomic = 20, TextureNative = 21, TextureDictionary = 22, GeometryList = 26, MorphPlugin = 261, SkinPlugin = 278, ParticlesPlugin = 280, UVAnimationPlugin = 309, BinMeshPlugin = 1294, Frame = 39056126 } Geometry Flags [System.Flags] public enum GeometryFlags { IsTriangleStrip = 1 << 0, HasTranslation = 1 << 1, HasTexCoords = 1 << 2, HasColors = 1 << 3, HasNormals = 1 << 4, IsLit = 1 << 5, ModulateMaterialColor = 1 << 6, HasMultipleTexCoords = 1 << 7, Native = 1 << 24 } Bin Mesh Type public enum BinMeshType { TriangleList = 0, TriangleStrip = 1 } Texture Filtering public enum TextureFiltering { None = 0, Nearest = 1, Linear = 2, MipNearest = 3, MipLinear = 4, LinearMipNearest = 5, LinearMipLinear = 6 } Raster Format [System.Flags] public enum RasterFormat { ARGB1555 = 0x0100, RGB565 = 0x0200, RGBA4444 = 0x0300, LUM8 = 0x0400, RGBA32 = 0x0500, RGB24 = 0x0600, RGB555 = 0x0a00, AutoMipMap = 0x1000, PAL8 = 0x2000, PAL4 = 0x4000, MipMap = 0x8000 } Object Flags [System.Flags] public enum ObjectFlags { Wet = 1 << 0, TimeObjectNight = 1 << 1, AlphaTransparency1 = 1 << 2, AlphaTransparency2 = 1 << 3, TimeObjectDay = 1 << 4, InteriorObject = 1 << 5, Shadows = 1 << 6 } Vehicle Type switch (type) { case "car": return Vehicle.Type.Car; case "boat": return Vehicle.Type.Boat;
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]
  • 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]
  • Game Developer
    ANNIVERSARY10 ISSUE >>PRODUCT REVIEWS TH 3DS MAX 6 IN TWO TAKES YEAR MAY 2004 THE LEADING GAME INDUSTRY MAGAZINE >>VISIONARIES’ VISIONS >>JASON RUBIN’S >>POSTMORTEM THE NEXT 10 YEARS CALL TO ACTION SURREAL’S THE SUFFERING THE BUSINESS OF EEVERVERQQUESTUEST REVEALEDREVEALED []CONTENTS MAY 2004 VOLUME 11, NUMBER 5 FEATURES 18 INSIDE EVERQUEST If you’re a fan of making money, you’ve got to be curious about how Sony Online Entertainment runs EVERQUEST. You’d think that the trick to running the world’s most successful subscription game 24/7 would be a closely guarded secret, but we discovered an affable SOE VP who’s happy to tell all. Read this quickly before SOE legal yanks it. By Rod Humble 28 THE NEXT 10 YEARS OF GAME DEVELOPMENT Given the sizable window of time between idea 18 and store shelf, you need to have some skill at predicting the future. We at Game Developer don’t pretend to have such skills, which is why we asked some of the leaders and veterans of our industry to give us a peek into what you’ll be doing—and what we’ll be covering—over the next 10 years. 36 28 By Jamil Moledina POSTMORTEM 32 THE ANTI-COMMUNIST MANIFESTO 36 THE GAME DESIGN OF SURREAL’S Jason Rubin doesn’t like to be treated like a nameless, faceless factory worker, and he THE SUFFERING doesn’t want you to be either. At the D.I.C.E. 32 Before you even get to the problems you typically see listed in our Summit, he called for lead developers to postmortems, you need to nail down your design.
    [Show full text]
  • Google Adquiere Motorola Mobility * Las Tablets PC Y Su Alcance * Synergy 1.3.1 * Circuito Impreso Al Instante * Proyecto GIMP-Es
    Google adquiere Motorola Mobility * Las Tablets PC y su alcance * Synergy 1.3.1 * Circuito impreso al instante * Proyecto GIMP-Es El vocero . 5 Premio Concurso 24 Aniversario de Joven Club Editorial Por Ernesto Rodríguez Joven Club, vivió el verano 2011 junto a ti 6 Aniversario 24 de los Joven Club La mirada de TINO . Cumple TINO 4 años de Los usuarios no comprueba los enlaces antes de abrirlos existencia en este septiembre, el sueño que vió 7 Un fallo en Facebook permite apropiarse de páginas creadas la luz en el 2007 es hoy toda una realidad con- Google adquiere Motorola Mobility vertida en proeza. Esfuerzo, tesón y duro bre- gar ha acompañado cada día a esta Revista que El escritorio . ha sabido crecerse en sí misma y superar obs- 8 Las Tablets PC y su alcance táculos y dificultades propias del diario de cur- 11 Propuesta de herramientas libre para el diseño de sitios Web sar. Un colectivo de colaboración joven, entu- 14 Joven Club, Infocomunidad y las TIC siasta y emprendedor –bajo la magistral con- 18 Un vistazo a la Informática forense ducción de Raymond- ha sabido mantener y El laboratorio . desarrollar este proyecto, fruto del trabajo y la profesionalidad de quienes convergen en él. 24 PlayOnLinux TINO acumula innegables resultados en estos 25 KMPlayer 2.9.2.1200 años. Más de 350 000 visitas, un volumen apre- 26 Synergy 1.3.1 ciable de descargas y suscripciones, servicios 27 imgSeek 0.8.6 estos que ha ido incorporando, pero por enci- El entrevistado . ma de todo está el agradecimiento de muchos 28 Hilda Arribas Robaina por su existencia, por sus consejos, su oportu- na información, su diálogo fácil y directo, su uti- El taller .
    [Show full text]
  • The Impact of Middleware Technologies on Your Game Development
    The Impact of Middleware Technologies on your Game Development Julien Merceron Worldwide Technical Director Ubisoft Ent. Introduction •Topics: • Technology Design Process; • Project Life Cycle Design; • Structure of the Talk: • From B.G.E to P.O.P; • From Unreal2 829 to Splinter Cell; • From Splinter Cell to Splinter Cell:PT; • Strategy highlight; • Practical Methodology, patterns analysis; •Q&A. From B.G.E to P.O.P (B.G.E = Beyond Good and Evil) (P.O.P = Prince of Persia: The Sands of Time) From B.G.E to P.O.P • Level Architecture Differences: • POP is very linear, each location can only be visited at one time of day • World is completely dynamically loaded, less data in memory at the same time • The abilities of the Prince enable him to cover great distances in a short time, rooms must be bigger • Graphic style makes it harder to use the “all textures fit in GS” scheme used by BGE From B.G.E to P.O.P • How does this change the graphic engine? • No need to be able to adjust the ambient color dynamically as in BGE • No need to minimize the size of the graphic data by storing the meshes in indexed form. This form is suboptimal on PS2 • Static meshes must render very fast to be able to display the bigger rooms we’ll have in the game • Dynamic texture loading is needed (also required because of Dynamic Loading) From B.G.E to P.O.P • Choices we made - Move lighting and skinning on VU1 • We moved skinning, ligthing, and all UV computing (chrome, projection for shadows) on the VU1 • This gave us more CPU time for handling AI / Collisions / Etc… • We also had very high elements counts in some scenes so this gave us a little more breathing room.
    [Show full text]
  • LJMU Research Online
    CORE Metadata, citation and similar papers at core.ac.uk Provided by LJMU Research Online LJMU Research Online Tang, SOT and Hanneghan, M State-of-the-Art Model Driven Game Development: A Survey of Technological Solutions for Game-Based Learning http://researchonline.ljmu.ac.uk/205/ Article Citation (please note it is advisable to refer to the publisher’s version if you intend to cite from this work) Tang, SOT and Hanneghan, M (2011) State-of-the-Art Model Driven Game Development: A Survey of Technological Solutions for Game-Based Learning. Journal of Interactive Learning Research, 22 (4). pp. 551-605. ISSN 1093-023x LJMU has developed LJMU Research Online for users to access the research output of the University more effectively. Copyright © and Moral Rights for the papers on this site are retained by the individual authors and/or other copyright owners. Users may download and/or print one copy of any article(s) in LJMU Research Online to facilitate their private study or for non-commercial research. You may not engage in further distribution of the material or use it for any profit-making activities or any commercial gain. The version presented here may differ from the published version or from the version of the record. Please see the repository URL above for details on accessing the published version and note that access may require a subscription. For more information please contact [email protected] http://researchonline.ljmu.ac.uk/ State of the Art Model Driven Game Development: A Survey of Technological Solutions for Game-Based Learning Stephen Tang* and Martin Hanneghan Liverpool John Moores University, James Parsons Building, Byrom Street, Liverpool, L3 3AF, United Kingdom * Corresponding author.
    [Show full text]
  • Game Engine Anatomy 101, Part I April 12, 2002 By: Jake Simpson
    ExtremeTech - Print Article 10/21/02 12:07 PM Game Engine Anatomy 101, Part I April 12, 2002 By: Jake Simpson We've come a very long way since the days of Doom. But that groundbreaking title wasn't just a great game, it also brought forth and popularized a new game-programming model: the game "engine." This modular, extensible and oh-so-tweakable design concept allowed gamers and programmers alike to hack into the game's core to create new games with new models, scenery, and sounds, or put a different twist on the existing game material. CounterStrike, Team Fortress, TacOps, Strike Force, and the wonderfully macabre Quake Soccer are among numerous new games created from existing game engines, with most using one of iD's Quake engines as their basis. click on image for full view TacOps and Strike Force both use the Unreal Tournament engine. In fact, the term "game engine" has come to be standard verbiage in gamers' conversations, but where does the engine end, and the game begin? And what exactly is going on behind the scenes to push all those pixels, play sounds, make monsters think and trigger game events? If you've ever pondered any of these questions, and want to know more about what makes games go, then you've come to the right place. What's in store is a deep, multi-part guided tour of the guts of game engines, with a particular focus on the Quake engines, since Raven Software (the company where I worked recently) has built several titles, Soldier of Fortune most notably, based on the Quake engine.
    [Show full text]
  • [Learning] Games
    TOOLS FOR [LEARNING] GAMES Prepared by Marc Prensky. Updated November 18, 2004 Thanks to Steven Drucker, Bob Bramucci, and others. Note: not a complete list; will change over time. Please send corrections and additions to [email protected] FREE (OR CLOSE) COST $ Adventure Game Studio: Adventure Maker: www.adventuremaker.com Templates http://www.adventuregamestudio.co.uk/ BlitzPlus (2D) www.blitzbasic.com Adventure game engines (Spiderweb) Certification Templates (Games2train): www.spiderweb.com www.games2train.com Frame Discovery School: Flying Buffalo www.flyingbuffalo.com/teacher.htm Games http://puzzlemaker.school.discovery.com/ Game Show Pro (Learningware): Flash Games: http://flashgames.umn.edu/ www.learningware.com GameMaker: Games Factory (Clickteam): www.clickteam.com Game www.cs.uu.nl/people/markov/gmaker/index.html MindRover (Cogni-Toy): www.mindrover.com Makers Hot Potatoes (Half-Baked): Quandary (Half-Baked): http://web.uvic.ca/hrd/halfbaked/ www.halfbakedsoftware.com/quandary.php Simple 2D PPT Jeopardy: In “Awesome Game Creation” Book QuestPro: www.axeuk.com/quest/ Peril: www.teachopolis.org/arcade/index.html Simple Games: www.babrown.com Engines Personal Educational Press:: Stagecast Creator: www.stagecast.com www.educationalpress.org/educationalpress/ Play-by-mail: www.pbm.com/~lindahl/pbm_list/email.html Rapunsel: www.maryflanagan.com/rapunsel Savie Frame-Games (Canada) www.savie.qc.ca/CarrefourJeux/fr/accueil.htm Storyharp: www.kurtz-fernhout.com/StoryHarp/ Thiagi: www.thiagi.com/freebies-and- goodies.html Word Junction
    [Show full text]
  • Topic 6: Game Software Development Tools & Technology
    Computer Game Design & Development Topic 6: Game Software Development Tools & Technology Hamizan binti Sharbini1 ([email protected]) Dr Dayang Nur Fatimah Awang Iskandar2 ([email protected]) Faculty of Computer Science & Information Technology Universiti Malaysia Sarawak This OpenCourseWare@UNIMAS and its related course materials are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. 1 Objectives • Know software tools for developing games • Understand the trend in game tool development and technology 2 Game Software Tools • Many tools are available in the market nowadays for passionate developers to create their own games. • Every software tools has its advantages and disadvantages, and is all depends on the developer’s choice, game genre and familiarity. • The tools also may vary according to its quality, stability and price (if is not for free!). • Example of game software tools (main and supporting tools) in assisting game development process are depicted in Figure 1. (The listings are only a sample of software tools and many other existing softwares for developers to choose according to their preferences). 3 Figure 1: Game Software Development Tools 4 3-D Modeling Packages Examples: • Maya (www.aliaswavefront.com): – One of the legacy tools in developing 3D games – Some edition is free on the site • 3ds Max (www.discreet.com): – One of the legacy tools in developing 3D games – Very powerful game software tool and used by many developers • Blender (http://www.blender.org/) : – free and open source 3D animation suite – supports 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.
    [Show full text]
  • An Overview Study of Game Engines
    Faizi Noor Ahmad Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 3, Issue 5, Sep-Oct 2013, pp.1673-1693 RESEARCH ARTICLE OPEN ACCESS An Overview Study of Game Engines Faizi Noor Ahmad Student at Department of Computer Science, ACNCEMS (Mahamaya Technical University), Aligarh-202002, U.P., India ABSTRACT We live in a world where people always try to find a way to escape the bitter realities of hubbub life. This escapism gives rise to indulgences. Products of such indulgence are the video games people play. Back in the past the term ―game engine‖ did not exist. Back then, video games were considered by most adults to be nothing more than toys, and the software that made them tick was highly specialized to both the game and the hardware on which it ran. Today, video game industry is a multi-billion-dollar industry rivaling even the Hollywood. The software that drives these three dimensional worlds- the game engines-have become fully reusable software development kits. In this paper, I discuss the specifications of some of the top contenders in video game engines employed in the market today. I also try to compare up to some extent these engines and take a look at the games in which they are used. Keywords – engines comparison, engines overview, engines specification, video games, video game engines I. INTRODUCTION 1.1.2 Artists Back in the past the term ―game engine‖ did The artists produce all of the visual and audio not exist. Back then, video games were considered by content in the game, and the quality of their work can most adults to be nothing more than toys, and the literally make or break a game.
    [Show full text]
  • 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.
    [Show full text]
  • GAME DEVELOPERS CONFERENCE 2005 PREVIEW Future Vision
    >> PRODUCT REVIEW NDL’s GAMEBRYO 1.2 ENGINE FEBRUARY 2005 THE LEADING GAME INDUSTRY MAGAZINE >> ANNUAL GDC PREVIEW >>FEMALE MARKET SHARE >>BREAKAWAY INTERVIEW SHOW HIGHLIGHTS AND HOW MUCH MONEY CEO DOUG WHATLEY STAFF SESSION PICKS ISN’T BEING SPENT SPILLS SERIOUS BEANS POSTMORTEM: UP YOUR ARSENAL! ON AND OFFLINE WITH RATCHET & CLANK []CONTENTS FEBRUARY 2005 VOLUME 12, NUMBER 2 FEATURES 9 GAME DEVELOPERS CONFERENCE 2005 PREVIEW Future Vision. IGF. Serious Games. City by the Bay. If you haven’t met the buzzwords and acronyms yet, you’d better get acquainted, and soon. The 2005 Game Developers Conference is primed for March 7–11 in San Francisco. We’ve got outlooks and opinions on the lectures, roundtables, and panel discussions, as well as commentary on the highlights of the week’s agenda. By Simon Carless 9 16 INCREASING THE BOTTOM LINE: WINNING THE WOMEN’S MARKET SHARE The amount of money women have to spend—and indeed do spend—on electronic entertainment hasn’t been assessed into a well reasoned, comprehensive business plan in the game industry. Through a deep 28 understanding of the facts and by listening to the successes of other industries, developers, publishers, and retailers may be able to 16 (finally) earn serious money from this POSTMORTEM mostly untapped market. By Clarinda Merripen 28 UP YOUR ARSENAL: ON AND OFFLINE IN RATCHET & CLANK In this third adaptation of the entertaining RATCHET & CLANK series, 25 Insomniac ventured into the unknown by adding online gameplay. BREAKING THE WAVES Despite the usual issues, like creating a sequel without cloning the Doug Whatley, CEO of BreakAway Games, original, and careful scheduling (the team’s production timeline was shares his thoughts about the game a scant 13 months), Insomniac had the game out the door a week industry, how his company got into serious early.
    [Show full text]