The Game Creators Newsletter Issue 37

Issue 37 cover - click for full version

Welcome to Issue 37 of The Game Creators Newsletter. Now that Christmas is but a distant memory and we're all back to work/school it's still impressive to see the quantity of new releases continuing to flow from the community. Although light on games this month we've got stacks of new applications and impressive DBPro DLLs released. I also managed to bag you an exclusive interview with games artist Paul LaSalle, who just happened to paint that sexy front cover this issue. Cool or what?! He talks about is work in the industry and what you need if you want to break into it.

Last issue I eluded to the fact that The Game Creators were expanding in some exciting new directions this year. Part of this involves taking on new members of staff, which has happened in earnest this January. First to join the TGC ranks was Grant Smith, better known in the forums as geecee3. He is now responsible for pumping out hit DBPro game after game, and sharing this process with you all by way of source code and tutorials. You'll see the first fruits of his labour this month with a gorgeous particles tutorial. The shoot-em-up he's busy working on will be disected for your benefit soon. Also joining TGC full-time this month is Paul Johnston. Known in the community as sparky he has released various DBPro extensions including a super-fast collision DLL, a gile[s] loader and contributed to the Landscape Creator program covered this issue. Paul will be working on AI and enhanced multiplayer for DBPro/DGDK amongst other things. Welcome, both of you!

Finally this month I just want to point your attention to article 11. This is a chance for YOU to get your DBPro created game published in a commercial title that will be available from stores nationwide. You can treat this as a form of 'programming competition', the difference being that we'll pay good money to the 'winning' games. Anyway, check out the article 'DBPro Typing Game Contest' for the full skinny. Until next month, keep safe and keep programming — I'm off to watch my Pirates of Silicon Valley DVD :)


Editorial PlayBasic News Basic Sombre DarkBASIC Help
Interview with Paul LaSalle DBPro Tutorial: FPSC Levels Landscape Creator Synergy IDE
FPS Creator French igLoader DBPro Typing Game Contest Bug Hunting
Pyro Particles Tutorial Yahtzee 123 Hot New Releases From the Forums
20-Liner - Pong 4 This months winner Outro  

PlayBasic News

There is a lot going on in the PlayBasic community this month. As well as their programming competition a new patch and beta are released.

PlayBasic Competition - Retro Innovation

With just under a month to go our competition is really starting to hot up. With more sponsors coming onboard (The Game Creators + Binary Sun) and many contestants showing some quality work in progress. For them, it's starting to get serious. Not to worry, there's still plenty of time though, so if you are sitting on a idea then it's time to jump into action! Not familiar with this competition? The Retro Innovation competition puts the focus upon breathing new life into those Atari or Commodore classics. Full details and prize list here:

PlayBasic Patch V1.11 & Beta V1.12 Released

Another update already? Of course! PB v1.11 incorporates many new flexibilities over the previous PB1.089c. From the FX support for Maps (Maps can have alpha effects overlaid), better vector shape support and collision, alpha blended buffer merges through to some built-in vertex and rotation features. Creating a whole new range of effect possibilities for users.

One focus of PB v1.11 has been the introduction of more MMX (pure assembly) optimised render modes. While the performance boast different effect to effect. The performance of most Alpha effects can be greatly enhanced. Even my prehistoric Duron 800mhz (test machine) is more than capable of handling some full screen alpha visuals. More info here:

Onward and Upward

With every update now, we're steadily morphing PB towards its modular design. This new approach will allow PB to incorporate not only in house (PB + PB FX) command sets, but be expanded with 3rd party command sets (PB3D) and modules also Allowing users to develop from one single environment for the various editions of PB. All at the flick of a switch.

Anyway, until next month. Have fun and get those compo entries in! :)

Web Site:

Basic Sombre

From France comes the Basic Sombre web site, which should be of interest to DarkBASIC Professional developers as it contains some neat programs and resources.

Sprite Forge

This is a Windows based application that allows you to create 2D sprite animations using limbed objects (much easier than animating by hand!)


If you are old enough you may remember the classic text adventure games made famous by companies such as Infocom and Level 9. Jadis is a program that will let you create your own text adventures. Running in French or English you can customise the background images and even include animated 3D backdrops with objects, music, videos and sound effects. Text to speech support is built in as well. Based on an Amstrad program called JADE Jadis is nearly complete.

Sinus Tracker

If chip music is your thing, and specifically Atari ST/Amstrad YM chip music at that, then give Sinus Tracker a blast! It's a traditional tracker styled program that allows you to compose YM music files which can be replayed via the included source code (thanks to Leonard's excellent YM libs).


Apparently this art package was inspired by Deluxe Paint and shares some of the traits of that classic pixel painter. With flood fills, colour pickers, line tools, magnify and various brush sizes this is a fun art package, if only for nostalgic reasons.

Also on the web site you will find 4 music loop packs which are free to use in your own games, as well as downloads for all of the above (and more).

Web Site:

DarkBASIC Help

A rash of new online resources have popped-up in the past few weeks all concentrating on providing enhanced DBPro help files and information. The most immediately useful of these is Tutorial City, compiled by our stalwart newsletter tutorial author Steve Vink. The simple to navigate site provides links to stacks of tutorials that are spread across the TGC web sites and forums. You can search for tutorials based on a number of criteria including type. There are loads already indexed and it keeps on growing.

Tutorial City can be found at:

The second related site we've seen recently is DarkBASIC Help. Billed as being an online community and support resource this is a Mambo styled site that incorporates a DBPro Help Files Wiki. A number of commands have been added so far and due to the wiki nature you can edit the content to enhance the descriptions / examples, hence over time this could build into a useful resource indeed.

DarkBASIC Help can be found at:

Finally for this month there is a new wiki dedicated to the Dark Game SDK which can be found here:

On a side note I found it interesting to read on the forums that a few peopled thought that we (TGC) should not have published the 'Hands on DBPro' book, but should have released updated help files instead. To set the matter straight here once and for all, TGC do NOT publish the 'Hands on' book at all. We did not commission for it to be written. The author is not an employee of TGC, either freelance or full-time. The first we heard about the book was when a finished copy landed (with a hefty thump) on our doorstep one morning, the attached note asking if we'd like to sell it. Given that it's such a superb resource this was a no-brainer decision. Everything about the book from the format, to the content, distribution and cost is controlled by the author and his own small publishing company Digital Skills. Of course even though we've now explained this it'll still fly over the top of those with their heads stuck in the sand, but for the rest of you that is the 'story' surrounding the books origins.

Web Site:

Exclusive interview with Paul LaSalle

If you haven't done so already take a quick peek at the high-res version of our newsletter cover this month. See that leather-clad winged beauty? It's straight from the digital painting pad of Paul LaSalle, a concept and 3D artist in the games industry. Having worked on hit titles including Unreal Tournament 2004, Brothers in Arms and World of Warcraft, we grabbed Paul and pinned him down for this exclusive interview - so step into the mind and past of this graphical maestro...

Could you describe your job for us?

I live just north of Dallas Texas with my wife where I freelance my graphic design and Flash skills to the digital media and games industry. I am a character concept artist, and 3d generalist, meaning I do character and environmental work usually from concept to rig. Most of my professional experience has been concept -> model -> texture.

Which computer / console did you first cut your teeth on?

I started off programming on the old Radioshack TRS-80 in the early 1980s. I quickly followed into the Commodore (vic20 / 64), early Apple computers, and of course the Amiga. Somewhere during that time I remember the Nintendo NES coming out and changing the world of games as we knew it. I was quickly sucked into playing for hour upon hour! Mario, Zelda, Dragon Warrior, and of course Tetris. I also remember my father having an early IBM machine and I made some attempt to begin learning DOS and the few games or applications that were available at that time. When Playstation hit, it ushered in a new generation of 3d games and technology, and I knew what I wanted to do with my life. To this day the Tenchu series and the SSX series for Playstation remain my favourite games and the inspiration for me to follow this career path.

Did you start off by drawing graphics on a computer, or were you talented with a paper and pencil first?

I began drawing very early. I would sit down with a ream of typing paper and churn out character designs or mini comics and staple them together for fun. Crude I know, but it led to an eventual short career in the comic book industry. I was lucky enough to audition and get into a special high school for art and design where we actually earned college level credit for the work we did. At the end of High school the internet had not yet hit and computer graphics as an art form was in its infancy, this was around 1992. I was actively pursuing the next best thing, a career as an illustrator which met with moderate success with Image Comics. I met several of the Image creators and pursued work with Marvel as well as a few other independents.

Somewhere in all of this I attended college in the Houston area, got married, and moved to Dallas to attend the Art Institute of Dallas for a Computer animation degree. At the time AI Dallas was one of the only schools in the world offering a degree in Computer animation. This led to my further interest in the games industry and desire to become a developer or possibly get into movie special FX, which I still hope to do. I have pursued art all my life and typically burn through a new sketchbook in a week or so. I draw all the time and do what I can to sharpen my skills. In the last few years I have switched almost exclusively to a Wacom digital tablet but still find it is not a replacement for pencil and paper, but definitely compliments it and speeds up the creation of finished art for digital mediums.

Which games have you worked on most recently?

My professional game credits over the last few years have included character concept art on Epic's Unreal Tournament 2004, environmental concept and 3d art for Wolfpack studio's Shadowbane MMORPG, environmental art and backgrounds for Gearbox Software's Brothers in Arms Xbox version and PC version (both required many separate assets), and recently 3d character art for the World of Warcraft expansion content. I do work for the mod community and work on my own pet projects as time allows. Most of my work has been offsite type contract with the exception of the Brothers in Arms work. That was full time onsite in the studio. The work was demanding and the deadline hectic. We worked a minimum of 10 hour days and usually up to 15 hours a day including weekends. Crunch time is a killer. I remember the play test groups working sometimes 20 hours a day and sleeping at the studio. Gearbox was really good about catering meals on those really long days, and they kept a fully stocked kitchen and break area with plenty of junk food, energy food, sodas, water, you name it... it was like a free convenience store. It's a great group there and I have many friends and look forward to working with them again in the near future.

On UT2K4, that was an offsite job. They had an exceptionally quick turnaround time. For every character I had to draw 4 concept ideas, front side and back of the finished design, 4 colour schemes, and a coloured profile shot of each. I usually had about 2 days to do each character, and I was still trying to learn an efficient way to do the work at the time. I hope to not have to work under such a short time constraint again, the work really does suffer, but when you're just breaking in and trying to cut your teeth you'll do whatever people ask usually at plenty of personal sacrifice. Some of the original concept art can be found on the sketchbook section of my web site. And for the Brothers in Arms work, I worked on houses, walls, castles, churches, and backgrounds for every level, so if you see any screen shots at all you'll be looking at something I worked on. There were only 3 environmental artists on that project, my self another guy and a lead artist. We shared content development work for all levels.

Which software and hardware helps get the job done?

I work exclusively with Adobe Photoshop, Painter, 3D Studio Max, and ZBrush for my game stuff. For Site development I usually start in Photoshop and work in Fireworks, Flash and Dreamweaver. I do use a 6x8 Wacom intuos3 and stylus, and a dual LCD monitor computer with plenty of ram and storage. I will typically start illustration work and painted work as a sketch, then scan that into Photoshop and begin working. Sometimes I do start sketching directly in Photoshop or Painter for illustration work and although I am proficient at it, I still find it a little awkward and prefer paper and pencil.

Do you listen to music while you are working?

I love music. I play guitar as often as time allows and am a huge fan of punk music, like Alkaline Trio and Slickshoes as well as many other bands. I love modern rock (radio rock) and am also a big fan of 80's metal bands and Irish sounding punk and Celtic bands. I usually listen to while at work.

What were some important decisions about art direction in games like Brothers in Arms that helped unify themes and moods with music/art and the plot/situation?

Not sure I'm qualified to answer this particular question as it was a little outside my scope and fell more into the lap of the art directors for the game, but I do know that Gearbox has a full time retired military colonel on staff who oversees all historical accuracy and reference. Gearbox also sends teams into Historical European sites to take pictures, video and collect reference material. All of the maps are historically accurate as can be given the limits of the technology. The overall experience comes together very nicely when you play the game and gives the user a good feeling of immersion into WWII Europe.

Is being a games artist 'learned' or down to raw talent? What weighs more - the talent or the skills in using the tools?

You can learn the software, anyone can. What you do with it is up to you. You can learn standards for creating a game mesh or texture. I believe anyone can learn to draw, not everyone will be truly great at it (not saying that I am), but drawing and creative thinking are definite players in games development. Games are after all visual / interactive entertainment. Obviously the better you are at art the better the finished product. And companies hiring look for solid art abilities. That being said, if you have the artistic ability and are looking for a job you need to make contacts, meet people in the industry, participate in forums and get people to look at your work. Post art, and put up an online portfolio. Continually strive to do better, and you will get noticed. Not everyone in the industry can give you a job, most people can at best show your work to the right people if they like you, but only art directors can really help you get in. Outsourcing is by far easier and better. Try to get in with a 3rd party company that uses freelancers. The pay is better, the variety of projects is far more rewarding, and you can quickly build a name and experience for yourself.

So where does someone 'start' if they want to get into game graphics?

Ahh I love this question simply because no one would tell me what to do when I was getting started several years back. Graphic art and video game art was a closely guarded trade secret and there were fewer people around doing it. Now there are schools, tons of books, high school programs, online workshops and instructional DVD's, support forums...none of this existed a few years ago. When I started on my animation degree I went to one of the only computer animation programs in the nation that was available. Now almost every school has an animation program. Basically, there is no substitute for the basics, learn to draw, keep sketch books and explore creativity. If you love to do art then practice all the time, try to carry a sketch pad everywhere, participate in online art forums, post work, see what's being done in the industry. Learn the software for the path you are interested in. Above all, Network! Get online and meet people, make friends, participate in online art contests and sketch groups, be proactive in the community and put up a website...when you're good enough, you'll know it, and other people will start to notice. Then start pursuing work.

The Desert Island Disks Question: You have to choose 1 game and 1 application to be stuck on an island with, what are they?

I would choose SSX (latest version), it's a never-ending competition to better yourself in that game, and there are tons of characters, unlockables, and customizations for that game, I never get tired of it. And if I was stuck on a desert island and had a computer with 1 application ... hmmm, probably a messenger program to call for help!

Next-gen consoles - exciting or worrying?

I am extremely excited about the next gen systems. I look forward to cinematic quality gameplay experiences and mind blowing graphics that leave me drooling for more. Has anyone seen the Gears of War demos ... they are stunning! Or the PS3 Killzone material? It all serves as brain-food for the machine, I just look forward to developing art for some of these systems, this generational leap is an exciting time to be part of the industry.

Finally name your favourite game purely for the graphics

Are we talking in-game graphics or cinematics? The best stuff I have seen for in-game graphics is the next generation Unreal Tournament and Gears of War games coming out soon. The best cinematics have always come out of Blizzard, and Blur Studios which did the intro cinematic for Warhammer.

Our thanks...

Many thanks to Paul for both taking the time out to respond to our interview, as well as drawing the superb exclusive front cover for our newsletter! You can see his on-line portfolio at the web site below. In his spare time he is also working on an RPG styled game in DarkBASIC Professional.

Web Site:

Enhancing DarkBASIC Professional with FPS Creator by Steve Vink

When I started planning this tutorial, I felt like a fraudster. Firstly, the content is based on a presentation given by Lee Bamber at the DarkBASIC Professional Convention last November. Secondly, when you see just how little work is involved in using an FPSC level in your DB Pro game, you'll realise why I felt like I was about to short-change you this month. However, I've dug a little deeper, rooted out some more of the finer details of this process, highlighted the areas that you may struggle with and added more features to what was a fascinating insight into the world of FPSC levels.

Firstly, I will be working with the code from last month's Unity tutorial. Did you notice the corridors that the butterfly was navigating around looked very like an FPSC design? If you had your suspicions, you were right! The entire warren of beautifully light mapped corridors was "knocked together" in 15 minutes using FPSC as my level editor. I even made my own Unity wall-sign to prove you can customise the décor.

Building the level

Let's start by preparing the level. t is recommended that you start at the top-left point of the FPSC map editor, which is 0,0 on the XZ plain. Remember also that the editor defaults to layer 5, and you might want to go down to level 1 as your starting point, which will take you to point 0 on the Y axis.

We can import all static items into DB Pro with very little effort, so this is what we'll be working with. Walls, floors, ceilings and even static entities such as chairs, cupboards and crates can be used. You need to bear in mind that some entities will default to dynamic mode, and you will need to change this in the item properties. When imported into DB Pro, they will be part of the static scenery. Remember also that doors are dynamic, so they will not be available to us.

Let there be light

You can also add static lights, which will be light mapped according to your specifications when the game is built. Remember that lights can be dynamic, but these won’t be available to us in the imported map. It is worth noting at this point that the highest quality settings can be used at the time the game is built, and can be adjusted later, when the level is imported. Although the built map is included with the tutorial download, the FPSC design file isn’t. This is simply because it uses the Kitchen pack which you may not have acquired, and also external texture files such as the Unity wall-sign. However, it is very easy to create a similar map in just a small amount of time. For those people without FPSC, the exported level is included in the download so that you can experiment with the code.

Design Considerations

Before we go any further, there is another important design aspect to consider. We will see the optimisation in action later on in the tutorial. The level model, without any additional involvement on our part, has the ability to “remove” hidden faces, thus maintaining the frame rate. This is one of the core aspects of FPSC that allows complex and huge levels to be built without too much consideration given to performance. To take advantage of this feature, it is important to enclose areas when building large maps. This is achieved by ensuring rooms and corridors have ceilings first and foremost. It is also improved by obstructing visibility from one area to another, by putting corners in corridors, or other obstructions (such as walls) between different zones to divide the map into distinctive areas that the optimisation can benefit from. Later on, we will see the optimisation in action, and be able to assess our maps for suitability.

Moving On...

You can now "Build Game" in FPSC, and put your level-editing tool to one side. It’s almost time to move on to the DB Pro code. Before we do, we need to unzip a couple of files, and there’s a lot of files that are of no concern to us in the build folder, which should be deleted. Simply follow these step by step directions:

  • Delete all of the subfolders with the exception of levelbank and texturebank.
  • Create a new subfolder within levelbank called testlevel.
  • Within levelbank, there is a zip folder named Open this, and extract the 2 files named universe.dbo and universe.dbu into your new testlevel subfolder. The password for this zip file is “mypassword”.
  • Also to be extracted from the zip file are all files in the lightmaps subfolder.

Your preparation is now complete. Your directory structure will look like the diagram opposite, but with different lightmap and texture files.

Writing the code

The hard work is now done. Using this level in your DB Pro application is very easy. Here is the one line of code that loads the level:

load static objects map$, 0

where map$ is the name of the dbo file. Let's put it into context, with a few more lines of code:

load static objects map$,texturesize

The texturesize parameter is what was referred to earlier when we built the game with the highest quality settings. Using the example of 512 x 512 texture sizes, a texturesize parameter of 2 will load the textures at half the resolution. Thus, you can set the detail level at loading time rather than design time. The level files are very particular about the file structure; you must ensure you are working in the directory where the levelbank folder is situated. You can use set dir to change the folder if necessary:

directory$ = “C:\MyLevel\”

set dir directory$
load static objects map$, texturesize

That is all there is to loading your FPSC level! You can open the source code in the tutorial download and see how it was implemented in the Unity tutorial. The Lua code has been integrated into the DB pro code to allow non-Unity users to work through the tutorial. You can also build your own hive of corridors and use it with the code to see it working. There are several other new commands in use, which are highlighted below, along with a quick and easy technique for watching the optimisation in action.

More fun with FPSC maps

Optimisation of your FPSC levels has been mentioned earlier in this tutorial, and the good news is that it all happens automatically. It is possible to see it in action, and be able to check your maps are well designed. By viewing your map in wire frame mode, you can see the different sections appearing and disappearing. The simplest way to implement this is to attach a change in viewing mode to the mouse button. This has been done in the source code in the downloadable example.

if mouseclick()=1 then set static objects wireframe on
if mouseclick()=0 then set static objects wireframe off

To make the most of your FPSC maps, there are a number of new commands:

static raycast(ox#, oy#, oz#, nx# , ny#, nz#)
This command allows you to return the distance to the static world along the specified ray. It works in exactly the same way as intersect object, but an object number is not specified. This is an extremely useful command, and returns a lot of information, which is stored in the DarkBASIC Professional checklist. It allows for many actions, such as easy placement of decals, and vectors for bouncing objects off walls. You will note that a new command, checklist fvalue() has been introduced to return floats. The data returned is as follows:

Checklist string$(1)
a string with the first part the mesh number and the second part the frame number

Checklist string$(2)
a string with 3 parts storing the vertex indices for the triangle that was intersected

checklist fvalue a(3), checklist fvalue b(3), checklist fvalue c(3)
object space coordinates for vertex 0 e.g. 1.0, 2.0, 3.0

checklist fvalue a(4), checklist fvalue b(4), checklist fvalue c(4)
object space coordinates for vertex 0 e.g. 1.0, 2.0, 3.0

checklist fvalue a(5), checklist fvalue b(5), checklist fvalue c(5)
object space coordinates for vertex 0 e.g. 1.0, 2.0, 3.0

checklist fvalue a(6), checklist fvalue b(6), checklist fvalue c(6)
world space coordinate where the collision took place e.g. 1.0, 2.0, 3.0

checklist fvalue a(7), checklist fvalue b(7), checklist fvalue c(7)
normal of polygon that was hit e.g. 0.0, 1.0, 0.0

checklist fvalue a(8), checklist fvalue b(8), checklist fvalue c(8)
reflection normal based on angle of impact e.g. 0.0, 1.0, 0.0

get static collision x()
Returns the x coordinate of the static raycast collision point. There are two more corresponding commands; get static collision y() and get static collision z()

Delete static objects
This command will delete the map loaded with load static objects

static volume(ox#,oy#,oz#,ox#,oy#,oz#,1.0)
This is specific to FPS style games. It tests for collision of a volume against the static world. The two sets of coordinates are the old and new positions. The final parameter is the scale of your volume. A scale of 1.0 is an ellipsoid of X/Y/Z dimensions 10,30,10. This volume represents your character, and the command will return a value of 1 if a collision has occurred.

This tutorial has opened up a new world of possibilities by using FPS Creator as a level editor for DarkBASIC professional. It will also help those interested in modifying the FPSC game engine by unraveling some of the new commands.

Until next time, Happy Coding!

Download Tutorial: (5.5MB)

Landscape Creator

We literally only just received details of this new DarkBASIC Professional orientated level editor. The following information is as given to us by the developers at Digital Zenith. Check out the screen shots and visit the site to download a demo version.

Exceed your level design skills
Landscape Creator is the primary choice for creation of landscapes and levels for your applications and games. The fusion between the latest GUI advances and the latest 3D engine provide perfect synergy for the creation of amazing landscapes.

Reduce game development time
Landscape Creator is the ultimate landscape design program, every aspect is customisable. When you export your finished landscape you will have finished the vital aspects of your games development, including terrain design, terrain texturing and object placement. If your working in a team environment then you will love the power Landscape Creator provides; a team member can quickly become the landscape guru. Providing landscapes for the development team to use quickly, and in commercial quality.

If your working on a project yourself, then Landscape Creator will help reduce overall development time. The integrated help, and innovative application design will ensure you finish this aspect of your game quickly and effectively. Accelerate your Frames per Second - Landscape Creator uses advance terrain to create your terrains, a technology that provides fantastic modern graphics, while having a negligible impact on the frames per second. What you see in Landscape Creator is exactly what you get in your game engine!

Web Site:

Synergy IDE

The 2nd program from the Digital Zenith stable this month comes in the form of Synergy IDE. This is a replacement IDE for Omega Basic and DarkBASIC Professional and comes in two flavours, one free and one paid for. Full details follow:

  • Develop for Omega Basic, Dark Basic Professional and Dark Basic
  • Full syntax highlighting with function folding, bracket matching and breakpoint setting
  • Compile, Run and Debug you applications with one click
  • Visual Studio 2005 Solution Explorer listing modules used in project
  • Visual Studio 2005 style project properties panel
  • Visual Studio 2005 style docking windows
  • Tabbed windows supporting multiple source files
  • All generic features e.g. Cut, Copy, Paste, Undo, Redo, Print etc
  • Find and Replace dialogs
  • Go To Line dialog
  • Online wiki based knowledge base system with all commands built into the IDE
  • Dynamic Help system provides help to all commands
  • Localisation Wizard extracts all strings ready for translation
  • Find In Files dialog allows quick project searching
  • External Tools dialog allows external tools to be launched from the IDE e.g. notepad
  • Command Replacement Wizard allows commands to be dynamically replaced at compile time
  • Dark Basic Professional Upgrade Wizard finds problems when upgrading Dark Basic programs
  • Built in To Do system allows tasks to be added, removed and ticked
  • Automated back up engine with roll back ability
  • Outlook style non-intrusive information popup
  • Macro recording and playback for common tasks
  • Scriptable interface with direct access to editing component
  • Sorted snippet database with the ability to insert template at carot position
  • Built in update wizard
  • Unique DarkBasic Professional obfuscation with a FREE copy of VooDoo
  • Commercial image editing component provides over 25+ image effects
  • AVI exporter for creating your own cutscenes
  • Full CHM help file documenting all features
  • Available for Windows 98/ME/2000/NT/XP/2003 and Vista

You can get more details, screen shots and a download from the site below.

Web Site:

FPS Creator - French Version Released

We are pleased to announce that the French version of FPS Creator is now available. It comes with a French manual and the software itself has also been translated. The box is also a different design (due to the publisher in France) but from a features point of view it is identical to the English version.

Depuis plus de 3 ans en développement, les développeurs de DarkBasic à qui l‘on doit les logiciels 3D Game Maker et 3D Games Creator, finalisent le logiciel de créativité que la communauté des joueurs de FPS attend depuis toujours : FPS Creator !
Très simple d'utilisation, FPS Creator vous permet de construire et de personnaliser votre shooter 3D à partir d’une bibliothèque exhaustive de blocs et d’objets 3D. Compatible et intégrant les dernières technologies 3D, les créateurs pourront importer de nouvelles données et faire partager leurs créations inédites! FPS Creator, le logiciel indispensable, pour tous les moddeurs amateurs et professionnels !

Web Site: Focus France Website


igLoader is a cross browser plugin that allows virtually any windows based software to be delivered and operated within the browser window. igLoader is unique in its implementation and simplicity; igLoader is not based on ActiveX technology and, as such, is compatible with browsers such as Firefox and Internet Explorer. igLoader is secure; only licensed software will be installed and launched by the plugin.

Traditionally, browser based software has been developed using technologies such as Java or Flash. However, it is often expensive and time consuming to port an existing application; in a lot of cases the additional development is not financially viable. With igLoader, software can be made "Browser Ready" in a matter of hours, not days OR months!

No more "Click > Download > Click > Install > Click > Play" - once the plugin is installed you can deliver content by simply serving HTML pages. Early adopters are utilising the technology for delivery of computer video games, however the software is not limited to games and does deliver complete applications. Indeed applications that embed DRM and payment solutions can utilise igLoader as the software delivery mechanism, when products are activated they can then made available to the user to launch from the desktop rather than launching within the browser.

A free Development Edition is available to “Ready” and “Test” applications, to read more and to download the Development Edition visit the web site.

Web Site:

The TYTT Game Development Contest

This should be of interest to those of you who have ever entered a TGC programming competition before and although not strictly a competition it is a chance for you to develop a small DBPro game, and if we like it enough it will become part of a commercial title and you will be paid for your game. Sound like something you may be interested in? Then read on...

A little history

TYTT stands for 'Teach Yourself Touch Typing'. It is a commercial software title sold in the UK by Focus Multimedia, who TGC work closely with. The main aim of the title is to teach people how to type, and how to improve their accuracy and typing speed. For the past year and a half developer Kes James has been building a brand new version of TYTT in DarkBASIC Professional, and with TGCs support. The new version includes some great features such as classroom lessons, progress charts, a fully customised training room and a gorgeous graphical overhaul. The core TYTT package is virtually finished, but one thing we need for it are games. This is where you can come in!

You decide the game type

We want to collect together 10 games for the final title. Each game is fully self-contained and you have a free range when it comes to the game type / concept. Obviously there is one central theme running through-out TYTT (and thus your game) and that is to teach typing. Therefore your game needs to present a typing challenge to the player. So while that means your typical FPS romp is out (because it relies on the mouse rather than the keyboard), it does mean that small arcade styled and fun family games will fit this criteria perfectly. TYTT is a family orientated package, so no hardcore gaming concepts / violence would be suitable.

We are not looking for massive multi-level 3D extravaganzas! 2D games are perfectly allowed and we would urge you to think of a single concept and then build your game around that. I.e. pretty much just do one thing, and do it very well, rather than try to go overboard. Here is an example synopsis from a game to give you some ideas (please don't use this game idea, it has already been done!):

"The player is a small green frog who sits on the river bank at the bottom of the screen. Various flies and other insects fly around the screen each carrying letters (and in later levels whole words). The player must press the correct letter (or enter the word) and the frog will zap the insect with his tongue (which shoots out to hit the insect where-ever it was on-screen). Points will then be added to the score and after a certain number of letters things get faster / harder. Let too many insects through and it is game over."

As you can see there is principally a very simple game concept going on here. The key is to make the action family friendly and easy to pick up. You don't need to plan anything overly complex here (infact the more complex, the less chance of us picking your game for inclusion!) Small simple and very well executed game ideas are the order of the day.

To get you started

New TGC employee Grant has developed a set of fast and smooth keyboard entry functions for DarkBASIC Professional. These will serve as the core input routines for your game and provides you with a frame work to get started with immediately. Our graphic artist has also prepared some background artwork you can use for game start / end / high-score related screens, so you don't even need to design that. We will provide all of this for you, along with some design guidelines and example word banks to use. All you have to do is come up with a good game idea, and code it.

What's the prize?

If we pick your finished game as being worthy of inclusion in the final package then we will pay you £300. That is £300 PER GAME. For those of you in the US that is approx. $530 (based on the current exchange rate). We pay per game so if you are on a coding streak and provide us with two games and we pick them both, we'll give you £600 ($1060).

You will also receive a free copy of the finished software, and we'll release a video of your game in action so the rest of the community can see what you created.

At this moment in time we are looking for 10 games.


There are very few rules to comply with, but here are the essentials: (1) Your game must be created in DarkBASIC Professional (2) You must give us the *full* source code if we pick your game as a finalist (3) You cannot re-sell or otherwise re-distribute your game if we pick it, this includes making it available for download. (4) Your game must run in 800x600 resolution and in a Window (not full-screen / full-screen exclusive) (5) Any graphics, models, textures, music or sound effects used must either be your own work, or derived from a source which allows for use of the media in a commercial title. (6) Do not use any copyrighted material or brands in your games.

What if my graphics / music sucks?!

If you've got a really good idea for a game that fits our criteria of family-friendly typing teaching fun, but you are worried that your graphics or music might let you down - don't be. We will be looking at the game concepts first, graphics second. We have access to a variety of very skilled 2D and 3D artists, and musicians. If your game plays really well and is fun, but needs some love and attention in the graphics/sonic departments then in certain cases we are happy to provide this. In other words don't let anything stop you from creating a great game. We're looking for fresh fun ideas and are happy to assist you with the eyecandy if we pick your game.

How do I participate?

Send an email to with the subject line as 'TYTT'. I will then send out the source code framework and graphics pack to everyone who emails. Allow a couple of days for this to arrive. Also keep an eye on our forums because I will post updated news and downloads there. I will start a thread where you can post your questions and get answers.

What is the deadline?

The time scale for this is quite short. We need to receive your first fully playable game prototype back by the end of February. We will then tell you if we'd like you to continue the game any further. If we pick your game at this stage you will have until the end of March to complete it. Please understand that we will be quite ruthless when it comes to selecting suitable games. You would do well to have a good think about how your game is going to work, plan some ideas down on paper before jumping into the code. If you want to, run the ideas by us first and we can provisionally say 'yes or no' to them. This isn't a requirement though - if you already know exactly what you want to create then go for it!

We look forward to seeing what you can come up with. Remember the core elements: the game is teaching TYPING SKILLS (speed and/or accuracy), should be FAMILY ORIENTATED and should be REWARDING and FUN to play. Good luck!

Web Site:

Post your bugs. New Updates are pending.

If you have found a reproducible bug in DBPro, the DGDK or FPS Creator then now is the time to post about it onto our forums. There are dedicated bug reporting areas for each product. Remember to include: 1) As much detail as possible. Even things you may not think relevant! (2) Some basic hardware specs if the bug appears to be hardware related (3) If possible example source code / FPSC level maps. Bugs which can be demonstrated via code are fixed much quicker, and much sooner than any other kind. The forum has a 10MB attachment limit, more than enough to attach even the most foobared bug example.

Update work on all of our core products is currently underway. As always we will target the bug boards first. If your issue isn't reported in there, then the chance of it getting fixed is slim. So now is your opportunity.

Web Site:

Pyro - Particle Effects Tutorial by Grant Smith

Getting effects into games can often seem a daunting task for most newbie home brew coders, In reality it's actually quite simple. Most effects in computer games are generated using transparent objects placed or behaving in a certain way to create some kind of cool effect or other. Another way of getting effects into your game is to use a particle system or explosion system using its own transparent objects. Particles systems in games are the best way of controlling large numbers of related objects in an easy way to create complex looking effects. Particle systems is virtually a science in itself and is not what this tutorial aims to teach you, it does however show you how to use the particle system included with this tutorial in your projects.

I'd like to introduce you all to a set of functions and media called 'pyro'. Pyro is a system that allows you to add quick and easy explosion effects to 3d games, but it's more suited to flat grounded arcade rather than simulation level games with complex environments. As you can see from the screenshots, particle systems add instant eye candy to just about any bland looking scene or game, eye candy is good for games and that's exactly what we want, right? So let's get on with the effects and how to use them, in a 'here's one I prepared earlier' sort of way.

Set-up the setup

For the purpose of this tutorial, we'll assume that the ground height in your game is 0.0, the height at the 3d world origin. The ground is important for the interaction of certain particle effects in the functions. Before we can even use any of the effects we have to make sure to run their setup, this is done using the command 'gosub pyro_setup'. This subroutine sets up the global variables and image data the particle system relies on to operate. Once the system is set-up we're free to start calling the effects as we need them. One other important reminder for you is, the pyro system uses objects in the range 50000 to 51000, and image numbers 50000 to 51000. Please ensure these object and image numbers remain free for the pyro system, other than that it's really easy.

First up, lets take a look at the functions and routines of the pyro system, as you can see the functions look fairly simple and there are not that many of them (their names sort of say it all really!)

The functions

gosub pyro_setup
This subroutine sets the whole particle effects system up, you can't use the particles until you run this routine. All the media is handled here too, just make sure to include the 'particle_media' folder in your project.

pyro_update ()
This has to be placed somewhere in your main loop, this function updates the active particles in your game world. This function takes no parameters and returns no values.

pyro_spark_spawn (xpos#, ypos#, zpos#, amount_of_sparks, spark_texture_number)
Calling this function will create a burst of particle sparks of a specified amount at the specified location, you also specify a texture number from 1 to 10. These particles shoot out and up like an explosion and are effected by gravity, as particles hit the floor they bounce until they expire. This type of particle is good for explosions as well as firework style effects, continuous calling this routine with a small 'amount_of_sparks' value gives a nice fountain effect. Sparks have a flickering effect.

pyro_smoke_spawn (xpos#, ypos#, zpos#, amount_of_smoke, smoke_texture_number)
Use this function to make puffs of smoke that rise upward and fade away. The effect happens at he specified location, the amount of smoke produced is specified in the 'amount_of_smoke' value. A texture is also specified allowing for different types of smoky style effects, texture numbers are from 1 to 10. Use this as a fountain to produce columns of smoke. Smoke has a slight flicker to it to enhance the effect.

pyro_flash_spawn (xpos#, ypos#, zpos#, flash_texture_number)
A single flash particle will appear at the specified location when you call this function. The flash function also uses the specified texture on the particle. The particle grows and fades very quickly and enhances the effect of an explosion if called alongside a sparks function. Again the texture numbers are from 1 to 10.

pyro_ring_spawn (xpos#, ypos#, zpos#, ring_texture_number)
This makes a shockwave style ring that expands and fades rapidly, it's a single shot particle just like the flash, the effect takes place at at the specified location and uses the specified texture. Rings are parallel to the ground plain and do not directly face the camera like normal particles. Texture numbers are from 1 to 10 calling this with random x and z positions will give a water ripple effect, like rain in a puddle.

Example Code

This DBP program listing will let you see how easy the functions are to use in your own games and applications:

backdrop on
color backdrop rgb(0,0,0)
sync on
sync rate 60
autocam off

position camera 0.0,30.0,-150.0
point camera 0.0,0.0,0.0

gosub pyro_setup


  pyro_spark_spawn(0.0, 2.0, 0.0, 3, 1)

  set cursor 10,10
  print "screen FPS = "; screen fps()


until spacekey() = 1



This simple program will produce a fountain effect 2 DBP units above the origin of the 3d world, as specified by the first three parameters. The particle effect will spawn 3 particles when it's called, as specified by the fourth parameter. The value of the texture is 1, as specified by the fifth parameter. As you can see it's fairly simple to produce a simple particle fountain with very little of your own program code. Changing the amount parameter would give you a bigger fountain with more particles. You'll also find another example in zip file called firework.dba, this code was used for the particles in the screenshots.

Attaching the location of the particle effect to elements in your games will allow you to make more visually interesting things like particle based explosions and smoke plumes in 3D environment games. You could use the ring effect that is normally used for explosion shockwaves, to make water ripple type effects simply by spawning them in rapid succession in random locations at the same height for a simple rain in a puddle effect. The explosion flash effect could be used with a certain texture applied to the particle to signify a bonus or target within your game very easily, you can do a lot more than just explosions. If you want to get more out of pyro I suggest you start by looking at the many variable declarations in the setup subroutine, they should be simple enough to understand without too much commenting. By simply changing the values of certain variables you can in effect make custom particles for your own application or game. Updating or altering the code in the pyro_update() function will allow you to change the behaviour of the particles at a much lower level. The image file loading section of the setup subroutine was originally a loop structure that used numbered files loaded in sequence, but I decided to load the images individually to make it easy for anyone to change the code, and add more images with any name they see fit. You could add a fair number of original and cool images to the particle_media folder for some really original particles. Pyro is open for you to modify and include in your own games and applications as you see fit. Ideally you should use it for learning purposes, then build your own custom particle system for use in your own games and applications.

Next months tutorial will be about flock control, we'll be moving groups of objects in formation around the 3d environment in a controlled manner, and blasting them to pieces with a player ship for a bit of fun.

Thanks for your time, and have fun. Grant.

Download Tutorial: (1MB)

Yahtzee 123

Yahtzee is one of my all-time favourite games. Played with 5 die you roll (up to three times), decide which die you wish to 'stick' and basically try and fill in the score card with the highest possible values. For example roll 3 x 2's and 2 x 1's could be either a 'Full House' or you could put 6 points against the 2s column. Ok, so I probably didn't do a great job of explaining the rules, but you really can pick it up very quickly and once you do it becomes a major addiction trying to top your best ever score.

Yahtzee 123 is a DBPro version of this classic game, with real-world dice physics, the all important high-score table and a slick clean interface. All the popular scoring modes are in there and this is a nice example of Yahtzee DBPro style. Download for free from the developers web site below.

Web Site:

New Released Round-up

There are some great new releases coming out of the community and this is a quick round-up of the most prominent landing soon.

T.Ed Version 4

T.Ed is a superb landscape editor and version 4 should see release at the end of February. New features include: An improved menu system. Newly Improved and Organised Export GUI. Mesh Editing Bug Fixes. Axis Constraints. Prop placement. Faster saving and loading. Better and faster Undo support, and finally a new bolt-on system for 3rd party plug-ins. The screen shot below was taken from the latest build of T.Ed featuring a level from the game Perfect Serenity, a horror survival game by the T.Ed author and T.Ed is available to buy from: //

Quikly Update

We touched on the Quikly range of game making products in previous issues, and the full boxed version is due for release on February 14th (awww, how romantic!). Game Pro and its support tools allow for quick game making with full export to native DBPro code. Internally things have changed a lot, while from a features point of view there is a sneak peak at vehicle physics and an on-line updater tool. Model loading and scripting has been implemented far more fully, many more things are possible including music in your games, stairs, ramps, race tracks, city scapes and more. You can now SAVE and LOAD your games again too. Full details of this game maker are available from:


SwiftIDE is a replacement editor for DarkBASIC Professional. Although still a work in progress it has come on leaps and bounds recently and is now worth a look. The IDE features a DLL Manager, full Compiler options, Multiple clipboard support, accurate compile line error detection and a better project folder layout. Full details in its forum thread here:

From the Forums

A short forum outage caused certain members to have nervous break-downs. Caused by the web server locking up during a weekend while I was away, it saw many people frantically sat hitting the refresh button, while others claimed they'd never got so much work done in a weekend ever before :) No significant changes to the forum this month other than the file attachment limit increasing from 10MB to 50MB. We've also nearly hit 3/4 of a million posts. So here are my selection of must-read threads this month:

Want some quality game music?
I received an email from one Antonio Olivari D'Emanuele who said he is a budding musician that wants to break into the games industry. He wants to gain practical experience by working with games developers so he can take his skills further. Having had a listen to his music all I can say is that he is extremely talented and if you've got a quality title that WILL GET FINISHED, check out this thread for contact details and drop him a line. [ Read the Thread ]

Dot3D and Line3D Released
Jason emailed us to say about his newly updated extensions for DarkBASIC Professional. Dot3D has been updated to work with multiple cameras and dot sizes. Line3D now also works with multiple cameras. You can grab these great extensions for free which include help files, keywords and example source code! Superb. [ Read the Thread ]

gile[s] loader for DBPro
Before he joined TGC and was shackled to code forever, sparky released a DBPro extension that would allow for native loading of gile[s] gls files with full light-map support. This was in part thanks to the release of the said C++ code by Mike Johnson. But whatever the route, the end result is extremely useful. Download the latest builds and join in the action in this thread. [ Read the Thread ]

Operation: Invasion Evasion - Source code
Operation IE was one of the excellent Alienware compo games, entered by Van B. Well Andrew has gone and released the source code to this tidy little Cannon Fodder inspired blaster. Grab the file from the forum thread. [ Read the Thread ]

ZPhysics v1.0
Wow! This is some major coding achievement. Zotoaster has released version 1 of his physics library for DBPro. This isn't a DLL though, it's a set of functions so you can just include the dba file in your source and use it! There is even a keywords file supplied. Some very clever stuff here, well worth looking at. [ Read the Thread ]

Making a video game isn't as easy as you think
Although slightly flame-bait worthy, I have to admit I really liked this forum post from Gil - in it he covers the age-old problem of people thinking that they can create a killer game by just clicking a few things together. News flash, it ain't that easy folks! This should be on the noob reading list. [ Read the Thread ]

You can find our forums at:

20-Liner - Pong 4 by Super Nova


This little game is a great idea! And it works perfectly too! Maybe the name "Pong 4" is a little misleading. My first thought was "Oh great, Another normal pong game"... I was more than wrong. You have the control of 4 paddles, and all you need to do is bounce a ball between those. Simple isn't it? But Is it that easy? No! You start the game of with this nicely and slow ball.. But after a while, the ball starts to get faster and faster.. And it starts to get hard. Going all crazy with the mouse, desperatly trying to save this little ball... see THAT really shows off how good you are at multitasking ;-) This game also got a nice background, it fits perfect in the game and makes it all look alot better, instead of the boring default blue color. If I should mention any problems, it would be that the author didn't include a sync rate, so on faster pc's it's impossible to play. Fix it by changing the source code, and include a sync rate. This game is great, and so are the idea. Try it out. It may be harder than you think it is :)

The author of this 20-Liner has won any of the DB Pro expansion packs, just email us to claim your prize. This review was written by The Nerd.

Download the 20-Line code from:

This months winner

Each month we award one lucky subscriber a free copy of DarkBASIC Professional. The winner this month is: futuredream@???????.nl
Just email us with your address details and DarkBASIC Professional will be in the post to you.


Share your product / project news with over 12,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). The deadline for Issue 38 is February 26th.

Top Futurama Quotes: "Space. It seems to go on and on forever. But then you get to the end and a gorilla starts throwing barrels at you."
(C) Copyright The Game Creators Limited 2006