The Game Creators Newsletter Issue 33

Issue 33 cover - click for full version

After many years of development, changes, texturing, modeling, animating, sound effect creation, music composition, PR, artwork, testing and evaluatin - FPS Creator is finally released! Over 3 years in the making we firmly believe it brings a new level of game creation to the masses. This issue you can read all about the release of FPS Creator, about the first of what we hope will be many community built content packs, and also an interview with Lee Bamber, the lead developer. Find out just what the release of FPS Creator means for the community as a whole. DBPro and DSDK users may wish to dig into this interview, because the completion of FPS Creator now means changes and updates across the entire spectrum of products.

This month we've got two competitions running. One where you could win an ATI X800XL graphics card by designing an innovative FPS Creator map. The other where you can win some software by creating a greyscale map to go with Steve Vink's excellent DBPro Transitions tutorial. There are also some new games worth checking out, lots of new DBPro DLLs, a whole stack of free media, an exclusive (if slightly strange!) video of TGC staff up Mount Snowdon, a 20-liner, forum chat and more!

As is becoming the norm I seem to wind-up recent newsletters by giving out cool product or game recommendations. This issue is no exception, apart from the fact that it was TGC community member Grant (geecee3) who first recommended this item to me! It is an X-Arcade control pad. Picture the entire control section of an arcade machine ripped out and slapped onto your desk, all USB'd up to your PC and then run MAME. This is retro heaven :) The board is made out of genuine arcade machine pieces and feels utterly perfect in use. You can buy it in one or two player variants and the joystick and 8 buttons can take a real hammering. The white "1 Player" start button just sets it off. There are even buttons on the sides for pinball games. Yes, I truly had died and gone to retro heaven. Check it out, and if you're in the UK I cannot recommend strongly enough this excellent company who supplied mine next day, with faultless customer service.

Ok sales pitch over! Just before I go however, if you live in the UK and want to attend this years DB convention then check out the details here. That's all, have fun with this issue and see you again in October.

Contents

Editorial FPS Creator Press Release Interview with Lee Bamber FPSC Level Competition
Jo-go Advanced Animation Plugin Slayer: Battle Tanks II Sprite Collision
SnowDOOM Enhanced Audio Plugin FPSC Forest Pack DBPro Tutorial - Transitions
TGC IRC Chat Massive Media Digger Ripe for Remakes
From the Forums 20-Liner - Cave Flyer This months winner Outro

FPS Creator gives power to the people

FPSC Box

Thousands of computer fans dream of making and selling their own games but lack the know-how to actually do it. Now there's a revolutionary new way to turn those dreams into reality with a PC games creation package that not only cuts out the need for programming knowledge but also gives you free licence to profit from selling your games.

Eliminating the need for 3D modeling knowledge, FPS Creator's intuitive 3D editor enables you to virtually paint your game world onto the screen, using Prefabs or Segments to drag and drop walls, doors and windows that click together with pixel perfect precision to construct 3D buildings of many storeys and levels.

Adding entities is just as easy with 800 3D game objects to choose from, including 62 different enemies and 18 weapons. Dramatic sound effects and lighting increase the atmosphere and you can also import your own sounds, music, graphics or 3D models. Logical scripting makes it easy to customise every aspect of your game and direct the action across some 50 large scale levels with realistic firepower, explosions and dynamic effects.

Once the game is finished it can be saved to CD and given to friends for multi-player death matches across LAN or Internet and for the first time with any creation package of this kind, you can sell your creations 100% royalty free!

"This is the first game creator that produces results of such a high standard," said Rick Vanner, Commercial Director of The Game Creators."With a full physics system, great animation, multiplayer, excellent graphics styles and a whole lot of other clever features, the creative possibilities are both endless and comparatively easy to achieve, and that's a combination that no other product offers. There are already 1,000 users of our early adopter version and they're voting it a great hit."

FPS Creator is available today priced $44.95 / €43.46 / £29.99

Web Site: //www.thegamecreators.com/?m=view_product&id=2001

A Conversation with Lee Bamber

With FPS Creator finished we took some time to sit down and query Lee Bamber, the head developer, about the development process, future plans and what may be in store for DarkBASIC Professional and the Dark Game SDK.

About FPS Creator...

FPS Creator is finally out, how long has the development process taken?
Lee: It started just over three years ago, and has gone through many internal revisions before we arrived at the design you see today.

Where did the original idea come from?
Lee: We have always created game creation tools, and we always seek to make the process easier and more flexible. FPS Creator is simply the next step in this evolution. The ideas within FPS Creator have been contributed by the whole team inside a three year melting pot.

Which part of the project would you say provided the most enjoyment in terms of development?
Lee: The very best moment in the project was the testing of the physics system. The best part about the system is that the outcome is not known. You make a structure made-up of boxes, exploding barrels, furniture, etc and then throw grenades at it, and wait to see what happens! It transformed my test games from a predictable A to B design into a magical universe where anything could happen.

Which physics system are you using in FPS Creator?
Lee: We are using the Open Dynamics Engine, ODE for short, within the FPS Creator game engine. It has the benefits of being very fast and easy to code for. The extra feature that did it for us was the fact the license allows you to distribute the final games for free, which means any games made you can sell royalty free. A vital ingredient for a tool that ultimately produces redistributable executables!

I notice you said that the "FPS Creator Game Engine" uses it. What plans are there for the game engine specifically?
Lee: One of the outcomes of finishing FPS Creator was to prove that commercial products could be created using DarkBASIC Professional, our own programming language. The FPSC Game Engine was written entirely in DBPro. During the next Upgrade session we shall be releasing the FPS Creator Game Engine source code to the DBPro community for free, allowing them to customise the actual engine itself.

So this means any DBPro programmer could take the game source and modify it to add their own features? I.e. particles, a 3D HUD system or even RPG elements?
Lee: Exactly. You can change everything about the engine. Strip it down to a mere level loader, expand it to include vehicles, destructable scenery, anything. Tweak existing elements to your requirements on a game by game basis, and then you may share your modifications with the community if you wish. We place very few restrictions on what you can do with the source code.

Does that include selling any mods you make?
Lee: To a certain degree, yes. There is one restriction we must place to protect our interests and that is you cannot make "game creation" software using our source code (in whole or in part.) DBPro programmers can create and sell their own source code that links into the game engine source code, but it must clearly not include parts of the source code that we release for free. Just to clarify though, you CAN sell your own games you make! You just can't build FPSC 2 with it :)

FPS Creator will have the source code released to the game engine, free for modifications, no license or royalty restrictions and no watermarks or splash screens - why the change to this business model from the traditional "license" one?
Lee: The 'commercial license' is best employed with technology and tools that service the professional commercial industry, who typically have money to spend. FPS Creator was designed and priced for wide acceptance. Our intended customer would not appreciate a license, or anything, that impedes their progress to making and selling games. We wanted to remove all obstacles from FPS Creator to create the best product we could.

If there was one feature you would really like to see in FPS Creator that it doesn't currently have, what would it be?
Lee: Vast populated exterior terrains and seas! Everything from green lush forest planets to the stark alien sand planet of Elk (Editors note: We have no idea where Elk is either)

Will we be seeing any updates to FPS Creator in the near future? Is there some kind of release roadmap?
Lee: We have a short-term plan to release the FPS Creator Game Engine source code, and a Modern Day Graphics Pack in a few months. We hope to continue making graphics packs for the product, as we anticipate this will be the number one request from the community. We will also be making updates available in the course of fixing any bugs that may arise.

Which is your favourite character in the V1 release?
Lee: The character I tend to choose the most during my testing is Conker. The guy has spikes coming out his head and wears nipple clamps! Not sure what that means, but in my mind this one stands out as a real 'character' :)

What plans are there to educate the FPS Creator community?
Lee: One of the most effective tools I have found useful during the beta testing and PR events was the 'video tutorial'. I personally plan to create a series of quick video tutorials covering the more advanced aspects of FPS Creator. There is no better way to learn how to use a tool than watching someone else show you how to get around the interface.

About DarkBASIC Professional / Dark Game SDK

What is the immediate plan of release / action with regards to DBPro?
Lee: The immediate plan is for Mike and I to take part in another bug week from which will be produced Upgrade 5.9. This upgrade will also include the new ODE and MultiplayerPlus DLL's. These two DLL's will be unsupported command sets and are required for the release of the FPS Creator Game Engine source code, which we shall be releasing at the same time.

What does "unsupported" mean?
Lee: Unsupported means they will be fully functional, and any bugs will be fixed during future upgrades, but there will be no official documentation of the command sets added into DBPro at the time of release. There are 76 ODE commands and 35 MultiplayerPlus commands in total. It is also worth noting that there are some ODE related bugs that cannot be fixed due to the incomplete status of the original SDK, but hopefully over time these will be addressed.

So would now be a good time for users to start collecting any DBPro bugs in the bug forum?
Lee: Yes. We are now planning when the bug week will commence, and our gut feel is sometime in the next two weeks (early October). So any users who want their bugs fixed first should refresh them in the bug forum within the next seven days really, sorry for the short notice :)

If 5.9 can be considered an FPS Creator integration build + bug fixes, what do you have in mind for 6.0 and beyond?
Lee: Upgrade 6.0 will attempt to solidify the language by dealing with functionality/compatibility issues that have been raised by the community. It will address instances where the help says one thing and user experiences suggests another. We will also be working on the compiler and debugger, focusing on speed and stability. We have no schedule on when this upgrade will begin.

As DBPro is upgraded will we see those changes move across to the Dark Game SDK?
Lee: The relationship between DBPro and Dark Game SDK is a very close one. They share the same technology source code, and only differ in how they are compiled for end user usage. Any bug fixes in one will be made available in the other, and only require compiling and releasing to make the benefit public.

Are there any changes on the horizon for the SDK?
Lee: I feel there is a great potential for the SDK, and it opens up a world of possibilities for those programmers who want to progress to a language that is an accepted industry standard. One of the first changes will be the renaming of the product to the "Dark GDK" (Dark Game Development Kit), which better clarifies the identity of the product.

Although there are no firm plans regarding this - do you see TGC going down the Windows Vista / DX10 route sooner rather than later?
Lee: We are going to take the first step in that direction when we all upgrade our development tools to the new .NET 2005 editions, which natively support the 64bit compilers. As stated there are no plans other than to conduct research into the viability of supporting future technologies. As for DirectX, as soon as the April 2004 DirectX 9.0c end user runtime is replaced, we will be supporting that asap. Vista is obviously an important move for Microsoft, and we will follow where the market leads us. There's no point being stuck with old technology. The computer world waits for no man!

You've been creating "game making" software for most of your professional life, if you could make any other type of application, what would it be?
Lee: A tough question. Most of my brain is hard-wired for game creation these days. I would probably write 'life programs'. Applications that are designed to learn on their own, taking input from external sensory devices and letting the end user experience the outcome for their entertainment value. It would probably be something in the entertainment field for sure!

FPS Creator Level Design Competition

Win an ATI X800XL Graphics Card + 5 Free Custom-built Models!
X800XL

Here's a competition specifically for FPS Creator V1 users - create us a stunning level and we'll give out some prizes for the best one! We are looking for interesting use of physics in your level. So don't concentrate too much on how complex or large your level is, just make sure it's a really good / fun physics demonstration :) Some ideas to get you thinking: 1) Create a large "domino run" style map and let the user start it off. (2) Donkey Kong! Have the player located on a floating platform with spawning barrels and get him to kill the enemies by hurling them below. (3) A Bridge too Far! Create a map where the player has to build a bridge from the pieces you provide to cross a chasm.

The only restriction is that you must only use media provided with FPS Creator V1 (full or demo version), so no including your own sounds, images, models, etc - not in this competition anyway :)

We've two really cool prizes for the winner. First of all you'll get a brand new state of the art ATI X800XL graphics card. This beast can throw polygons and shaders around like there is no tomorrow. You will also win FIVE CUSTOM BUILT MODELS, created by our 3D artist Simon Benge. You will get to specify exactly what the model is and Simon will model and texture them for you. The final models will be released free to the FPSC community. The only restriction on this is you cannot have a character or weapon, it has to be a single entity object. But you get to pick what it is, with no restriction on the genre either.

Do your best and get map making. Keep your eye on the FPS Creator forum to find out where to send your finished FPM files and we'll pick a winner at the end of the month. Full competition details will be posted to the FPS Creator web site in the next couple of days, so use this time as a head start to get creative. The deadline is the last day of October 2005.

Web Site: //www.thegamecreators.com/?m=view_product&id=2001

Jo-Go

Well what do you know, just one month after announcing the winners of our Puzzle Game Competition we receive a message from Living Tree Software about their DarkBASIC Professional created puzzle game: Jo-Go. Described as being very similar to Chess in the approach required (both defensive and offensive playing strategies), Jo-Go allows you to play against the computer or against friends via its Play-by-Email feature. The following is from the authors announcement:

Jo-go

"Jo-Go is the ultimate tactical board game. Some believe it to be the perfect "off-season" trainer for games such as chess since it teaches you to position your pieces for both offensive and defensive action and quickly shows you the consequences of a misplaced capture of an opponent's piece. If you like chess, you'll love Jo-Go. If you hate chess, you'll still love Jo-Go. The game is deceptively simple yet complex enough to challenge your visual skills for ages to come. Plus, it's a proven fact that visual games foster intellectual development. Perfect for kids and adults. It's a thinking game that will get your right and left brain working together."

Both players receive eight pieces with 1-5 beads on each piece's pole. Each piece moves in a set pattern. If your opponent passes one of their pieces over you in the course of it's assigned movement pattern, you lose 1 bead. If they land on you, you lose 2 beads and you switch places if your piece still has beads remaining. If the players are at different playing abilities, you can even handicap the more experienced player by giving the newcomer 1 or 2 extra beads on each piece at the start of a game.

The computer opponent has 3 levels of difficulty to play against and with the unique handicapping system you can try out the harder levels with a little extra help in the form of extra beads for your pieces. The integrated PBEM (play-by-email) system lets you play anyone in the world. All the file sending is handled by Jo-Go and our server. Sign up for a free account and start playing today with the unregistered version of Jo-Go. If you like the game after 10 turns, you'll be asked to register to further development of Jo-Go and help cover the costs of our server expenses.

Jo-Go features 10 different game boards, 5 different player colors, and an incredibly easy to use interface that actually helps teach you the game. Jo-go is available to buy on-line now for $19.95.

Web Site: http://www.jo-go.com

Advanced Animation plugin for Dark Basic Pro

DBP Advanced Animation plugin (AA) supports all of the modern boned animation techniques. For example:

  • Loading animation sequences separately from model.
  • AA can perform animation blending. This means that you can execute multiple animations at the same time and AA will blend them together smoothly.
  • With AA you can make smooth transition from one animation to another.
  • With a little work, you can fully manipulate the individual parts of your characters.

This is useful when you want to create truly dynamic motion at runtime without the aid of predefined animations. For instance, if you wanted your character's head to turn as a car goes past him, you could control the heads rotation directly to keep facing the moving car. Over 84 new powerful commands! Simple for understand and coding! Features:

  • Load unlimited animation sequences
  • Unlimited animation layers
  • Management of set of layers
  • Cut/Copy/Paste/Delete layers
  • Layers blending
  • Animation transitions
  • Play speed control
  • Direct access to bones
  • Custom keyframes
  • Milkshape export plugin
  • Advanced stringset functions
  • Set of additional functions

Download a free demo or buy the full plugin for only $5.99 from the web site.

Web Site: http://www.accode.com/dbp.htm

Slayer: Battle Tanks II

Slayer

We featured the original game last issue in a games round-up, well the author Rhett Lowder is back and at it again with Slayer: Battle Tanks II, a full 3D sequel to the original title. Created with DarkBASIC Classic you can challenge your friends against a variety of tanks (21 to be exact) and battle your way through 4 arenas, as well as game scenarios. You can play in arenas such as Abandoned Island, Fort McDonald, Castle and City Streets. Game styles include Capture the Flag, Shoot-out, King of the Hill, Single Player Challenges and Goaltender.

You can play with a joystick or two players on keyboard and mouse. If you were to play one different game (with differing combinations of tanks, arenas, scenarios, etc) per day, then you could play a game for over 154 years! Grab the free download and give it a blast.

Web Site: http://www.slayerbattletanks2.tk

Sprite Collision Tutorial

Some time ago Andy Igoe of Banshee Studios wrote a complete tutorial for DarkBASIC Professional about how to handle pixel perfect collision detection with sprites. Originally charged-for, the tutorial has been released free of charge and is now a free download. The main difference with this tutorial is that the code still works perfectly even when sprites are rotated. Visit the Banshee web site for lots of fine game downloads including DBPro and Blitz created titles.

Tutorial Download: banshee_collision.zip (30KB)

SnowDOOM

ESC

Who says games developers never leave their coding dens?! On September 3rd both Lee Bamber and Rick Vanner of The Game Creators, along with 30 other staff from Focus Multimedia, walked up mount Snowdon in North Wales for charity. Snowdon is the highest mountain in England and Wales, rising 1085m (3560 ft) tall, also known by its local Welsh Language name Yr Wyddfa (The Tomb). The event was sponsored with all proceeds going to the Entertainment Software Charity, an organisation devoted to help disadvantaged young people realise their potential by providing training, education and support of youth charities. In total over £6000 was raised and as part of their sponsorship agreement both Rick and Lee acted out a "Live" scene from FPS Creator at the summit of the mountain! If you feel your sanity can take it, we've uploaded a video of this event. Grab the video from the link below.

Video: snowdon.wmv (640 KB WMV format)

DarkBASIC Enhanced Audio Plugin

Torrey has released and extremely powerful DLL for DBPro that includes playing Ogg Vorbis, MP3, FLAC, WAV (uncompressed), AIFF, MOD, S3M, XM, and IT files. Extra features include the use of 3D world Trigger Zones with audio that you load into your game. You can load, play and loop audio, set the volume, the panning, the pitch shift, return the audio length and position (as well as being able to set the position), alter the playback device and create trigger zones. All in all, this is a superb free package for anyone looking to use the above audio formats in DBPro. It even comes with a fully automated installer, so there's really no excuse not to use it!

We've mirrored the downloads here (709 KB) and here (194 KB) (this version for those that can't get the installer working). But check out the Forum Thread below for the latest news and details, and post your comments.

Visit the Audio DLL Forum Thread

FPS Creator Forest Pack

Expand a field of your vision! Do not limit itself to walls! Go to open space! Go to the forest. The FPS Creator Forest Pack includes 32 objects (ground, various herbs, stones, trees). Also seasons (autumn, winter, summer) are submitted.

FPSC Forest Pack

You can purchase the Forest Pack online for only $3.99 from the AC-Code web site.

Web Site: http://www.accode.com/fpsc.htm

DBPro Tutorial - Design and Deliver by Steve Vink

This month's tutorial is all about thinking like a programmer, rather than thinking like a games player. The difference between how a game plays and how a game works is the secret to opening up a world of opportunity, and involves a degree of lateral thinking. Some would say my mind is in need of a serious psychological makeover, I prefer to think I'm creative.

Last month, we took a step into the world of memblocks, and manipulating the display to produce some nice transitions. Using the knowledge we already have, we'll take this a step further, and create screen transitions that are limited only by your imagination! This tutorial is not just about the code, but also the design. We are looking at concepts such as preprocessing, compromise, optimisation, advanced memblock manipulation and graphical effects. We cannot achieve the special effects without finding a fast way to process the data, and this design process is what we will be concentrating on.

The code you will see and test is a more advanced form of last month's code. All of the basic commands are the same, but we will be putting them to better use, in a more complicated program.

The Theory

Wipe

The functionality to be created will generate a transition from one screen to another, using a mask. The mask is greyscale, and represents the order in which the pixels will be swapped from one image to the next. Black pixels will be affected first, sweeping through to the white pixels. If we want to create a diagonal wipe from top left to bottom left, the mask image would look like the illustration opposite.

The 3 components of this function are the screen image, the new image and the mask. The mask contains 255 levels of grey. So we must take 255 snapshots of the new image, as dictated by the mask, and overlay them one by one. To put this in perspective, 255 frames in a movie or TV program equates to around 10 seconds. Once finished, our Dark Basic Professional code will achieve the transition as quickly as half a second if we so desire. Quite a task, and if you want to see how it's done, read on and be amazed at just how powerful Dark Basic Professional is!

Interpreting the mask

The mask is a simple image, and can be created in any graphics program, and saved as a 32 bit image. Once converted to a memblock, it will follow the same structure we investigated last month. That is, 3 double words to describe the width, height and depth. The rest of the data is then 4 bytes per pixel; blue, green, red and the alpha channel respectively. We will use the red channel to extract the greyscale information, as this is the accepted standard; the remaining data is irrelevant. In a greyscale image, all colour channels have the same value. The framework of the code to read the mask will look like this:

for m = 0 to 479999 
if memblock byte(maskMemblock, (m*4) + 14) = n
	pixel = m
	pixelline = pixel / 800
	pixelcolumn = pixel - (pixelline * 800)
	screenPosition = (pixelline * pixpitch) + (pixelcolumn * (4))
	newImagePosition = (pixelline * 3200) + (pixelcolumn * (4))
	copy memory get pixels pointer() + screenposition, _
		 get memblock ptr(newImage) + newImagePosition + 12, 4
endif
next m

In this code, we are reading a memblock representing an 800 * 600 image. That is 480,000 pixels multiplied by 4 bytes per pixel, plus 12 bytes for the header information. n is the step we are working with at any given time, 0 to 255. As we analyze the full image pixel by pixel, we must step through 4 bytes at a time, add 12 bytes to bypass the header, and add 2 more bytes to get to the red channel.

Memblock Data

Refining the Approach
At the simplest level, we could do exactly as described. We could take 255 separate images of just the pixels we need for each step, and paste them one at a time. Pasting is a reasonably fast process. In the example we will create, the images are 800 pixels by 600 pixels. That equates to 480,000 pixels, multiplied by 4 bytes per pixel: 1.92 megabytes of data to represent the image. Storing 255 snapshots would require just short of 500 megabytes of memory. It's time to think outside the box, and find a suitable compromise. This approach is not feasible.

Thinking about the sequence of events, we could actually achieve this effect with just one image, not 255. We must cycle through the 255 levels irrespective, so why not do this "on the fly". We could pick out all of the black pixels, map them to the new image, pick them and transfer them to the screen. After SYNCing the result, move on to the pixels with a value of 1 and repeat the whole process. This eliminates the need for multiple copies of the image.

Example 1: Working On-the-fly

Example 1 shows this effect working "on-the-fly", just as we have described. Review and run the code, and you will see a good representation of the effects we are trying to achieve. The images follow the diagonal mask supplied. The first observation is the speed. My 3 GHz computer averaged 30 to 50 frames a second. To use the full range of 255 levels would take 5 to 8 seconds to complete. It's good, but not that good. We need to think again.

We can assume from this test that 5 seconds is required to process the mask. We can, however, hide those 5 seconds elsewhere by preprocessing the effect. This is normal, and you encounter it every time you play a game. Loading screens, level information and title screens all hide the preprocessing required to run the game. We need to find a way to make an efficient screen transition, running much faster than our current solution, and far more practical than saving 255 screen images.

Right now, our screen data is organised by row and column. We have no idea which pixels are to be processed first, which are to be processed last, not to mention all of the steps in between. The solution to our problem lies in this last statement. What we need is a chronological view of the data. Once the pixels are ordered by time rather than position, we can process them sequentially, and only process the ones involved in the current cycle.

Chronological Processing

So how can this approach be implemented? As with the previous attempts, there is always a trade-off of resources; a compromise. We will require a second copy of the image, in a memblock, with the data arranged in chronological order. We will need to store the pixel number as double words, which means that the new memblock will be the same size as the image itself, minus the 12 header bytes. We also need a structure which records the break between each of the steps of the transition, as we cannot record this in the chronological data. We can do this using a small array of 255 elements. If, for example, there are 3,000 black pixels in our mask, we will record these 3,000 locations in our new memblock, and write the value 3,000 to the first element of our array, instructing our program to SYNC after 3,000 pixel replacements. We will then continue with pixels in the mask of a value of 1, adding them sequentially to the memblock and recording the quantity in element 2 of the array.

Our compromise has allowed us to optimise our data. In the second example project, the function has been divided into 2. The first function loads the mask, converts it to a memblock, and then creates a second memblock with the data rearranged chronologically. An array is created and the quantity of each pixel is recorded. The second function iterates through the 255 levels of the mask. It reads the quantity array, replaces the specified number of pixels by reading the mask memblock sequentially, and SYNCs the display. It then reads the next level of mask data and so forth.

Has the additional effort been worthwhile? You will notice that the second example has had the frame rate clamped, whereas the first was allowed to run as fast as possible. On my computer, the effect ran at a staggering 550 frames per second! That is more than a tenfold speed increase. This allows me to create the effect I want at the speed I want. The effects are akin to transitions you might see in a film, but in real-time. You can also see that I have been far more creative with the mask, to give a better idea of what can be done.

Alternative Solutions

The final solution to this fine-tuned code was not the only one considered. To highlight how "brainstorming" a problem can produce many solutions, here are a couple of other possibilities, and the reason why they were rejected.

  • Halving the number of transition steps to 128. This would half the workload when creating the mask. There would be a slight increase in each step, having to look for pairs of values in the mask, rather than just a single step value. In my personal opinion, 128 steps is not as smooth a transition as I would like, and results in loss of smoothness in the effect.
  • Halving the Mask size. Essentially, reducing the height and width of the mask reduces the data size to just 25% of the original. This is certainly a huge reduction in workload, slightly offset by the fact that each pixel must represent 4 replacements in the screen image. Again, I decided against this because the net effect would be a more blocky transition, with "pixelation" of the display.

When considering the above options, another important point comes to light, regarding the optimisation of the code. In a loop, you can maximise performance by reducing the code to a bare minimum. To add 1 line of code in order to half the inner loop of 480,000 iterations, we are asking the computer to carry out 240,000 additional lines of code. If we add 1 line of code to the outer loop of 255 iterations in order to facilitate more efficient code, we are only adding an additional workload of 128 lines of code in order to improve our performance; just 0.05% when compared to modifying the inner loop! Had we chosen either of these two alternatives, this is another factor that would need consideration.

The net effect of each of these solutions, including the one we chose, is identical, but the performance and quality of each one varies enormously. I hope this has given a rewarding insight into thinking laterally to improve your code. I also hope you can get creative with masks and create some unique and interesting effects. You could create a mask using text, your signature or silhouetted objects. How about a couple of characters in pure black, and a lighter, more varied background?

Transitions Competition

In conjunction with this tutorial The Game Creators are offering-up two prizes for the two best-looking transitions created. Check out the Forum Thread about it and get greyscaling!

Until next time, Happy coding!
Steve Vink

Download the tutorial + resources: DBPro_Tutorial_Memblocks_2.zip (477 KB)

TGC IRC Chat Session

On the 26th of September (that's the Monday coming folks) The Game Creators team will be gathering on irc.devhat.net in channel #darkbasic for a Q & A session. Post your questions to the team. The session starts at 9pm GMT promptly (not sure what time that is in your country? Then look it up here). Lee, Rick, Mike and Rich will be attending. Go to the follow Forum Thread if you need help obtaining and configuring an IRC client.

IRC Chat Thread: http://forum.thegamecreators.com/?m=forum_view&t=61135&b=2

Massive Media

We've featured his work a number of times in this newsletter and this month sees a welcome return as geecee3 (aka Grant Clark) hits back with no less than a whooping 500 seamless tiles and 15 seamless landscapes, all sorted into packs for easy downloading. All tiles in PNG format, most are 256x256 pixels. More amazingly they are all hand-drawn (no "generator" program in sight, this is pure Corel Photo Paint handiwork, people). Grab them from the site below and leave your feedback in the forum thread.

You'll find all graphics here at http://members.thegamecreators.com/geecee3/
Tronic Tiles
Puzz Tiles 1
Mix Match Tiles
Circles Mix Match
Circles Mix Match 2
Repeating Tiles
Repeating Tiles 2
Seamless Landscapes

Now his pixel finger has had such a work-out, perhaps Grant will get back onto his secret project ;)

NEWS FLASH: Literally just as we were going to press (that's "pressing the Send key") Grant announced that he has released the full source code to his game Nanopod. Associated Forum thread is here.

Leave your feedback: In the Massive Media forum thread

The Digger and the Knights of Evil by Jarl Larsson

The premise of this game is that you are "The Digger" (a rat-like creature) and the evil Knights came along, stole all of your crystals, scattered them across the lands and threw you into the sea! (nice guys huh?) To get your crystals back again you roam the 3D landscape split over 6 levels and dig away.

The Digger

You'd be forgiven for thinking this might be a DigDug clone, but beyond the "trap the enemies in the hole" similarity that's where it ends. Created with DarkBASIC Classic, the levels mapped with Magic World, there are fitting MIDI tunes that play on each level. The sound effects too are gentle and fit in well with the on-screen antics.

I have to confess that I really liked this game! Ok so it's quite simple and the graphics aren't going to have the likes of Valve or ID loosing any sleep at night, but there is a beautiful charm to this game that I honestly feel is rare. There's no fighting so to speak; no guns, no noisy violent explosions. Just well thought out levels that deform smoothly the more you dig, a simple premise and some really nice touches. I managed to find a shop that transported me to Level 2 (for 10 of my hard dug crystals!), then on Level 2 I found a treasure chest sunken into the sea which revealed a large payload of crystals, with which I was able to buy a digger upgrade that allowed me to chop through trees and into the land even faster.

The 3D Models may not be stunning, but they do the job well and are humoursly animated. Nice touches such as the rats diggers spinning like propellers when he's swimming are just great! Add to that the bubbles rising up, the dirt flung around the place, the good range of foliage, crystal colours and effects, and you get a positively child-friendly and adorable little game.

There are some areas it could be improved - the camera angle for instance can take a while to catch up with the player, and sometimes a crystal will appear in a location where you simply cannot dig it out (so just carry on walking and ignore it!). The collision detection could also do with some fine-tuning, but I'm sure these are all things Jarl will address in his future games. Considering he is only 15 years old this is a real achievement, and one to be proud of. Plenty of thought and attention to detail has gone into this game, and that's something you see precious little of these days, and I for one salute it.

Due to Bandwidth issues we've mirrored the game here (5MB). But if you can, visit the web site below too.

Web Site: http://www.everlord.inc.se

Retro Look-Back

CVG

The games industry is ever changing, with new cinematic quality games hitting the shelves each day in the form of titles such as the incredible Fahrenheit or the forth-coming FEAR. But let's take a trip back to 1987 and check out which games were king of the roost 18 years ago. The difference being is we'll look at them from a re-development point of view.

Pirates of the Barbary Coast (Cascade)

The infamous Bloodthroat the Pirate has kidnapped your daughter and is demanding 50,000 pieces of gold ransom for her. You'll have to decide whether to pay or blast him out of the sea when you get to his island at the end of the game, but first you've got to raise the ransom by trade or more risky ventures. First stop, the Barbary Coast.

The game is a combination of strategy, commerce and action sequences in which you must fire cannon balls at the other ships. Controlled via multiple choice menus, you sail from port to port, attacking and trading at will. I think this game concept would work well today. If you dropped the menu system, beefed-up the action, and made the trading a little easier then you'd have a fine game. Especially as Pirates and high-seas hijinx are an almost timeless concepts.


Re-Bounder (Gremlin Graphics)

Bounder finds himself in the Overlord's fortress, which is heavily defended by all sorts of aliens, bubbling lava pits, slime-jelly, and other horrible hazards. Your job is to steer Bounder over, around and along the familiar suspended platforms and hazards to reach the Overlord in time for the final showdown.

This game is played from an over-head perspective. Bounder is a tennis ball who bounces down into the levels and up again, so you have to control his rebounding, avoiding spikes/traps, etc. Everything scrolls vertically. Would it work today? Well some developers think so because the DarkBASIC game GoJoe Pogo is virtually based on this! All it does differently is not force you up the screen as it scrolls.


Traxxion (CRL)

You find yourself rumbling around in a tank on tracks, within a giant nuclear reactor which is about to go critical. You must find your way to the exit before the reactor melts down. To escape you must negotiate crossroads, sliding platforms, points, and many other hazards. To change the points you must shoot the flashing controller next to them. You can also reverse the direction you are traveling by using one of a limited supply of power-ups. Running off the points or crossroads is fatal.

This game concept is hot for development in a modern environment. Your tank is stuck on a constantly moving railway and in the original you could only shoot infront of you, but a new version could change that to blast around the tank entirely - shooting out control points can move you onto other tracks, hitting the fuel rods could save you from destruction. It could ultimately all be very fast and good fun - true arcade gameplay.

Leave your feedback: In our forum

From the Forums

Life on the new forum server is running smoothly. The new hardware is taking the strain admirably, especially as creep towards 630,000 posts! Here are some of the current hot topics:

Invaders
Ok so "Invaders" as a thread title probably won't grab your attention. But take one look at the screen shots and that's sure to change! Utterly beautiful explosions and frantic action. Hassle this developer until he releases a demo :) [ Read the Thread ]

Weekend Coding Competition
Got nothing to do this weekend? Then why not spend it coding! The #coding room IRC channel are running a little mini weekend coding contest. [ Read the Thread ]

US DB Convention
Fancy meeting up with some fellow DBers? Just happen to live State-side? This forum thread may interest you then. [ Read the Thread ]

EZ Serv is FREE
Gosh I love that magical word "free", don't you?! Anyway we've reported on EZ Serv several times in past issues of the newsletter. It's a cool server/networking app for multiplayer DBPro games. It used to cost $$$, now it doesn't! Grab it while you can. [ Read the Thread ]

EZ Serv Plugin Client
If you've grabbed the new updated and free version of EZ Serv, then you may want to get this new DBPro plugin client too. [ Read the Thread ]

X to DBO Converter
Guido from vues3d.com has released his X to DBO conversion program. This works perfectly with DBPro 5.8, handles multi-texturing, lightmaps and even batch converts a whole folder full. If you like it, leave a positive comment in the thread. [ Read the Thread ]

You can find our forums at: http://forum.thegamecreators.com

20-Liner - Cave Flyer by Joe Cooning

Cave Flyer

Navigate your starship throughout progressively more difficult cave levels towards the goal in a platformer-type environment. Crash into the cave walls and you don't lose health, you die instantly! Although it could do with some more challenges, this is a fun 20-liner to play through once or twice. The author of this 20-Liner has won any of the DB Pro expansion packs, just email us to claim your prize.

Download the 20-Line code from: http://forum.thegamecreators.com/?m=forum_view&t=59786&b=11

This months winner

Each month we award one lucky subscriber a free copy of DarkBASIC Professional or FPS Creator. The winner this month is: bearlm1@???????.com
Just email us with your address details and tell us which piece of software you'd like.

Outro

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, URL's and zip files). The deadline for Issue 34 is October 20th.

Famous Sci-Fi Debates: "What would happen in a battle between an Enterprise security team, who always get killed soon after appearing, and a squad of Imperial Stormtroopers, who can't hit the broad side of a barn?"
(C) Copyright The Game Creators Limited 2005