#
Welcome to Blitz3D

"The Ultimate 3D Creation Language"

By Paul Gerfen
(c) Copyright 2001 Paul Gerfen
http://www.gamecoding.co.uk

Hi Guys, Paul here from Gamecoding.. recently I was asked to come up with a selection of tutorials for complete beginners. Seeing as I'm mostly a 2D games programmer - I too could be considered as a total beginner.

B3D is an incredibly powerful language, but believe me - by the time you have worked your way through these mini tutorials, you will have the basic 3D knowledge to realize your dreams and start to create your own projects.

Updates to these tutorials as well as extra notes, can be found on my website www.gamecoding.co.uk or at the official blitz website, www.blitzbasic.com

## Background

Let's begin by running through what we have, and more importantly what we shall need:

No doubt you've already had a run through the demos that accompany Blitz3D, and are very keen to get stuck in and produce the next big "Quakey-Game". Unfortunately and this stage all we are going to do is start with the very basic's and work our way through all the main functions of B3D before we even think of moving on to advanced topics.

Hopefully you have a little experience of Blitz Basic programming (or for that matter any Basic language would help), Let's take a look at 3D before we delve in…

As your probably use to with other basic languages you have a set of co-ordinates, X (Left & Right) and Y (Up and Down). With 3D we have an extra coordinate to consider "Z", This gives us depth into the screen. For example if we were standing at a river throwing a rock as far as we can into it, what would be happening is:

As the stone leaves our hand it firstly moves away from us, and then gains height. What is happening here is that the Z coordinate is increasing as the stone moves away from us, while the Y coordinate gains height. Of course the stone will eventually fall to the ground (decrease in Y).

Its important to try and visualize these 3 axes, as we shall see a 3d world is based entirely on them.

Let's start by running through some of the major parts of Blitz3D before we start to get our hands dirty on some actual code.

Entities

The basic building blocks of all Blitz3D programs.

Cameras

Well, we all need to see what's going on !

Planes

Nope, not the flying kind with wings and engines...

Meshes

Perhaps you'd like to make your own objects from scratch.

Terrains

Rolling Hills and Landscapes, in less time it takes to put the kettle on.

MultiTexturing

Why have a plain object when you can give it a coat of many colours.

Read through some of the info ?, I hope so.. Lets dig deep and start to produce our first B3D program.
My aim to take you step by step through the very basic's. You can run the source code that goes with each chapter by either CUT & PASTING from the tutorials themselves, or by loading the accompanying files from the B3D CD. (Recommended!)

## The Tutorials

You will need the sourcecode files and object files to run these snippets. These can be found on the Blitz3D CD (or in the zip accompanying the Blitz Trial), I would advise opening up the sourcecode projects and switching between Blitz and this tutorial. (As this will hopefully explain the code and various instructions in more detail)

Setting Up

Everything you will need to know about writing a B3D program.

Movement & Rotation

Time to display a shape on the screen and start to give it some movement.

Camera Movement

There's more to B3D than just a static camera.

Object Animation

Time to make our object come alive.

Texturing

Let's make the object more lifelike, by giving it a coat of paint.

Lighting

B3D supports more than one type of lighting, here we take a brief look at the 3 main types available to us.

Collision Detection

So what does happen when two worlds collide ?

Vertexes

What happens when you smash your object up into separate pieces, and then tear each part up ?

More tutorials to be added at a later date....

Written by Paul Gerfen
Copyright (c) 2001 GameCodingUK