Hands On DarkBASIC Pro Vol 1
Contents by Chapter

Background Information

  • Algorithms
  • Stepwise Refinement
  • Structured English
  • Desk Checking
  • Boolean expressions

Starting DarkBASIC Pro

  • Creating a DarkBASIC Pro Project
  • Executing a Program
  • Understanding Screen Output
  • Text colour, size and font
  • Adding Comments

Data

  • Variables and Constants
  • The Assignment Statement
  • Arithmetic Calculations
  • Keyboard Input/li>
  • READ and DATA
  • Strings
  • Creating Random Numbers

Selection

  • AND, OR and NOT Operators
  • The IF Statement
  • The SELECT Statement
  • Nested IF Statements

Iteration

  • The DO..LOOP Construct
  • The EXIT Statement
  • The FOR..NEXT Construct
  • The SLEEP Statement
  • The REPEAT..UNTIL Construct
  • The WHILE..ENDWHILE Construct
  • Testing Iteration Constructs

Drawing Statements

  • Drawing Basic Shapes
  • Erasing Shapes
  • A First Attempt at Animation

Modular Programming

  • Creating Functions
  • Global and Local Variables
  • Mini-Specs
  • Parameter Passing
  • Pre and Post Conditions
  • Returning a Result

String Functions

  • Standard String Functions
  • Creating a Function Library

The Game of Hangman

  • Black Box Testing
  • Designing a Game
  • Equivalence Classes
  • White Box Testing

Arrays

  • Defining Arrays
  • Accessing Array Elements
  • Multi-dimensional Arrays
  • Programming Techniques Using Arrays
  • Searching and Sorting an Array

The Game of Bull and Touch

Advanced Data Types and Operators

  • INC and DEC Operators
  • Record Structures
  • Arrays of Records
  • Dynamic Lists
  • Declaring Variables
  • Queues and Stacks
  • Shift Operators
  • Bitwise Operators
  • Binary, Hexadecimal and Octal Values

Bitmaps

  • Basic Ideas
  • Loading a Bitmap
  • Displaying a Bitmap
  • Resizing a Bitmap
  • Positioning a Bitmap

Video Cards and the Screen

  • Creating a List of Available Display Modes
  • Creating a List of Installed Video Cards

File Handling

  • Navigating the Backing Store Structure
  • Accessing Files
  • Writing a File
  • Reading from a File
  • Random File Access

Handling Music Files

  • Playing MIDI and MP3 Files
  • Playing CD Tracks

Displaying Video Files

Accessing the Keyboard

  • Scan Codes
  • Detecting Multiple Simultaneous Key Presses

Mathematical Functions

Images

Sprites

  • Loading and Positioning Sprites
  • Setting the Sprite Origin
  • Moving Sprites
  • Detecting Sprite Collisions
  • Rebounding Sprites
  • Animated Sprites

Sound

  • Playing WAV Files
  • Creating 3D Sound Effects

2D Vectors

Two Player Space Duel Game

Using the Mouse

  • Creating Buttons and Rollover Effects

Using a Joystick

  • Controlling Movement
  • Using Feedback

Volume 2 - Contents by Chapter

3D Concepts and Terminology

  • 3D Coordinate system
  • World Units
  • Vertices, Edges, and Polygons
  • Vertex and Surface Normals
  • 3D Primitives
  • Textures, Cameras, and Lights
  • Alpha Channels

3D Primitives

  • Creating 3D Primitives
  • Positioning 3D Objects
  • Rotating 3D Objects
  • Scaling 3D Objects
  • Cloning 3D Objects
  • Culling
  • Merging 3D Objects

Texturing

  • Adding Texture to a 3D Surface
  • Mipmaps
  • Tiling
  • Creating Seamless Tiles
  • Video Texturing
  • Texture Effects
  • Multiple Texturing
  • Colouring 3D Objects
  • Sky Spheres

Cameras

  • Positioning Cameras
  • Creating new Cameras
  • Setting the Camera Viewport
  • Setting the Aspect Ratio
  • Setting the Aspect Ratio
  • Zooming
  • Camera Range
  • Tracking
  • Giving the User Control
  • Handling Camera Collisions
  • Outputting Camera Image to a Surface
  • Locking an Object to the Viewport

Lighting

  • Types of Light
  • Light Colour
  • Creating Lights
  • Light Range
  • Creating a Fog Effect

Meshes and Limbs

  • Creating Meshes
  • Models with Limbs
  • Translating Limbs
  • Texturing Limbs
  • Glueing an Object to a Limb
  • Using Limbs to Create a Door

Importing 3D Models

  • File Formats
  • Scaling Models
  • Animated Models
  • Model Limbs

User Control

  • Selecting On-Screen Objects

Solitaire - The Board Game

Advanced Lighting and Texturing

  • Surface Reflection
  • Light Maps and Bump Maps
  • Sphere and Cube Mapping
  • Texture Blending
  • Alpha Mapping
  • Cartoon and Rainbow Shading
  • Shadows

Collisions

  • Bounding Boxes and Spheres
  • Detecting a Collision
  • Line-of-Sight Collisions
  • Static Collisions

Particles

  • Standard Particles
  • Fire Particles
  • Snow Particles
  • Particle Examples

BSP Models

  • Loading BSP
  • BSP Cameras
  • BSP Collisions

Elevators - a 3rd Person Game

Creating Terrain

  • Terrain Contour Images
  • Texturing Terrain
  • Advanced Terrain Statements
  • Treasure Island - a 1st Person Game
  • Sky Boxes

Landscape Matrices

  • Creating a Matrix
  • Texturing a Matrix
  • Matrix Transparency
  • Matrix Lighting

Manipulating Vertices

  • Capturing Vertex Data
  • Changing Coordinates, Lighting, and Texture
  • Creating New Shapes

Pointers and Memblocks

  • Basic Concepts
  • Using a Pointer
  • Creating a Memblock
  • Storing Data in a Memblock
  • Images, Sounds and 3D Objects in Memblocks

Shaders

  • Vertex Shaders
  • Pixel Shaders

ODE

  • Dynamic and Static Volumes
  • Gravity, Velocity, Mass

Maths: Vectors and Matrices

  • 3 and 4 Element Vectors
  • Matrices
  • Transforming Vertices

Network Programming

  • Basic Concepts
  • Setting up a Link
  • Adding and Removing Players
  • Sending and Receiving Data
  • Creating a Multi-Computer Game

FTP

  • Setting up a Connection
  • Downloading and Uploading Files

Using DLLs

  • Creating new DBPro Statements
  • Adding Highlighting and Help
  • Using Standard DLLs