Quake III Arena This Page Intentionally Left Blank Focus on Mod Programming for Quake III Arena

Total Page:16

File Type:pdf, Size:1020Kb

Quake III Arena This Page Intentionally Left Blank Focus on Mod Programming for Quake III Arena Focus on Mod Programming for Quake III Arena This page intentionally left blank Focus on Mod Programming for Quake III Arena Shawn Holmes © 2002 by Premier Press, a division of Course Technology. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, elec- tronic or mechanical, including photocopying, recording, or by any information stor- age or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. The Premier Press logo, top edge printing, and related trade dress are trade- marks of Premier Press, Inc. and may not be used without written permis- sion. All other trademarks are the property of their respective owners. Publisher: Stacy L. Hiquet Marketing Manager: Heather Hurley Managing Editor: Sandy Doell Acquisitions Editor: Emi Smith Series Editor: André LaMothe Project Editor: Estelle Manticas Editorial Assistant: Margaret Bauer Technical Reviewer: Robi Sen Technical Consultant: Jared Larson Copy Editor: Kate Welsh Interior Layout: Marian Hartsough Cover Design: Mike Tanamachi Indexer: Katherine Stimson Proofreader: Jennifer Davidson All trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appro- priate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be particularly aware of the fact that the Internet is an ever-changing entity. Some facts may have changed since this book went to press. ISBN: 1-931841-56-X Library of Congress Catalog Card Number: 2001099836 Printed in the United States of America 02 03 04 05 RI 10 9 8 7 6 5 4 3 2 1 Premier Press, a division of Course Technology 2645 Erie Avenue, Suite 41 Cincinnati, Ohio 45208 To Ariel and Hunter, who love to play games almost as much as their Dad And to Dave Kirsch, for inspiring me, and many others, to create Acknowledgements his is my first book, and it was both challenging and a constant Tlearning process from start to finish. Because of the unusual cir- cumstances that led to my becoming the author, I have many impor- tant people to thank; without them I surely wouldn’t have been able to pull this off. The first of these people are Emi Smith and Estelle Manticas, two patient ladies who held my hand as I stumbled blindly. Many of the tutorials in this book are based on the hard work of dedi- cated Quake III Arena fans, who took their own personal time to write up what they had discovered. My thanks go to Chris Hilton, Karl Pauls, Arthur “Calrathan” Tomlin, and Ian “HypoThermia” Jefferies at Code3Arena for their extensive help and knowledge. As well, thanks to my favorite 3D modeler and friend Dave Wolfe for his contribution in the modeling department. My passion for C programming would not exist if it weren’t for the support of Dave Sausville, and so I have him to thank as well. I need to thank Thaxton Beesely, too, for it was his laptop on which a great deal of this book was written. Special thanks go to Robi Sen, my technical editor, for believing in me enough to get me on this project. Jared Larsen provided detailed information on Q3’s code, shaders, and wrote the Flag Indicator & Dynamic Spawn generating functions (all after having just welcomed a baby!), so thanks very much to him. Many thanks also to Andy Smith for providing introductory content in Chapter 2. Also, special thanks to Anthony Jacques, for providing the source to his “Domination” mod for Q3, which formed the basis of the Defend the Flag modifica- tion, handled in the last section of this book. Thanks also go to the team back at Breckenridge Communications, who dared me to write a book. And finally, thanks especially to my wife, Julie, for her support and patience during this exciting and unpredictable project. About the Author SHAWN HOLMES is a gaming addict, period. Born in the recesses of the Great White North, Shawn grew up in the small town of Parksville, British Columbia, with dreams of one day becoming a professional video-game developer. He first tinkered with an Apple computer back in 1985, and wrote his first game for a Computer Science project in 1990. Today, Shawn is Senior Programmer at Breckenridge Communications, an Internet-applications company in Denver, Colorado, and lives with his wife Julie and their two children, Ariel and Hunter. He can be reached at [email protected]. Shawn has played a role in several game modifications; in 1997 he headed up The CTF Expansion Project to increase the number of quality CTF maps available for Quake. In 1999, his Decay! mod for Heretic II was named “Mod of the Month” by an Australian gaming magazine, PC Powerplay. As long as video and computer games exist, Shawn will continue to push his development experience to new levels in his quest to create the next exciting game. Contents Letter from the Series Editor . xiv Introduction . xvii CHAPTER 1 Introduction to Programming Mods . 1 What Is a Mod? . 2 Why Create a Mod Instead of Just Writing a Game? . 3 The Tools of the Trade. 4 Using C. 4 Using the VC++ Compiler . 5 What Mods Are Currently Available? . 6 Urban Terror. 6 Rocket Arena Q3A . 7 Quake III Fortress (Q3F) . 8 Painkeep Arena . 9 Rune Quake . 11 Summary . 12 CHAPTER 2 C Programming in Quake III . 13 The History of Quake and Its Code . 15 The Move from DOS to Win32 . 16 Hello Quake III, Goodbye DLL! (Sort Of) . 18 Getting Set Up. 19 Installing Q3 and the Source. 19 The Source Directory. 21 Using Visual C++. 22 Contents ix Building the Source . 25 Compiling the Project. 27 Loading Up Your Mod . 28 Looking at the Quake III Code . 29 On Your Marks, Get Set . .. 29 The Q3 Source. 30 Planning . 33 A Simple Mod:The Homing Missile . 33 I Think,Therefore I NextThink . .. 36 Entities: Building Blocks in Q3. 37 Changing the Missile’s Behavior. 38 Smoothing the Missile . 47 A Final Note . 48 Summary . 48 CHAPTER 3 More Weaponry Work. 49 Understanding Weapon Types . 50 Modifying the Shotgun . 52 Understanding the Top-Down Approach . 52 Knowing the Shotgun Inside and Out . 53 The Physics of Vectors . 55 Intricacies of Damage . 56 Adjusting the Shotgun’s Accuracy . 58 The Shotgun’s Dirty Secret . 62 Synchronicity in the Client Code . 66 Adding Polish: Shooting While Moving. 68 Modifying Grenades:The Cluster Grenade. 72 Further g.weapon.c Detective Work . 73 Why a Grenade Bounces (and Rockets Don’t) . 74 Using What You Know: think and nextthink. 76 Making the Cluster Grenade Behave. 78 x Contents A Further Adjusting Gravity Wells . 82 Into the Vortex . 83 Testing for Collision . 89 Making Gravity Work for You . 90 Summary . 91 CHAPTER 4 Manipulating the Player . 93 The Quake III Player and His World. 94 Player Structure . 96 The Guts of gclient_s . 97 State of the Player. 102 Changing the Player’s Movement . ..
Recommended publications
  • Fallout 4 Ps4 God Mode Cheat Code
    Fallout 4 Ps4 God Mode Cheat Code Result – Cheat Code. Even the game has been released recently, many different Fallout 76 mods have been released to help the players fulfill the desire for even more action. Fallout 4 PC cheat code list: God Mode, NoClip mode, spawn items, and more. I got a 12 month and a 3 month from a single code. The main cheat mod is excellent as well - just open up your pip-boy and literally enable/disable whatever you want - .ﻣﺸﺎھﺪة ﻣﺴﻠﺴﻞ ﻣﻠﻜﺔ اﻟﻠﯿﻞ اﻟﺤﻠﻘﺔ 12 ﻣﺘﺮﺟﻢ ﯾﻮﺗﯿﻮب , ﺣﻠﻘﺎت .there is even a god mode. These are probably some of the most used cheats in the game With the following codes you gives you immortality through infinite health, makes sure that you must never look for ammunition or conjure you the desired items just cause. 50 [PATCHED 1. 15 months of PS Plus for $27. The mod does what you’d. Cheats in this list include those for all DLCs: Nuka-World, Automatron, Far Harbor. Cheats für God Mode, Munition, Perks und mehr - Fallout 4. Feb 21, 2019 - All about gaming news tips cheats tricks and trainers. How to get every item in Fallout 4 in seconds – Fallout 4 Guide Plus other secret cheat commands to unlock the game's full potential. Here are 14 mods you should try. Download Mega Man X Legacy Collection 1+2 Trainer +5 - Functions: Home — Active Cheats Numpad 1. 16] Jonny Gamer December 31, such as “God Mode” for PC and consoles, infinite ammo and more. Here we will show you how to unlock all Fallout 4 codes with a cheats list that’s valid for the PC, PS4 & Xbox One versions.
    [Show full text]
  • Haxe Game Development Essentials
    F re e S a m p le Community Experience Distilled Haxe Game Development Essentials Create games on multiple platforms from a single codebase using Haxe and the HaxeFlixel engine Jeremy McCurdy In this package, you will find: The author biography A preview chapter from the book, Chapter 1 'Getting Started' A synopsis of the book’s content More information on Haxe Game Development Essentials About the Author Jeremy McCurdy is a game developer who has been making games using ActionScript, C#, and Haxe for over four years. He has developed games targeted at iOS, Android, Windows, OS X, Flash, and HTML5. He has worked on games that have had millions of gameplay sessions, and has built games for many major North American television networks. He is the games technical lead at REDspace, an award-winning interactive studio that has worked for some of the world's largest brands. They are located in Nova Scotia, Canada, and have been building awesome experiences for 15 years. Preface Developing games that can reach a wide audience can often be a serious challenge. A big part of the problem is fi guring out how to make a game that will work on a wide range of hardware and operating systems. This is where Haxe comes in. Over the course of this book, we'll look at getting started with Haxe and the HaxeFlixel game engine, build a side-scrolling shooter game that covers the core features you need to know, and prepare the game for deployment to multiple platforms. After completing this book, you will have the skills you need to start producing your own cross-platform Haxe-driven games! What this book covers Chapter 1, Getting Started, explains setting up the Haxe and HaxeFlixel development environment and doing a quick Hello World example to ensure that everything is working.
    [Show full text]
  • Master Thesis
    Faculty of Computer Science and Management Field of study: COMPUTER SCIENCE Specialty: Information Systems Design Master Thesis Multithreaded game engine architecture Adrian Szczerbiński keywords: game engine multithreading DirectX 12 short summary: Project, implementation and research of a multithreaded 3D game engine architecture using DirectX 12. The goal is to create a layered architecture, parallelize it and compare the results in order to state the usefulness of multithreading in game engines. Supervisor ...................................................... ............................ ……………………. Title/ degree/ name and surname grade signature The final evaluation of the thesis Przewodniczący Komisji egzaminu ...................................................... ............................ ……………………. dyplomowego Title/ degree/ name and surname grade signature For the purposes of archival thesis qualified to: * a) Category A (perpetual files) b) Category BE 50 (subject to expertise after 50 years) * Delete as appropriate stamp of the faculty Wrocław 2019 1 Streszczenie W dzisiejszych czasach, gdy społeczność graczy staje się coraz większa i stawia coraz większe wymagania, jak lepsza grafika, czy ogólnie wydajność gry, pojawia się potrzeba szybszych i lepszych silników gier, ponieważ większość z obecnych jest albo stara, albo korzysta ze starych rozwiązań. Wielowątkowość jest postrzegana jako trudne zadanie do wdrożenia i nie jest w pełni rozwinięta. Programiści często unikają jej, ponieważ do prawidłowego wdrożenia wymaga wiele pracy. Według mnie wynikający z tego wzrost wydajności jest warty tych kosztów. Ponieważ nie ma wielu silników gier, które w pełni wykorzystują wielowątkowość, celem tej pracy jest zaprojektowanie i zaproponowanie wielowątkowej architektury silnika gry 3D, a także przedstawienie głównych systemów używanych do stworzenia takiego silnika gry 3D. Praca skupia się na technologii i architekturze silnika gry i jego podsystemach wraz ze strukturami danych i algorytmami wykorzystywanymi do ich stworzenia.
    [Show full text]
  • Springer Top Titles in Natural Sciences & Engineering
    ABC springer.com Springer Top Titles in Natural Sciences & Engineering New Book Information FIRST QUARTER 2013 ABC springer.com Available The Reorientation of Higher Education ISBN 978-94-007-5847-6 Challenging the East-West Dichotomy 2013. IX, 314 p. 5 illus. (CERC Studies B. Adamson, Hong Kong Institute of Education, China; J. Nixon, University of Sheffield, UK; in Comparative Education, Volume 31) F. Su, Liverpool Hope University, UK (Eds) Hardcover Features 7 € 129,95 | £117.00 7 Focusses on the nature of, and conditions necessary for, the transformation 7 * € (D) 139,05 | € (A) 142,94 | sFr 173,00 of higher education Bookstore Location 7 Exemplifies the complexities of the process of institutional change across Education regional, national and continental divides 7 Challenges the notion of an East-West dichotomy in institutional Fields of interest repositionings International and Comparative Education; Higher Education; Educational Policy and This book presents accounts of the repositioning of higher education institutions across a range Politics of contexts in the East and the West. It argues that global governance, institutional organisation and academic practice are complementary elements within the process of institutional Target groups repositioning. While systems, institutions and individuals in the different contexts are subjected Research to similar global trends and pressures, the reorientation of higher education takes diverse forms Product category as a result of the particularities of those contexts. That reorientation cannot be explained in terms of East-West dichotomies and divisions, but only with reference to the interflow across and Contributed volume within systems. Globalisation necessitates complex interconnectivities of regionality, culture and geopolitics that this book explores in relation to specific cases and contexts.
    [Show full text]
  • Building a Java First-Person Shooter
    3D Java Game Programming – Episode 0 Building a Java First-Person Shooter Episode 0 [Last update: 5/03/2017] These notes are intended to accompany the video sessions being presented on the youtube channel “3D Java Game Programming” by youtube member “The Cherno” at https://www.youtube.com/playlist?list=PL656DADE0DA25ADBB. I created them as a way to review the material and explore in more depth the topics presented. I am sharing with the world since the original work is based on material freely and openly available. Note: These notes DO NOT stand on their own, that is, I rely on the fact that you viewed and followed along the video and may want more information, clarification and or the material reviewed from a different perspective. The purpose of the videos is to create a first-person shooter (FPS) without using any Java frameworks such as Lightweight Java Game Library (LWJGL), LibGDX, or jMonkey Game Engine. The advantages to creating a 3D FPS game without the support of specialized game libraries that is to limit yourself to the commonly available Java classes (not even use the Java 2D or 3D APIs) is that you get to learn 3D fundamentals. For a different presentation style that is not geared to following video episodes checkout my notes/book on “Creating Games with Java.” Those notes are more in a book format and covers creating 2D and 3D games using Java in detail. In fact, I borrow or steal from these video episode notes quite liberally and incorporate into my own notes. Prerequisites You should be comfortable with basic Java programming knowledge that would be covered in the one- semester college course.
    [Show full text]
  • GWT + HTML5 Can Do What? (Google I/O 2010)
    GWT + HTML5 Can Do What!? Ray Cromwell, Stefan Haustein, Joel Webber May 2010 View live notes and ask questions about this session on Google Wave http://bit.ly/io2010-gwt6 Overview • HTML5 and GWT • Demos 1. Eyes 2. Ears 3. Guns What is HTML5 • Formal definition o Best practices for HTML interpretation o Audio and Video elements o Other additional elements • Colloquial meaning o Canvas o WebGL o WebSockets o CSS 3 o LocalStorage o et al GWT support for HTML5 • Very easy to build Java wrappers • Many already exist in open-source projects • Will be moving many of these into GWT proper (~2.2) • Not part of GWT core yet • GWT has always strived to be cross-browser • Most new features are not available on all browsers WebGL • OpenGL ES 2.0, made Javascript-friendly • Started by Canvas3D work at Mozilla • Spread to Safari and Chrome via WebKit • Canvas.getContext("webgl"); WebGL Differences to OpenGL 1.x • No fixed function pipeline (no matrix operations, no predefined surface models) • Supports the GL Shader Language (GLSL) o Extremely flexible o Can be used for fast general computation, too • Distinct concepts of native arrays and buffers o Buffers may be stored in graphics card memory o Arrays provide element-wise access from JS o Data from WebGL Arrays needs to be copied to WebGL buffers before it can be be used in graphics operations Eyes: Image Processing Image Processing Photoshop Filters in the Browser • Work on megapixel images • At interactive frame rates • Provide general purpose operations o scale, convolve, transform, colorspace
    [Show full text]
  • Die Kulturelle Aneignung Des Spielraums. Vom Virtuosen Spielen
    Alexander Knorr Die kulturelle Aneignung des Spielraums Vom virtuosen Spielen zum Modifizieren und zurück Ausgangspunkt Obgleich der digital divide immer noch verhindert, dass Computerspiele zu ge- nuin globalen Gütern werden, wie es etwa der Verbrennungsmotor, die Ka- laschnikow, Hollywoodikonen, Aspirin und Coca Cola längst sind, sprengt ihre sich nach wie vor beschleunigende Verbreitung deutlich geografische, natio- nale, soziale und kulturelle Schranken. In den durch die Internetinfrastruktur ermöglichten konzeptuellen Kommunikations- und Interaktionsräumen sind Spieler- und Spielkulturen wesentlich verortet, welche weiten Teilen des öf- fentlichen Diskurses fremd und unverständlich erscheinen, insofern sie über- haupt bekannt sind. Durch eine von ethnologischen Methoden und Konzepten getragene, lang andauernde und nachhaltige Annäherung ¯1 an transnational zusammengesetzte Spielergemeinschaften werden die kulturell informierten Handlungen ihrer Mitglieder sichtbar und verstehbar. Es erschließen sich so- ziale Welten geteilter Werte, Normen, Vorstellungen, Ideen, Ästhetiken und Praktiken – Kulturen eben, die wesentlich komplexer, reichhaltiger und viel- schichtiger sind, als der oberflächliche Zaungast es sich vorzustellen vermag. Der vorliegende Artikel konzentriert sich auf ein, im Umfeld prototypischer First-Person-Shooter – genau dem Genre, das im öffentlichen Diskurs beson- ders unter Beschuss steht – entstandenes Phänomen: Die äußerst performativ orientierte Kultur des trickjumping. Nach einer Einführung in das ethnologische
    [Show full text]
  • Introducing 2D Game Engine Development with Javascript
    CHAPTER 1 Introducing 2D Game Engine Development with JavaScript Video games are complex, interactive, multimedia software systems. These systems must, in real time, process player input, simulate the interactions of semi-autonomous objects, and generate high-fidelity graphics and audio outputs, all while trying to engage the players. Attempts at building video games can quickly be overwhelmed by the need to be well versed in software development as well as in how to create appealing player experiences. The first challenge can be alleviated with a software library, or game engine, that contains a coherent collection of utilities and objects designed specifically for developing video games. The player engagement goal is typically achieved through careful gameplay design and fine-tuning throughout the video game development process. This book is about the design and development of a game engine; it will focus on implementing and hiding the mundane operations and supporting complex simulations. Through the projects in this book, you will build a practical game engine for developing video games that are accessible across the Internet. A game engine relieves the game developers from simple routine tasks such as decoding specific key presses on the keyboard, designing complex algorithms for common operations such as mimicking shadows in a 2D world, and understanding nuances in implementations such as enforcing accuracy tolerance of a physics simulation. Commercial and well-established game engines such as Unity, Unreal Engine, and Panda3D present their systems through a graphical user interface (GUI). Not only does the friendly GUI simplify some of the tedious processes of game design such as creating and placing objects in a level, but more importantly, it ensures that these game engines are accessible to creative designers with diverse backgrounds who may find software development specifics distracting.
    [Show full text]
  • Egrove April 1, 2011
    University of Mississippi eGrove Daily Mississippian Journalism and New Media, School of 4-1-2011 April 1, 2011 The Daily Mississippian Follow this and additional works at: https://egrove.olemiss.edu/thedmonline Recommended Citation The Daily Mississippian, "April 1, 2011" (2011). Daily Mississippian. 740. https://egrove.olemiss.edu/thedmonline/740 This Newspaper is brought to you for free and open access by the Journalism and New Media, School of at eGrove. It has been accepted for inclusion in Daily Mississippian by an authorized administrator of eGrove. For more information, please contact [email protected]. F RIDAY , APRIL 1, 2011 | VOL . 100, NO . 110 1911 THE DAILY 2011 MISSISSIPPIAN C ELEBRATING OUR HUNDREDT H YEAR | TH E STUDENT NEW S PAPER O F TH E UNIVER S IT Y O F MI ss I ss IPPI | SERVING OLE MI ss AND OXF O RD S IN C E 1911 | WWW . T H ED mo NLINE . com this week Tad Pad blasts off into space THE GROVE PANEL ON MRS DEGREE The University of Mississippi will hold a symposium on the prospect of what an MRS. degree would bring to the Oxford campus. Panelists will debate the pros and cons and discuss facility modifica- tions to accomodate classes that would be included in its curricu- lum. If the proposal for the degree is passed, a new committee will be formed to determine the course- work offered, and a budget set. 1 p.m. The Grove real news inside NEWS GRAD STUDENT BEGINS JAPAN FUND PHOTO ILLUSTRATION BY VICTORIA BOATMAN | The Daily Mississippian NEWS The Tad Smith Coliseum floats in space as it runs out of rocket fuel.
    [Show full text]
  • June 2019 the Edelweiss Am Rio Grande Nachrichten
    Edelweiss am Rio Grande German American Club Newsletter-June 2019 1 The Edelweiss am Rio Grande Nachrichten The newsletter of the Edelweiss am Rio Grande German American Club 4821 Menaul Blvd., NE Albuquerque, NM 87110-3037 (505) 888-4833 Website: edelweissgac.org/ Email: [email protected] Facebook: Edelweiss German-American Club June 2019 Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 Kaffeeklatsch Irish Dance 7pm Karaoke 3:00 pm 5-7 See page 2 9 10 11 12 13 14 15 DCC Mtng & Irish Dance 7pm Strawberry Fest Dance 2-6 pm Essen und Dance See Pg 4 Sprechen pg 3 16 17 18 19 20 21 22 Jazz Sunday GAC Board Irish Dance 7pm Karaoke Private Party 2:00-5:30 pm of Directors 5-7 6-12 6:30 pm 23 24 25 26 27 28 29 Irish Dance 7pm Sock Hop Dance See Pg 4 30 2pm-German- Language Movie- see pg 3 Edelweiss am Rio Grande German American Club Newsletter-June 2019 2 PRESIDENT’S LETTER Summer is finally here and I’m looking forward to our Anniversary Ball, Luau, Blues Night and just rolling out those lazy, hazy, crazy days of Summer. On a more serious note there have been some misunderstandings between the GAC and one of our oldest and most highly valued associate clubs the Irish-American Society (IAS). Their President, Ellen Dowling, has requested, and I have extended an invitation to her, her Board of Directors, and IAS members at large to address the GAC at our next Board meeting.
    [Show full text]
  • Sabrina Claudio Album Download Zip Sabrina Claudio Album Download Zip
    sabrina claudio album download zip Sabrina claudio album download zip. Completing the CAPTCHA proves you are a human and gives you temporary access to the web property. What can I do to prevent this in the future? If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware. If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices. Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store. Cloudflare Ray ID: 669821a70bc215e8 • Your IP : 188.246.226.140 • Performance & security by Cloudflare. Sabrina claudio album download zip. Free download The Chainsmokers World War Joy, Direct zip link, album hq tracks. Filtered through a pop lens, their material was topping the charts around the world but with each newrelease it started to sound more forced and lacked a spark of creative flow. With harsh criticism starting to form due to the predictable nature of their material, they have pulled a full 360 and reignited thespark with the music they are now releasing. Artist: The Chainsmokers Album: World War Joy Release: 2019 Genre: Electronic Quality: 320 kbps. Track list: 01. The Reaper (feat. Amy Shark) 02. Family (feat. Kygo) 03. See the Way (feat. Sabrina Claudio) 04. P.S. I Hope You’re Happy (feat. blink-182) 05.
    [Show full text]
  • Core Techniques and Algorithms in Game Programming
    Core Techniques and Algorithms in Game Programming Core Techniques and Algorithms in Game Programming To even try to keep pace with the rapid evolution of game development, you need a strong foundation in core programming techniques-not a hefty volume on one narrow topic or one that devotes itself to API- specific implementations. Finally, there's a guide that delivers! As a professor at the Spanish university that offered that country's first master's degree in video game creation, author Daniel Sanchez-Crespo recognizes that there's a core programming curriculum every game designer should be well versed in-and he's outlined it in these pages! By focusing on time-tested coding techniques-and providing code samples that use C++, and the OpenGL and DirectX APIs-Daniel has produced a guide whose shelf life will extend long beyond the latest industry trend. Code design, data structures, design patterns, AI, scripting engines, 3D pipelines, texture mapping, and more: They're all covered here-in clear, coherent fashion and with a focus on the essentials that will have you referring back to this volume for years to come. Table of Contents Introduction What You Will Learn What You Need to Know How This Book Is Organized Conventions Chapter 1. A Chronology of Game Programming Phase I: Before Spacewar Phase II: Spacewar to Atari Phase III: Game Consoles and Personal Computers Phase IV: Shakedown and Consolidation Phase V: The Advent of the Game Engine Phase VI: The Handheld Revolution Phase VII: The Cellular Phenomenon Phase VIII: Multiplayer Games In Closing Chapter 2.
    [Show full text]