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.

Dark GDK / Licensing / Dark Basic Interfacing

Author
Message
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 22nd Apr 2005 17:41
Before the release of Dark Game SDK, IanM had an Interface System on his site that allowed you to access the Dark Basic Professional DLLs directly without having to Import / Export Symbols. You'd just add the library and you had instance access to all of Dark Basic Professionals functionality (that was available at time of compile).

This provided functionality that allowed you to create Plug-In's either for the public or just for internal use that could be set-up to access the engine directly.

So if you wanted to say, create a routine that automatically had one object orbit another, or update the position of an object based on a scripted event, or loaded data directly to a memblock for you without any initialisation then you could.

His interface is now gone, replaced with the Dark Game SDK.
The site however is not clear on how you can use the SDK.

For example it's perfectly clear you can compile with the Libraries now directly compiled with your executable/library format, however there is no mention of if there is a Link system to allow you to use the DLLs External of your Executable.

I would be most annoyed if you ("TGC") has forced IanM to take down his useful interface in place of something that actually DOESN'T provide what Ian's Interface was primarily being used for.

Also on the point of Licensing this again has me confused. The site states the License only covers games. The question is though is a Plug-In for Dark Basic Professional considered 'part of games development' or is it considered a 'non-game', in which case this would force me to purchase a Commercial License... EVEN if I wanted the plug-in to be Freeware.

Although this isn't the case I'm just making a point.
On the fact of licensing though, if I was to create the Plug-In for internal use. Then sold the Dark Basic Professional Game, would this be breaking the License agreement? Provided of corse the answer above is "Yes, it is covered by 'a game'".

In all of the cases I am rather put out by the simple fact that while most plug-in developers can freely develop thier software external the Dark Basic Professional (Dark Game Engine) without having to pay anything in terms of Licensing or such.. it seems quite a slap in the face that others who would like the functionality to make easier more intuative commands would have to pay for this luxury, and through the nose in order to be able to retail it.

We were promised ages ago there would be a solution for this with the new TPC SDK. Given the time it took IanM to create his Interface, I would really like to know why it is taking so long for this fabled SDK to appear. After all we aren't talking about rocket science or even something that hasn't been done before, it should just be a case of packaging the .lib's that are created when you compile DBP with C++ Header files Prototyping the functionality and an EULA stating that it cannot be used for anything other than Dark Basic Professional Plug-In DLLs.

We're talking an afternoon's work, no?
From where I'm standing, £30 seems a lot to pay when others don't have to pay anything because they don't require the functionality of the engine... given the licensing it is more likely I would have to pay for *at least* the Shareware version, this means £90; but of course there is always the chance that this would be counted as a non-game and therefor commercial so god knows how much.

I'm confused because there is NO clear indication on this subject.
I would also like to know where the TPC SDK we were promised is, and why on earth it is taking so long?

At the end of the day while there are ways around this, I don't want to run the risk of having software that I am planning on retailing to have Link bugs. It is more secure and safe in terms of accessing if it internally linked.

If your going to force the unofficial variations off the market, then replace them with official ones.
billy the kid
19
Years of Service
User Offline
Joined: 7th Dec 2004
Location:
Posted: 22nd Apr 2005 17:52 Edited at: 22nd Apr 2005 17:54
Well only about half of that made sense to me. But for dlls, you can use them like any dll for C++. You dont need any special interface or whatever. It is already builtin. For example, you can use Newton in your DGSDK projects without a special wrapper like the one made by Walaber. So you include Newton.h and have Newton.dll in the System32 folder and you are good to go. No special interface or wrapper required.

I have no idea if that answers your question about the dlls, but hopefully it does. Again to me, your post was very convoluted. Maybe someone else can better answer your question(s).
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 22nd Apr 2005 18:01
The SDK is used for creating applications and cannot be used for creating plugin DLLs.

As for talk of an afternoons work to create the SDK - that's absolute garbage. You clearly have no idea of what's involved to set up something like this.
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 22nd Apr 2005 18:18 Edited at: 22nd Apr 2005 18:20
Quote: "We're talking an afternoon's work, no?"

I doubt it...

I suspect its taking a while because of the FPS Creater (again) - I would certainly like to be able to use DarkSDK in a DLL as well as an executable - I must admit, that I was was suprised there wasn't an alternative ready.

Quote: "The SDK is used for creating applications and cannot be used for creating plugin DLLs"

In that case, can you let/force IanM to put back his interface system then ?

Visit http://homepages.nildram.co.uk/~nickk
Vote Nicholas J. Kingsley BSc for benevolent dictator.
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 22nd Apr 2005 21:34
Quote: "As for talk of an afternoons work to create the SDK - that's absolute garbage. You clearly have no idea of what's involved to set up something like this."


Really? Well lets take a look shall we...
The Object Linker Libararies (.lib) are exported when you compile the Dark Basic DLLs, that's a good few hours of work that is already completed.

You then need the Prototyped Functionality, which I believe the Dark Game SDK you would've already done.. any additional functionality would be mearly a case of adding a few extra prototypes to a given Header.

This is about a day or so work already complete and possibly just needing minor adjustments.

IanM's Interface had a few functions that we each helped put together over the forums before the interface was developed, for gaining DirectX control. It took me 40minutes with NO PRIOR DirectX knowlage to create the function that allowed me to grab the DirectX Device, with Nick's help I was able to push that further and get full DirectX control by the end of the afternoon.

Neither of us at the time had much DirectX experience, you have over 2years worth of experience with it.

Honestly explain to me what part EXACTLY is going to take longer than an afternoon, because from where I'm sitting you have everything you need, it's just a case of structuring it.

If you wanted to make sure it was protected a simple function in the global structure added to the next build of DBP checking for some global 128-bit Hash key would work just fine.

Right now I don't care about the whole DLL Licensing System, which is planned for the SDK... I care about the functionality. Funcitonality which someone else was kindly providing, before you ("TGC") shut down without providing your own solution.

It would be nice if you could either put together the SDK (which as I stated above is really more a case of putting the individual parts together), or letting IanM rerelease his interface. Alternatively you could provide a guide that would allow those of us who don't have the knowlage on how to achieve what IanM did to do it ourselves.
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 22nd Apr 2005 22:06
Quote: "The Object Linker Libararies (.lib) are exported when you compile the Dark Basic DLLs, that's a good few hours of work that is already completed"


Not at all. Those files are not usable within the system that DBPro uses. If that was the case, it would have taken me only a few hours to reproduce them rather than the weeks it took to make the basic interface files - and it took me 3 attempts to get everything right so that it would work fully with 3 different compilers.

Quote: "Funcitonality which someone else was kindly providing, before you ("TGC") shut down without providing your own solution"


No. *I* took it down.

Legally, I could continue to ship it, but *I* decided that I didn't need to compete with TGC, even if it wasn't a complete overlap of the products, and I was happy to comply with their request.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
Erick G
Retired Moderator
20
Years of Service
User Offline
Joined: 2nd Oct 2004
Location: Texas, USA
Posted: 22nd Apr 2005 22:16
There is always a dissident.
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 22nd Apr 2005 22:16
Raven - We cannot simply use the lib files that are exported when we compile the DLLs. There is a big difference when it comes to accessing function pointers in DLLs and using libs. It's not as simple as you make out. For starters consider all of the problems with linker errors due to function and global naming. There's all kinds of issues that you don't understand because you don't know how things are set up. There's also problems with things like return values where floats have to be cast from DWORDs etc and this has to be manually added in. And don't forget writing all of the examples, setting up the help files, installer etc. The list of work goes on and on.
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 22nd Apr 2005 23:48
Fine... screw it.
All I keep hearing is excuses, I've had enough..
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 22nd Apr 2005 23:54
Not excuses Raven but reality. It's easy enough for you to look from the outside and say something can be done in a few hours but you don't have the benefit of seeing the full picture. Perhaps if you did you would see things somewhat differently.
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 25th Apr 2005 00:01
Try to look at this from my perspective.
We were told that an SDK with functionality was planned, perhaps it was niave to think that it might be supplied within 2years of the said promise, but I firmly believed that it was due within a few months.

In the mean time, IanM created his own interface, which has evolved and become compatible with several platforms after a lot of hard work on his part.

Only for TGC to create a product that sales could be threatened by the existance of IanM's Interface. He was asked to take it down, so he did. Yet the product that TGC have replaced it with wasn't a replacement like many of use thought it would be, even despite the fact of a price-tag I was still willing to buy it in order to develop a TPC.

Now there is nothing for TPC developers, with a legal issue following the Interface meaning... I am quite worried about if it is legal to even use right now, let along the fact that it hasn't updated in a while and since the last update TGC has majorly overhauled DBP twice, meaning there is a good chance it is no longer compatible even.

What baffles me about this whole situation is;
Why doesn't TGC simply ask Ian for his source code, and explaination on how to create/update the Interface then release an official solution using that as a base. Atleast until you have time to create your own?

Also why does everything NEED a help file and examples?

I think a number of users would clearly agree with me that access is MORE important than a small example source explaining how to make a pop-up box or a cube spin. Seriously, they're just DBP commands... hell you just have to look at them in a C++ context but the DBP help and examples should work fine.

At the end of the day it's not like I'm asking you to move mountains or make the damn thing completely .NET Compatible... I'm simply asking for something that quite honestly was already available.

Put an EULA on it preventing it to be used for projects external of DBP, and let us get on with our development projects to enhance DBP.
Cellbloc Studios
20
Years of Service
User Offline
Joined: 15th Mar 2004
Location: Atlanta, GA
Posted: 25th Apr 2005 04:21
Gotta disagree with you on the Help files. I think, if you look at the bug issues, not having access to the correct syntax if one of the major issues. Looking at the forum, people are begging for help making a cube spin.

-This...is my boomstick!
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 25th Apr 2005 05:22
That just proves people are idiots.
Especially as we're not talking about people who've never programmed before. If they want to try and program using the Interface then fair enough they can try.

It might fill the forum full of more bug reports from the handful that try, but quite frankly how does this make any difference from those who use DBP without using the help and claim it isn't working?

It doesn't.
Even with help these people will still post bugs that aren't there, and still not create anything. The Interface really was being used primarily by TPC Developers...

I don't see why the people who are ACTUALLY going to use this, have to suffer and wait just so that people who are never going to achieve anything with it can have a bunch of lovely examples and echoed help.

Seriously, it's just bad priorities. What makes this whole situation worse is that those who need/want this right now are a minority. Hell I bet you could count the number of people who want this right now on one hand...

As such this makes it a 'low priority' in the eyes of TGC.
No matter how vocal I am about this, it's never going to change that I'm just a single user. So really what does it matter than only 1 maybe 2 people are actually asking for something when there are thousands of others who are asking for more functions in DBP, or waiting for FPSC.
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 25th Apr 2005 12:22
Quote: "Seriously, it's just bad priorities."


Quote: "No matter how vocal I am about this, it's never going to change that I'm just a single user. So really what does it matter than only 1 maybe 2 people are actually asking for something when there are thousands of others who are asking for more functions in DBP, or waiting for FPSC. "




So are you suggesting that the priorities of one or two users SHOULD be more important than the "thousands of others who are asking for more functions in DBP, or waiting for FPSC."?

EZrotate!
Tokamak Physics Wrapper!
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 25th Apr 2005 14:30
I do think they should ammend the EULA to allow you to make free dlls for use with DBP. What could it hurt?

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 25th Apr 2005 18:30
Quote: "So are you suggesting that the priorities of one or two users SHOULD be more important than the "thousands of others who are asking for more functions in DBP, or waiting for FPSC."? "


Not sure if that was a deliberate mis-understanding or not.
I feel it is bad priorities believing that Help & Examples are a *must* before releasing something of this nature.

Also I feel that while it might only be a handful of users who want this, we have been waiting longer than DBP and FPSC people with only more promises that something is 'on the books' so to speak.
It doesn't make much sense to limit the community that is dedicated to improving and extending a product that currently they have no time to really improve or update. Bug weeks are great, but they only happen once in a while.

They've had the time to create DGSDK which is a version of the Interface designed to make them money.. Yet, a version for the loyal DLL developers keeps being sidetracked.

It's hard not to feel slighted by this. I even said that I'm actually willing to pay to be able to use such a service, although I would find it a little insulting having to. Yet to find out that the functionality required to use DGSDK for internal purposes wasn't included.
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 25th Apr 2005 21:46
Quote: "I feel it is bad priorities believing that Help & Examples are a *must* before releasing something of this nature."


I agree with that sentiment, but only for the TPC SDK - it will generally only be used by people who are already experienced in DBPro. The numbers of people using this will always be low, and most of those will be experienced users.

However, I agree with TGC that DBPro, FPSC and DarkSDK are their highest priorities for the coders (probably in that sequence), and that help is a major part of these releases. That puts a TPC SDK near the bottom

I have to reiterate - development of the DarkSDK and the TPC SDK are not the same thing at all. They are done in completely different ways, use completely different systems, and probably, a different skill-set to produce in the first place.

@LIT,
It won't work. You can't produce a DLL from the DarkSDK that would work correctly with DBPro in any meaningful way - The EULA doesn't come into it in this case.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 25th Apr 2005 22:11
Well bummer. Could we at least have it a bit clearer written. From what I read you cannot even make a level editor for your game. I hope the commercial version doesn't have such a limitation.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 25th Apr 2005 23:23
What the commerical version will cost though, it might be less expensive just to use another middleware for level editors.

I still reckon they could put and EULA with your interface and et voila instant Interface for those of us who'd use it. :: shrugs ::
Jimmy
21
Years of Service
User Offline
Joined: 20th Aug 2003
Location: Back in the USA
Posted: 26th Apr 2005 04:20
Why don't you make your own interface, you ninny.

Should only be an afternoon's work...






No?

Erick G
Retired Moderator
20
Years of Service
User Offline
Joined: 2nd Oct 2004
Location: Texas, USA
Posted: 26th Apr 2005 04:59
lol
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 26th Apr 2005 07:09
Quote: "Why don't you make your own interface, you ninny.

Should only be an afternoon's work...






No?"


I'm not the one with the DBP Source Code :p

APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 26th Apr 2005 08:24 Edited at: 26th Apr 2005 08:25
I've been reading and following this, and quite supprised that this has kicked up. Technically speaking, an interface for TPCs is possible now using the TPCToolkit. This was announced in Last year's December newsletter:
http://www.thegamecreators.com/data/newsletter/newsletter_issue_24.html#6

Now given a little C/C++ knowledge, and common sense to know what parameters each function exported from the DBPro system DLLs are, you can setup thunking layer functions to call these Exported functions quite easily using the Toolkit. If you have the globstruct, which leads to the DLL handles when your EXE is running, why not setup function pointers to the functions you actually want to call in your TPC plugin? I really don't see what the issue is here.

Paul.


Home of the Cartography Shop - DarkBASIC Professional map importer
Jimmy
21
Years of Service
User Offline
Joined: 20th Aug 2003
Location: Back in the USA
Posted: 26th Apr 2005 08:44
Ahh, the classic example of someone who knows what they're talking about and a poser.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 26th Apr 2005 23:11
Apex, that'd simply be the Symbol Importing method... which was the first thing I mentioned.

This isn't a desired method for a number of reasons.
A bit like why to create a WinAPI Interface for DBP, you wouldn't program it within DBP using the DLL Functions... instead you'd develop it as a TPC.

It particularly isn't something I want to try and do, and I stress TRY.. because I've never been able to successfully use a DLL pointer without causing errors all over the place.

And quite frankly I shouldn't have to endure the problems and headaches of getting things to work from that perspective.

An Interface was promised.. We had one thanks to Ian... now we don't.

It's pretty much as simple as that.

Your signature has been erased by a mod. Please resize it to under 600x120. Thanks!
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 26th Apr 2005 23:33
Yeah, I can appreciate that the importing lib/func pointer method isn't ideal, and efficient. But to emphasize that Ian's library did the same. Infact I was under the impression that the TPC Toolkit was derived from features implemented in the interface library.

In any event, I'm sure there are plans to rectify this issue otherwise it seems pointless having TPCs for DBpro in the first place.

Paul.


Home of the Cartography Shop - DarkBASIC Professional map importer
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 27th Apr 2005 00:11
Quote: "In any event, I'm sure there are plans to rectify this issue otherwise it seems pointless having TPCs for DBpro in the first place."


Yeah, I've been assured by a reliable source that what I'm after is on the way. Still, it's taken us 2-3years to get to this point.
I doubt we're looking a few weeks time-frame either, luckily someone has kindly offered to help me with my current problem directly.

Really, I'm confused to why we can't have a Class Interface similar to what DirectX has. How exactly has Dark Basic Professional's Engine been developed?

Still say we need a runtime system. Solve so many headaches.

Your signature has been erased by a mod. Please resize it to under 600x120. Thanks!
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 27th Apr 2005 03:25
Raven, was gonna respond, but after reading this month's newsletter !!


Home of the Cartography Shop - DarkBASIC Professional map importer
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 27th Apr 2005 13:29
The new license is awesome I have alot of medical bills right now but as soon as thats taken care of I will buy the commercial version and start back learning c++ Thx TGC

Erick G
Retired Moderator
20
Years of Service
User Offline
Joined: 2nd Oct 2004
Location: Texas, USA
Posted: 27th Apr 2005 16:30
Quote: "Raven, was gonna respond, but after reading this month's newsletter !!"


hehe yeah, the newsletter has some awsomes news in it !
David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 30th Apr 2005 20:53 Edited at: 30th Apr 2005 20:54
I said something really stupid here, so now I've removed it.

[url=www.lightningstudios.co.uk][/url]
TKF15H
21
Years of Service
User Offline
Joined: 20th Jul 2003
Location: Rio de Janeiro
Posted: 1st May 2005 13:12 Edited at: 2nd May 2005 03:46
Quote: "Why don't you make your own interface, you ninny.

Should only be an afternoon's work..."


Took me a full day to make mine.

Quote: "it would have taken me only a few hours to reproduce them rather than the weeks it took to make the basic interface files"

Weeks? How come?

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 2nd May 2005 00:47
How come?

Different builds are required for VC6++ and VC7++, and when I put the Dev-C++ in place, that took even more time for compatibility reasons.

Then, I didn't want a one-shot system that I'd have to be re-editing files to get everything working with later versions of DLLs, when commands disappear, new ones appear, and existing ones change. A lot of the coding time was spent on non-C++ code.

It now takes under 10 minutes for me to regenerate all of the source code (that's compatible with VC++ and GCC) and rebuild the libraries.

What did that gain me? Well, have you noticed for instance that there still isn't a version of the SDK for Dev-C++?

But if I ever switch to supporting another C++ compiler (such as Open Watcom, Digital Mars, Borland), I guess it will take around an hour to do, and will only require very minor changes to the source code generation or the supporting C++ code.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
TKF15H
21
Years of Service
User Offline
Joined: 20th Jul 2003
Location: Rio de Janeiro
Posted: 2nd May 2005 03:45
VC7 doesn't accept the VC6 libs?
I knew Dev wouldn't work with the VC libs, so my interface consists entirely of .H files, no .lib, so it should work with any C++ compiler (haven't tested with anything other than MSVC6 though). To create a new set takes a few seconds, as it doesn't need to compile anything.

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 2nd May 2005 10:40
Quote: " VC7 doesn't accept the VC6 libs?"


Yes and no. I recall having linker errors when trying to link VC6 debug libraries in VC7. I think the release mode libs were Ok for linking, but the VC7 release libs also took advantage of the improvements MS made to the compilers code generation and optimiser. All-in-all, it was simpler just to compile the separate libraries in each separate compiler.

In addition, the interface was self-initialising too, so no bugs reported because someone forgot to call an init function.

One further thing that was added was the automatic inclusion of functions that were in the DLLs, but were not commands. It only takes a minute to add each one, and it's self maintaining from that point.

The only thing that never went into a release was a nice error message when the DLL you wanted to use wasn't available. I added that in just before I took the Interface off my site.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk

Login to post a reply

Server time is: 2024-11-18 23:48:03
Your offset time is: 2024-11-18 23:48:03