Click for full size cover image

First things first - there is just over 1 month to go until the deadline for our massive programming competition! So start tidying up your snakes, perfectng your tanks firing arc and wasting those soliders. Competition Entry Registration is now open and we will publish upload instructions this week. Make sure you get as many people as possible to test your game for you though.

In other news this month we see the release of two new enhancement packs for DarkBASIC Professional, with more on the way. There is a new release of the ever expanding Texture Maker (which was responsible for this months cover image), some hot looking compo game previews, two new titles to check out and also two tutorials from DB veterans: one helping you out with multi-player and movement / rotation prediction, and one in creating impressive foliage on your landscapes. Got something you'd like featured next issue? Then please write to us.

Oh and before I forget - FPSC Insider will be back next issue, we are trying our best to prepare an exclusive video for you all showing FPSC in action, but no promises!

DBPro Enhancement Packs
TGC Compo 2004 Registration
New gameSpace Content
Texture Maker 2.81 Released
Ragdoll GUI v1.0
Advanced Terrain Builder
DBPro .NET IDE Update
Image Enhance DBPro Plugin
Game: Snow Island
Coding: How to do Multiplayer
The 2nd DBP Convention
TGC Compo Sneak Previews
Coding: Boned Foliage Tutorial
Game: Crush!
From the Forums
This months winner

Snow Island Snow Island
Stealth action when Genetic Research goes wrong!
Crush! Crush!
Knock down the blocks before you are Crushed!
Increase the Power of DarkBASIC Professional

Due to the way DarkBASIC Professional was designed it is easy for skilled developers to create new commands and features you can use in your own games. Here we present two commercial expansion packs that combined give DarkBASIC Professional over 220 additional commands to play with.

Enhancement Expansion Pack

The Enhancements Expansion Pack is a new product for existing DarkBASIC Professional owners. It extends the power of DarkBASIC Professional by providing 12 new sets of commands allowing access to many new features including: Ogg Vorbis support, EAX (Environmental Audio), File Blocks, CSV File Access, Memory Management, CPU / Disk Interrogation and more.

EZrotate Enhanced

EZrotate Enhanced provides an easy to use, yet powerful command set that helps to eliminate the complicated mathematics from your projects. Finally, you can make your objects do what you want with simple commands instead of complicated math routines. Installing EZrotate into DarkBASIC Professional will give you an extra 45 commands to use that will allow you to do handle matrix mathmatics, quaternion equations, true global rotation, local rotation, vector rotation, object pitching and more.

Final few days of special offer pricing available. Please note that at the start of October the pricing for the above two packs will increase slightly, so order now to obtain the full saving on both packs.

For more information visit: //
The Game Creators Competition 2004

At the time of writing there are 34 days left until the end of The Game Creators 2004 Programming Competition. We have just opened up the entry registration pages, so hop on over to the site and get your game/s registered. We will also release upload details shortly, but for those of you who participated in the Alienware competition you can pretty much guess what that will consist of (FTP upload your files). If you have never used FTP before, or don't know how to, now is the time to learn (or ask a mate to do it for you).

Don't think that it is too late to start an entry, because it's not! The chances of you winning something simply by entering is significantly higher than any previous year. This is because we have no less than 87 prize packs to give away, a grand total of 131 unique items from top sponsors including: ATI, Live Publishing, Caligari, Shockwave Sounds, Focus, Fast Trak, SW3D Games, Binary Moon and of course ourselves.

You can find full details of the competition over on the TGC Programming Competition 2004 pages, but here are just a few of the great prizes on offer:

  • 3 ATI Video Cards (1 x 9800 Pro and 2 x 9600XT) from ATI
  • Subscription to Retro Gamer magazine, PC Action magazine and PC Extreme magazine from Live Publishing
  • Caligari gameSpace 1.5 Full Version from Caligari
  • Atari 10-in-1 handheld TV game systems from Live Publishing
  • CDs from the Bjorn Lynne web site from Shockwave Sound
  • ExGen full version from Binary Moon
  • StarWraith 4: Reviction from SW3D Games
  • Nuclear Glory Collision DLL from Nuclear Software
  • Magix Music Studio 2004 from Fast Trak
  • Sound Essentials Volume 2 DVD from Fast Trak
  • Music Maker Garage and Music Maker Dance from Fast Trak
  • Games including Delta Force 2, IL-2 Sturmovik, Worms Blast and more from Focus Multimedia
  • 5 x DarkBASIC Professional fully boxed from The Game Creators
  • 10 x DarkBASIC Professional On-line from The Game Creators
  • 3 x Pro Packs: 3D Canvas Pro, Cartography Shop, Texture Maker, Geoscape 3D, TreeMagik Pro and gile[s]
  • 3 x Media Packs: SkyMATTER, DarkMATTER Electronic, DarkMATTER 2, DarkMATTER 3 and Character Shop
  • 3 x Terrain Packs: Advanced Terrain Plugin Plus, Texture Maker, TreeMagik Pro, SkyMATTER and Geoscape 3D

And loads more!

As said, you can find full details of the competition over on the TGC Programming Competition 2004 pages, including the full rules list, how to enter, what is required and more.

For more information visit: //
New gameSpace Content Available

Caligari are pleased to release the first of a set of models that we will be making available only to gameSpace owners.

This first model is built, textured and animated in gameSpace1.5, and is yours to study, learn from, modify and use, and gameSpace owners can download their copy right away!

There are other models Caligari will be making available to their gameSpace owners in the near future, and each one will have its own unique interactive viewer. They hope to develop each of those viewers in a different game development package so that you should have example code to benefit from no matter what your chosen game development tool!

For more information visit:
Texture Maker v2.81 Released

A new version of Texture Maker has been released and it brings with it even more tools to ensure this remains one of the best texture creation and sampling programs around. Indeed the front cover image of this months newsletter was created entirely within the Landscape Rendering engine of Texture Maker. New effects and features include:

  • Batch Processing - Perform many operations in a single step
  • Filter - Wind function
  • Generator - Ridged Perlin
  • Special - Texturize function
  • Offset buttons at Source Texture panel
  • Windows - "Discard All" option, to close all textures quickly
  • The Bricks function now includes a turbulence parameter
  • The Waves Generator has been totally re-written
  • Supersampling on zoomed-out textures (Mip-Mapping)
  • Redesigned and cleaned-up the already superb interface!
  • More distinct function icons
  • All model dialogs are now standard Windows ones
  • Improved keyboard support
  • Gradient Designer: Lock Point feature

Plus a lot more changes, fixes and enhancements. The Upgrade is free to all Texture Maker owners (just download the new version from the web site, install and you are away). All new customers will receive 2.81 as standard from today on. Visit the Texture Maker web site for downloads and ordering information.

For more information visit: //
Ragdoll GUI v1.0

Remember the game Ragdoll Monkey Bowling? Well this a Ragdoll creating GUI based around the Newton DBP wrapper and Walabers work on his own Ragdoll designer beta! If this isn't making much sense, fear not.. basically what you have here is a great little tool for rigging your models and then exporting them in a format the ragdoll plugin can use. It can size the bones automatically just by analysing the original .X model. Models are limited to 1000 vertices at the moment, but ask the author and he may increase this.

For more information visit: Rag-gui V1.0
Advanced Terrain Builder v1.0

A new full version of Advanced Terrain Builder has been released. The Advanced Terrain Builder (ATB) was designed for building advanced terrains in DarkBASIC Professional. But you can use it for all your terrain needs. Export the heightmaps, textures und detail maps in other programming languages or systems. After finishing your terrain, you can easily import it into your DBP program. ATB creats all the media you need and a dba-source-file for easy including the terrain in already existing projects. A trial version is available for download and you can see more screen shots on the web site.

For more information visit:
DBPro .NET IDE Updated

As well as releasing the source code to Level Maker 3D (see the forum round-up this issue), developer John Youren has also updated his alternative DarkBASIC Professional IDE. It includes:

  • Full syntax highlighting (with injector for TPC's etc)
  • Full *.dbpro maintenance, can even read corrupted or otherwise damaged / malformed projects.
  • Option explicit integrated parser, like the VS.Net output window
  • XP style user interface (fully customisable)
  • DBP/DBC support (DBC supports needs DBP/DBP demo installed)
  • DBP activation/DBP dll supported
  • Refactoring toolbox
  • Plugin support with direct access to the syntax component

You can get a download and more details on the web site (note that the site doesn't work properly in the Firefox web browser, so use IE for it until its fixed).

For more information visit:
Image Enhance DBPro Plugin

Stefan Mahr has released a new commercial plugin for DarkBASIC Professional called Image Enhance. It adds no less than 70 new commands to DBPro to allow you to work exclusively with images. Some of the functions replace those already in DBPro (but are, obviously, faster in operation) while others provide new functionality.

For example: You can now work directly with the images, without having to use bitmaps and then cut the image out again. This means you can change the images used by sprites directly. It also offers commands to:

  • Access the image data directly via a pointer of a fucntion
  • Draw directly to images (point, line, box, circle, ellipse, polygon and bezier) using the alpha channel
  • Manipulate images in different ways including cut, paste, merge, split, grey scale and shear
  • Filter the image: Blur, Edge, Raster, Bump Map and Noise
  • Retrieve image data
  • Additional image and colours tasks include peek and poke


Visit the web site for lots of information including a download demo, the help files, a full command list, example code, a new keyword.ini file and links to buy the full version. As it only costs $14 (or 11 Euros) it's good value for money if you have a need for any of its features.

For more information visit:
Snow Island

On a routine military operation the weather takes a turn for the worst, resulting in a crash landing. With all other crew members down and no method to contact the outside you are stranded on Snow Island - an Island made of snow, although is it uninhabited, what will you find and will you survive. Snow Island has been used as secret location by an organisation carrying out tests and research, although with no researchers left on the Island you may realise that their research actually went after them - and now its coming after you!

Snow Island is a 3rd/1st Person Survival/Horror game in which you must explore Snow Island to find an escape route. The company behind the Island is Gene - FUSION Corportation, which is a genetic engineering company.

The game is actually a 41MB download, so is quite a hit for those on modems - but why not grab one of the trailer videos first to see what it plays like? There are several of them available from the web site and they are worth checking out. Screen shots (and even videos) don't really do this game full justice, it helps a great deal if you spend some time getting used to stealthing around and ease yourself into it. The attention to detail is extremely good and while the graphics and animation could be a bit better in places, it's a fair trade off for such an involving title.

We have mirrored a copy of the trailer on our file server to help out the authors with bandwidth, so you can grab it from here. It is 9.3MB in size and is a WMV file (plays just fine with Winamp or Media Player).

  For more details:
Coding Guru: Basic Multiplayer Object Movement

Talented DarkBASIC developer Shawn Bower of Starwraith 3D Games has written this great tutorial for the newsletter readers. It covers basic multiplayer object movement and rotation predictions, something Shawn has refined over the years in his award-winning multiplayer sci-fi epic Starwraith games. Over to Shawn...

Basic Multiplayer Object Movement and Rotation Prediction

A key to solid multiplayer performance in any game's design is handling gamestate (the status and condition of player controlled objects) between retrieved packets. To do this, the game must predict how gamestate will unfold during the time it takes to receive actual gamestate data from the packets. There are a number of ways to accomplish this. But for this article, I will focus on the concepts behind a first person shooter (which can also be adapted to work with games using more complex/diverse player controls for more advanced movement and rotations, such as flight and space simulations). I also recommend referring to my multiplayer source code example as a good place to start with a raw routine to which this process can be added.

Track every Player:
The first step in creating an accurate prediction routine is to continually monitor the recent gamestate. To do this, you will need to keep track of every player controlled object's rotation and movement. It's usually good to assign these results to arrays each time a data packet is received for a player. You can then compare how that player's object changed between the last two received packets and how much time it took. And from there, you can predict how that player will likely move before the next packet is received. Although more complex then what's illustrated in this example, you can increase the tracking history of each object to improve prediction and produce smoother results. But most games can perform just fine with a routine based on a two packet history.

We'll start by tracking the direction a player moves. You can do this one of two primary ways. The easiest way is to just assign velocity and strafe speed to variables, transmit it, then have the receiving system just keep moving the player at the same speed until a packet indicates a change. This works, but can be inaccurate when a player makes sudden changes or the framerate isn't exactly the same on both systems (even for a short period of time). You can use timer based object movement to aid in prediction accuracy, if desired.

Another method is to simply measure the movement between two packets, then use that data to predict future movement. For example, if a player moves 5 units of distance between 2 packets, they will most likely continue moving at the same speed until the next packet is received. So you can simply keep moving the object at the same speed until a change is needed. If you are developing a flight or space simulation where velocity is far more flexible then just on and off, you may want to include measuring the acceleration and deceleration for better accuracy. So if a player moves 5 units between two packets, but the first packet indicated a velocity setting of 0 and the second indicated 10, you know the player is accelerating and will likely continue to do so. So you can continue to increase the velocity setting for that player until top speed is reached or a change is indicated in a packet. If you smooth your physics so that velocity changes are tapered, you can improve how accurate movements can be predicted between packets. If you allow for very sudden movements, then players may appear to jerk around more, making it more difficult to aim and play the game. Smoother movements can provide smoother multiplayer gameplay, not just improve realism. You'll want to balance movement performance with smooth motion. Too fast and the movement may be jerky and hard to target, too slow and players may feel vulnerable and limited.

Rotation Tracking:
Rotation tracking is done in a similar way. You basically just need to measure how far a player rotates between two packets, then continue the rotation using the time as a guide. If a player rotates on the Y angle from 40 to 50 degrees between two packets, then you know they turned to the right (since going from 40 to 50 degrees to the left in about 300 milliseconds or less should be impossible in your game) and if it took 250 milliseconds (the time between both packets), then you know how long it took. Since it took 250 ms to rotate 10 degrees, you can continue the rotation at that rate (or you can also count the number of frames over that 250 ms interval and use the result as a divider). I usually taper the rotation result a bit to smooth out the movement when the player stops rotating.

By combining these two elements, you will provide far smoother gameplay, making it easier for players to track the movement of others, improving aim and overall gameplay accuracy.

You can download example DarkBASIC multi-player source code from our CodeBase.

For more information visit: Multiplayer Routine CodeBase entry
The Second Unofficial DarkBASIC Professional Convention

Last year saw the first official un-official DarkBASIC convention :) This year they are back! For those of you living in the UK (or who are prepared to travel a bit) you'll get to meet-up with some fellow DB geeks, perhaps meet Lee and Mike demo'ing FPS Creator and get a few tutorial sessions (including one on Copyright Law and another on the BLUE plugin), coding compos, LAN party fragging and general all-round merriness (most likely involving beer).

Location: The Ship Hotel, Chichester, West Sussex, ENGLAND
Date: 23rd - 24th of October, from around 10am on Saturday and a bit later on Sunday.
Current Cost Per Person (excluding travel costs etc): It's £60 per person for the two days. However, the more people who come, the cheaper it gets.
Who's Coming: Mike (and me, Nick (TCA!)). Hopefully Lee will be persuaded to come too. Time Table: Being finalised, details so far on the web site.

Details are emerging in this forum thread and also on the convention web site.

For more information visit:
TGC Compo 2004 Sneak Previews

A few people have been sending us some sneak previews of their TGC 2004 Competition games and we have to say - they look superb! Here is a very small selection to check out. Click on the screen shots for the full size versions.

A superb looking Op Wolf remake from Iain McCluskey (and brother!)

An early look at 3D snake by Cliff Mellangard

Back to Op Wolf, this time from Snaz!

It is really encouraging to see these games so well advanced, even with over a month to go. All we would like to say is - please submit your game, even if you don't get the chance to finish it / make it as polished as you perhaps would have liked to do. There are so many prizes on offer this time, that even with an incomplete game you still stand a good chance of winning!

For more information visit: //
Code Guru: Boned Foliage Tutorial

The ever prolific Andrew Vanbeck provides the second of this months coding features, this time an easy way to create masses of great looking and dynamically moving foliage in a game - using a technique that you may have not even considered before - boned model joints. Over to Andrew:

Hi all, this is a little tutorial of sorts, showcasing an alternative method for handling foliage with advanced terrains. It can easily apply to any terrain type however, it only relies on the ground height function which can be substituted easily. The basic idea is that the foliage is a collection of plains in a single mesh, in this case there are 48 plains which have a simple bone structure over the whole mesh. By offsetting the 4 corner bones on each foliage mesh, you can mould it onto terrain really quickly - although, editing 500 nodes is something best split into shifts!. With 48 plains and 500 objects, you get 24,000 foliage plains. You can of course reduce the number of nodes to whatever you need, just make sure to take a note of the number of nodes, the file format for the map is really basic and won't store the amount of foliage.

The detail texture was found on, and the grass texture was thrown together, as I'm still a photoshop noob! The terrain colour map was generated with TerrTexGen.

The code is split into 2 parts, an editor and a demo. The editor is there to allow you to manually bend each mesh over the terrain, it's not pretty, but is nice and quick to use, instructions are displayed on startup. The terrain media has to be specified inside the code, but it's very similar to the advanced terrain example in that respect, so you should be right at home. The demo shows the terrain and foliage with fogging and a more limited camera view, really just to showcase and give access to the loading and setup code.

The demo holds all the data as well, it doesn't necesserily have to, it could load the data and apply it to the objects at the same time. I've left it as is to allow experimentation in optimising it, like using limited foliage meshes and positioning them intelligently - something I plan to look into myself. I have supplied the CharacterFX file for the foliage, as anyone who plans to make their own will have to know about mesh rigging - and I doubt I could explain its setup very well.

Download the tutorial here: Boned Foliage Tutorial (944KB)

Crush is a Tetris-like game where you must destroy a set amount of bricks before the wall crushes you! Strategic thinking and fast fingers will ensure success. This is a fun and addictive game with an interesting mix of speed and strategy.

Those pesky ghosts at the haunted mansion have done it again, setting off a trapped wall as you come home. Now you'll have to destroy the wall before it crushes you. On top of all this, those silly ghosts are still setting off traps! Can you survive the Crush?

There are four modes of play included to cater for all types of players - from the frantic clicker to the more logically minded. This game is suitable for all ages. Download the fully playable demo and if you like the game you can buy it online for only £4.95

  For more details:
From the Forums

Forum Updates: Due to some recent immature activity on the forums we have introduced new user post approval. This means that the moderators will have to approve the posts of all new members before they will actually appear to everyone else on the forum. Also - welcome to our new moderators! I would like to take this time to say that not one single moderator on the forum is actually a member of TGC staff. If you see a forum user with the status of "Moderator", they are not part of TGC - they've just been elected into that position because they have been around a while and know what goes down. All TGC staff actually have "TGC" as their user status. Our new moderators are doing a great job and we now have virtually 24-hour cover around the clock to deal with issues that might arise.

As always though our community forums is proving to be an interesting place to hang out! Here is a short summary of very interesting threads that you may wish to take a look at and perhaps participate in?

Level Maker 3D Source Released - John Youren has released the full source code to his DarkBASIC 1.13 3D level making utility Level Maker 3D under the GNU licence. There is a download and feedback is welcome.
Read more: Level Maker 3D Source

TerrXGen - GamzMan has released a preview of a new terrain texture generator. It takes source textures and then blends them depending on the height, etc.
Read more: TerrXGen

Shoot-em-up Engine V2 - We featured this one a few issues ago, but now it's back! Developer Skeletor has added a load of new features to this DarkBASIC Classic set of code functions to allow making a 2D shoot-em-up easily. The code is free and feedback is welcome.
Read more: Shoot-em-up Engine V2

Firewall Update - Bolt Software are preparing their DB game Firewall for publishing and in the process have added stacks of new featurs including voice overs, pause menu, new chipsets, 3rd mouse button support and better virus AI. There is a new demo to try. Firewall was the cover game from the March issue of this newsletter.
Read more: Firewall

Operation Invasion Evasion Cheats - OIE was one of the top rated Alienware competition games and Van B has released some cheats to let you blast your way through this Cannon Fodder inspired shooter a little easier!
Read more: OIE Cheats

BSP Factory 1.2 - BSP Factory loads a BSP file (Quake or Half Life versions), light-maps it and then exports it to several different formats. The new version allows you to write your own exporters, although it comes with a .X version.
Read more: BSP Factory

Magic Worlds Pro Beta - This is a conversion of the DarkBASIC utility Magic Worlds into DarkBASIC Professional. The person responsible for converting the code is after feedback and bug reports to make it as solid as possible. Grab the download and give it a shot. Magic Worlds is a matrix landscape editor.
Read more: Magic Worlds Pro

Visit our forums:
This months winner

We've plucked one lucky subscriber to our newsletter and for you a completely free copy of DarkBASIC Professional is yours for the asking. The winner is warwickoscar@???.??? - just email us and a free copy of DarkBASIC Professional is yours.

For more information visit: //

Next month we hope to bring you the final installment of the DBPro DLLs with PureBasic tutorial as well as information about new DBPro DLLs, Upgrade 5.7 and FPS Creator. That and the usual mix of news and hot gossip!

Got something you want thousands of people to read about in the next issue? Then get in touch! Email me: or use our Feedback form.

Contact us: //

Famous Last Words: "I wouldn't worry about the thieves' guild -- they don't have a clue who did it."
(C) Copyright The Game Creators Limited 2004