Cover image for Microsoft Visual Basic Game Programming with DirectX.
Microsoft Visual Basic Game Programming with DirectX.
Title:
Microsoft Visual Basic Game Programming with DirectX.
Author:
Harbour, Jonathon S.
ISBN:
9781592003990
Personal Author:
Physical Description:
1 online resource (1148 pages)
Contents:
Title -- Copyright -- Dedication -- Acknowledgments -- About the Author -- Contents at a Glance -- Contents -- Foreword -- Introduction -- Welcome to the Adventure! -- LEARNING BY EXAMPLE -- TARGET AUDIENCE -- YOUR EXPECTATIONS -- MY EXPECTATIONS -- SYSTEM REQUIREMENTS -- BOOK SUMMARY -- SUMMARY -- Part I Introducing Visual Basic and DirectX -- CHAPTER 1 Game Programming Basics -- WELCOME! -- Visual Basic Games -- A Glimpse at DirectX -- Game Programming Topics -- WHAT IS A VIDEO GAME? -- Why Do We Play Video Games? -- The Game Engine -- Game Graphics -- Sound Effects and Music -- Getting Input -- Artificial Intelligence -- Supporting Multiple Players -- REWRITING YOUR FAVORITE GAME -- Perfecting an Already-Perfect Game -- Building Your Ultimate Game -- Making Your Game Ideas into Reality -- What Makes a Game Tick? -- VIDEO GAMES VERSUS COMPUTER GAMES -- How It All Started -- Home Consoles -- GAMING HARDWARE -- Notebooks: The New Gaming Rigs -- Instant LAN Party -- Wireless LAN Cards -- 3-D Acceleration to Go -- THE IMPACT OF DIRECTX -- VISUAL BASIC IS A COOL LANGUAGE! -- Power, Flexibility, Saturation, and Speed -- Visual Basic and DirectX in the Same Sentence? -- THE VISUAL BASIC GAME LIBRARY -- PROMOTIONS -- SUMMARY -- CHAPTER 2 Getting Started with Visual Basic -- BREAKING THE RULES -- Language Barriers -- Standards, Schmandards -- Visual Basic Makes Its Own Rules! -- HISTORY OF VISUAL BASIC -- Version History -- COMPILER VERSION SUPPORT -- Visual Basic 5.0 -- Visual Basic 6.0 -- Visual Basic.NET -- CHOOSING THE BEST VERSION -- Minor Editions -- Major Editions -- Visual Studio Packs a Punch -- INNOVATIONS IN VISUAL BASIC.NET -- Object-Oriented Programming Features -- Modern Language Features -- INSTALLING VISUAL BASIC -- Installing Visual Studio 6.0 -- Installing Visual Basic 6.0 -- Installing the MSDN Library.

Downloading the Latest Service Pack -- EXPLORING THE VISUAL BASIC IDE -- The Program Menu and Toolbar -- The Project Explorer -- The Properties Window -- The Toolbox Window -- The Editor Window -- The Immediate Window -- The Locals Window -- The Watches Window -- USING MICROSOFT DEVELOPER NETWORK -- Getting Help -- Online Resources -- SUMMARY -- CHAPTER 3 Visual Basic Programming in a Nutshell -- PROGRAMMING LANGUAGE BASICS -- Machine Language -- Assembly Language -- Low-Level Language -- Mid-Level Language -- High-Level Language -- Scripting Language -- ELEMENTS OF A VISUAL BASIC PROGRAM -- GUI Versus Code -- Forms -- ActiveX Controls -- Code Modules -- Subs -- Functions -- Properties -- Events -- Data Types and Parameters -- Data Types -- Data Type Shortcuts -- Parameter Types -- Variable and Procedure Scope -- Coordinate Systems, Sizing, and Scaling -- WRITING YOUR FIRST VISUAL BASIC PROGRAM -- Visual Basic Project Types -- Building the User Interface -- Don't Take Shortcuts -- Unconventional Bitmap Magic -- Setting Up the Form -- Initial Property Values -- Adding the Primary PictureBox Control -- Creating the Code Module -- Setting the Startup Object -- Sample Program Source Code -- RUNNING THE CHUNKYPIXELS PROGRAM -- Background Compilation -- Early and Late Binding -- The Debug Object -- UNDERSTANDING THE VB OBJECT -- The App Object -- The Clipboard Object -- The Forms Object -- The Screen Object -- SUMMARY -- CHAPTER 4 Getting to Know the Windows API -- INTRODUCING THE WINDOWS API -- Origins of the Windows API -- 32-Bit Windows -- Visual Basic Runtime Library -- VB Holds Its Own -- GIVING VISUAL BASIC A BOOST -- Filling In Missing Functionality -- Enhancing Existing Functionality -- USING THE WINDOWS API -- The Declare Statement -- Common API Structures -- Common API Functions -- SPEEDING UP DRAWING ROUTINES -- Drawing Fast Points.

Creating the Points Program -- Source Code for the Points Program -- Drawing Fast Lines -- Creating the Lines Program -- Source Code for the Lines Program -- Drawing Fast Rectangles -- Creating the Rectangles Program -- Source Code for the Rectangles Program -- Drawing Fast Circles -- Creating the Circles Program -- Source Code for the Circles Program -- Drawing Fast Bitmaps -- Creating the Bitmaps Program -- Source Code for the Bitmaps Program -- IDENTIFYING THE HOST SYSTEM -- Windows and System Directories -- Computer Name -- Memory Status -- Windows Version -- SUMMARY -- CHAPTER 5 Optimizing Visual Basic with Objects -- DESIGNING FOR EFFICIENCY -- Forcing the Solution to Fit Your Mold -- Closed-Minded Solutions -- The Ideal Solution -- The Importance of Declaring Variables -- Proof of Concept: The SpeedTest Program -- Creating the SpeedTest Program -- Benchmark Results -- OPTIMIZING VISUAL BASIC CODE -- Stay Away from Variants -- Fast Strings, Slow Strings -- Fast Longs, Faster Longs -- Identifying Variables Using TypeName -- Identifying Variables Using VarType -- Procedures Versus Objects -- Passing Variables by Reference -- Variable Visibility -- Writing Efficient Loops -- Testing the Executable -- KEEPING TRACK OF ERRORS -- Using Option Explicit -- Using Option Base N -- SETTING COMPILER OPTIONS -- Compiling Native Code -- Compiling for Speed -- Comparing Optimization Differences -- OBJECT-ORIENTED PROGRAMMING -- Encapsulation -- Polymorphism -- Inheritance -- Interface Inheritance -- Implementation Inheritance -- Classes -- Class Instancing -- Global Classes -- Properties -- SUMMARY -- CHAPTER 6 Supercharging Visual Basic with DirectX -- WELCOME TO THE NEXT LEVEL -- What Is DirectX? -- DirectX Game Development -- DirectX Versus OpenGL -- DirectX Versus the Windows API -- Installing DirectX for Visual Basic.

THE GRAND UNIFIED THEORY OF DIRECTX -- A Brief History of DirectX -- Overview of DirectX -- DirectDraw -- Direct3D -- DirectSound -- DirectInput -- DirectPlay -- What's New in DirectX 8.0? -- DirectX Graphics -- DirectX Audio -- DirectInput -- DirectPlay -- VISUAL BASIC SUPPORT FOR DIRECTX -- 2-D Overkill -- All Hail the Type Libraries! -- WRITING SOME DIRECTX CODE -- The GetInfo Program -- The Welcome Program -- Setting Up the Project -- Using the DirectX Object -- PROMOTION! -- SUMMARY -- Part II The Nuts and Bolts of Game Development -- CHAPTER 7 Break Out the Bitmaps -- BASIC BITMAP HANDLING (USING VISUAL BASIC) -- How about Some Slow Shapes? -- The Budget Bitmap: Solid Images -- The Budget Bitmap: Transparent Images -- Graphics Heavyweight: The PictureBox Control -- ALL ABOUT WINDOWS BITMAPS -- Color Bit Depth -- Bitmap Structure -- Bitmap File Header -- Bitmap Info Header -- Reading the Bitmap Header -- ADVANCED BITMAP HANDLING (USING WINDOWS) -- Loading Bitmaps into Memory -- Using LoadImage -- Creating the Device Context -- Selecting a Bitmap Handle into a Device Context -- Getting Down to Business: The Bitmap Loader -- Loading a Bitmap Directly into a PictureBox Control -- Creating Bitmaps from Scratch -- "B" Is for Blitting -- Using BitBlt -- Using StretchBlt -- Using TransparentBlt -- Accessing Bitmap Bits -- GetBitmapBits and SetBitmapBits -- The BitmapBits Program -- WRAPPING IT ALL UP: THE BITMAP CLASS -- SUMMARY -- CHAPTER 8 Supersonic Sprites -- WHAT IS A SPRITE? -- Popular Sprite-Based Games -- Static Sprites Versus Dynamic Sprites -- Basic Sprite Properties -- Active Flag -- Transparent Flag -- State -- Relative Position: CurrentX, CurrentY -- Global Position: GlobalX, GlobalY -- Direction -- Velocity: SpeedX, SpeedY -- Movement Rate -- Animation Rate -- Erase Flag -- Current Frame -- Frame Count -- Basic Sprite Functionality.

Load Frames -- Generate Mask -- Save Under -- Restore Under -- Draw Sprite -- Next Frame -- Previous Frame -- Common Sprite Types -- LOADING ANIMATED SPRITES -- Inheriting Functionality from the Bitmap Class -- Creating the clsBitmap Array -- Ripping Frames out of Tiled Bitmaps -- ADVANCED TRANSPARENCY -- Transparency Versus Translucency -- Transparent Background Tiles -- Transparent Blitting Options -- The TransparentBlt Function -- Tapping into Hardware Transparency Support -- Generating the Transparency Mask -- Transparency and the Color Key -- Writing Your Own Transparent Blitter -- Blitting the Mask -- Blitting the Sprite -- The Complete Transparent Blitter -- ANIMATING SPRITES -- Keeping Track of Sprite Position -- Moving the Sprite on the Screen -- Changing Frames -- Saving the Background Image -- PUTTING IT ALL TOGETHER: THE SPRITE CLASS -- Creating the Sprite Class Source Code -- Adding Sprite Properties -- Adding Sprite Procedures -- SPRITES IN ACTION: THE SPRITE TEST PROGRAM -- Building the SpriteTest Program -- The SpriteTest Source Code -- SPRITE COLLISION DETECTION -- Detecting Sprite Collisions -- Testing Sprite Collision -- SUMMARY -- CHAPTER 9 Let the Animation Begin -- THE HIGH-SPEED ANIMATION LOOP -- No More Timers! -- Creating a Fast Game Loop -- USING A DOUBLE BUFFER TO ELIMINATE FLICKER -- Frame Animation and Flicker -- The Benefits of Double Buffering -- The Challenge of Speed -- The Age-Old Question: Performance or Quality? -- Creating a Double Buffer -- Sending Graphics Output to the Double Buffer -- Blitting the Back Buffer -- Testing the Double Buffer -- ADVANCED DIRTY RECTANGLE DOUBLE BUFFERING -- Optimizing the Back Buffer Update Procedure -- Understanding Dirty Rectangles -- Single Dirty Rectangle Double Buffering -- Using a Single Dirty Rectangle -- Testing a Single Dirty Rectangle -- Using Multiple Dirty Rectangles.

Encapsulating Dirty Rectangles.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: