DarkBASIC Newsletter Issue 6

DarkBASIC Newsletter Issue 6 cover - click me for a high resolution version

1 Dark Basic for Schools Offer
2 Matrix Demo
3 Cartography Shop Free with DBPro
4 Cartography Shop 3
5 Ask Dr. DB
6 GoJoe PoGo Released
7 Raven II
8 Edens Creator Pro
9 Interview with Magnus Esko
10 Showcase Games
11 This Issues DBPro Winner
12 20 Line Winner
13 Next Issue


I know this is such a common phrase - but isn't it amazing just how quickly time flies?! This is the sixth issue of the newsletter and signifies that we're all halfway through yet another year. On the 21st of June it will be the "longest day of the year" and from that point on we're just getting darker and gloomier again as we head into Autumn and Winter. Not that there aren't weeks of glorious sunshine left, but it's still a sobering thought that soon 2004 will be upon us. Last month I talked about work on the new DarkBASIC web site - this work is ongoing and very much my sole focus at the moment. It's a massive undertaking but all of our sites will be so much the better for it. Although we have a provisional launch date set it would be foolish of me to state it so publically :) But I can assure you that next issue you'll be seeing some exclusive peeks inside the new site. But for now read on - we've got some brilliant articles and news this issue so don't delay, scroll away...
Our FREE DarkBASIC Offer For All Schools, Colleges and Universities Worldwide
Learning to program is fun and free with this unique education offer. Taking your first steps in computer programming can be intimidating but thousands of IT teachers are now being offered a unique way to motivate their pupils – and it's completely free!

The innovative solution comes from UK company Dark Basic Software Ltd and centres on its revolutionary programming language DarkBASIC which gives even inexperienced programmers the power to create computer games of a commercial standard.

From schools and colleges to universities and adult learning centres, any educational body can receive 10 free DarkBASIC licences worth $400. All they need to do is log onto the DarkBASIC offer page at //www.thegamecreators.com/, fill in a registration form and upload an image of their letterhead.

Matrix Demo
Long standing DarkBASIC programmer Kes James produced this rather cool Matrix style "drop-down" letters effect and we've got it here for you readers to download exclusively including the full source code. Kes writes: "Through developing a number of Dark Basic projects large and small I have learnt about most issues of the Dark Basic language. However, blurring bitmaps was not one of them. This demo was a challenge for making the blurring of letters effective, and for the handling of a large number of images (360+) pasted in a large number of positions (40x30 = 1200) on a 800x600 resolution screen to run at a reasonable speed. The approach is to break the 800x600 screen into 40 columns and 30 rows of cells. Each cell is 20 x 20 pixels and holds one letter or its blurred version."

You can read more about the effect and download the demo here (580k ZIP file).

Matrix DB Demo
Cartography Shop FREE with DarkBASIC Professional Orders
From now (20th June) until the end of July we're giving away a free copy of the world building package Cartography Shop with every order of DarkBASIC Professional*. You need do nothing - you will be sent the item free of charge via email as soon as your order is placed.

You can find out more about Cartography Shop here.

* This offer applies to single purchases of DarkBASIC Professional only. The price of bundle packs that currently include Cartography Shop will not change.

Cartography Shop 3 Draws Near
Cartography Shop 3 is in the final stages of development. The latest feature added is Unreal II and UT2003-like "static meshes". These are high-detail models that can be positioned, scaled, rotated, and skewed, just like simpler objects, but can be used to add a large amount of detail to your level in a very short time. Cartography Shop 3 will come with a library of these detail objects, and will include a converter to load your own 3D models into the editor. There's no doubt that the creations we will see with Cartography Shop 3 will rival the high-poly worlds found in the newest game titles.

Leadwerks Software and DarkBASIC are working together to ensure full compatibility of Cartography Shop with DarkBASIC Professional and future DBS products. A single-step export will allow you to load Cartography Shop maps into DarkBASIC Professional and the maps will be fully compatible with upcoming DBS titles.

Cartography Shop 3
Ask Dr. DB
Last month we asked if there were any questions you'd like to pose directly to the DarkBASIC Development Team of a technical nature. We had a number of good emails and selected two questions for this issue:

Making an Object appear as a Light Source
"My question is, how do you make an object appear as a light source, for making a 3D Sun in a solar system for example. I wish the whole object to glow, and have not been able to create the desired effect using point lights."

Lee Bamber replies: "The trick here is the light is placed between the object and the camera allowing the glow effect to work. When we release DarkBASIC Professional Upgrade 5 you will also be able to apply an FX effect that simply glows the object in a more visually stunning manner! In the meantime here is some code for you:"

make object sphere 1,100
set object cull 1,0
ghost object on 1
set point light 0,0,0,200
make object cube 2,100
position camera 0,0,-500
point camera 0,0,0
 position object 2,cos(r#)*400,0,sin(r#)*400 : r#=r#+0.1
Extracting Screen Coordinates of a vertex
"How do I extract the screen coordinates of a vertex, given that I know the object position, angle and rotation order, the vertex's object-space coordinates from a memblock, and the camera position, angle and fov? I'm sure it's something to do with applying various rotation and translation matrices, but I don't know what exactly. Is there an easy way to do it using the built in 3d maths commandset?"

Mike Johnson, man of few words in this instance decided instead to write a complete source code example to solve this problem. You can download the commented source code (3k ZIP file) - please note it's for DarkBASIC Professional only.

Would you like a question answered next month? If so - write to me and tell me what it is.

GoJoe PoGo Released
Dimsdale & Kreozot United Games Manufacture has just finished work on their next little gem, GoJoe PoGo, a fresh take on the fast paced 3D action game along the lines of old classics like PACMAN and Q-Bit, with a little touch of our humour thrown in for good measure.

Featuring over 15 fun packed level, 6 different crazy clowns, an in-game picture Story Book, 4 different fun pumping tunes. GoJoe PoGo is great, wholesome entertainment that the whole family can enjoy any time of the day.

Interestingly GoJoe Pogo first appeared as one of the winning entries to the DarkBASIC Retro Games Competition. This version has been enhanced further with lots of new levels and challenges and is a bargain at only $14.99.

The Demo and Full game can be found at:- http://www.binary-people.com/game.php?id=23

GoJoe PoGo
The Flight of Raven - Raven II
While work is so manic here at DBS on the new website, it means we haven't had much time to put new games into the Showcase on the current DarkBASIC site. However that doesn't mean people stop producing them as this fine example from developer Ermes Design shows.

Developed with DBPRO V3.1, from March2003 to June2003. This is the sequel to Raven. A campaign to win, 10 enemies, 4 player mech, with battle going on the ground and in the air, you have wingmen, very clever enemy AI to make the game more challenging, capital ship, radio messages and much more. For combat flight simulator players, a joystick or game pad is recommended for all players. Take a look at the screen shots below and visit the web site for information and downloads.

Raven II

Ermes Design Website

Raven II
Edens Creator Pro
We received word from Frederic Cordier about his latest project - a complete overhaul of his 3D Map Editor title.

Edens Creator Pro is a new project dedicated to all DBPro developers. It will be a full world editing tool that will contain as many DBPro features as possible (such as support for shaders, particles and more). The interface was entirely rebuilt because I was inspired from 2 popular tools Cinema4D and Unreal Editor. Here are details on which features are planned:


  • Main view Window can have many settings (Simple 3D view or 4 views (3D, top, left, face))
  • Materials Window will contain a thumbail for materials to apply to objects.
  • Objects Window : will contain the objects list and small thumbail of material applied to it.
  • Action Window : Will contain small icons for command to use in editor (move/rotate/scale, etc))
  • Properties Window : In that window it will be possible to enter new values for objects (rotations, sizes, positions) Support for 3D objects :
  • Primitives (triangle, plain, boxes, cube, cone, cylinder, sphere)
  • Import (.X and .3ds, 3DMapEditor map file)
  • Export (.ecm ,.X ,export to 3DMapEditor Format)
  • Support for materials to apply to objects (like Cinema4D does and will support shaders, bump and more)
  • Support for 3D sounds and particles, they will be displayed like UnrealED does (small icon in the 3D world)
  • Action zones (like 3DMapEditor does, but with more zones and improvements)
  • Scripted objects (small script langage for animation, collision, moves)

    We hope to have some pictures of this program next issue.

  • An Interview with Magnus Esko
    We haven't had an interview in the newsletter for a few issues, mostly because of other things that have been filling up the space - but this month I'm very happy to present this great interview with Magnus Esko, AKA DeadGlory from the forums, developer for Digital Awakening and author of the superb game The Magic Land.

    Please tell us about yourself

    My name is Magnus Esko, known a little here and there as Dead Glory. I'm a frequent visitor of the Real Game Tools forum under that name. I'm 22 and I live in Sweden. Studied technology at the gymnasium (swedish senior high school) and then 2 years media at the university collage. Sometimes I wish I remembered more math, trigonometry for example is pretty handy in games sometimes. I'm currently doing my best to get my own game development company running, Digital Awakening. The name is registered but not the company itself. I have taken some company management classes and those I have talked with are very positive about my company.

    What first got you interested in gaming and creating computer games?

    The first time I ever played a game was before I can remember, it was on my dad's Sharp Z80. So basically you can say I have played games all my life. I remember playing games on a friends C64 and then my dad bought me one. It was on those my interest in making games grew. When I found a game with an idea I liked but a gameplay I didn't like I wanted to change that. Many games back then were made with unnecessarily difficult controls, not that it have changed much today. The problem was that I didn't know how to make games nor did anyone I knew, sure I found some basic code in a magazine that I never got to work cause to me it was just a bunch of text and numbers as I didn't understand a word english back then.

    Since then I have played games on Spectrum ZX, Amiga 500, NES, Sega Master System, SNES, Mega Drive, PC (386 and up), Mac (Prefoma 630 and Power Macs), N64, DreamCast, PS, PS2 and Game Cube. Some where mine but most belonged to others. I didn't seriously started to try and make games until I got in contact with Macromedia Director 4.0 (1993 I think), a 2D multimedia application with a scripting language (it got 3D now). Before that I never figured out how to make games cause I didn't know where to start or what I needed. Director offered everything needed however it was very limited in how it read the keyboard. It worked the way you write text, first one letter then it repeats quickly. I so wanted to make a platform game but it wasn't possible, at least not with the same quality.

    I started working on a graphical adventure as I loved that kind of games (Monkey Island etc) and they are mouse controled. I actually managed to get my little character to walk where I clicked within an area I had specified as walk able and I was very happy. It was hard making the art for the game, pixel animations etc, as I have never been a good artist. I don't know when exactly I changed game plans. I got my first own PC at the gymnasium, a 486 laptop. Everybody got to borrow these as our own. I think that's something other schools should do. Anyway, I got interested in 3D and decided to use 3D renders for my game. Somewhere during that year I got interested in RPGs and had this idea about a really advanced RPG system so I scrapped the adventure game.

    The first prototype was a bunch of black numbers on a white screen that only I understood. But it actually was 2 heroes fighting 4 enemies with life and power and different characteristics like strength, agility, constitution etc. That was one of the best times in my life, I could code for hours and hours watching this all come to life. A made a battlefield, woking AI, 3D animations different attacks etc. It was extremely advanced comparing to any RPG I have ever seen. TML is actually based on the same core idea but is developed in a different more simplified direction, more similar to the first RPG idea I had. But school took most of my time and energy so it never became more then a playable prototype.

    Which games had the most influence on your computing life?

    Kind of funny but I have never really been amazed by the development of games since I first started playing. Since I was born there have been a steady change first from bad 2D to good 2D and then over to bad 3D and now we got good 3D. When I saw Wolfenstine 3D for example I wasn't amazed, it was a new way of playing games but it didn't stand out that much. There's only one time I have been truly amazed though and that was when I first saw Halo. It was very different in terms of visual quality with great detail making it look very alive and believable. I'm still waiting for the PC version so I haven't played it.

    Other great games that have inspired me over the years is Zelda 64 and Soul Reaver for amazing composition, storytelling, gamedesign and interesting gameplay (sadly the same cannot be said about SR2). System Shock 2 and Half Life for amazing fealing, detail, storytelling and gameplay. Crono Trigger for amazing storytelling, playable story depth and interesting gameplay. In CT you can travel to many different times giving you a complete view of the story that completely surprises you with it's twists and turns. It's a masterpiece in story telling and depth of the actual story you play. There's almost no background story that you can't go back to and see for yourself how things where created. There are some other games as well that have many good parts but overall wasn't as great as these games.

    My all time favorite game ever is Zelda 64. It was an amazing experience both in presentation and gameplay with all problems everywhere and not getting boring, lots of ppl to talk to, lots of beautiful amazing places even though the N64 isn't a powerful system. The time switching is also a lot of fun, being able to play both as a child and a young man is great. And the swordplay was nice too. No other game comes close.

    What first drew you to DarkBASIC? Did you find the language easy to pick up?

    About 2 years ago I was thinking how wonderful it would be if there was some app that could make simple 3D games. Oh, how much fun I could have with an app like that. But silly me of course there was no such app. By accident, I think, I found 3DRad that was such an app. The problem was how bulky the whole thing was, not a pure programming language but a weird mix of wysiwyg and a strict scripting system. Director is much more open in it's source like DB is.

    I found the demo of DB 1.06 on a CD that came with a game design book (Game design theory and practise, a good read). Happily surprised that it was a 3D engine with a language very similar to Lingo in Director. I quickly remade what I had done in 3DRad and was happily surprised by the easy language and how much smoother the exact same program ran in DB. I looked at what the latest version 1.09 had to offer and there it was, sliding collision. All I needed and the rest is history.

    Approx. how many projects have you started in DarkBASIC and then aborted? Will you revisit any of them?

    One. The game I started on in 3DRad. I teamed up with a friend of mine that is an amature writer working on a RPG world. I was interested in a short story he had written that took place in his world. I wanted to try making a little game based on the same part of the world. During that time I was studying hard and I didn't have much time on my had. When I proudly had made my own extremely simple landscape editor the multiplayer contest was announced and I aimed for a first place as the price was DB Pro.

    I won the contest with Cyber Control Alpha but after that I had no time nor energy to work on games for as long as I studied. Then came the A-Sock-Ellipse contest and since DBP was delayed I thought I should should make a little game for that contest, The Magic Land. I also made Player for the RGT contest. And suddenly DBP was announced to be released earlier then I expected so I changed the plans with TML to become more advanced and take use of DBP. My friend went back to studying and we talked about me building up a reputation first and then aim to make our game a full scale game. So yes, I plan to revisit it =)

    Where did the inspiration for your latest game come from?

    It's actually a mix of all RPGs and action adventures I have ever played. I have taken the strategy most common in PC RPGs and mixed it with the semi turnbased system you find in many console RPGs and then added a 3rd person camera similar to action adventures.

    The games that inspired me most are Septerra Core (PC) and Crono Trigger (SNES). You can see the similarity with my battle GUI and the one in SC. SC also got a party mana pool, I didn't like that so much but that inspired me to make party experience level instead of individual levels. And CT really screams for character movement.

    Did you work on the project on your own or in a team?

    I worked with an excellent tracker, Jan Streuff. That guy can sound like a complete orchestra. Wasn't much work for him to do. One of the tracks in TML is an old masterpiece he had already made then we have the main menu track and the battle track. We kept contact through email.

    With some easy techniques it's very possible to talk about many things at the same time in emails. Keep everything divided into paragraphs with blank rows between and then reply between the paragraphs always clean out old text that is no longer needed to keep the email easy to read. It's surprisingly how few that actually does this but it helps keeping an active dialog over email. It's very important for the game designer to be able to point out exactly what he/she means. Take music for example, when I want something changed I specify exactly where in time I mean. With art arrows, circles and text/numbers on an image is a good idea unless a smaller image showing only the interesting area is enough.

    During development did you hit any significant problems that you found work-arounds for? Things that really got you stumped but you overcame.

    Oh yes. All of them where due to Dark Basic Pro's early stage. I don't want to go through them all here cause I can't remember them all. Some I worked around some got fixed, some got added and required new workarounds. And now with patch 4 I find that I had to take back a workaround and things that I had to do differently now works the way I first wanted them to work. And some stuff I couldn't work around now works. Thanks to Lee who have been working hard fixing all those bugs. I never stoped working due to a bug and that's what's most important to do. Either do it some other way or work on another part of the game until a patch is released to fix the bug.

    The graphics and effects in your game are very good - what tips or suggestions do you have for other DB programmers? Are there any things they can do to ensure their program looks good even if they aren't naturally artistic?

    Thank you =) Well, I'm not a good artist myself but I know a few tricks. The first thing I would suggest is getting DBP as it's way more powerful then DB thus allowing you to add much more detail to your games. The style I have chosen for TML is very colorful, the colors actually makes simple things look better. If you have very bright colors and a low ambient setting you can keep the game very simple.

    Another thing is to concentrate on what's most visible and add a lot of detail where it counts. In TML the sky and the landscape fills out most of the screen almost through the whole game. It's important that they are made well. The sky I made in Lightwave, it have a tool called SkyTracer. Spending some time figuring out how it worked resulted in the sky you see in the game, it can do more realistic skies but that wouldn't match the rest of the game. However it's an expensive app that most bedroom coders cannot afford. But it's an excellent app for game creation and I'm only scratching the surface so far.

    The landscape in TML is made with a 500x500 array and a 100x100 matrix, that wouldn't be possible in DB as it have a limited matrix size. The higher detailed matrix is important to get good shape. I have made an editor that allows me to modify the matrix as I want. To make it look good you must spend every part of it some time, the more shape you can put into it the more interesting it will get. A tool that really helps is my smoothing tool that allows me to smooth out an area by holding down the mouse button over it. My editor works on 1 or 9 nodes. It's the micro adjusting that makes it look good. It's also important that the editor you use can rotate the normals so that the catch the light correctly. Mine is a little messed up but it does the job. And finally a few good seamless textures that repeats well. The textures I used in TML comes from Dark Matter but I have tried to remove everything that stands out and made them more colorful. They no longer look like the original ones. Making texture fades is very important, sharp lines between the textures don't look good at all. Fades can be done in a regular art app but there are apps made in DB that can do this as well.

    Objects also need to get some detail to look good. Though the objects in TML is pretty simple they still have some detail. A house for example isn't a box with a triangle prism on top. Make holes for the door and windows, make the roof bigger then the house and things like that. Also pay attention to textures. Make sure they are scaled properly and rotated correctly. To make better textures yourself you can render a model and use it as texture, that's how I made the textures for the roves and the walls.

    An final advice. Spend some time on your models and textures, it really pays of. If you like me aren't a good artist then let a model take a day or two. And you have to decide what you is satisfied with. If you are satisfied with a lower quality model then you won't do better. I know it's hard to look at your own work and say this isn't good but if you accept what you do you won't try to do better. With TML I have settled with less then I want sometimes as I don't have the time but some parts I have pressed myself to do better.

    Are there any other DB creations you've seen that really impressed you or spring to mind?

    I know it's old and I know it's not being worked on anymore but the all time DB favorite of mine (excluding TML) is still Equilibrium. It had excellent gameplay and the graphics/presentation where amazing for being made in DB1. Judging incomplete games these are the only things you can judge them by. For me gameplay and presentation is equally important to make a good experience. A game that also appeals to me in Indi's Dvarven Tale. I know the game is very detailed and the graphics looks really promising. All I'm hoping for are a good and interesting gameplay and a good story.

    What would you most like to see added to DBPro?

    Most? Do I have to chose? The DX8 3D format (.x) have RGB settings for ambient, diffuse, specular and emissive and also percentage settings for glossiness, specular level and opacity. These settings works for each surface and can be changed in most, if not all, 3D programs. Using these settings can give the surface the look of any material like plastic, metal, cloth or glass, even lit laps. Taking advantage of this means incredibly improved graphic quality in any DBP game and anybody can easily learn how to do this, anyone with some 3D experience probably knows already. However, the only settings I can get to work in DBP is diffuse (surface color) and emissive (self lit). Since DBP have a DX8 engine I would like it to take full advantage of the DX8 3D format.

    Oh, and is LWO and LWS (Lightwave formats) loading too much to ask for? =)

    What's next? When can we expect another hit showcase entry?!

    I'm not sure when or how it will be announced, so I don't want to give away too much. What I can say is that I'm planning to take DBP on a spin in the wonders of BSP and maybe shader technology as well as a deep dive into the world of multiplayer gaming. This time around I will build the whole engine from the ground up instead of making a prototype and then develop it to a final game. I have used the prototype way as I found it useful due to lack of experience. The work on TML have given me the experience needed to make a better foundation. The advantage of building a good foundation is that it allows for changes to be made much faster resulting in a higher quality through the whole game and maybe cutting in development time. Another thing I have learned making TML is how hard it is to estimate the time needed for the game. It's hard to plan everything that needs to be made, how to make them and what problems you will encounter. And I don't know how much time I have every week to work on my next game. And I need a little break before I start =)

    Please add in any comments you'd like to make, any pearls of advice to share with others or even programming tips.

    Start small and stick to your projects. Finishing a project is the most challenging part of game development. Set a goal of what the game will be and how you intend to reach that goal. It's very easy to get stuck adding new features or rewriting parts. You may get stuck with a game that doesn't develop, this takes a lot of creative energy as you don't get that kick of seeing your creations getting life when things starts to come together. You may end up abandoning your project. Completing a project give you more energy and experience to complete the next one. So don't add or change things that cannot be done quickly. Save that for the sequel. And don't start making that huge game of your dreams first. Build up some experience and skills first, there's a lot to learn during your first games. Also try to figure things out yourself, it's the best way to learn as it sticks better and it learns you how to solve problems on your own.

    And keep your eye on my site. My job is to entertain you and hopefully you will like what I have to offer =)

    You can find Magnus's site at http://digaw.com/
    The Magic Land
    Hyperbowl Bamberman Retro Panda Adventure
    By Banshee Studios
    Bamberman Retro
    By Color Arts / SpriteMill
    Panda Adventure
    By Hailstone Games
    Banshee Studios have taken an old Spectrum Mastetronic game and revamped it for the 3D generation. The game involves one arena, two ships, two goals and one ball. You take control of a ship and must fly and blast your way around the arena trying your best to knock the ball into the opponents goal. You can ram the ball with your ship which sends it flying or shoot it to speed it up. There are a few things on the pitch that will deflect the ball should it hit it, but mostly it's open terrain. Bamberman is a remake of the HudsonSoft classic Bomberman in which various players are trapped in a maze and must blow their way out and then blow each other up! The first thing that strikes you about Bamberman is the sheer professionalism in the presentation and execution of the game. It just 'works' you know, menus link together properly, screens scroll smoothly, the characters are controlable, etc. This game is so close to commercial-release quality it's frightening! We're not even going to ask what a Panda is doing in the Antartic but after a few minutes of playing this charming game it really didn't matter! This is a remake of the MSX masterpiece Antartic Adventure by Konami. In the original you play a penguin who slides and jumps around the levels, jumping holes, catching fish, avoiding pits and racing against the clock. Panda Adventure is the exact same but with some nice extra features and a panda instead of a penguin!
    This Issues Winner is...
    Every issue we give away a free copy of DarkBASIC Professional to one lucky subscriber of the newsletter. The name will be picked at random from the list. If the winner already owns DarkBASIC Professional they can pick any one of our other software packages instead. This months winner is projim@******.co.uk (part of the address hidden for privacy - if this is you, please email us now to claim your prize!).
    Spheres Hunter 2 - 20-Line Winner
    On the forums we have a board especially dedicated to programmers trying to write the most impressive program they can in 20 lines of DarkBASIC code or less. It's open to contributions from anyone for either DarkBASIC or DarkBASIC Professional and some of the results are amazing! Each issue of the newsletter we will be picking out our favourites and awarding free lifetime membership to DBDN to the winners.

    This is colourful and pretty damn fun for 20 lines of DBPro code :) Use the arrow keys to move around the landscape, the mouse to aim, shift to jump and the left button to fire. Basically shoot all the spheres! Don't let them hit you (9 hits and its game over). Congratulations to Attreid for this.

    Download the source code here

    20-line winner
    Next Issue...
    So we've come to the end of yet another packed newsletter. As always it's been great fun collecting together the news and articles for this issue - but as with any community driven publication this only exists because people out there are doing things - people like you perhaps? If so why not post your comments to the forums and as always ... contact me and let me know what you're working on - rich@darkbasic.com (oh and by the way, the cover image this issue was created by yours truly).

    Famous Last Words: "Stop arguing people, I'll prove to you once and for all that this is NOT an electric fence!"
    (C) Copyright Dark Basic Software Limited 2003