Programming - Games

By: Nobody/Anonymous - nobody
file DarkBasic  
2004-04-07 06:26

You asked for comments on Darkbasic so here is my assessment of DBPro:-

DBPro is an excellent introduction to both 2D and 3D Games programming. Anyone who has used Basic before should have no problems using it.

DBPro provides access to the Direct-X (9!) functionalities in Windows without the need to learn more steep learning curve languages such as C++.

The beginner will be pleased at how quickly one can create 3D environments while the more advanced can explore features such as Pixel & Vertex Shading or the Vector and matrix manipulation functions.

Niggles would be that there remain some annoying bugs in the compiler, although this is still being updated. Also the Manual is somewhat poor, in particular a lack of decent examples.

Having said this, one of DBs greatest strengths is the dedicated community behind it, online help is always available via the highly active forums and the enormous number of linked sites.

.... Hope this is what you were looking for.


By: Martin Baker - martinbaker
file RE: DarkBasic  
2004-04-07 08:53


Thanks, this is very useful.

One follow up question: Do you think it would be viable to use it to implement some form of physics simulation? In other words objects would not pass through each other but the objects would collide realistically? If so, is there much built-in support for collision detection and response in 3D with rotation, or would the programmer have to do much of the work?

I have put your message here:
I did not include your e-mail to spare you the spam, but if you don't mind I can add it back in.

Thanks again,


By: Nobody/Anonymous - nobody
file DarkBasic  
2004-04-13 09:17

Hi Martin,

This is a bit of a  'depends' question. Darkbasic does have a simple collision system built in, most people have found it inadequate however and this has led to various 'plugins' becoming available.

For instance I was, initially, looking at your website in order to work out how to 'reflect' (actually rebound) a ball from a plane at any angle, in order to get the best possible collision detection I am using a 3rd party plug in called 'NGCollision' (NG = Nuclear Glory) which cost me about £8.50. As well as giving me superb collision detection and automatically patrolling the object boundaries (no pass through) it also passes back extra information such as the normal of the plane I hit and the coordinates of each of the corners of the plane. Armed with this data and the reflection matrix from your site reflection was then relatively simple.

So that gets me part way there, but I still have to write the physics parts myself.

However while trying to work out how to do a true rotate around the global axes in DBPro (DBPro`s rotate commands work on Euler angles) I came across a free DBPro library called EZRotate, which allows both Local axes and global axes rotations to be applied to an object, I noticed that the same coder has created a DBPro 'wrapper' for the Tokamak physics libraries. I have downloaded this but have not had time to do anymore than look at the Tokamak demos (if you have not seen this yet go to - the demos are quite impressive).

So the short answer is 'Yes, you can do realistic physics in DBPro, but you need extra libraries'.

Another point worth mentioning is that DBPro has a bunch of commands to work with vectors and martices. These are sadly quite poorly documented, when I tried creating the reflection matrix from your site I was able to get the correct numbers for your example, but got odd numbers when I tried any source coords not on an axes (IE with more than one coord <> zero). It could simply be that I was setting up the matrix incorrectly; I ended up just re-writing the matrix as a long equation, as it worked fine that way.

Sorry for the long answer, hope this helps.


By: Nobody/Anonymous - nobody
file DarkBasic  
2004-04-14 10:31

Since my last message I have had time to try out the Tokamak library in DBPro and have to say it is excellent, not least because it is free (makes me feel a bit of a berk for buying NGCollision as Tokamak has a great collision system built in).

Having set up 'objects' (actually collision boxes/spheres/capsules and terrain type meshes) a single call to tokamak then updates all positions and angles and I just have to read off the changes and apply them to the visible objects.
Everything is adjustable, gravity, friction, damping (angular and linear) etc and you can apply forces directly to the objects.



metadata block
see also:
Correspondence about this page

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2022 Martin John Baker - All rights reserved - privacy policy.