PureGDK as a complete 3D engine for PureBasic

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

PureGDK as a complete 3D engine for PureBasic

Post by Mistrel »

I felt that Announcements would be an acceptable place to make this post as it's important that I receive as much feedback as possible from both application and tool developers as well as game developers.

I've been talking to The Game Creators about possibly turning PureGDK into a stand-alone product for PureBasic. This would mean that DarkBasic Professional would be integrated with PureGDK and distributed as a single installer like DarkGDK is for MSVC++.

I really believe that PureGDK will be a fantastic thing for the PureBasic community. We've never had a complete and feature-rich engine like DarkBasic Professional available to PureBasic before and I think that this will open a whole new world of possibilities.

If anyone wants to see PureGDK released as a complete solution for PureBasic I need your support now. Please use this thread to help stimulate program ideas and fuel interest in PureGDK.

Key Features of PureGDK
  • PureGDK is a complete 3D engine solution for PureBasic.
  • PureGDK runs as fast or faster than a native DarkBasic Professional executable.
  • PureGDK supports the PureBasic debugger completely.
  • PureGDK supports all licensed and third-pary plugins through a framework.
  • PureGDK is expandable through its framework and support for TPC DLLs.
  • PureGDK allows the DarkBasic Professional engine to be used in applications and not just games.
Key Features of DarkBasic Professional
  • DarkBasic Professional is royalty-free.
  • It is a modern and very capable DirectX9 engine.
  • It is stable and has few bugs.
  • DirectX9 interfaces are exposed.
  • Internal data structures are exposed.
  • The .dbo file format is fast, open, and is well documented.
  • Supports Windows 98 / 2000 / ME / XP
  • Has low system requirements and does not require a DX9 card.
About PureGDK
About DarkBasic Professional

Please do NOT crap this thread. If you are bitter about a past experience with DarkBasic Professional do not bring with you the stigmatism associated with the earlier releases. Get your facts straight before you post. Ask questions about the current state of the engine and do your research before posting what is fact in your opinion. If you want to post something negative please either be clear about your opinion or cite your source.
User avatar
yoxola
Enthusiast
Enthusiast
Posts: 383
Joined: Sat Feb 25, 2006 4:23 pm

Post by yoxola »

From this FAQ:

http://www.microsoft.com/express/suppor ... fault.aspx

7.Can I use Express Editions for commercial use?
Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.

If I have bought DarkBASIC Pro($5 boxed on ebay....), and use VC++2008Exp, if you can make it VC++ available I think this is much cheaper than buy a DakrGDK.

Don't limit your product to PB only, that'll get more market and user.

I WILL buy this if it can use all existing DBPro plugins with such ease and can be cheaper as possible, and no stupid "extract plugin DLL to temporary directory when run" like the DarkGDK did.....

As DarkGDK itself is free for personal and I'd figured how to wrap it for other languages(it's not allowed tho, I just know how to make it) like Emergence BASIC.
Last edited by yoxola on Wed Mar 05, 2008 3:46 pm, edited 1 time in total.
This field was left intentionally as signature.
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Post by Poshu »

As a former DB user, I'd be happy to have a powerfull and working 3D engine back... But what I really want right now is a multi-OS working 3D engine. Sorry, can't support you cause I won't buy PureGDK but I still wish you good luck.
Morty
User
User
Posts: 35
Joined: Mon Mar 19, 2007 8:30 am
Location: Germany
Contact:

Post by Morty »

Hi.

I think it could be a good idea. And I would buy it (if the price says 'okay'). So I can throw away my DarkBasic (didn't like it much).
But there are also some other points you have to think about.

1) who?
the purebasic community is not very big -> the target audience could not be big (maybe 5 percent)

2) why?
Not to forget, that there are also free 3D Engines. Irrlicht and Dreamotion3D (what I like). You need good arguments for PureGDK. For the most of my tests Dreamotion3D worked good. Why should I pay for another engine? Think about?
And before I pay, I should have a project in mind that only needs this engine.

3) support?
You made a port of DarkBasicPro, okay. But when something didn't run well, who is to blame? Who will fix it? When will it be fixed?

At the end: I think it's a good idea and a good extension for purebasic. But the requirements in the 'next available' engine are also very hight. Not to forget that it will cost money.
So keep on your good work.

Morty
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

yoxola wrote:From this FAQ:
Don't limit your product to PB only, that'll get more market and user.
The design that makes PureGDK "work" can probably be ported to another language/IDE but right now I'm only focusing on one thing at a time. I am interested in making PureGDK work with GCC compilers like Dev-CPP.
yoxola wrote:I WILL buy this if it can use all existing DBPro plugins with such ease and can be cheaper as possible, and no stupid "extract plugin DLL to temporary directory when run" like the DarkGDK did.....
All DarkBasic Professional plugins are supported by PureGDK through a special plugin framework which is documented and freely available. The PureGDK beta installer comes with support for 22 plugins already, almost doubling the native DarkBasic Professional command set.

I don't know how DarkGDK worked with plugins but PureGDK does all of the plugin handling for you.
Poshu wrote:As a former DB user, I'd be happy to have a powerfull and working 3D engine back... But what I really want right now is a multi-OS working 3D engine. Sorry, can't support you cause I won't buy PureGDK but I still wish you good luck.
You can wait all you like but it may take years for something like what you want to appear for PureBasic. There are solutions for this already but nothing as simple or complete as PureGDK. If you have the time, knowledge, or inscentive, you can do this already yourself using OpenGL. If you want someone to do it for you then you may be waiting a long time.
Morty wrote:the purebasic community is not very big -> the target audience could not be big (maybe 5 percent)
The PureBasic community was my first target because it was the easiest to develop for. I also expected more interest from the DarkBasic community as PureBasic is a similar dialect but this has not need the case.
Morty wrote:Not to forget, that there are also free 3D Engines. Irrlicht and Dreamotion3D (what I like). You need good arguments for PureGDK. For the most of my tests Dreamotion3D worked good. Why should I pay for another engine?
Irrlicht is not being actively developed and Dreamotion is DirectX9 like PureGDK but is years behind in development. PureGDK is the obvious solution. It won't be free but it will be very affordable with updates for the lifetime of the DarkBasic Professional product.
Morty wrote:You made a port of DarkBasicPro, okay. But when something didn't run well, who is to blame? Who will fix it? When will it be fixed?
If you encounter a bug in the DarkBasic Professional engine then The Game Creators are responsible. Some minor bugs where possible have already been address transparently within PureGDK.

If the bug is in PureGDK then I will be responsible for fixing it. I built an entire website with user accounts and bug tracking software so that I can efficiently track any bugs in my product. Depending on the severity of the bug I may be able to fix it next-day.
Morty wrote:At the end: I think it's a good idea and a good extension for purebasic. But the requirements in the 'next available' engine are also very hight. Not to forget that it will cost money.
If you're referring to DBP X10 (DirectX 10) then yes, the requirements will be higher and you will have to purchase another engine license. However, The Game Creators intend to revisit DarkBasic Professional in DBP X9 (DirectX 9) afterwards and PureGDK will support this.

If PureGDK is successful I see no reason why there shouldn't be support for DBP X10 in the future.
User avatar
yoxola
Enthusiast
Enthusiast
Posts: 383
Joined: Sat Feb 25, 2006 4:23 pm

Post by yoxola »

TGC has VEEEEERY strong market technique and they can help you sell PureGDK for countless copies if you want, it actually doesn't matter the quality to be honest.

If PureGDK is a stand-alone product, how much is the cost? I assume the price may equal or slightly less than DBPro or around, however TGC just can sell it very much.

What you need is only decent compiled examples to attract buyers, if any product can increase PureBasic sell, Fred should be happy to see it out.
This field was left intentionally as signature.
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Re: PureGDK as a complete 3D engine for PureBasic

Post by Kale »

Mistrel wrote: It is stable and has few bugs.
I'm sorry but that's not true and these are NOT language bugs.
Flip through a few pages and read for yourself:

http://forum.thegamecreators.com/?m=for ... =&i=15&p=1
--Kale

Image
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK as a complete 3D engine for PureBasic

Post by Mistrel »

Kale wrote:
Mistrel wrote: It is stable and has few bugs.
I'm sorry but that's not true and these are NOT language bugs.
Flip through a few pages and read for yourself:

http://forum.thegamecreators.com/?m=for ... =&i=15&p=1
As I've already responded to your argument in my other thread.
Mistrel wrote:Filter by confirmed (at the top) and you'll see that there are only 123 bugs listed there. If you read through them you'll notice that these bugs include more than just DarkBasic Professional and the ones that do pertain to DBP most of them are related to bugs in the language and not the engine, as I said before.
If you take the time to read the bugs listed there you'll see that my statement is true.

Among other bugs fixed and new features that are not listed here 11 of the bugs posted in the bug forum have already been fixed for 6.7.

15 of those posts pertain to products other than DarkBasic Professional. 64 of the bugs listed are either language or compiler bugs and do not affect PureGDK.

Out of the remaining 31 bugs I found only 7 to be major bugs and the remaining 24 to be minor.

Code: Select all

Fixed - 6.7
[Confirmed] [6.6] Compiler bug: Overloading
[Confirmed] Wheres DISABLE OBJECT ZBIAS!??!?!?!
[Confirmed] Bug in DirectX version checking
[Confirmed] 'View Matrix4' always sourced from camera 0
[Confirmed] [u6.2] Disable object zbias does not exist
[Confirmed] Object Transparency not working with instanced objects
[Confirmed] object in screen() gives wrong results
[Confirmed] mirror sprite = flip sprite
[Confirmed] Animated sprites can't be scaled correctly
[Confirmed] SPRITE FRAME bug
[Confirmed] [DBP 6.6] Possible Sprite Hit Bug - Your Thoughts

Other product - Irrelevent to PureGDK
[Confirmed] [DarkGDK] Framerate limited to monitor's refresh rate
[Confirmed] GDK + Vista + Animated .X
[Confirmed] GDKC++ dbSetObjectSpeed Takes Integer but dbObjectSpeed returns Float Data type
[Confirmed] Advanced Terrain doesnt get effected by fog color
[Confirmed] [Dark AI] Problems and Requests
[Confirmed] [GDK 1.6.2] Transparency
[Confirmed] [GDK 1.6.2] dbGhostObjectOn
[Confirmed] [GDK] dbLoadDLL
[Confirmed] [DarkPHYSICS] Phy Set Rigid Body Rotation
[Confirmed] [Dark AI + Dark Physics] Interaction bug
[Confirmed] darkAI 1.02 ( U6.2b ) Ai Kill player not found.
[Confirmed] [ GSDK ] dbValR
[Confirmed] [GSDK] Limb problem
[Confirmed] [GSDK] Loop music problem
[Confirmed] [RC10] Hard Drive Example report errors

DarkBasic Professional (language) or does not apply to PureGDK
[Confirmed] Global follows 'empty comment' bug
[Confirmed] Incrementing double floats in subroutines
[Confirmed] #constant breaks after broken, commented remstart
[Confirmed] #constant in string
[Confirmed] IF THEN ELSE Bug
[Confirmed] Mysteriously changing directory
[Confirmed] DELETE DIRECTORY bug
[Confirmed] 'Write String' crash on large strings
[Confirmed] [6.6] MOD operator doesn't work with dwords
[Confirmed] [DBP 6.6] File reading commands return 0 when used with different types
[Confirmed] [DBP 6.6] Duplicate functions and labels
[Confirmed] odd results using val on double integers
[Confirmed] Undim does not clear the strings
[Confirmed] Could not find field ...
[Confirmed] Brackets in Strings
[Confirmed] Very weird function-name bug
[Confirmed] Case comments cause error message
[Confirmed] "Non-existing function in function" bug
[Confirmed] Strange array crashes?
[Confirmed] Divide by 0 non-error
[Confirmed] order of operations multiplication/division error
[Confirmed] Blank string evaluating true
[Confirmed] #INCLUDE not working if followed by a remark
[Confirmed] Array Count() Syntax Error please!
[Confirmed] DBP 6.6b Windowed Desktop doesn't account for position of the taskbar
[Confirmed] exitfunction weirdness
[Confirmed] DBP 6.6b - Duplicate labels do not cause an error
[Confirmed] [DBP 6.6b] Read String FILEID, "Insert A String Here" Problem
[Confirmed] [U6RC10] File blocks not named "zip"
[Confirmed] Can't use global as iterator in FOR loops when inside a function
[Confirmed] Could not delete ogg vorbis - a command is missing!
[Confirmed] Load Static Objects, dead link in help file
[Confirmed] Some methods of passing data to a global can be a hit or miss
[Confirmed] Serious array bug!
[Confirmed] declared String types and the $ designator
[Confirmed] [DBPro - U6.6b] Select / Case : Incompatible datatype causes crashes
[Confirmed] Double Integer bug
[Confirmed] READ BYTE FROM FILE does not work with attached files.
[Confirmed] Small parser bug with if...then...else
[Confirmed] DBP 6.6: Not all camera commands use the current camera
[Confirmed] [U6RC10] SYNC RATE accepts negative value
[Confirmed] Please error if globals cannot be passed an expression
[Confirmed] Update 6.0 - Certain case statements cause the compiler to report wrong error line
[Confirmed] exe with .pck silently crashes if .pck file is missing.
[Confirmed] DoExpressionList error
[Confirmed] DPpro fails to detect duplicate lables while compiling. No warning message is issued.
[Confirmed] Reading file bug!
[Confirmed] Program won't stop with error message
[Confirmed] Debugger, variables in functions
[Confirmed] DoExpressionList : DoExpressionListString error
[Confirmed] [U6] Multiple Float Definitions
[Confirmed] Array count : strange behaviour ?
[Confirmed] Problem with global variable declaration
[Confirmed] Mod is borked!!!!
[Confirmed] ENDFUNCTION/EXITFUNCTION return value bug
[Confirmed] Calling a non existant function from within a function return a value
[Confirmed] Floating point parser is a little ka-ka
[Confirmed] stange coma behaviour
[Confirmed] [U6RC10] Set current camera
[Confirmed] first token$ problem with string parameter
[Confirmed] not is most definitely not working
[Confirmed] [RC10] Keyword THEN not being highlighted
[Confirmed] Feature Request: PLAY SPRITE enhancement
[Confirmed] [6.6] Error with datatypes when using comment blocks which declare local variables of the same type

DarkBasic Professional - Major
[Confirmed] problem with add mesh and/or vertexdata commands
[Confirmed] [6.6]2D in Loops with Memblock cmds anywhere = bitmap clipping to window size
[Confirmed] .x file import
[Confirmed] Screen flashes whenever num. of sprites is divisible
[Confirmed] Mesh Vertexdata values change on Intel based pc, but ok on AMD
[Confirmed] perform checklist for limbs
[Confirmed] Deleting Matrix Texture Image Causes Program to Quit Silently

DarkBasic Professional - Minor
[Confirmed] [6.6] Mesh Error report wrong
[Confirmed] Control Camera Using ArrowKeys does not use correct camera angle
[Confirmed] RANDOMIZE MATRIX bug
[Confirmed] Make mesh from object still using a 16-bit index buffer
[Confirmed] Rotate object collision bug? v1.066
[Confirmed] Bitmaps limited to 2048 pixels wide
[Confirmed] Crash when setting display resolution to max screen width or higher
[Confirmed] [DBP All versions] Make Memblock < 258, SIZE
[Confirmed] Scroll object texture, doesnt work when specifying a texture layer to work on.
[Confirmed] Set Object Radius + Object Size
[Confirmed] collision box does not turn after using the fix object pivot command
[Confirmed] Offset Sprite dosen´t offset correct with scaled sprites
[Confirmed] U6RC10 - Instances objects orientation.
[Confirmed] Text font Change on 3D Dll Include
[Confirmed] i dont know what kinda bug is this.
[Confirmed] Scale Object Texture is buggy
[Confirmed] Set camera range
[Confirmed] SET LIGHT TO OBJECT ORIENTATION - does not work, but ROTATE LIGHT does (both are equivalent)
[Confirmed] SET LIGHT TO OBJECT POSITION - Does not work, but POSITION LIGHT does (both are equivalent)
[Confirmed] DBPro 6.3 / MD2 model load trouble
[Confirmed] Memory Leak when Loading and Deleting Objects
[Confirmed] [U6.2b] Object Size (Instanced) bug
[Confirmed] sync mask. It isn't working
[Confirmed] U6RC10 - object visible and object in screen not working for instanced objects
User avatar
yoxola
Enthusiast
Enthusiast
Posts: 383
Joined: Sat Feb 25, 2006 4:23 pm

Post by yoxola »

Benig neutral and talks about the PureGDK it self, I think Mistrel did his best effort to made it working and bugfree as possible.

I actually hope there's a few compiled demo to see and test, it's a more direct way to see how PureGDK works. like porting existing example, using plugins etc, and speed comparsion.

A executable demo says more than many words.

Most ppl here are picking up about DBP itself, if a bug/unstability has been found, I 'd hope they submit bug to official DBP board.
This field was left intentionally as signature.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

Source and pre-compiled examples are available on the PureGDK website: http://puregdk.com/index.php?f=examples. There are also some examples in the open beta thread as well.
Kelebrindae
Enthusiast
Enthusiast
Posts: 151
Joined: Tue Apr 01, 2008 3:23 pm

Post by Kelebrindae »

(like yoxola, I'll try to be neutral: i've used both DB and PB and i've liked 'em both, if for different reasons)

Very interesting initiative, I must say, as PB natively lacks some essential features to allow serious game programming (3D, multiplayer, etc..).

However, I quite agree with Morty: most of the lacking features could be replaced by third-party DLL (Dreammotion is cool! And not so far behind...) and/or existing snippets.
=> the easiness you provide by integrating DB in PB must be worth the price you'll ask for PureGDK.

If PureGDK isn't overpriced, the only thing that could deprive you of my unconditional support (for what it's worth :wink: ) would be the speed concern: are DB commands fast in PureGDK? It seems so, from what I see in the samples. But is it as fast (or faster) than Dreammotion for the same result ?

One more question: PureGDK integrates support for various TGC plugins, and that's great. But there's one plugin I'd really love to use in PB: the Newton Wrapper, from Walaber.
Do you intend to add it ?
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

http://www.purebasic.fr/english/viewtopic.php?t=31201
Is PureGDK slower than a native DarkBasic Professional executable?
A PureGDK executable will run as fast and in some cases will execute the same DarkBasic command faster than a native one when compiled without the PureBasic debugger.
Kelebrindae wrote:One more question: PureGDK integrates support for various TGC plugins, and that's great. But there's one plugin I'd really love to use in PB: the Newton Wrapper, from Walaber.
Do you intend to add it ?
The PureGDK beta installer comes with support for the Newton plugin. There is an option to install support for it. There is also support for DarkPhysics (PhysX) if you prefer.
Kelebrindae
Enthusiast
Enthusiast
Posts: 151
Joined: Tue Apr 01, 2008 3:23 pm

Post by Kelebrindae »

Mistrel wrote: A PureGDK executable will run as fast and in some cases will execute the same DarkBasic command faster than a native one when compiled without the PureBasic debugger.
Yep, seen that. But my question was "is it faster than Dreammotion ?" (I wasn't really expecting an answer from you on this point; I'll have to test it...)
Mistrel wrote: The PureGDK beta installer comes with support for the Newton plugin. There is an option to install support for it. There is also support for DarkPhysics (PhysX) if you prefer.
Great ! :D
I was asking because there's no indication of this support in the commands list, on your webpage.
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Post by Poshu »

And more importantly for me: do yo have any idea of the release date?
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

Kelebrindae wrote:Yep, seen that. But my question was "is it faster than Dreammotion ?" (I wasn't really expecting an answer from you on this point; I'll have to test it...)
I have no experience with Dreammotion so I can't answer that.
Poshu wrote:And more importantly for me: do yo have any idea of the release date?
I'm anticipating an official release within the next two months.
Post Reply