Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / possible buyer question

Author
Message
NeuralizR
22
Years of Service
User Offline
Joined: 1st Oct 2003
Location:
Posted: 2nd Oct 2003 02:48
I currently own and use Blitz3D. I'm interested in purchasing DBPro. I'm OK with possible bugs, the cd protection, whatever.

The only question I have is about the documentation. The documentation and IDE that come with the DBPro demo are... uhh, lacking to say the least. All the functions are there, albeit not easy to find sometimes, but there no less. I'd like to know what quality of examples are present. Do all documented functions/statements have examples? The internal IDE help suggests they do. Does getting help on the current item the cursor is on actually work? Is there some external documentation, so you don't have to have the docsin your window ON TOP of the code all the time?

Just a lot of doc questions..... Even just hearing what other people like/dislike about the documenation would be nice.

I did find a nice doc site a while back, but I think it was maintained by the guy that ran the US ordering site. Forget the name now. It's offline at any rate.

Thanks for any help.
Preston C
23
Years of Service
User Offline
Joined: 16th May 2003
Location: Penn State University Park
Posted: 2nd Oct 2003 03:42
Well, the documentation isnt that good, but if you need any help, just post on the forums, you will get help from one of us.


Dark Basic Pro has arived! I can feel the power!
Ian T
23
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 2nd Oct 2003 03:46
The documentation isn't great, but the examples do their job rather well.

--Mouse: Famous (Avatarless) Fighting Furball
Read It: http://www.angryflower.com/itsits.gif
Learn It: http://www.angryflower.com/bobsqu.gif
DarkSin
23
Years of Service
User Offline
Joined: 23rd Jul 2003
Location: Under your bed
Posted: 2nd Oct 2003 04:04
Yea.. documentation is'nt the greatest but you get ALLOT of help example files so it makes up for it . Thats where i go to learn how to do most of my game creation commands, besides this forum of course .

When catapults are outlawed, only outlaws will have catapults. I have a catapult. Give me all the money, or I will fling an enormous rock at your head.
bruceatk
22
Years of Service
User Offline
Joined: 25th Aug 2003
Location: Loudon, NH
Posted: 2nd Oct 2003 04:06 Edited at: 8th Oct 2003 11:40
I am a new Dark Basic Pro user (I have had it about 3 weeks). I have been writing a game to help me learn the language.

Right away I wished the documentation was easier to navigate, to search, and contained more clear simple examples showing the options of each command. About a week ago I looked at the html help files tweaked them a little, wrote a program to parse some info out of them and created a Windows based help file. Here is a picture of the way it is right now.



I have asked if it is ok to make it available for download. I haven't got an answer yet. If they say it's ok then I'll put up a link right away.

It's current incarnation is the existing documentation in a form that is easier to navigate. It also contains full text searching.

My future plans for it is to expand on all the commands and add examples for each. If they say it is ok to make available for download then I plan to ask the Dark Basic Pro community to help me by providing more detailed explanation of commands and any examples that you might have. I am willing to compile them all into this help file and make an updated version available at regular intervals. Let me know what you think.

Update - This help file is now available at http://gamedev.bruceatkinson.com.
Bruce
DarkSin
23
Years of Service
User Offline
Joined: 23rd Jul 2003
Location: Under your bed
Posted: 2nd Oct 2003 04:25 Edited at: 2nd Oct 2003 04:26
Sounds great hope they say yes (though i think they would... don't see anything bad as long as the community provides the example code for it)

When catapults are outlawed, only outlaws will have catapults. I have a catapult. Give me all the money, or I will fling an enormous rock at your head.
Dr OcCuLt
23
Years of Service
User Offline
Joined: 27th Nov 2002
Location: a Dark Deep Dark pit, it dark in here
Posted: 2nd Oct 2003 05:15
yes it looks very good and i think TGC will say it ok (but best to ask).

--Dr 0--
Ian T
23
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 2nd Oct 2003 07:02
bruceatk, that looks excellent-- frankly what the help could/should have been in the first place. (Of course, if it's a choise between a new command set in U6 and a fixed documentation, I'll take the new commands!) Good job .

--Mouse: Famous (Avatarless) Fighting Furball
Read It: http://www.angryflower.com/itsits.gif
Learn It: http://www.angryflower.com/bobsqu.gif
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 2nd Oct 2003 08:16
the current help file is html because of the TPCs
so that users can very easily add thier own help extensions to it without worry.

although to be honest both the help and ide's need more
personally wanna see what their inhouse one looks like.

NeuralizR
22
Years of Service
User Offline
Joined: 1st Oct 2003
Location:
Posted: 3rd Oct 2003 00:59
I'm mostly interested in the "how-to" stuff.

Like best practices type things. What's the "standard and efficient" way to make an event/rendering loop. How to use sprites from beginning to end. Not just what the commands are, but how do you put the commands together. There are some pretty weird things in the docs that come with the demo.

For example:

SPRITE
This command will set the position and image number of the specified sprite.
Providing you are using a valid image number from a previous call to the GET
IMAGE command, and the position of the sprite is in the screen area, you will
see your sprite displayed. You can move your sprite by calling the sprite
command with new position coordinates. You can animate your sprite by
calling this command with different image numbers to create the effect of
animation. You are able to have over sixty thousand sprites on the screen at
any one time, but it is advisable to restrict yourself to a few hundred sprites
for speed critical programs. The parameters should be specified using integer
values.

SYNTAX
SPRITE Sprite Number, XPos, YPos, Image Number

I ASSUME that creates a new sprite from an existing image, though it doesn't clearly state as much.

MOVE SPRITE
This command will move the sprite a specified distance. Used in combination
with the ROTATE SPRITE command a very simple top-down player character
can be achieved very easily. The velocity must be a real value.

SYNTAX
MOVE SPRITE Sprite Number, Velocity

What the hell is Velocity? The only two things I can think of to move a sprite with would be axial velocity or a vector, both of which would contain at least 2 variables, so is that a special data type or what?

I just really hope the documentation with the purchased product would be a little better.
Dr OcCuLt
23
Years of Service
User Offline
Joined: 27th Nov 2002
Location: a Dark Deep Dark pit, it dark in here
Posted: 3rd Oct 2003 01:14
no the documentation in the full is the same as the demo it just has demos and tutorials in it. one you get ues`s to DB the help do`s not seem as bad.

but you think thats bad look at the 3D maths

For example:
BUILD ORTHO RHMATRIX4
This command builds a Orthogonal right handed Matrix.

SYNTAX
BUILD ORTHO RHMATRIX4 Matrix4Result, Width, Height, Near, Far

CATMULLROM VECTOR2
This command performs a catmull rom interpolation on the specified vector. This vector is defined as a two
float vector.

SYNTAX
CATMULLROM VECTOR2 VectorResult, VectorA, VectorB, VectorC, VectorD, Value

Ok TGC even say that this bit of the help is bad and you do need to under stand the deep works of 3D engins

--Dr 0--
bruceatk
22
Years of Service
User Offline
Joined: 25th Aug 2003
Location: Loudon, NH
Posted: 3rd Oct 2003 04:22 Edited at: 3rd Oct 2003 04:23
Those are exactly the kind of things that I would like to fix with community involvement. I still haven't heard from them on whether or not I can make the windows help file availble.

Bruce
NeuralizR
22
Years of Service
User Offline
Joined: 1st Oct 2003
Location:
Posted: 6th Oct 2003 21:51
So, like, what IS "Velocity" in the SPRITE MOVE function......
Richard Davey
Retired Moderator
24
Years of Service
User Offline
Joined: 30th Apr 2002
Location: On the Jupiter Probe
Posted: 6th Oct 2003 21:57
Quote: "This command builds a Orthogonal right handed Matrix."


No offense meant - but what more do you actually need to know? If you knew what an Orthogonal right-handed matrix was, this would actually be enough. The problem is probably that a lot of people don't have a clue what it is, but is it the job of the manual to teach them a math class? I don't think so. You could fill a book on matrixes and 3D math alone - many have, perhaps we ought to start recommending some on the site.

Velocity = how far you want the sprite to move (in pixels).

Cheers,

Rich

The sky above the port was the colour of television, tuned to a dead channel.
Your brain's just like any other appliance: it works better if you plug it in...
Richard Davey
Retired Moderator
24
Years of Service
User Offline
Joined: 30th Apr 2002
Location: On the Jupiter Probe
Posted: 6th Oct 2003 22:01 Edited at: 6th Oct 2003 22:03
Infact here are two recommended readings for learning about 3D math:

3D Math Primer for Graphics and Game Development by Fletcher Dunn and Ian Parberry. Wordware Game Math Library.

Very nice book, quite pricey but covers a lot of fundamentals well. It IS math heavy (as you'd expect!) and don't expect ANY code either, but it will teach you more than you probably wanted to know.

Another thing I used was a 12 week course at the Game Institute on Game Mathmatics (John A. De Goes). www.gameinstitute.com for more info. Very very good overview with lots of practical examples too (unlike the book).

More than anything though - if you're young enough (and quite frankly. lucky enough!) to still be in school or college then make the most of it! Free maths teachers on-tap. If only I had know then what I know now I'd have paid so much more attention

Cheers,

Rich

The sky above the port was the colour of television, tuned to a dead channel.
Your brain's just like any other appliance: it works better if you plug it in...
heartbone
23
Years of Service
User Offline
Joined: 9th Nov 2002
Location:
Posted: 6th Oct 2003 22:23
NeuralizR The only question I have is about the documentation. The documentation and IDE that come with the DBPro demo are... uhh, lacking to say the least. All the functions are there, albeit not easy to find sometimes, but there no less. I'd like to know what quality of examples are present. Do all documented functions/statements have examples? The internal IDE help suggests they do. Does getting help on the current item the cursor is on actually work?

To that last question: Yes. Very well.

The more you see, the more you know.
The more you know, the more you see.
NeuralizR
22
Years of Service
User Offline
Joined: 1st Oct 2003
Location:
Posted: 7th Oct 2003 03:54
Ok, so, distance in pixels, eh? In which direction? The parameter list consists of "Sprite Number" and "Velocity". Maybe you missed the point of the question.
ESC_
22
Years of Service
User Offline
Joined: 29th Aug 2003
Location: Mass.
Posted: 7th Oct 2003 03:57 Edited at: 7th Oct 2003 03:57
depends on which way you have the sprite rotated. Usually you just position the sprite using the sprite command and specifying an x and y coord, though

"That's not a bug, it's a feature!"
"Variables won't, constants aren't."
Phaelax
DBPro Master
23
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 7th Oct 2003 04:11
I like full out explanations of commands. When I taught myself Qbasic years ago, that's how I learned. These forums are pretty much the help file.
Richard Davey
Retired Moderator
24
Years of Service
User Offline
Joined: 30th Apr 2002
Location: On the Jupiter Probe
Posted: 7th Oct 2003 04:38
Quote: "In which direction?"


In the direction it is facing. Which unless you've rotated it will always be up (0 degrees).

Quote: "The parameter list consists of "Sprite Number" and "Velocity"."


To move the actual sprite, what more do you need?

Quote: "Maybe you missed the point of the question"


Maybe you didn't look hard enough for the answer?

2 minutes is all it would have taken to write a little program to test which direction move sprite worked. You only need 6 lines of code.

Cheers,

Rich

The sky above the port was the colour of television, tuned to a dead channel.
Your brain's just like any other appliance: it works better if you plug it in...
bruceatk
22
Years of Service
User Offline
Joined: 25th Aug 2003
Location: Loudon, NH
Posted: 7th Oct 2003 04:44
This is exactly the complaint that I have with the help. This stuff should be explained in the help along with small sample code.

I shouldn't have to write test code to test what should be clearly documented.

I'm currently working on just that for myself. I have had about 35 people download my windows help file version of the help, but no takers on helping fill in just this kind of missing information.

Bruce
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 7th Oct 2003 07:17
Quote: "No offense meant - but what more do you actually need to know? If you knew what an Orthogonal right-handed matrix was, this would actually be enough. The problem is probably that a lot of people don't have a clue what it is, but is it the job of the manual to teach them a math class? I don't think so. You could fill a book on matrixes and 3D math alone - many have, perhaps we ought to start recommending some on the site."


perhaps so... but not everyone has an A-Level (Graduate Degree) in Mathematics and/or 3D Mathematics.
It can be argued that you shouldn't be using these commands if you don't know what your doing with them or what they do, this said people learn better from a practical understanding of something than a classroom one.

Quote: "BUILD ORTHO RHMATRIX4
This command builds a Orthogonal right handed Matrix.

SYNTAX
BUILD ORTHO RHMATRIX4 Matrix4Result, Width, Height, Near, Far"


What could be written as the explaination could be something along the lines of,

This command creates a space matrix, which will build your scene based upon an orthographic view space using the right-handed coordinate system

X = -X, Y = Y, Z = Z (that could be a little diagram)

-- -- --

although no it shouldn't be TGC's place to explain and teach mathematical terms, they can atleast make it a little more understandable to people who totally don't understand or those who understand some things but not others.

there aren't many lessons online about 3D Matricies, which is odd considering how DirectX 8.1 swapped this this way of doing thing ... yet everyone seems to be using them without truely understanding what exactly they mean.

not that it matters too much because thier effectiveness within DBP is a little limited at times.

las6
23
Years of Service
User Offline
Joined: 2nd Sep 2002
Location: Finland
Posted: 8th Oct 2003 10:44
NeuralizR,
as it's been stated above, the sprite moves the amount of velocity in the direction it is facing. But if you want more control, or just like to use maths, you can do it by calculating the new x and y position and calling the SPRITE command again with the same sprite number. As confusing as it may sound, this won't create a new sprite (or perhaps it does but at least it doesn't give out an error) but instead re-positions the sprite. So that's probably the way you'd want to do it.

NeuralizR
22
Years of Service
User Offline
Joined: 1st Oct 2003
Location:
Posted: 10th Oct 2003 07:47
I've played around with a lot of languages and graphics toolkits and have never seen a MOVE function for sprites, images or anything similar that uses only 1 variable for movement destination, based on which direction the sprite is facing. For that matter, I've never seen a system that moved "sprites" based on the direction they're facing, unless you're talking about a textured quad as a sprite, but even then movement commands are always based on all 3 axis, since 3D objects are generally not considered to have a technical front, only the visual or theoretical. Are we talking the X, Y or Z axis? (assuming you don't need to know if the front is considered the positive or negative)

This DOES actually allow you to code some things very easily, but being as non-standard as it is, you'd think the documentation could be a little clearer?

Which brings me to the point that I also don't feel that I should have to test everything just to figure out what the documentation is saying. A simple explanation would do, instead of treating people with the attitude that if they knew everything about 3D mathematics before attempting to use a "basic" language variant then they wouldn't need to have things explained to them. Not that having a clear understanding of 3D mathematics would help you to figure out that it's not a documentation error and this language's sprite move command really does only moves the sprite along a single axis based on it's rotation.

.... I just don't get it. I thought Rich would be more interested in selling the product than giving smart ass comments to prospective customers. His way of defending the poor documentation is (apparently) to tell people they're uneducated and shouldn't be using the parts of the language that they don't understand based on the documentation available, even when several other people in the same thread have the same feeling that the documentation is just not clear and could EASILY be made clear as a bell. That's pretty sad.
DrakeX
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location:
Posted: 10th Oct 2003 09:34
the sprites in DBP are textured quads. which explains how you can set their alpha, rotate them, and move them in a direction.

if you use the ROTATE SPRITE command, you'll see the sprite spinning. then if you use MOVE SPRITE it will then move a distance in the direction it's currently facing. as if it were 2d, not 3d.

so instead of using SIN/COS math to move it, you can rotate the sprite and move it. though you don't HAVE to do it that way, you can still use the SIN/COS instead.

here's a small sample prog.



no, the documentation in DBP is not the best; in fact it's really bad. but don't just give up because of that

stop looking at me!
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 10th Oct 2003 16:33
Just yesterday I started writting a "hopefully" better book for DBpro. It will be free when finished. Any help would be greatly appreciated.
It is so new the web page is barely up, but I will have the first chapter done today.
http://darkrealms.dbpcommunity.com

Login to post a reply

Server time is: 2026-07-26 05:02:37
Your offset time is: 2026-07-26 05:02:37