Editorial - November 2009

Issue 82 cover

The Game Creators this month look back on their first ten years of bringing affordable game creation tools to bedroom coders around the world. It's also a time to reflect on the wider reaching commercial market that has found value in the tools, extending far beyond what was first envisaged. Looking forward, there is so much excitement about the future that today sees the release of DarkBASIC Professional Online FREE - the full and unrestricted ad-supported version of the flagship product. 

DarkBASIC Professional - that is continually evolving to keep pace with new gaming technology - is passionately developed by The Game Creators. "Creativity is at the heart of our business", says Rick Vanner, Financial Director. "We have a strong team that can turn ideas into software reality, and this of course cascades down to our customers who are able to employ the same technology to their own dreams and visions. It is important to acknowledge that the loyal and creative community that has built up around the products makes us stronger and more determined to develop new game creation tools." 

With a firm conviction behind the technology, The Game Creators employ their programming platform to create and further develop FPS Creator, an easy-to-use and highly flexible editing environment for non-programmers with a desire to make games. Alongside newer ventures in the iPhone applications market, and having their Game Developer Kit (GDK) included in Microsoft's C++ Express Edition, The Game Creators are securing their own future in a very exciting and thriving arena. 

Lee Bamber, Founder and Managing Director, has nothing but enthusiasm when asked about the years ahead for the company and the game-making theatre. "My own prediction is that where once 'making things' was considered a niche, we're now going to see the concept extend to every corner of our lives. There is great satisfaction in making something, and for me there is twice as much satisfaction in making something that makes something else! I have a wonderful sense of achievement reaching this significant milestone, and celebrating it by giving away DarkBASIC Professional for FREE, and with it the power to create."  

Visit www.thegamecreators.com to download your FREE copy of DarkBASIC Professional now! 

Enjoy this special edition of the newsletter, and don't miss the FREE FPSC Urban Model Pack to complement the release of DarkBASIC Professional Online Free. We wanted to ensure everyone received something for nothing, including existing Dark Basic Pro users. Let us all look forward to many more years of changing the virtual world one line of code at at time!

Until next time,

Steve Vink

Anniversary Cover

Winning CoverCongratulations to Wehtam for the winning design for this celebratory edition. The ten TGC products of his choice will be making their way to their new home shortly. We had many great entries, here is a snapshot of some of the entries.

TGC Anniversary Cover Entry TGC Anniversary Cover Entry TGC Anniversary Cover Entry

TGC Anniversary Cover Entry TGC Anniversary Cover Entry TGC Anniversary Cover Entry


(1) DarkBASIC Pro (2) FPSC News (3) Free Model Pack (4) Theatre Pack (5) TGC Store (6) FPSC Competition (7) 3D Compo (8) Tip Of The Month (9) Interview - Lee Bamber (10) iPhone Apps (11) BOTB (12) Textures (13) DBP Tutorial (14) Planetary System (15) Videos (16) From the Forums (17) Lee Bamber (18) Winner (19) Outro

DarkBASIC Professional News

DarkBASIC Professional is now Free

10 Years of DarkBASICTo celebrate ten years of development and publishing, we have decided to make the core Dark Basic Professional language completely free! By lowering the barrier to entry even further, we hope to encourage even more people to discover the joy of creating games whilst offering the same wealth of features. Fear not, we are still actively supporting and enhancing the language with updates, and we still use it as our primary technology for the FPS Creator brand, another tool we plan to support for years to come. If you have yet to take the plunge into coding, now is a great time to start. You can download the online ad-supported version of DarkBASIC Professional right now and gain instant access to a language previously priced at seventy dollars.

Note: This is offer is for single home users only. Business and educational establishments cannot use the free version. 

How to install DarkBASIC Professional Free

Dark Game Studio Bonanza


Special offer while stocks last: Dark Game Studio, Dark Physics, Dark Lights, Dark AI and Extends for an incredibly low price of $49.99. Save over $170!

Creating your own PC games is now easier than ever with this special compilation of game making tools:

Order Now

Order the BonanzaSave over $170 on this special deal. Be sure to check out the screen shots and the online videos. You can of course order safely and securely online, for delivery via postal mail.

Free Products from The Game Creators
FPS Creator   -   DarkBASIC   -   2000 Store Points

FPS Creator Updates

FPS Creator News

FPS Creator Feature creepFPSC X9 

You might have wondered why so many new features suddenly appeared in the V116 beta, and because it is our anniversary we would like to tell you about it. For a few months now we have been secretly working on a variant of FPS Creator that is specifically designed with non-violence in mind. We dropped the guns and gore, and began replacing them with quests, characters and greater levels of customization. Although it is too early to show you some technology demos, the new variant which uses 'equipment' rather than 'weapons' hosts a number of additional new features including the ability to customize characters and objects without leaving the editor, creating dialog for in-depth character conversations and the introduction of an inventory for item interchange. The most exciting feature of all is the built-in support for DarkVOICES which allow specially designed characters to talk and gesture based on text and voice input. By moving the focus away from creating a hostile environment in which the player must survive to a world in which conversation, problem solving and questing become the goal, a wider range of games can be created suitable for a wider audience.  

A new combined FPSC interface has already been created, and the source code has been prepared for public release starting with the official update to V116

As you might have guessed, the FPS Creator migration has not only started but is well underway with the V116 beta. A new combined FPSC interface has already been created, and the source code has been prepared for public release starting with the official update to V116. This unified public source is a single code base that serves both FPSC and the new variant meaning support of one benefits both, and offers a simpler base from which to 'mod' your own versions. It has yet to be decided how much of X10 will be migrated to the new unified code base, but you can expect a few essential features such as timer-based logic (for maximum frame rate and smoother game play) and underwater scenes. The variant will be offered alongside FPS Creator for those who prefer a safer editing experience, though many of the features present in the variant will also be available in updates to FPS Creator (thanks to the unified public source code). 

Migrating X9, X10 and future variants of the technology was always going to be time consuming, and we are pleased to be able to report to you our success thus far. We have commissioned the production of more game making content, and have stepped up efforts to place our model pack collections into the Game Creator Store for your immediate enjoyment. We have some amazing plans for the future of FPS Creator and its variants, and we look forward to revealing them in future issues of the newsletter. To keep in touch with the very latest about the migration work and the variant, watch out for the FPS Creator beta threads in the online forums. 

Special Offer - $29.99, Save Over $150.00!

Take advantage of this whopping special offer! Get FPS Creator and 9 Model Packs for an incredibly low price of $29.99 USD (€22.00 EUR, £19.99 GBP). This deal includes:

Click here to purchase the Bonanza pack, including FPS Creator
for just $29.99 / €22.00 / £19.99



Smart Packer compresses and encrypts the selected application folder and subfolders into one executable. Create your own custom made installer/launcher in a few minutes. With Secure Zone enabled all files and folders will be cloaked (hidden) and can only be accessed by this executable.

Smart Packer WebsiteUntil November 30th, you can use special offer code E21D5D33 to receive a 20% discount on your purchase. There is also a freeware version of Smart Packer available, with many of the above features enabled. Visit the website for full details.

FREE Model Pack 36 - Urban Pack

The flexibility in this pack is that its contents can be used in so many varied situations, from urban cityscapes, abandoned cities, to wartorn environments and everything in between. A nice feature of the pack is the collision friendly assets such as steps, and even a railway track! The steps allow multi level environments to be made easily, with the scale matching to exactly one segment size, for hassle free world creation.

Free Urban Model Pack Free Model Pack 36 for FPS Creator

This pack is free to everyone who has registered a TGC Account. You will find it now in your order history, ready to be downloaded and used in your next game. Our customers have brought us to our ten year anniversary, and this is a small thank you to everyone who joined us on this journey. We would love to see what you can do with this pack, and encourage you to post your creations in the FPSC forums.

mp36_3.jpg mp36_4.jpg

Coming Soon - A Theater Near You

Theatre 3D Model Pack for Games

Developed by Bond1 (author of many great model packs) and due for release in December, the Metro Theater takes your FPSC games to a new level in terms of quality and effects. This screenshot is taken directly from FPSC, it is not a render from the modelling application! Some of the features include:

Metro Theater VideoTo fully appreciate the quality of this pack, we recommend you download the full quality video (132 MB). You can also view a lower quality rendition on YouTube, and later on in this newsletter. Watch out for the pack going on sale soon!


The Game Creator Store - New Additions

The Game Creator Store 

Over 3,000 Game Assets and growing!

The Game Creator Store now has over 3,000 game ready assets ready to compliment your game projects. The TGC team will be commissioning more media to add to the store over the coming months and many third party developers are working on quality new media for the store.

Top up your Points by Mobile  

Pay by MobileYou can now purchase 500 Store Points directly from your mobile. You don't need a credit card or payment details, simply enter your request on the Store payment page along with your mobile number. This service is available in the UK, United States and the following European countries - Austria, Czech Republic, Denmark, Republic of Ireland, Finland, Germany, Netherlands, Norway and Sweden. Other countries may become available at a future date.

Upload Your Assets to The Game Creator Store

Did you know you can sell your models, segments, music and sky boxes in the Game Creator Store? We already have dozens of artists selling their media, and we welcome anyone with the talent to provide our community with quality assets to do the same. If you are interested in becoming a store seller, please contact Janet, our Store Administrator directly.

New Store Additions

Swat Van 3D Low Poly ModelS.W.A.T Van

The famous S.W.A.T. van known as step van.

Use for blocking streets, entrances and other holes in your levels. A little bit rusty. Great for urban scenes.

1024x1024 texture.



Building Models for 3D Games

Middle-Eastern Building

This unusual building can be found in Model Pack 30. As with many of the packs, the individual items can also be purchased from the store, for just a small number of points. This building is one of many that can be found in Model Pack 30, along with various other themed items.



Low Cost 3D Low Poly Game ModelWooden Bridge

A rickety old wooden bridge, with a sparse cover and equally sparse railings and floor. It includes a 512x512 diffuse texture, and is ideal for forcing action points where only one narrow path exists to get to the next stage in the game.



Chainsaw Weapon for 3D Game DevelopmentChainSaw

A strange, old chainsaw which never seems to need fuel but does consume a large quantity of spare parts in order to remain functioning. Includes VWEAP and pickup weapon and ammo entitities. Compatable with hand skins from FPSC model packs 9-10.

There are alternate idle and move animation included which do not include the engine vibration for developers who either don't like the shaking, want to script the vibration independently or who can code the chainsaw to run out of fuel.

All of the above models are available to purchase and download through the inbuilt Game Creator Store in FPS Creator, and also using the standalone store for other game-making tools.


The Big FPSC Christmas Competition II

FPS Creator Christmas Competition II

by Nickydude 

It's back after a successful debut last year; this year's theme is Nuclear Fallout. It probably hasn't escaped your notice that I've been talking a lot about FallOut3 (check it out on YouTube to see why!) and also doing some tests on how well FPSC can handle something like that so I thought why not build a level / game around the same theme? Well, here's your chance to create your FPSC version of FallOut3.

You can center your scene around a cave or inside an abandoned building, whichever takes your fancy. There are plenty of old planks, rusty cars, junk and abandoned buildings around to get you started.


Judges will be looking for the best take on a nuclear fallout level and also how well it plays as a game.

The Prizes

1st Place
2nd Place
3rd Place


FPSC Christmas CompetitionThe forum discussions are already under way, you can join in here and get started on your entry right away.

3D Modeling Competition

By BiggAdd, MikeS and David Gervais

Witch Hut 3D MasterThis months competition theme was a topical one, focused on Halloween. It attracted the best collection of entries to date and brought out some great talent and skills.

3D Master Champion - HowDo

HowDo sure jumped on the Halloween theme for this compo and filled his witches cottage with all kinds of Halloween goodies. Excellent assembly of the scene, it fits perfectly. This entry went above and beyond our expectations.



 3D Best Model - Scythe3D Master - Best Model - dragon assasin

Dragon Assasin set himself a lofty goal with his initial post of the concept, and even though he did not (at the time of this review) finish the model he got far enough along to show its design and execution were spot on. A very well made model.





 3D Best Texture3D Master - Best Texture - Pincho Paxton

Pincho Paxton brewed up a nasty hag of a witch, the texture is what made all the difference with his entry. This would even make a great Halloween mask, enlarge, cut-out and tie a rubber string to hold it on your face. Maybe this was his intent all along, great texture and model Pincho!

Honorable Mentions go to Alucard, his sword model was exceptional. The design and detail brings it to life, even untextured it looks awesome. Sadly, we judges had a hard time seeing how a lone sword fits the Halloween Theme. Henry Ham also impressed with his Halloween Zombie. The quality of the compo entries has just been stepped up a notch with these winners and runners up who would have beaten the competition just a short time ago. Thanks to all the people who entered this spooky compo, the quality of the entries is getting better and better, and making the judges job tougher and tougher.

November Modeling Competition 

Scene CompoThere's no rest for the wicked modelers of Halloween, we are straight on to the next theme, which is The Scene must be Scene

This time around we are asking you to make a 3D scene, it can be anything from a still life to a full blown outdoor battle, Indoors, outdoors, underground, off-world, microscopic.. anything goes. There is no poly count limit and the deadline is November 26th. Have fun with this, we can't wait to see your scenes. Full details will be posted in the 3D Chat forum.

Note: We are going to allow the entrants to use existing models they have lying around, they can be from past compo entries or just unused items in your practice folder. This might even be a good time to 'finish off' any models you have in progress and showcase them in an interesting scene.

How the 3D Modeling Competitions Work 

Competition EntryThe accolades for the winners are retained until the next competition winners, and are as follows:

3D Champion3DMaster - Champion awarded to the overall winner in the competition, an entry which displays both modeling and texturing excellence.

3D Best Model3DMaster - Best Model awarded to the runner up who demonstrates the finest modeling skills in the competition.

3D Best Texture3DMaster - Best Texture awarded to the runner up who demonstrates texturing wizardry in the competition.

The awards will cling to your Avatar until the results of the following competition are announced. So to keep your award, you must defend your honour in battle once again!

Lee's Tip of the Month - The Wonderful World Of Workarounds

More tips from Lee Bamber

This tip was inspired by Dark Coder, who has written a comprehensive analysis of the major limitations of Dark Basic Professional compared to modern day languages such as C++ and LUA. You can find the post in the DBP forum entitled 'Criticisms of DarkBASIC Professional' and is worth reading. Being a formidable DBP programmer for many years, and winner of numerous TGC competitions, Dark Coder speaks from a position of great experience and his observations are right on the money.

The concept of 'workaround' was mentioned a few times in the response posts that followed, and I thought it probable that some readers would not know what this meant, or exactly what the workaround was for these issues. It might seem odd that I am blatantly highlighting areas of improvement for DBP, but I think it's the best way forward. In the meantime I wanted to give you the 'cheat codes' to get around these key issues with the language:

1-1) Lack of arrays in UDTs

On occasion you will want to create a user defined data type to store your game data, and these data types can get very robust and complex, and eventually you will want to place arrays inside your data type to create cleaner code and simplify your code. DBP does not store arrays in data types, so the workaround is to create the array outside your datatype but use an identical naming convention to simplify your code. For example instead of MYTYPE.ARR(4)=42 you would simply define your array as DIM MYTYPEARR(10) and use the assignment code MYTYPEARR(4)=42. This is the most simplest form of workaround and stops short of the full power of arrays in types, but to keep your code clean and continue your game project it's a good way forward.

1-2) The inability to return a UDT from a function

A powerful feature that DBP does not possess is the ability to return a user defined data type from a function which allows you to load up your return data with lots of values instead of the standard integer, float or string choices. The best and perhaps simplest workaround is to use well defined global variables and arrays in place of passing data in and out of functions. Thus instead of preparing data, passing it into a function, modifying that data and passing it back out you would simply declare a global data type and prepare your data globally. The function then merely acts as a worker to manage global data. This is the way FPS Creator and FPS Creator X10 handles large amounts of data and the approach works best when the names given to your globals are highly descriptive and can be easily associated with the functions that primarily use them. Another benefit of this is that other parts of your game code can quickly and easily read and write into this data without redefining your access code. The huge downside of course is that it breaks the object oriented model entirely which can lead to almost impossible to find bugs and a slow degeneration of your nice clean logic.

1-3a) Global variable declarations have to be 'executed' for initialization to happen

1-3b) Global array declarations have to be 'executed' for initialization to happen

Many languages allow you to define your variables and load them with initial values ahead of time. DBP will declare the variable and array, but will initialise them with a value of zero. It is then up to the program to fill these variables during the logical execution of the program. This can lead to confusion if you write the value in one header file and read it with code that occurs earlier in the program. The solution is to separate your declaration and initialisation into two distinct areas. You can declare your variables and arrays as you see fit, but ensure your program treats the initialisation of all variables and arrays as a matter of priority at the very start of any program you develop. It can be inconvenient when your program grows to several independent modules, each with their own set of data to declare and initialise and providing you remember to create and call some sort of initialise subroutine or function at the very start of your program you should be safe.

1-4) The inability to pass UDT data from an array to a function

The following will result in a compiler error MYFUNCTION(MYTYPE(3)) where a UDT array is passed directly into a function. The workaround is to extract the data into a UDT variable and pass that instead, which would look like: SINGLEVAR=MYTYPE(3) : MYFUNCTION(SINGLEVAR). Not very elegant but avoids the compiler error completely.

complex1-5) The lack of a distinct 'elseif'/'else if' statement

Many languages use an ELSEIF in addition to the IF ELSE and ENDIF commands to construct conditional statements. The workaround in DBP is to assemble the same logic with the existing commands and a little liberty with the program layout, so instead of:

IF A=2
 PRINT "2"
 PRINT "3"

You would either use a SELECT CASE approach if the conditions are simple, and for complex conditions you would use a temporary variable to control the selected code to execute. This approach also produces clean code and in some cases produces more readable code than the ELSEIF statement which offsets secondary conditions to the right:

IF B=2
 PRINT "2"
IF B=3
 PRINT "3"

1-6) Inability to do complex statements on 'exitFunction'/'endFunction'

The compiler will not allow expressions to be used as the return parameter of a function, and only allows simple data types that return a specific value. The workaround is to perform your calculations in the line preceding your endfunction call and pass the result of that calculation, so instead of


you would code


1-7) No function overloading

Some languages allow function overloading which is the ability to use the same function name but define different code for that function based on the number and type of parameters passed in. DBP requires absolutely unique user function names and produces a compiler error on discovering a duplicate function name. A simple workaround, and one that also allows you to remember what parameters your function required, is to append your function name with a letter representing the parameter expected. So for example a function for printing one character would look like


and two characters like


where the S letter appended to the function name denotes a string parameter. By making this part of your coding style, you can avoid the need to overload a function whilst retaining very good naming conventions.

2-1) Lack of option explicit

Ever noticed that the DBP compiler will allow you to write pretty much any variable name you want and it will still run. This was deliberate. Some languages actually require you to define ahead of time exactly what variables you are going to use and then warn you if you try to use variables you did not declare. This is great for debugging as you very rarely get away with typo errors and improves productivity in one sense. In another sense though it means you cannot use variables on the fly while coding, as you always have to declare that variable before you can compile successfully. A cool workaround to this is to place all your global game variables inside a user defined type. The compiler will produce an error if you try to use a field within a type that does not exist, and has the added bonus of making your code a little cleaner as using UDT variables and arrays is always recommended.

2-2) Vectors and matrices aren't basic types

DBP only supports a basic set of data types, and supplements them with user defined types. This differs from other languages such as C++ which can Matrixsupport a vast range of data types complete with built-in operations on those types. There is no elegant workaround to close this gap, but you can make your code a little nicer to read if you are working with vectors and matrices. DBP does support extra data types, but requires that you create and delete the memory used for them. Normally this is one as you need one, but it results in quite a few lines of code and does not look elegant. A better approach is to declare a batch of temporary vector and matrix elements when the program begins, and delete them when the program ends. During the program you can then use your pre-reserved data types in much cleaner code such as PRINT VECTOR4X(2) instead of R=MAKE VECTOR4(2) : PRINT VECTOR4X(2) : DELETE VECTOR4(2)

2-3) No methods in UDTs

Object oriented languages such as C++ allow you to do amazing things with what you understand as user defined data types. In C++, you can create a UDT which can store values, store functions to execute code on those values, initialise and release memory for each instance of the UDT and just about everything else you can think of. DBP, which is primarily a non-object oriented language would find it very difficult to provide an elegant workaround to complete with these types of features. That is not to say that you cannot use an object oriented approach to your coding. With use of well defined global arrays based on user defined types (array of types) and specific functions to act on that data, you can come very close to the benefits you get from object orientation. The trick is to stick to your own rules. C++ users are protected when they develop their object oriented models. DBP users have the power to make a right royal mess if they want to.

2-4) No references

Almost all languages allow you to perform what is DBP Help Filescalled 'pass by reference' which is the idea you can keep your large data in one place and merely pass a pointer to it to a function for processing. Instead of moving that large body of data, you simply change it using the pointer and the function does not need to return the modified data back to the main program. You can do this using MAKE MEMORY and pass in the DWORD pointer to the function if you like, but the code is rather ugly and is not really necessary. A better workaround, and one we explored earlier, is model yourself on the pass by reference model and simply create a large global block of data then use the function to act directly on that data. No passing data in and out, you simply act on the global data and be extra careful about it.

As you can see the majority of the workarounds achieve the same result but simply go about it in a different way. The code is a little less elegant and the data less secure, but it's up to the author to ensure good coding principals and naming conventions. It is fair to say that DBP falls short of delivering as elegant a solution than C++ and similar languages when it comes to the above issues. It is also fair to say that DBP is superior in other areas than the aforementioned languages such as ease of use, rapid application development and price.

We are all part of an amazing ecosystem of technology, and from it we can extract pretty much anything we want to fulfil our needs. In the game development sphere, you can make a game with a single click or fifty thousand lines of code, and that code has a hundred different flavours. If you like the dark smooth taste of Dark Basic Professional, then enjoy your cuppa. If you prefer the rich, exotic taste of another language, then that's good too. Rest assured that we will continue to improve our recipe and hopefully deliver a refreshing distraction for years to come.

An Interview with Lee Bamber

On The Game Creators 10th anniversary, here is another interview with the man behind DarkBASIC Professional. If you want to read the first ever newsletter interview with Lee, you can do so here in issue number 2. You can also read the first interview with Rick Vanner back in issue 7 of the newsletter.

The focus of this recent interview with Lee Bamber for a school project was finding out how you get from school student to games industry. The goal was to emphasise the importance of the core subjects, in particular mathematics.

Let's start with something simple... what is your job?

My official title is Managing Director and Founder of The Game Creators, though in practise my roles are many. My primary job is the development of new software technologies and the maintenance of our existing intellectual properties including DarkBASIC Professional and FPS Creator. This covers a range of tasks from concept design, writing technical documents, prototype and main product coding, testing and debugging. To give you an example, DarkBASIC Professional was released in 2002 and we're still supporting it with new features and fixes seven years later.  

Who do you work for/with?

I work for The Game Creators, a company founded ten years ago to provide affordable and cutting edge game creation tools. I am part of a team of skilled individuals who together make everything happen. Rick Vanner is the business manager, financial director and finder of lost projects, including the demanding role of keeping the entire team in a constant state of momentum. We are also fortunate to have a number of excellent programmers, customer support staff and third party enthusiasts who all contribute into the very unique engine that is The Game Creators.

What are some of the projects you have worked on? Have you made any games?

Prior to founding The Game Creators, I used to work for a company called Europress in the UK and cut my teeth on writing a few games and tutorials for Klik & Create and The Games Factory. I was later propelled by small aircraft to Denmark to help create the first Lego Mindstorms product, a kit to allow kids to create programmable robots with ease. Since working at TGC, we have been responsible for products such as DarkBASIC, The 3D Gamemaker, Driving Test Success Practical, Dark Basic Professional, FPS Creator and a number of other related game creation products. My game creation activity pre-dates all this, when I spent most of my student days creating little known C64 and AMIGA games (pre-1990).

How do you use maths in programming, and more specifically just game programming?

Math is an integral part of programming and you cannot write applicable code without understanding basic maths.  More-so in games programming which often requires tens of thousands of states to be stored, modified and acted upon during the real-time execution of the game. A good starting point to understand the game maths is to study algebra, and specifically the idea that you can store values in variables represented as letters, and produce complex equations and produce different outcomes based on the data you input. You will find the very first computer programs you write will almost certainly follow these lines. Also, as we move increasingly to a 3D centric approach to games, an understanding of basic trigonometry and three dimensional functions would be invaluable. Leave school with a good grasp of these, and you are half way towards working on the next generation of games.

If you had to choose, what do you think was your favorite project to work on?

My favourite projects were those I wrote when I was a teenager. I must have written a pile of games from the age of ten to when I left college, and there is nothing more rewarding than starting a project with an idea and finishing a working, playable and fun game. As you get older, and create larger, more ambitious projects, you need to learn to work in a team. This is also fun, but it's also more professional and you find you start to make decisions based on good practise rather than what is the most fun.

Did you need to use mathematics in that project?

I had to use maths in ALL my games, you cannot avoid it.  Even keeping track of the number of lives you have requires maths. LIVES=3, when player is destroyed, deduct one from LIVES. When LIVES is zero, game over. The more maths you know, the fewer lines of code you need to solve a game logic problem, which means you can write games faster and become a better programmer as a result.

The computer is an amazing device, but it has no desires of its own. It may know how to add two values together but it does not feel compelled to do so. The computer simply sits there until you give it a command. It is you, the human operator, who must decide what the computer should do. To give you an example, lets say you wanted to move a missile from point A to point B. The computer has no built-in concept of what a missile is, or what a point is, or that there is an apparent distance between these points. It only knows what you tell it, and unless you can describe to the computer in very specific detail exactly what you want it to do, your program to move that missile will never work. You, as the programmer, have to define the coordinate of point A, you have to calculate the angle at which the missile must face to see point B using trigonometry, you have to apply a speed to the missile and move the coordinate representing the missile over an amount of time using small increments and you finally have to check the distance between the current position of the missile and the destination point B. This relatively simple logical task involves an extremely heavy amount of maths, and at each step it was you, the human programmer, deciding which maths to use to get the desired actions out of the computer.

Could you tell us some examples of how computers handle the maths for you, and instances where they don't and you must?

At their lowest level, computers are merely adding machines, very similar to the abacus in many ways. At the CPU instruction level, you only have a few basic math commands you can execute such as addition, subtraction, division, multiplication and so on. You pre-load the computer's memory with the values you wish to use in your maths equation and then command the computer to perform that calculation, the result being deposited back into the computers memory. You can then take that resulting value and use it in a further calculation later in your program. This is an example of the computer performing a simple maths calculation for you. Now if you look through the available CPU commands for 'point missile from point A to point B', you won't find it. For this type of problem, you need to string together a number of simple calculations to eventually get the result you want, in this case the angle in degrees that points the missile from point A to point B. In this case, you would subtract the difference between the two coordinates to produce a distance value and then feed that distance value into a function called ATAN2 which would produce the angle you need. The CPU could not do this in one command, as a programmer you had to have the understanding of what was required and connect together the need to subtract the coordinates of the two points and apply those results into a second function to obtain an angle. This second example is one where the computer cannot handle the maths for you, and you must take over to give the computer clear step by step instructions of what it must do.

Did you earn any math degrees in college? How do feel they helped/could have helped you?

Yes I completed a number of college and university courses that covered many aspects of software engineering, including advanced mathematics components. I was already a proficient games author before I started college, and maths was a natural part of my skill set. College showed me many more types of maths, and smarter ways to solve problems. For me it was a little too late as I tended to rely on the few maths concepts I knew well and applied them to any problem that I came across while developing games. With hindsight it would have been much better for me to have spent just six months learning all maths that apply to games development rather than start a new game project. Sure it might not have been as much fun to begin with, but twenty years on I think I would have been a significantly better programmer.

If you had to choose three other jobs besides working at TGC what would they be?

Gardener; much healthier than sitting in front of a computer ten hours a day and drinking tea. Philosopher; the abolishment of all deadlines and the pursuit of wisdom would be a welcome respite from the turmoil of games development. Robotics Engineer; create things that are smart enough to stand up and run away from my constant meddling.

Finally, what is your favorite game?

A question whose answer will almost certainly change year on year, and I think can be safely divided into two responses. My favourite game at the moment is the forthcoming game Assassins Creed II which does an amazing job of demonstrating superior technical achievement and then blending it seamlessly with a rich and engaging story.  However, my favourite game of all time is The Last Ninja by System 3, a game which simply defied the capabilities of the machine it was designed for and had me playing for hundreds of hours well past my bedtime.


Free Apps for your iPhone

Touch & Go for the iPhone

You can now download full, free versions of three great iPhone games. The first is Touch & Go, which takes a familiar game format and adds a new level of interactivity in which the gameplay is entirely based on the touch and motion features of the iPhone. Block-based games have never been this immersive!

The concept is a familiar one and very easy to pick up; match 3 blocks of the same colour to score points and remove them from the playing area. However in Touch & Go you take control, dragging the blocks into position and clearing the levels in an explosive fashion. Based on real-world physics, players will find it easy and great fun to throw the blocks around and amass mayhem in a bid to better previous achievements. Building on the great features of the iPhone, it's even possible to tilt the game and shake up the chances of making it to the next level.

Touch & Go in the iTunes Store

DropSum - Workout for your Mind

Secondly, DropSum is also available as a free download, and is the full ad supported version of the game.

Enjoyed by over 7.5 million PC users worldwide, Dropsum will stretch your mental agility and give your brain a good work out. In DropSum you drop numbered balls into a grid. The aim is to make a line of these balls add up to 9, either horizontally or vertically. When you make nine you score some points and all the balls involved change color. They start out grey and advance to blue, yellow and then red. Once a red ball has been used to make a sum of nine it will explode and allow any balls above it to fill the gap. 

DropSum becomes very addictive and will improve your basic maths skills the more you play it.

It's great for both kids and adults and will help speed up your mental maths agility.

There's also a competitive struggle to be the best. The current high score is an amazing 6.2 million and our own Rick Vanner is hanging in at 6th place with a score of 4.2 million. Can you beat these scores? Surely our programming community can add up to 9 in their sleep?


Touch & Go in the iTunes Store


Mission Control
Finally, if you haven't tried Mission Control yet, now is your opportunity to do so for free. The year is 2060 and the moon is now a major refuelling base for passing space crafts. You've been employed to direct the flight paths of all incoming and outgoing ships. You start as a Rookie with a small refuelling quota. Management will also accept a few crashes in such a busy and stressful job. If you exceed the crash quota you will be fired from your role immediately, so don't get sloppy. After a successful shift, management will promote you and trust you with a more responsible work load. Rise through the ranks from a lowly Rookie to the respected role as a Mission Controller.

Mission Control is designed specifically for iPod Touch and iPhones. It's easy to play and uses the touch facility fully.

Touch & Go in the iTunes Store


Best Of The Best - The Warehouse

Best of the Best 


by Sector 49 Studios

FPS Creator game CanalystIn Canalyst, you play Sergej, who was brought to Moscow's canalization in the year 2034, when a horrible atomic war started. His parents wanted to go quickly to their flat, but died on their way. Sergej waited until he was an adult and he wanted to get out of the stinky, dark canalization. He was told about some rare artifacts, which you can find only in highly radioactive zones. But he wasn't interested in artifacts. He was interested in why the war began and what happened to his parents. He said: "I'm sure, out there, I will find, what I'm searching for", took his bag and was gone to make his way out of the endless gangways and tunnels of Moscow's canalization.

A word from the Author

"My motivation was that I really wanted to make a game with atomic wars, because I'm a real fan of S.T.A.L.K.E.R. It really fascinated me. On the other side I worked with the FPS Creator since 2006 and I never got anything finished. The time came when I said 'You can do that!' and I will finish my first serious project."

Download this gameThis game demo can be downloaded here (in rar format, 80 MB). The forum thread can be found here, we encourage you to feedback on games and show your appreciation.

Very Best of The Best 2009

Very Best of the Best 

by KeithC 

Welcome to The Very Best of the Best! This new annual competition seeks to highlight the absolute Best of the Best. Each year every entry into the BOTB will be judged and evaluated, to see which FPSCreator Developer has what it takes to be number one.

On November 25th, of each calendar year, judging will commence for entries up to that date. In the past, it has been one person (KeithC), who has judged which entry will be given the opportunity to join the BOTB...however, that will not be the case with the VBOTB. Though the 2009 Competition will still be judged by KeithC (as it is set to close soon), there is additional criteria that will have an influence on the outcome: Community Vote. The judging will take place in the following manner; the Community (Popular) Vote will be accomplished via a poll. After the cutoff date for accepted entries (November 25th), a poll will be generated with all the BOTB entries for that year. The percentage that each entry receives will turn into a point value, to be added to the Judge's points. The entry with the highest point value wins; it's that simple. The results of the poll will be published after the winner is declared.

The Criteria Sheet will include multiple categories that will be judged. A similar sheet will be posted in the forum thread containing the "Popular Vote" Poll; to be used as a "guide" for the community to go by when making their decision.


The Game Creators have provided the following to the winner of the VBOTB: 2009:

In addition, the Winner will be featured in the TGC January Newsletter, and get a unique BOTB Badge (reflecting the year of the win) that will replace their current BOTB Badge.

Games Currently in the Running :

Judges needed for 2010

Judges are needed for future VBOTB competitions. A potential judge should have the time to play numerous entries into the BOTB, objectively adhere to the Criteria Sheet given and be fair-minded.There are an unspecified number of slots open, so if you think you have the time to spare, and want to help out, please contact KeithC after reading the full details in the forum.

New Look for a New Era

Best Of The BestVery Best Of The BestAs you can see, Best of the Best has a new look as TGC enters the next decade of providing affordable, cutting edge tools. BOTB is increasing the stakes, and encouraging you to strive even higher than before. The new banners are accompanied by matching badges, many thanks go to BiggAdd once again for the artwork.

Leadwerks Engine 2.23

leadwerks Engine 

Leadwerks Game Engine is a fully-featured next-generation rendering platform, suitable for the latest games as well as architectural visualization, simulations, and other 3D applications. With Leadwerks Engine 2.3 on the horizon, and scheduled for release by Christmas, here are a couple of videos to highlight the quality and features of the development tool. Let's start by taking you down a seemingly endless road in the Viper Scout, across vast areas of beautifully detailed landscapes. Watch the suspension of the vehicle taking the force of the bumps in the road and the rougher terrain along the verge.

Taking the vehicle off-road now, watch out for the various effects, including some fantastic lighting as the sun beats down behind the vehicle through the hills. Vegetation is abundant as we career over the landscape.

The vehicle controls in the two previous clips are written using Lua, the industry standard scripting language. This final video is a tutorial, describing how objects in your scene can be scripted using Lua to perform any number of auxiliary tasks.


Leadwerks EngineWatch out for upcoming announcements on the release of Leadwerks Engine 2.3. If you are interested in purchasing the product for the first time, check out the dedicated web page with the full details and ordering options.

DBPro Tutorial - Building a Platform Game Part XII

Platformer Tuorial 

by Andrew Vanbeck 

Last time Bruce was almost done, but as it seems to always be the case - there's always something to tweak, that idea you forgot about, or that bug that rears it's ugly face again. Despite these development hurdles though it is now complete, and with some neat little additions to boot.

The AI has improved somewhat; now your adversaries can climb, and generally make your job harder than it ever was. There are some things to help too, lanterns sparkle to show you which one to go for next, and exits are much easier to spot.

Bruce Game and Source CodeSo if you think you're up to the challenge, download it and give it a go, and be sure to post your best scores and times in the Program Announcements thread on the forum. My best time and score are on the tables already, so if you beat me I want to know about it. A proof code is placed in the clipboard after you enter your name, so that can be posted easily.

Tutorial PDFThe final installment of the tutorial can be downloaded here, and I hope you will find it a useful reference for future projects. Each part of the system is summarised along with the tutorial installment that carries the finer details. The complete source code is in the game download for you to browse through alonside the tutorial details.


Final Thoughts

It can often be difficult to let go of a project, at least the projects that are a lot of fun to work on. Fate has a funny way of prolonging the development cycle, and I had my fair share with Bruce. The only part of my PC that's remained the same all through development is the case! Then there were the inevitable reinstalls and that dark period when I ran out of coffee. But apart from that Bruce has been a fun project to work on. It's practically vital to have a deadline though, and this 10-year anniversary issue of the newsletter is the perfect chance to finish Bruce up.

I think that the end result provides a pretty decent challenge for such a short game; there are some really nasty parts that people probably won't get through first time. The original game was a challenge too, the sort of game you completed over and over, trying to beat each other's time or score. There is quite a neat fireworks display for those who complete it; once you know the timings and stuff it's not so difficult.

My favorite part of this project has to be all the little effects here and there, the spider in her web, the annoying moths, the crackling fireplace... I added these intermittently to break up the drudgework, after tidying a few screens or fixing a bug, I'd mess around with particles or sound effects. Enjoy playing, and enjoy learning from it.

Previous Installments:

Part 1, Issue 62

Part 2, Issue 63

Part 3, Issue 64

Part 4, Issue 65

Part 5, Issue 67

Part 6, Issue 68

Part 7, Issue 70

Part 8, Issue 71

Part 9, Issue 75

Part 10, Issue 76

Part 11, Issue 80

Evochron Planetary Terrain System in Development

StarWraith 3D Games have set the standard for space simulations and trading games in the Indie arena. Having spent many years developing in DarkBASIC Classic - and contributing to the enhaced features of 1.2 - DarkBASIC Professional has now been embraced for the next installment. In this article, we get an insight into the new planetary terrain system, a smooth and seamless progression from full planets to detailed cliff faces, sweeping terrains and realistic water.

by StarWraith 3D Games 

One of the primary goals for the next Evochron game is a greatly enhanced planetary terrain system. Here are a few screenshots and details on how the system is developing so far.

This screenshot shows the basic cubic sphere shape I based the system on, a system designed from the ground up to work with the capabilities of DBPro. It is created with six plain objects that are spherically contoured to form the needed shape. This is done using the 'vertexdata' commands and each section covers 90 degrees of the surface of the sphere. The detail level is good enough for a planet at a distance, but far too low for surface terrain. So the next steps involve breaking the primary structures into smaller pieces.


Here the sphere is split into smaller parts, each of the six primary sections is divided into 16 sub-sections. The sub-sections are then divided further into various levels of detail up to 96X96 vertices each for a total of up to 147,456 vertices per section at close range detail. Using careful calculations for alignment, heightmap data is then applied using a grayscale texture that is also broken up into individual sections for each mesh. Notice the grooves at the edges of each sub-section where heightmap data is levelled to prevent visible gaps. This is later fixed by aligning heightmap data at those points (cubically) pixel-by-pixel at the edges of each heightmap texture.


Here is the basic system with a base texture applied after the heightmap edges have been aligned. It's looking much more like the surface of a small planet at this point, but a number of details are still needed to make it look more realistic. You can see how the textured version above compares to the wireframe version below.


This screenshot shows a water surface (rendered with a shader), atmosphere haze, and horizon background added to the terrain system. With the basics in place at this point, I began working on the additional details for smoother seamless space to atmosphere transitions and to make the terrain look more realistic.


Here is a shot showing a test of the transition to the dark side of the planet where the atmosphere haze fades and the environment darkens as a whole. Basic lighting is incorporated into the system along with haze color/depth transitioning.


This screenshot shows the terrain with detail texturing applied (using DBPro's 'blend mapping' function) and semi-transparency for the water at higher altitude. Elevation based color adjustments to textures gives the terrain below water a 'shelf-like' appearance and helps make the shorelines stand out a bit more when approaching from above at high altitude.


Smooth plateau-like terrain shown here was a big part of early testing for calibrating elevation based texturing and detail mapping. Such terrain also worked well for testing the water surface at a variety of distances simultaneously. While the system was getting much better at this point, there were still some important steps left to improve the appearance and functionality.


Another important step was to make sure the planets still looked good at a distance as well. This is where additional surface texture adjustments and details (including under-water shelf/floor texturing for depth) were implemented so that planets didn't look bland or too 'fractal' at a distance. Also, the original atmosphere haze crescent I used in the previous Evochron game for distant planets carried over quite well to DBPro. However, I discovered a very cool shader written by 'DarkCoder' on the TGC forums and it looked significantly better to me. So with his permission, I incorporated it into the distant planet system seen in this shot (thanks DarkCoder!).

With the various routines and details in place along with the addition of normals and improved heightmapping, the planet system is reaching its target goals for appearance and performance. It can achieve around 85-100 FPS consistently on my moderate system configuration and uses less than about 400 MB of memory total at peak detail. These goals were important so that the planet system will work well in conjunction with other critical game functions and graphics including cities, plants, clouds, moons, stations, ships, 3D cockpit/avionics, physics, AI, etc.


The new planetary terrain system will be included in the next game in the Evochron series.

Video Gallery

TGC Video Gallery

Big Fat Christmas Competition II

For anyone looking for inspiration for the latest competition, and working towards a share in the huge prize pool, here is a demo Fallout level created by Nickydude.


Canalyst on the ForumsDriven by a passion for S.T.A.L.K.E.R, this Best of the Best featured game is backed up by a great preview video. Watch it here and then download the game from the forums.


Urban Pack

Celebrating 10 years of The Game Creators, the Urban Pack is free to every user with a TGC account. Here's a preview of what you can do with all of your new media.

Metro Theater Preview

Here is the preview video for the upcoming Metro Theater model pack. We recommend downloading the full quality trailer from the article to see it in the quality it deserves, but for a quick peek at what to expect, here's the lower quality rendition.



From the Forums

The Seal of Approval

Early in the life of DarkBASIC Professional, the community saw great potential, and weren't too shy to make it known. Back in October 2002, this thread appeared. You may recognise some of the names, such as Freddix and MrTAToad who went on to organise the unofficial conventions.

Anisotropic Filtering

Kaedroho has released a simple DLL with a big impact on your game. Anisotropic filtering is a method of improving the blend between close and distant texturing. The source code is also released for anyone wanting to learn a little about the inner workings of DirectX, or help improve the functionality.



This is MetalMorphosis, Cash Curtis' entry for the 2010 Indie Game Challenge. It's got shadows, PhysX physics, and deformable walls, to name a few things. If you shoot the walls or punch them you get holes! We wish Cash luck with his entry.

Windows 7 and TGC Products

Have a problem with a TGC sold product on the retail release of Windows 7? Discuss the issues here, and we'll start testing. Although we have every confidence in our applications, the only realistic way to find any issues is to get feedback on user experiences.


10 Years of The Game Creators

The Game Creators this month look back on their first ten years of bringing affordable game creation tools to bedroom coders around the world. There is so much excitement about the future that today sees the release of DarkBASIC Professional Online Free, the full and unrestricted version of our flagship product. On this momentous occasion, it is only fitting to hear from Lee Bamber, whose dream of creating game making tools for all has lead to the dreams of so many becoming a reality.

by Lee Bamber

"The word 'decade' sounds mighty impressive and has the power to turn your mind to mush if you try to work out how many man hours that represents. Multiply ten years of work by each team member and you will appreciate how far TGC have come. To think it started off with a guy from Wigan selling a few copies of his home-brew software to put bread on the table.

Achievements and softographies aside, I think the legacy of TGC has been the bubble it created to allow creativity to flourish and find expression, both within the team and the community as a whole. Thanks to the fantastic team we have that the bubble is stronger than ever, and growing in size. New technologies continue to flood in from every possible angle, and thanks to the ship we've built over the years, we're able to keep our feet dry and our eye on the horizon.

The future is a strange and surprising place, full of pitfalls and promise, and I think we have the experience to avoid the former and embrace the latter. My own prediction is that where once 'making things' was considered a niche, we're now going to see the concept extend to every corner of our lives. There is great satisfaction in making something, and for me there is twice as much satisfaction in making something that makes something else! I have a wonderful sense of achievement reaching this significant milestone, and celebrating it by giving away DarkBASIC Professional for FREE, and with it the power to create. I am looking forward to continuing my professional hobby and furnish you with software, services and solutions that empower your own desire to make something, and together I think we can make the world a more enjoyable and happier place."

This month's Winner

Each month we pluck one lucky subscriber from the newsletter mailing list and award them 2,000 Game Creator Store points. The email address of this month's winner is: *michaelyoung@live.com We have emailed the lucky winner, congratulations!


Share your news with over 22,000 active games developers!

If you have something you'd like featured in a future issue then please get in touch and include as much information as possible (including where applicable: screen shots, URLs and zip files).

Issue 83 deadline - November 26th 2009.