Welcome — The front cover of the newsletter this month is a screen shot taken from the game Kalimee. This game was started in May 2004, and Guido (the developer) has been working on it tirelessly for over 2 and a half years. I don't know about you, but I am really impressed by this dedication. So often I see things 'given up' that have hardly any effort put into them in the first place, but this guy has finally finished his Myst styled puzzle game, and it looks great. Pay the man some respect and check out the review this issue.
On the TGC front we've got a couple of updates ourselves. eXtends for DBPro was upgraded to version 1.2, DBPro itself was taken to 6.2c, FPS Creator is now at 1.0.3 and we've seen the release of both the Hands On DBPro book (Volume 2) and the Styx plugin. Not too bad for what is traditionally a very quiet month for us. Another item worthy of note this issue is Steve Vink's 'Space Invaders' tutorial. A 3 part series which covers the writing of a complete 3D shoot-em-up from start to finish. Part 2 comes next month, with the concluding part in the Christmas 2006 issue.
Wait, did I just say Christmas? Yes, I'm afraid so. You have probably seen it already where you live, the shops are gearing up and getting ready for the festive retail war they depend on so much, with perhaps a small diversion for Halloween and Bonfire Night (in the UK at least), but we too are making our Christmas plans and hope to be launching a special treat for you all this year, with plenty of great prize and freebies during the month of December - keep your eyes peeled :)
Don't forget you can read this newsletter online, which is a much nicer experience if you are stuck within a web mail client. See you next month for issue 46.
Cheers — Rich
(1) Hands On DarkBASIC Pro Vol. 2 (2) Dark Shader Preview (3) Physics Compo (4) FPS Creator News: Be Careful, Animated Sprite Pack, Update 1.0.3 and Fall of the Fireflies (5) Styx and DBPro 6.2c (6) eXtends 1.2 and TreeMagik G2 (7) Kalimée (8) WORLD (9) DBPro Mastery: Invaders Part 1 (10) From the Forums (11) Lee's Tip of the Month (12) Bezerk 3D (13) Medieval Village (14) Gopher Packing (15) DBPro Tips: Cameras do Scrollers (16) The Winner (17) Outro
This is Volume 2 in the acclaimed 'Hands On DarkBASIC Professional' series. Volume 1 concentrated on the fundamentals of software construction and all of the core and 2D facets of DarkBASIC Professional. Volume 2 takes it to the next stage offering an in-depth look at all of the 3D related command sets. Everything from 3D terminology and navigation, to Camera work, Lighting, Meshes and Limbs, Texturing, Collision and more.
The hands-on approach used throughout the book means that most of your time is spent at the computer creating programs. The numerous examples and exercises (with solutions included) lead you through both the basics and subtleties of the language. There are several complete games for you to study and modify. The subjects this book covers are:
3D Concepts and Terminology — 3D Primitives — Texturing — Cameras — Lighting — Meshes and Limbs — Importing 3D Objects — Screen Control — Solitaire — Advanced Lighting and Texturing — Collisions — Particles — The Elevators Game — Handling BSP Models — Creating Terrain — Using Matrices — Manipulating Vertices — Accessing Memory — Open Dynamics Engine — Vectors and Matrices — Shaders — Network Programming — Using File Transfer Protocol — Dynamic Link Libraries
You can download a PDF file containing the complete Table of Contents from this volume. Please note that the page numbers start from 744 (and the chapters from Chapter 30) because this is Volume 2 of a 2 volume set. You can also download a PDF file containing 3 sample pages from Volume 2.
As with its predecessor this book is truly massive in both scope and in size. There are over 720 large-format pages (the book measures 11.5" x 8") and everything is explained through clear explanations, example code, notes, screen shots and illustrations.
Order Volume 2 from: http://www.thegamecreators.com/?m=view_product&id=2000&page=Hands
For years the world of pixel and vertex shaders have only ever been accessible by the cream of the development community. The ever evolving shader languages are as complex as machine code and require an extensive knowledge of how graphics are handled by your PCs graphics card.
The Game Creators are developing a tool that takes away all the pain of shader creation. Now anyone can create shader effects with a simple, yet powerful user interface.
Called DarkSHADER it allows you to utilize the power of shaders to enhance the look of your objects without requiring you to have detailed knowledge about how shaders work. DarkShader will come with a number of shaders which you can apply to your own models. Each shader has a set of parameters which you can modify with sliders, colour pickers, and text entry. It also includes a preview window so you can view the changes applied to your model in real-time, as they would appear in DarkBASIC Professional. You can then export your modified shader, including selected textures, to an .fx file that can be loaded in DarkBasic Professional using the "Load Effect" command, and applied to any object of your choice using the "Set Object Effect" command.
For those that want to create their own shaders, DarkSHADER provides a syntax highlighted editor where you can edit the shaders provided or construct a new shader from scratch. It includes a compiler that checks your shader for errors and, if found, highlights the line where the error occurred, removing a lot of the guess work associated with debugging shaders. You can then apply the new shader to a model and select textures within DarkSHADER or save the shader directly to an .fx file for your own use.
DarkSHADER is also set to include an interface to construct a shader by dragging and connecting sections of code into a tree structure that will allow you to construct a shader without having to know the code behind a shader.
DarkSHADER is currently in active development and we are looking for a pre-Christmas release date. Stay subscribed to the newsletter as you'll read about it here first!
Although we're into the final stretch for this competition - it's still not too late to enter. You still have plenty of time to create and submit your game by the deadline, and with such great prizes on offer you would be mad not to at least try!
We're running one competition split into two parts. The object is to create a game (or game demo) that uses Dark Physics and the PhysX processor to the max. Don't worry if you don't own a PhysX card yet as you can enter into either the 'Hardware' or 'Software' categories of this competition. Each competition will be judged separately and it is up to you which one you enter your game into.
So what qualifies? Virtually anything! There are no limits. You can write a full game, a single game level, or just a physics gaming showcase. If you prefer you could create an interactive simulation of some kind, i.e. a "puzzle game that plays with physics". We are setting no limits on the game genre this time around, you are free to go with whatever your imagination conjures up. It is important to note that you do not need to worry specifically about creating an entire game that runs from start to end. You could create just one single playable level, and as long as that level rocks our physics world it will stand just as good a chance of winning as a complete full game. Please bear this carefully in mind!
So get coding! We have published a complete list of rules and all the small print on our web site at http://www.thegamecreators.com/?m=view_product&id=2025. If you've got a Dark Physics related question, or get stuck when coding, then do ask in the forum and we'll help as best we can - we want to facilitate as many contributions as possible, and we understand that physics coding will be new to a lot of you.
If you don't own Dark Physics (or a PhysX card) then you can download a special trial version of DarkBASIC Professional 6.2 + Dark Physics from the Dark Physics web site. This version will expire at the end of November, but that is more than enough time for you to enter either competition. If you already own Dark Physics and would like to get a discounted PhysX card then check out this special promo offer now.
There is a thriving community of digital artists that has sprung up around FPS Creator. We've seen some great un-official model packs, texture resources and scripts released for relatively small amounts of money. However this in itself presents a bit of a problem - as it only takes someone 10 minutes to set-up a web site capable of taking payments via PayPal, how do you know that you are (a) going to receive what you've paid for, and (b) that the item is even legal in the first place?
For example we received multiple complaints from customers who have purchased items from the 'AC Code' web site (www.accode.com). The site in question actually looks the part, right? Nicely designed, easy to use - which leads you to think the products will be too. Except we've read reports that some of the models on sale aren't even created by Accode and some of the products are falsely advertised. More worrying however is that apparently some people have bought items and never received them. Now obviously we cannot validate any of these claims - we put our disclaimer in every issue, telling you to be careful when buying on-line, but still people get trapped. Here is how to avoid it:
(1) If you buy via PayPal and never receive the goods, file a complaint using PayPals automatic service. You must do this within the first 30 days of paying. If the seller doesn't respond, they will find in your favour and attempt to refund you the money. (2) Do some research of your own first. Check our forums to see if a particular company or induvidual has a good or poor track record on there. If other people have already been stung, don't fall into the trap. Ask first, spend your money second. (3) Also, give the seller the benefit of the doubt, but only once. If they don't reply to an email after a day, don't start getting hostile - give them at least a week, it is possible they are on vacation. If then you hear nothing, file a complaint with PayPal or your credit card company, and post a warning onto our forums to let others know too. Not all sellers are bad, there are some very good and reliable ones around, so try not to jump down their throats if they don't respond to your emails within a millisecond, but equally don't let it linger. (4) If you spot models or textures for sale that are blatantly stolen (i.e. taken from a commercial game or resource) then report it on the forums. Information is power!
The FPS Creator web site was updated to include the Animated Sprite Pack. This pack adds loads of cool animated decals into FPS Creator, everything from leaping flames to electrical bolts. At just $20 the pack is a bargain and for those of you who code in DarkBASIC Professional you'll get both the FPS Creator AND DBPro versions of the pack for just one price. Check it out and see how it could enhance your games.
At the time of writing this article we have just put Release Candidate 2 of FPS Creator Update 1.0.3 onto the forums for beta testing. This update gives you a proper game load / save system, implements a number of other fixes and returns the game speed back to that of previous releases (there was a bit of a mess-up in Upgrade 1.0.1/0.2 with regards to frame rates on certain spec PCs). You can beta test 1.0.3 by downloading it from this forum thread, or watch a video of the load and save game in action.
GameFun4u wrote to tell us about their second FPS Creator Landscape Pack. We covered the first one a few issues ago, and apparently this contains even better models and textures. Here is what they had to say:
"We've listened to the input of our customers and have not only released a whole new landscape pack, but added some major improvements to it. This pack has higher resolution landscapes and matching ground segments. Not just flat segments, but segments that really make you believe you're walking outdoors. All of these landscape items are original and can be used in FPS Creator freeware, shareware or commercial as often as you like.
The Pack is ready to use, no extra work needed, all Textures, Fpe files and .X model files are included. Just install and pick the wanted items from the FPSC libraries. FPSC Landscape Pack 2 contains:
See Screen shots and get more details here: http://www.gamefun4u.nl/page15.html
We received an email telling us about this new FPSC game that is in development: "Fall of the Fireflies is a first person action adventure title set in the aftermath of a nuclear explosion in North Korea. As a member of Scarlet Hammer (a dubious Russian paramilitary outfit), you must venture into the perils of the Feung Nang region stealing abandoned nuclear technology and eliminating other mercenary units, whilst becoming more deeply embroiled in the horrors of the deserted region."
You can download videos and screen shots from the website, as well as a beta demo of the 'Derelict Monastery' level. There has obviously been a lot of effort and work put into creating this title, and the screen shots really do shine - we look forward to seeing the finished game soon.
As reported last month - STYX is a new plugin for DarkBASIC Professional. It contains over 200 new commands allowing you to integrate your DarkBASIC Professional game and applications with common Microsoft technologies - .NET, ActiveX and COM. Not only this but it also provides for extra handling of Strings, Number operations, Windows (and Window shaping), Splash screens, MIDI support, XML support, Direct Memory Access, integration of Flash movies, INI file handling and Intervals (code running on interrupts).
We have now released the full version of STYX. Those of who you pre-ordered should have your downloads already (just go to your Order History). Please note that you will require DarkBASIC Professional Upgrade 6.2c in order for this plugin to work.
STYX is on sale now for $30 from http://www.thegamecreators.com/?m=view_product&id=2079
We have released Upgrade version 6.2c for DarkBASIC Professional. Please note that you do not need to download this Upgrade unless you plan on buying, or have already bought the STYX plugin, as all it does is introduce compiler support for it.
Download 6.2c from: http://www.thegamecreators.com/?m=view_product&id=2000&page=upgrades
We have released version 1.2 of the eXtends plugin for DarkBASIC Professional. This version includes several fixes and new features. You can download the upgrade now from your Order History. Changes include:
Due to popular demand we have released TreeMagik G2 again. Back when we took over the TreeMagik range of products we gave everyone a free upgrade to the G3 version and discontinued G2. But it turns out that G2 has some features missing from G3, and that instead of being a natural successor it works out better to use both G2 and G3 alongside each other. This surprised us slightly, but we listened to your requests, and have built a brand new version of TreeMagik G2 which you can now download for free.
If you have purchased TreeMagik from us in the past (it doesn't matter which version) you can now access downloads to both the G3 and G2 releases from your Order History.
As I mentioned in the editorial this issue, Guido has been working on this game for some time now - and it's finally seen the light of day. Described as a 'surrealistic puzzle game' you are taken through a series of tasks, each slightly more complex than the first, that challenge various aspects of your being - from your patience, to your dexterity, to your mental agility. Each game section is woven together with nicely rendered full-screen FMV sequences that bring the world of Kalimee alive.
This is one game where you'd do well to follow the instructions carefully and not skip them! Your first challenge for example is to stop the four rotating boxes by clicking on them in the correct order. You can move around the 3D world using the mouse (hold both buttons to move forwards, right button to mouse-look) and you interact with the objects you find by left clicking them. As you progress the challenges vary in style. The second set of challenges for example involve watching letters, numbers and symbols drop down the screen as you frantically try to find them on your keyboard and type them in. As you complete a wave you progress up the steps until the final challenge at the top. Complete this and then it's onto the next stage.
The design of the game is Kalimees biggest asset. The FMV sequences link the levels perfectly, and you really get to explore the 3D surroundings. Even though the first level only consists of clicking spinning cubes, there is a nice water effect on the island, lots of random spinning objects surrounding you, and a nice lens-flare effect. It is this sort of attention to detail that makes Kalimee an interesting experience to play.
Will it be to everyones taste? Well, not really. Some may find the 'surreal' nature of the game too much for them, while some may not appreciate the repetitive nature of some tasks - but for those who enjoy something more cerebral, and definitely stylish, Kalimee is worth playing for sure. Now, what sequence do I need to get these damned shining balls out of the way ... ?
Download Kalimee from: http://www.vues3d.com/ke_index.htm
WORLD is a 'world builder' for DarkBASIC Professional that is currently in development. It allows you to load and place X and DBO objects, rotate, scale and position those objects in your game world. A 'clone' and 'instance' tool speeds this up, but allowing you to select objects already in the scene and replicate them across your world.
Once you have finished placing everything where you want it, you can then export the entire world ready for loading directly into DarkBASIC Professional. According to the author the next release will include light mapping support, axis guides, entity markers and a host of extras. WORLD is a free download and you can follow its progress in our forums.
WORLD forum thread: http://forum.thegamecreators.com/?m=forum_view&t=88385&b=8
This month we're going start a small series of tutorials that will see us create a complete game - Space Invaders. It's a lot more complex than Pong, but not too involved to cloud the tutorial with intricate mathematical formulas and highly advanced techniques. It also covers a lot of the concepts we've studied over the past few months, including asset management, timing and various other topics. There's no room for chit-chat, so lets get started!
I cannot over-emphasise how important designing your game is before you start. Get it right now, and the rest of the journey is far easier. Picking a game that is so familiar will help to illustrate the design process, as we know what to expect. Everyone finds their own comfortable way of fleshing out the game idea, but right now you'll have to go with mine.
Step 1 is to "brainstorm", "mindmap", or whatever the current buzzword happens to be. Here is a map of all the components we need, in no particular order of importance, but in a way that will aid us as we progress.
This map contains concepts, game components, methods, and resources. Icons help me identify the different aspects. This is far from structured, but all of the ideas are thrown onto the page for reference. It's also important to visualise the look and feel of the game too. With Space Invaders it's not difficult, but it will still help to ascertain positioning and style.
Maintainability is a very important notion, and once again it is important to get this right at the start of the programming process, not part way through. Rather than delve into the details of good programming practise, we'll dive straight in and see it in action. Functions are the perfect partner when writing making it easy to read, and easy to maintain (see Newsletter 27). Subroutines also have their place, but functions have one major advantage - they are self-contained (see Newsletter 30). Later on down the line, when things don't go to plan (an inevitable fact of programming), being able to isolate individual functions to debug will dramatically improve your ability to locate, fix and move on swiftly.
The flow of the program can be defined in functions. Let's start by thinking about the broader picture:
We have our 4 broadest areas, now let's take one of these, PlayGame(), and break it down a little further:
Again, let's break down InitialiseGame() to a third level:
And so we can proceed, taking each section, and breaking it down into it's smaller components. It's very logical, it matches the way the human mind processes information and it produces a very neat and easy-to-follow process. This top-down approach makes designing on-the-fly very easy too. As we progress, wherever there is a complex or repetitive routine, it can be added as another unit of code in the form of a function. At this point in the process, it isn't necessary to create the complete structure, the design allows us to improvise as we code. As we will see later, it is also a fantastic way to test ideas on a basic level, and build them up into fully-fledged game pieces later.
Let's take the first step in writing the code. Download the tutorial file, install and view example 1. It is our framework for the game. We will add much more as we progress. Note that the number of comments at this stage outweigh the lines of actual code. It is essential that everything is well documented for your own benefit; even the most finely tuned of minds need relieving of the mundane task of remembering, to allow the creative process to evolve unhindered.
Behind the action of any game is a mass of data; object information, scores, lives, positions, and a great deal more. When building business applications, it is the data that drives and feeds the application design. Likewise, it is important that we maintain game information in an orderly and efficient manner.
Now is the time to put the data structures into place. We will take advantage of User Defined Types (Newsletter 28) to collate associated information, such as player and opponent variables. We will use arrays to make a scalable solution (see Newsletter 29). Scalability of the data is the key to allowing a game to be easily modified. This has been discussed in a previous article, which may be worth reviewing at this point.
Once again, we could discuss the theories and concepts around data storage and manipulation ad infinitum, but instead take a look at the Stage 2 example, which now includes the data types and arrays that we initially require to build our game. We've accommodated the general operation, player, invaders, bases and everything else we see the need to monitor and control.
We still have a long way to go before there's anything visible to show for our efforts. But believe me, all of this effort will be worthwhile in the long run. What we need to do now is start the application breathing. We already know where to start, the Init() function is in our framework and that is the focus of our attention now. Let's set up the environment (Sync rate, screen size etc), and put some default data in there for the player and invaders. Putting the data in the initialisation routine makes it extremely easy to locate later when the game needs adjusting and fine-tuning. Stage 3 includes all of these components, and also a static backdrop which will be a permanent feature of the end product. Remember, the initialisation isn't necessarily finished right now, but only time will reveal what else we require.
At this stage, the program can be compiled to prove the code is syntactically correct. The logic can also be tested to a certain extent, by running the compiled program. The result should be a simple backdrop, ready to complement the game to come.
The amount of effort to date, in relation to the observable rewards are poor to say the least. But in terms of the total effort required to complete our Space Invaders tribute, the task is well under way. Our delayed gratification will be rewarded with a fast transition from very little to a fully fledged, easy to maintain game in a very short space of time. Let's recap on the steps taken so far:
What is next in the creation of our game? Visually, we need to build our player, enemies, bases and interface, our presentation to the player. Programmatically, it's time to put the logic in place that will allow a simple progression, bringing to life each part of the game one by one. We'll be using a method that provides the flexibility to test each component in turn, ensuring the development is smooth and precise at every step.
In the meantime, the complete, compiled version of the program is included in the download to give you a taste of what we will achieve in the forthcoming instalments.
The invaders return next month, until next time, Happy Coding!
Download this tutorial.
The forums have been updated slightly this month, including an enhanced search feature, a better search results page and a 'view all threads by this user' option (to access this, just visit the Profile of any forum user). There were also some small issues ironed out and a new image displayer installed. And now, here is a selection of current hot topics worth checking out ...
Coronas is a little 'collect the lights' game. You can only collect lights smaller than you, yet the more you collect, the bigger you grow. Try this fun little game!
Here klonoa has posted some nice looking screen shots, and a video, of his new shoot-em-up starZED. There is no demo yet, but given what is being shown we're hoping for one soon!
BigAdd has released his aborted pool games graphics engine. Balls with outer reflections and HDRI are yours if you download his code and experiment. The screenies look great, give it a go!
Josh (the author of 3D World Studio) has posted a paper all about CSG, explaining why it is so useful in real-time rendering simulations. It's fascinating reading, especially given the source.
As well as the CSG paper Josh has also released two videos showing how to get started in 3D World Studio. They demonstrate program useage and are great for those just starting out.
This is a C-style pre-processor for DBPro. It automatically transforms your program before compilation, and allows full macro definition. If you're a C dev, this is a welcome return home!
You stand there, your finger on a hair-line trigger, ready for a head-shot, for what seems like an eternity. You start to get impatient, you feel utterly alone. Next thing, three targets come racing past at once and you're so stunned, you miss them all. Almost like waiting for a bus!
Well guess what, you're in the grip of missing three juicy targets right now, as you are reading this. Three great competitions, with cool prizes, each bigger than the last. The FPS Creator and DarkAI compos have whizzed past and the largest of them, the DarkPHYSICS compo is making a slow-motion style dive for cover.
As an official code monkey of TGC, I cannot enter our own competitions. Pity really because I have just finished writing a game using the DarkPHYSICS demo version. It took just under an hour to write, and looks and plays quite well. I wrote it to indicate to the DarkPHYSICS forum community just how easy it is to make something with the DarkPHYSICS demo, and how quickly it can take to knock up a fun game that uses physics.
Most of my tips are high concept advice that may or may not help you produce better games. This months tip comes down to earth with a bit of advice that could net you cash, free 3D cards and loads of goodies. The DarkAI competition had a total of 'three' entries, count them, 'three'. That means everyone who entered got a prize, and they were good prizes. The DarkPHYSICS compo has HUGE prizes, and if anything, making a fun physics game is actually easier! My tip for this month is spend every second of the next 15 days writing a small, fun physics game and get it submitted. If I could enter the competition I would have written five mini-games by now :)
To see a game I wrote in 55 minutes using the DarkPHYSICS demo, check out this forum thread.
As one of the sponsors of the Retro Remakes programming competition this year we are always pleased to see games entered written in DarkBASIC or DarkBASIC Professional - and this is one such title. Created by Binary Agents (aka Neil King and Paul Dawson) it's a faithful, although modernised remake of Stern's arcade classic 'Bezerk'.
The concept doesn't take long to master - you are a humanoid trapped in a maze full of robots and electrified walls. Your goal is to move from one maze to the next, wasting as many robots as you can on the way. You can move freely around (the arcade original allowed you to move in 8 directions, quite unique for the time), and you can fire in any direction you move in - the flaw in the original was that you stop moving when firing. Linger for too long and you face being hunted down by the Evil OTO, the smiley-faced robot leader.
We've made a short video of Bezerk 3D in action, check it out here:
The game features over 64,000 rooms, some excellent music, great remade sound effects based on the originals ("Die Humanoid! Die!"), 11 robots per maze and a saved highscore table. You can download the game from our file server or the authors site: http://berzerk.binaryagents.com.
Arteria Gaming have just launched their 'Medieval Village' Theme Pack, containing ten buildings that capture the atmosphere of a rural village setting. The models are provided in both low and low-medium poly versions, in DarkBASIC Object (DBO), DirectX (.X), 3DS, OBJ and Blitz3D file formats. Some of the builds in the pack can be entered, and are provided with / without doors. They also feature transparent windows so you can see into the interiors for added realism in your games.
Two packs are available: Just the buildings on their own, or a complete set including the buildings, 5 music tracks, 3 sky cube sets and 4 trees. At $37 and $52 respectively they represent great value for money. More details and screen shots can be found here: http://www.arteria-gaming.com/villagepack.html
Gopher Packing is a new platform adventure game from Trek Software. Trek Software comprises David and Chase, a couple of teenagers who certainly have a knack for game creation, and since finding DarkBASIC they've been churning out game after game. Their web site boasts an impressive Archive of previous titles, and it's evident this duo are getting better with each release.
So what is Gopher Packing all about? It's a semi-2D platform game involving you (a gopher) tracking down your missing relatives in a packing factory. You run around the flip-screen environment, leaping from crate to crate, talking to characters you meet, avoiding deadly fans and spikes, collecting passes, opening doors, completeing mini-games and doing your best to locate your missing folks. The plot-line goes something like this:
"Your family has dissapeared into a hole. You lower yourself into the hole as well and after exploring many twisting passages, discover a door with the words "TPS" marked on it. You enter the door and find yourself in the busy, highly-secure, and technical world of a Packaging Plant using TPS packaging machines. Your goal is to make it through the building in search of your family."
"In order to keep from being kicked out of the plant, though, you must stay popular with the employees. Employees like helpful Gophers and ones that don't bother them. However, they absolutely can't stand dead rodents stinking up the place, gophers who take on missions they can't do, and ones that continually pester them with questions. Therefore, you'll need to always be on your toes or out you go."
"The factory you must explore is huge complete with Employees to talk to, doors to unlock, objects to find, mini-challenges to conquer, passwords to crack, with the single overriding goal of finding your family."
It's this combination of 'explore' and 'jump' that made the game appeal to me. Although initially a bit confusing you soon learn how far your gopher can leap, what needs to be collected, and where to go in order to progress. To get you started though - from the initial screen go left and down in order to get the door pass leading to the worker who'll give you a mini-mission.
The graphics may not having Square Enix artists loosing any sleep, but they do fit the tone of the game well. My only complaint would be that sometimes it isn't obvious you can 'collect' an item, so it would have been good if they'd had a shimmering glow around them, especially as you can walk right under the items sometimes and mistake them for scenery. Even so, this is a real 'family friendly' title. There is no gore, no real violence and no shooting - you just merrily leap your way through the tasks ahead. That isn't to say it doesn't require some good gaming skills, because avoiding those spinning fans and deadly drops takes some real gopher control. But with that it's very forgiving, and for as much as we managed to get through, very child friendly.
Gopher Packing is free to download and fun to play. The prolific Trek guys ought to be very pleased with this release, and we look forward to seeing what they can come up with next. Screen shots and downloads are available from: http://roborangers.home.comcast.net/Trek.html
Greetings fellow TGCers, welcome to another round of DBP Tricks 'n Tips. This month we will be using bits of previous tutorials to make something that looks very swish and far more complex than it actually is. We'll be using multiple render targets to capture stuff happening off screen, and use ghosting to bring it all together in the main scene. This is all done using DBP cameras that send what they see to textures we can use on other objects. The camera system in DBP is very powerfull and can be used to produce some really amazing effects and stylized graphics, It's time to get all abstract.
Take a look at the demo included in the download with this article (source included), you can see a screenshot of it above if you can't run the demo just now (you really need to see it moving though, so run the demo if possible). All the stuff you see on screen should be very familiar (sort of). The scene is very simple indeed and is composed of an outrageous 7 objects and some white fog. The cubic structure is a single object that has been loaded as a .X model and has had sphere mapping applied to make it more interesting, the objects that hold the text are the same bendy rods as we played with last month. There are also another 2 plains on screen that make the backdrop effect more complex looking by using ghosting mode 4 (multiply blending).
What you're not seeing is the scrolling message that is happening off screen and being captured by 2 cameras. The 2 additional cameras see the the scrolltext and have been rotated so one camera sees the the message the correct way up, and the other sees the scrolltext upside down. these 2 camera views are then sent to textures which are wrapped onto the bending objects in the main scene, the upside down texture allows us to use the boned object in 2 directions without messing with complex UV stuff, two of the bendy objects have to be back to front to allow us to bend them in a certain way, so instead of using additional UV data or another object, we simply reverse the direction of the texture to be used on the backwards objects.
The backrop in the hidden scene is pure white as opposed to black (which would normally be used in most ghosting situations) but we want to have negative blending on the bending objects to give us black text over a white backdrop, white becomes the transparent colour when using negative blending or ghosting modes. The font was made negative coloured in a paint application to eliminate the borders of the plains used on the scrolltext, (remember, the closer you get to white the less effect negative ghosting / blending has on your underlying objects). negative blending does not work well with white fog, so the bendy objects are set to ignore fog, and their Z depth has been disabled to prevent them being obscured by the background object.
The colour effect you can see in the demo is really simple to produce, the underlying object (cubic thing) has a slight hint of blue added by setting the RGB value of the object within DBP, it also has a sphere mapping image applied to it to create variation in the colours and add more depth as the object rotates. There are also 2 plains placed in front of the background cubic object and behind the bending objects, these plains also have the scrolling message texture applied to them and use multiply belnding.
Multiply blending is a very unusual blending mode in that it adds contrast to an image. The 2 plains are of different sizes and give the impression of parallax scrolling as the bigger plain appears to have a faster texture than the smaller (both move at identical speeds, only the size is different.) Where the dark text would appear on a negative blended object as black, the multiply blending uses the black parts of the scrolltext to add contrast and colour strength, this is a very powerfull and underused graphical feature of DBP that really needs more experimentation to fully realize its potential.
As you can see from the running demo and looking at the source, this really is simple but graphically very powerfull stuff, combining blending modes and using white as a backdrop colour can be very effective in producing sylized game environments or graphical displays that have a fair amount of impact from not a great deal of work.
The key ingredients in making such a display is to experiment with the various blending modes at your disposal. Disabeling the object Zwrite and backface culling can produce even more interesting effects, you'll allways have a rough idea of what the display should look like, but the way the blending is handled internally by DBP ocasionally throws up some odd surprises that are way beyond what you thought was possible using standard DBP ghosting without the use of any .FX based shaders. I'll leave you to play with the source now and have a bit of fun, try changing the ghosting modes and Zwrite flags on the objects in the demo and see what you can come up with. If it's really nice, post it on the forum for us all to learn from and wow at, till next month cheerio and take care.
Download the source and EXE package
Each month we pluck a random email address of one lucky subscriber from the list, and award them with a free copy of DarkBASIC Professional. To claim it all you have to do is send us an email from the winning email address. The winner this month is: shadowsgalaxy_????@yahoo.??.
If you have something you'd like featured in a future issue then please get in touch and include as much information as possible (including where applicable: screen shots, URLs and zip files).
Issue 46 deadline - October 29th.