Am I the last living DBPro programmer?
Is there somebody else? Can we be friends, brothers in keyboards?
Need someone to talk about it. It is lonely and frustrating to code alone in a language no one knows anything about. A bit of company would be welcome, whoever, wherever or whenever it is.

Whoa!
I checked out your posts about them. Impressive.
You've made things far better than TGC itself- seriously.
Happily, the remaining coders DBPro still has are of your caliber, I'm not a fraction of the coder you are, but I understood the idea and application of those things you've made and they are exactly what many people were trying to accomplish before and went astray somewhere in the process.

Judging from the knowledge leve you show in your creations, I believe you can do things I can only dream of.
And maybe you can help me solving something dumb, but that is driving me hopeless due its nonsensical behavior.

Why in the hell SET MATRIX TILE simply doesn't work?
Texture's prepared, tile count says it is OK, the tiles called exist, but the whole stuff crashes on compile with no reasonable error message.
Why?

I know it is a silly question, but when the code is right and the examples are exactly equal to what I am doing, I guess something need to be explained - and DBPro help is not quite helpful.

Well, I was just taking advantage of my own thread to find a solution to something that appeared to me last night. With or without an answer on this question, thank you for ggiving me such a friendly feedback!

Well, thanks anyway.
Your answer doesn't get me farther than I was last night, but it tells me that it's time to scrap the project and start it all over again - and next time, with more feeling!

I use matrices for one reason: they are easy for me. OK, I don't know what "normals" are or how can I perform them, and tiles don't work, but...

Can you make realtime moving waves on a terrain? I bet you can't. With a matrix I can and it's piece of cake.

Blitz is paid, the free version vanished from everywhere. Advanced lighting... My graphics are too minimalist (poorly designed,, I mean) to need lights. I don't know anything about 3d modelling or animation, all I want - due to my ridiculously poor programming skills - is to make something that reflects my idea of an interesting game - and I have a very peculiar taste for games .

I'm a joke, man. I'm smart in many aspects, but when it comes to programming I am not the brightest LED on the panel.

Nevermind. I think that the only thing I can add to this community are lots of silly questions and some pieces of code that only I find utility to. I posted some functions labeled as "Starshyne functions", but you would probably laugh at them.

Dbpro also has a simple built in advanced terrain command set that sounds like it should suit your project

A normal is a vector of the geometry surface which controls how the surface handles light. I believe there is a mesh/object command to auto calculate this in dbpro.

You can animate waves on a mesh through the vertex command set very similarly to how you do so on the matrix, but ideally you want to do this in a shader. (Or if it is just a texture animation not an actual up/down deformation, scroll object texture works)

You could also use advanced terrain for the static land form and a separate matrix for animated water, best of both

Quote: "Am I the last living DBPro programmer?
Is there somebody else? Can we be friends, brothers in keyboards?
Need someone to talk about it. It is lonely and frustrating to code alone in a language no one knows anything about. A bit of company would be welcome, whoever, wherever or whenever it is.
"

Not the last but we are without a doubt a dying breed.
I will never give up DBPro because I like making simulation type things to toy around with and nothing else even comes close to the ease of this language. In C++ Literally it would take about 5000 lines or more of code in order to set DirectX up properly just to draw Primitives, I know because I was working on a Primitive Library for myself in VC++ but found DarkGDK and will more then likely just use that as well so even when I am coding in C++ Im still using basic. Only difference is Atleast in C++ I can Override a command when I don't like it but DB does not give me that option.

Set of a new program is the most annoying part, once the groundwork is laid out programming is fun. Why spend days laying the groundwork for a program in C++ only to get 1000 linker Errors, The compiler Screaming at me for not using Proper Capitalization(Which is retarded considering nothing in C++ system wise needs upper or lower case only that they defined it that way) or time and time again tracking proper namespaces and class declarations only to be told that it cant find various variables and god know what. Its a huge Pain in the ass and takes the fun out of programming. I use to push OPP when I was a kid back in the mid 90s telling everyone how great it is but if I had known it was going to turn into the convoluted cluster fuck that VC++ has become I would have never. People seems to think you need to class everything and I just don't agree. Not everything need be in a class.
OPP Rant over....

That leaves DBPro as my Go to every time I have a new idea and want to quickly test it and toy around with the code. Hell I have some things that run to slow in DPro and was about to start coding it in C++ But more then likely I am instead just going to make it into a Library and compile it in C++ to link to my program. All I need to do is figure out a few more basics on Function and Variable Pointers when writing them.

Anyone, Your in the right place I think man. I am new to Dark basic as well for the most part so IDK how much I can help you but Ill see what I can do. I to wish the community was a little bigger.

Folks, you both are great!
Your words were like a power surge in my mind. What if DBPro is dying if we are still alive and it still works for us? No problem with that. If it dies, we'll ressurrect it, in the same way some crazy folks did with QBasic and other long gone programming languages.

May I request your help with 2 things?

First: how do I attach an object to another (to make an arm or a leg, for example). Just cubes attached together into a code should be enough for me to grasp the knowledge and go on for myself.
I want to make a "pokémon-like" RPG with collectible robots - not 150 or 500, but billions of them. Being able to build them via code would be perfect to accomplish this task.

The other problem is: why in the hell the particles ground is rotated with them? If i rotate a particle 90 degrees, the ground is calculated behind it instead of below, and this ruins any attempt of making any useful effects with them! Is there some way to solve that (without using other particle system, just the build-in ones).

Well, thank you anyway. I won't give up - and I hope you won't give up, too.
We are a dying breed, but they'll need to bury us twice - for in the first time, we won't rest easily!

(The other problem is: why in the hell the particles ground is rotated with them? If i rotate a particle 90 degrees, the ground is calculated behind it instead of below, and this ruins any attempt of making any useful effects with them! Is there some way to solve that (without using other particle system, just the build-in ones).
)

Can you provide some simplified code so I can understand what your attempting and whats going on a little bit better?

I ain't laughing, other then a little toying around with Darkbasic years ago Im pretty much only a couple months into learning it myself.

Make Object 2 your mesh then add the limb to object one. Object 1 will now be a combination of object 1 and object 2.

Here is the code I use to make the Balls in the Battle Balls Game I just uploaded. I needed a ball with a Cylinder barrel that came out the side so I did it like this...

MAKE OBJECT sphere PLAYER_1,30 <----- My main player object that I am going to be moving around
TEXTURE OBJECT PLAYER_1, 2 <------ Main Players Texture
MAKE OBJECT CYLINDER 1000,10 <----- the Barrel
SET OBJECT CULL 1000,1 <----- Setting the Cull OFF because I don't want my barrel to vanish if viewed from the wrong angle
XROTATE OBJECT 1000,90 <----- Just Rotating the the Barrel so its at the right angle to connect to my player
FIX OBJECT PIVOT 1000 <----- Same As Above pretty much
ZROTATE OBJECT 1000,90 <----- Again just positioning my barrel
MAKE MESH FROM object 1,1000 <------ Making the mesh out of the Barrel
ADD LIMB PLAYER_1,1,1 <------ Attaching the limb
OFFSET LIMB PLAYER_1,1, 0,0,15 <----- Positioning it correctly on my Player
DELETE OBJECT 1000 <----- Deleting my Barrel object because its no longer needed since I attached the mesh to my player already and leaving it in may just be one more object that needs to be cycled through if you plan on doing collision test on all objects later causing a small performance hit that would add up if all limbs are left as separate objects.

The Full source and EXE for the Game I made is a few post below this one.

PS: I want to remind you again, I am only a few months into Darkbasic and even though I have roughly 20+ years programming experience I have just started with this so if there is a better way hopefully someone speaks up and we both learn something.

i still use it but mostly for utilities to work with app game kit.
Most of us have made the jump over..... and i suggest you do the same however darkbasic pro is allot faster but ..... multi platform is much better for trade i think.

I would love to work with AppGameKit, I had the paid version on my computer from a couple years ago and it was great but my Laptop just crashed a month or so back and I am now working with a dinosaur of a computer. I don't know if their is any way to get another version of it downloaded or not because I have absolutely no information to prove that I bought it before else I would have already tried to contact TGC and see if I could possibly get a replacement.

I tried to get the Free Test version last night but its not working. My paid Version worked just fine and honestly was one of the coolest Programming lang I ever worked with because it gives power like you would get working with JAVA these days except it uses the BASIC Lang and I personally loved it because I hate attempting to make games on a phone using JAVA since Eclipse Emulator is Trash and takes like 5 minutes to load on my computer every time I want to test a program.

If I wasn't so G'damn Poor I would just buy AppGameKit again but I got three kids that I can barely afford to be honest so I just can't spend money on AppGameKit again. It sucks because the Kids are the reason I started programming again so that I can teach them how to code because I feel its a skill EVERYONE should learn. Coding does not just make you think it teaches you how to think. It makes you smarter by enhancing the problem solving areas of the brain and given that my kids are now all at critical ages of 11, 12 and 14 its the perfect time for them to start,(even though I had my daughter coding a little when she was 6 so she knows most of the basics about loops and data types already) I started when I was 13-14 and think Coding made a huge impact on who I am today.

If I ever can manage to afford AppGameKit again I believe my kids will be much much more into coding when they can make games like this one that we just made together BATTLE BALLZ and play them on their Tablets or phones because I envision that Battle ballz game that me and my kids just made as a Multiplayer Net game in the first place. But Im out of work due to an injury so I don't see getting AppGameKit to be an option any time soon at this rate :/

All that Said I agree with Softmotion and you should def get AppGameKit, The expansion you get of working platforms can't be beat. Darkbasic Pro is cool as hell but its pretty much hobby stuff yet AppGameKit will allow you to make something for phones or tablets and make you feel proud of it like you just produced a professional product.

PS: I just seen that every time you type A....G.... K that the forum Replaces it with AppGameKit.... Thats cool, I guess thats what happens when you give a Forum to a bunch of Programmers

Thank you, Sedit.
You were the first guy around who was able to provide me a simple, comprehens9ible and clean example of what I needed.

With your help with limbs, my programming skills went up a level or two.

I'll start working right now.

Edit: Sedit, how did you teach your daughter coding at 6 years old? Teach me the trick, so I can use it with my own.

About AppGameKit, it's a pity that you've lost your copy of it. TGC seems to be a bit.. uninterested in solving issues like yours. Why not writing down the name and - for example - driving licence number - and then, if the guy lose the key or whatever, they just ask him for the - in this example - driving licence number and voila, they would be aware that you've made the purchase in the past and could merrily re-send you th whole stuff. But, for some reason, they don't do anything like that.
A good idea - since TGC doesn't care about your money - is to find someone who has AppGameKit and the key and ask him for it - or buy it from him or hatever your imagination can produce.

Ah, and once again thanks for the example you gave me. With it I could finally learn that limb stuff.

Attachments

I'm very concerned about procedural generation of content.
Producing data from nothing is - within my perception of programming as art - a perfect way of getting stuff done.
Since I'm focused in minimalist graphics, producing low-res textures and (very) low-poly 3d models in huge amounts and without effort creating stuff - except for some sprites I produce when I simply can't tell to my machine how to do them. Producing millions, billions of not-so-different kinds of the same item, variants to achieve variety with just one simple set of formulae is what I do most often. Words like "infinite", "endless", "countless", they exert immense attraction upon me, I DO love big numbers.

I can produce maps, mazes, dungeons, with primitive but effective algorithms, but there are limits to what I can do and what I can't.

What I learned here allowed me to jump from 2D sprite collages to 3D solid bodies complete with moving parts

I am in need of dlls, dlls that can make my life easier. No one made them, things to help crazy guys like me to produce stuff from nothing.

It would be great if there were some functions to generate random textures, for example.
A function to generate a 3D building or to draw roads into a bitmap, things that I think only I am truly concerned - but, well, I can't produce them myself and don't know if they really doesn't exist.
3D trees I could generate on the fly just giving parameters to describe the tree, would be great too.

Maze drawing functions... I'd love to see them. There is a 3D Dungeon Maker dll, but it gives me a 3D map too complex to be really useful. Why not a maze function that plots the maze data into an array or bitmap to be further used? No one made them.

Other thing I'd love to see in DBPro is something that could work similarly as INTERSECT OBJECT, but that instead of checking if object N is intersected, could return the first object with is intersected. Great to calculate FOV of enemies or gun projectiles.

Haha, I wrote too much. Forgive me.

The fact is that I am newly inspired and I'm having fun with DBPro, and part of this fun I owe to your kind feedback in here.

By the way, I invented a workaround to make possible to use TTS (Text-to-Speech) with DBPro without having any plugin installed. Dunno if it will be useful to anyone, but I think it is really fun.
Just download a software called Balabolka and install the voice you want to your game and in the Balabolka type CTRL+SHIFT+W to read aloud the content of the clipboard. In your DBPro app, just instruct it to write to clipboard anything you want to be said by it.
This is the easiest way I could find - and the Google Translate funcions simply stopped working after Google remodelled its API.

Me again.
Remember when I said I wasn't smart enough to use things such VERTEXDATA? Well, I learned the basics - thanks to a little example from WickedX - and I used it to replace both TERRAIN and MATRIX in my games.

I found a problem and I believe it is just a DBPro limitation, but it is annoying me: I created a PLAIN object with 200 x 200 segments ( MAKE OBJECT PLAIN obj,sizex,sizey,200,200 ) and then I made it into a mesh. I turned it into VERTEXDATA and displaced every segment up and down just like I would do with a MATRIX, then I reassembled the object from the VERTEXDATA and compiled. My application crashed.
I took about 1 hour - even though my code was about 50 lines long - reading it from up to down and back to forth, and I simply couldn't find the error.
In that moment, an Idea ocurred: what if DBPro simply thought that 200 x 200 segments was too much for a PLAIN object? I made another with 100 x 100 segments and it worked. I tried values between 100 and 200 and it only worked with 100.
I believe that DBPro has a limit of 10.000 vertexes into a single object, but I'm not quite sure.
Is there any way to raise this limit to produce larger terrains this way?

Below is a code snippet with the stuff I was working on - not a game, just a "sandbox" where I was testing the new stuff I learned.

Quote: "I would love to work with AppGameKit, I had the paid version on my computer from a couple years ago and it was great but my Laptop just crashed a month or so back and I am now working with a dinosaur of a computer. I don't know if their is any way to get another version of it downloaded or not because I have absolutely no information to prove that I bought it before else I would have already tried to contact TGC and see if I could possibly get a replacemen"

If you bought it from TGC directly or from Steam, just log into your account and you should be able to download it again. I think mine is through Steam (horrible).

I'm no longer a DBP user, but I was around for over 10 years and know a thing or two about it (see badges ) I do, however, like to pop in every now and then see if I can help out the last remaining few who keep using it. I have a ton of snippets plus I maintained the code challenges which are still on my website. Which upon trying to confirm my old link, it appears I have several broken portals on my website. I must've never copied them over when I switched hosts. Sure hope I have a backup somewhere!

Ok, so it looks like my server updated the php version which is no longer compatible with the older sql commands. And since it was one my earlier versions of using php and mysql, it's all procedural. It'll take me a few minutes to rewrite it and build a class around mysqli. I should have it back up by the end of the week. (I have 3 cans of jolt to help me!)

Somebody can provide me a quick and comprehensible guide for effects and how do I use them to improve my games?
I downloaded that Effects Pack and there are plenty of cool FX to use, but I simply can't make them to work. I load them, set the objects to apply them, but usually nothing happens. I want to add some cool effects and shaders to my games but I think I'm too dumb to work with them.
Any help is welcome.

Sorry! I can't provide a quick and comprehensible guide. However, I will attempt to explain the inner most workings of Evolved's Multi-Pass Lighting & Normal Mapping Shader. Well, maybe just how to find clues in the shader code and how to use that in DBPro. OK, lets open the shader file and see what it needs to do its magic.

I'll need to read and understand the source code of the shader I want to use, then load it inside my project, perform a checklist for its variables, set up them as needed, provide the image files it needs to run and then, with some luck, my object will be shaded correctly?
So much trouble for so little results is not what I want right now. I thought there was a way to use effects more easily, but I think this is the only way and it is exactly what the help files told me to do when I was trying to understand about this thing.

I appreciate your help but - and I HATE to admit - I am not good enough to accomplish this task. Guess I'll need to work without shaders and find another way to implement better graphics - or keep using the default graphics as I am using since I begun.

Thank you, but it is too much for me. And the C++ (is it C++ or am I being heretic?) source code is Ancient Egyptian for me.

I'll need to read and understand the source code of the shader I want to use, then load it inside my project, perform a checklist for its variables, set up them as needed, provide the image files it needs to run and then, with some luck, my object will be shaded correctly?
So much trouble for so little results is not what I want right now. I thought there was a way to use effects more easily, but I think this is the only way and it is exactly what the help files told me to do when I was trying to understand about this thing.

I appreciate your help but - and I HATE to admit - I am not good enough to accomplish this task. Guess I'll need to work without shaders and find another way to implement better graphics - or keep using the default graphics as I am using since I begun.

Thank you, but it is too much for me. And the C++ (is it C++ or am I being heretic?) source code is Ancient Egyptian for me. "

The language in that snippet is hlsl, the main thing you need to get out of it are the required textures and texture stages:

Thanks, Ortu, you helped me a lot.
I always tried to texture the objects normally - thought shaders were something separated from textures - and now you say that the only mistake I was committing was ignore the need of compatible texture stages. Great. Now I think I can make them work properly.

I'll work on it later. It is something that'll need a lot of work and a bit of learning, but you and WickedX made it easier for me.

Dunno what I would do without this community.

Talking about textures, there is something I always wanted to kow if it is possible to do:

When texturing a sphere, the texture is wrapped around the object but in any other object it is applied to each separated face of it. What I was wondering is: is there a way to texture something - a cube, for example, - exactly in the same way as we can do with spheres?

I think I understood what I need to do if I want to texture objects like I do with spheres, and it'll be useful sometime ahead in my project.

I know I'm much probably annoying you with endless questions, but it is the first time I have the chance to get valuable information straight from the ones who know how the whole DBPro works. If I am being annoying, any of you is free to warn me immediately.

Well, I guess you taught me enough about object creation, modifying and texturing to produce better stuff. This part I caught entirely and will put in good use and then we come to another issue:

When I compile a project, I usually use "standalone" to produce the EXE but when I try to share my games with people, they simply can't open it.
The question is:

What I need to include with the EXE file so people will be able to play it? The media folders I always include - I rarely use external media - but I think there is something I'm missing.
I use Matrix1Utils and it needs the C++ Runtime installed inside System32, but I need to share those dlls together with my EXE to make it work outside my machine? What are the settings and stuff I need?

Ah, I don't use any of those wrappers that require DLLs inside the game folder (like newtonian wrapper and alike).

If you need some help the forums always a good place but it can take a few days for a response. im not on the same level as some of these guys but i can prolly answer some questions if you need help with anything. my discord name to contact me S.L.I.P Software#6033
my shader knowledge is pretty poor, mostly focus on software tools, ui's,procedural generating levels objects, ect.

Since you all are skilled developers with plenty of completed projects, maybe some of you can tell me something about user-made DLLs.

I have many libraries like Matrix1 and D3DUtils, that I use a lot, but I miss something that give me commands to make some things automatically - to save lots of lines of code and complicated maths that I am not very good in formulating.

Is there some DLL to perform some of those tasks?

1. Generating a n-dimensional maze and storing it into an n-dimensional array.
(there is a 3D dungeon maker, but I just need to pinpoint the map coordinates, the construction I want to do by myself)

Pretty neat, Chris!
It is not exactly what I was looking for, but it does what it promises.

Ah, this is probably too lame for most of you, but I think it can be useful for someone.
It is a font indexing function that allows user to retrieve the complete list of installed fonts on the client PC, store the whole list inside an array and retrieve any of these fonts anytime.
I find it useful to produce font selectors that can work independent of which fonts are installed.

It comes with a small demo that allows you to index all your fonts and view them onscreen. Just tap UP or DOWN to cycle between fonts.

PS: Didn't change resolution, it is 640x480, and it will work with any video settings, I think.

Ah, it creates a bitmap with the same number of the image used, so be aware!

The function just gets your string and some data related to font and size, then it put the text onto an image and it can be used somewhere else - and in the case of my little demo, it produces a lame but useful 3D text.

Well, well, well... Since I have nothing better to do, I'll share with you some other little snippets I was working on.
They are pretty simple, but they serve to very specific purposes and I made them to save time coding my projects.

The first one is an OSCILLATOR, but I call the function OSC for short. It does exactly this: it produces an oscillating value that goes from A to B and back, like a pendulum. It is great for when you need to make things swing and don't want to use loops to determine when to go forth and when to go back.

It works like this:

return float = OSC(VALUE#,COUNTER,SLOW,RULE)

value# - the variable you want to oscillate.

timer - the variable you want to use as a timer (usually a counter or TIMER() itself)

slow - how slow you want the oscillator swings.

rule - If it is 0, then it will use sine to feed the oscillator, and if it is set to 1, cosine instead.

V = 240 //the value we'll oscillate
DO
CLS
//note that there are two OSC functions in the following line, and each one is set to a different rule. When you do so, you can produce circular movement, that is exactly what the yellow circle does in here.
Fill Circle 320 + OSC(V,TIMER(),10,0),240 + OSC(V,TIMER(),10,1),20,RGB(255,255,0)
Loop
FUNCTION OSC(VALUE#,COUNTER,SLOW,RULE)
T = (COUNTER / SLOW) MOD 360
IF RULE = 0 THEN VALUE# = SIN(T) * VALUE#
IF RULE > 0 THEN VALUE# = COS(T) * VALUE#
ENDFUNCTION VALUE#

And this one, if you use with a 3D text or even with my poor-man's 3D text snippet (above post), can be useful to make title screens and other things where you need to animate constantly some object based only in its parameters.