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.

PureGDK / Porting from GDK to PGDK, need Matrix1 Utils to complete my project...

Author
Message
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 18:03 Edited at: 7th Aug 2011 18:04
I'm almost there getting it up and running with my old project being ported over.

I'm after getting 2 plugins working with PGDK, the first priority is Matrix1 Utils and the next is Sparky's.

If I can't get Matrix1 then does anyone know how to manually build a 3d object from scratch? I currently have all the vertex data, the face indices and the UV coords for each vertex.

EDIT: Can you use the Visual Studio form editor in a project?

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Aug 2011 18:13 Edited at: 7th Aug 2011 20:18
I'm working on making some additional changes for C++ plugin support right now. Sparky's plugin works great and will be updated to the latest 2.05 release. Working with plugins will be a lot smoother in the next beta (beta 10).

Tell me what you need from IanM's plugins and I'll wrap it up for you.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 18:30
Thanks Mistrel...

Matrix1Util_18 - Especially the MAKE OBJECT NEW command...

I've got some example code provided by IanM using that method and I've been trying my best to avoid using a memblock. Currently I have my code working perfect with the dbMakeObjectTriangle() function but I want to reduce the amount of vertices because I have a bad and slow graphics card on this machine...

Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 21:53 Edited at: 7th Aug 2011 21:55
dbCreateObjectTriangle() doesn't seem to be working at all...



I don't mind posting the project if need be...

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Aug 2011 22:03 Edited at: 7th Aug 2011 22:06
I was just about to upload beta 10.. let me have a look at this.

I got IanM's Matrix1Util 9, 12, 18, and 26 wrapped for you. They seemed like the most important ones.

By the way, the easiest way to nail whether it's a bug or not is to see if it works in DBP. That way you're sure.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 22:14
I stripped the old code from my GDK project which was complete and working. All I needed was to remove the triangle creation and change it to a single object creation...

I'm hoping I've zipped it right. In DBPro the Make Object Triangle uses float values but the PGDK docs and the intellisense reports the values as being int32_t...

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Aug 2011 22:31
Aha! You're right!

Fixed for beta 10.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 22:55
Ah great... Just waiting for beta 10 and Matrix1. The rest of the code is working so far. In the meantime I'm going to have a look over the changes and keep an eye on the forum posts...

Thanks Mistrel...

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Aug 2011 23:12 Edited at: 7th Aug 2011 23:15
Beta 10 is out!

Quote: "C++ users: be sure to delete all of your old "plugin" headers .h and .cpp files before copying over the new ones otherwise you will compiler/linker errors. Some of the libraries have been consolidated and linking with the old ones will get you naming conflicts."


http://forum.thegamecreators.com/?m=forum_view&t=177817&b=38

I didn't have anything to test IanM's plugins with so it may or may not work. Be sure to add the plugins to the PureGDK engine/plugins-user directory and rebuild the engine so that they get included:

Start > PureGDK > Compile Engine DLL With Plugins

The installer will also compile with plugins by default. So if they're already installed in the DBP installation path you specified, they will get copied over and compiled in automatically.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Aug 2011 23:25
WLGfx, I was looking at the code you posted and noticed that there is an issue with one of your function calls.

dbLoadImage("floor.jpg", img) should be:

dbLoadImage("floor.jpg", kGDK_Default, img)

For all and dbCreate/dbLoad/dbClone/dbInstance commands, the ID portion has been moved to the end. This means that you might get some new friends cropping up in the middle.

Alternatively, you can do this:

img = dbLoadImage("floor.jpg")

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2011 23:46
It's currently working now with the dbLoadImage() changed. And I am actually getting a faster frame rate than the GDK version of it. The current working project is attached.

Now for the test with the Matrix1 Extensions. I'll read through the instructions on how to re-compile with Sparkys and Matrix1. Fingers crossed I can get it working first time...

I like the speed increase, and I've just checked, it was in debug mode and not release either.

So far a big thumbs up...

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 00:34
That project you made is really impressive. I love dungeon crawling; especially random dungeons where the fun never ends.

Please keep me updated.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 8th Aug 2011 00:49
Different values passed to the generation algorithm produces some great results. I may be having an issue with the floating point accuracy compared with doubles but I'll get around it. Once I've implemented the single object build using the Matrix1 Plugins I should see an even bigger FPS increase when the number of vertices decreases. At the moment I'm testing it with a generation of 500 floor faces, but the algorithm will go to a max of approx 20,000 floor faces.

I'll definitely keep you posted with it, because I want to make a simple endless game out of it.

Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 9th Aug 2011 04:12 Edited at: 9th Aug 2011 04:12
Removed the other project but attached the current one to this post.

I've tried using the Matrix1 addition to build an object but coming up blank. I'm going to try it in the morning with DBP to see what results I get.

My function which uses it is sparse at the moment but should produce a basic object:



Plus I think this command dbSetVertexIndexData(vertbuffer, vertindex) may be the wrong way round. DBPro has the function as 'Set Index Data index, vertex'.

I've tried either way around as in the above code. All the verts and indices are correct as I've used them already to create the level via triangles.

Some updates to the generation algorithm too.

Hoping someone can shed light on this please...

Warning! May contain Nuts!

Attachments

Login to view attachments
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 12:06
I've been adding a lot of additional plugins for beta 11 and just realized.. I forgot to add the few lines needed to tell gdkc to compile in the plugins. So, if you've watched my latest video plugins and PureGDK:

http://forum.thegamecreators.com/?m=forum_view&t=187833&b=38

You'll find that the plugins don't exist in your application! Hence they won't work.

I'll have a new beta up shortly with this fixed for you.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 9th Aug 2011 17:15
I'm probably missing something really simple. I've followed the video the best I could. (I actually preferred the chm help file when I originally installed PureGDK). I've re-compiled the engine with the plugins, copied the dll file over, as well as all the includes. The GetModuleHandle() shows that sc_collision.dll has loaded but not Matrix1Util_18.dll. The gdkengine.dll did change size too.

Almost there...

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 17:39 Edited at: 9th Aug 2011 17:41
The file you need to modify is called "libraries" is in the "Program Files/PureGDK/bin" folder. This file tells gdkc which plugins it's allows to include as well as a few other things.

Replace its contents with the following. This will be the magic that makes gdkc know which plugins to include:



If you examine it closely, you'll see the first set of plugins appended by "core". This is how gdkc knows not only which plugins are part of the core engine, but also so it doesn't try to include something it's not supposed to.

For the moment, it needs to know both the DLL and a command from inside it (delimited by "%"). This is a relic from PureGDK history. Eventually this will be just a list of DLLs.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 9th Aug 2011 17:55
Aha, got it. And it works. Thanks Mistrel

Just going to spend a little bit of time benchmarking the difference between thousands of separate triangles to just a single object now. I'll post something once it's done...

Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Aug 2011 19:56 Edited at: 12th Aug 2011 01:09
Thanks to the addition of Matrix1 Utils I have now completed my level generation algorithm and also fixed the UV stretching on the walls:





The current project as it stands is attached if anyone wants to have a look through the code. It will generate a level and make two copies of it, the one underneath is built manually and the one above is created using many triangles.

Now I'm going to work on decorating the dungeon.

Mistrel: Edited your image so it wasn't so wide.

Warning! May contain Nuts!

Attachments

Login to view attachments
TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 11th Aug 2011 23:52
Hi Mistrel.

Forgive me if I've asked any of this before. My excuse is that:
a) I'm old
b) I am working with Dark GDK, Irrlicht and C4 at the moment while also trying to work out if PureGDK might be better.

I'm working on a complex simulator for marine vessels at the moment. I've been trying out the three video/sound libraries, Dark GDK, Irrlicht and C4. They all have pluses and minuses.

What I need is this:

1. To be able to natively import .x, md2, md3, and 3ds meshes. (I can do that with Irrlicht but not C4 or Dark GDK)

2. To be able to use my existing GDK shaders (Irrlicht and C4 need a lot of changes made, although C4 now has the support I need and we have create dshaders for Irrlicht which are almost finished)

3. To be able to select between Open GL and DirectX9 or else between DirectX 9 and 10/11 (Irrlicht handles DX9 and OpenGL with DX11 on the way. C4 handles all versions of DirectX)

4. To be able to open an encrypted zip file and treat it as if it was a folder on a disk. (Irricht and C4 can do that)

I think those are my main deciding actors.

I do love the ease of use of Dark GDK, and have managed to rebuild it to overcome most of the memory leaks and other problems. I've also written a number of new features for it. (So I can now ALT/TAB between fullscreen Dark GDK and some other application and then switch back again).

But a rewrite for DirectX 11 and Open GL would just take far too much time. The lack of 3ds is also a huge downside.

So, you can see my dilema. Where does PureGDK sit in this lot?

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 12th Aug 2011 00:51 Edited at: 12th Aug 2011 01:14
Quote: "1. To be able to natively import .x, md2, md3, and 3ds meshes. (I can do that with Irrlicht but not C4 or Dark GDK)"


Only the .x format is well supported. 3ds importing works but it's not very good. There is a free 3ds to .x converted in one of the early DirectX SDKs that works extremely well. md2 models will import, but they do not animate.

Quote: "2. To be able to use my existing GDK shaders (Irrlicht and C4 need a lot of changes made, although C4 now has the support I need and we have create dshaders for Irrlicht which are almost finished)"


GDK shaders will work just fine.

Quote: "3. To be able to select between Open GL and DirectX9 or else between DirectX 9 and 10/11 (Irrlicht handles DX9 and OpenGL with DX11 on the way. C4 handles all versions of DirectX)"


There is only support for DirectX 9 at the moment. This may change in the future.

Quote: "4. To be able to open an encrypted zip file and treat it as if it was a folder on a disk. (Irricht and C4 can do that)"


I only looked at it briefly, but the code to do this in Irrlicht doesn't appear to be tightly coupled to the engine. Maybe you can extract these classes and use them independently?

Quote: "So, you can see my dilema. Where does PureGDK sit in this lot?"


There are similarities to DarkGDK in that it is based on the DarkBasic Professional engine with one major difference: PureGDK utilizes dynamic linking while DarkGDK uses static linking. The result is that PureGDK is always up to date with the latest DBP release, is 100% compatible with all DBP plugins, and is capable of being ported to numerous other languages (see the PureGDK SDK).

PureGDK aims to make up for the limitations of DarkGDK by providing an engine that is portable, easy to use (documentation included!), and integrates well with the target language (support for std::string, etc).

There are many advantages provided by PureGDK beyond that of the engine it extends. See here for a summary of changes and improvements:

http://forum.thegamecreators.com/?m=forum_view&t=187939&b=38

At some point down the line after PureGDK 2.0 has been released I will also eventually be delving into the DBP source code and start fixing bugs as well.

Another long-term goal will be to decouple the renderer from the engine so that it can be completely swapped out to something else such as DirectX 10/11 or OpenGL for Mac/Linux/mobile development.

The engine has a lot of life left in it. My first priority is to get all of the features of PureGDK completed before I delve into modifying the core engine itself.

This is where PureGDK stands. Does this help answer your questions?

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 12th Aug 2011 06:06
Now and then when I do a fly through checking out my project I get an access violation at address blah blah, and the debugger keeps dropping me here:





Always the same place it drops out. Everything runs fine for a short while but something to do with the Rotating objects causing this. If I stay within the confines of the level then it will run a little longer before that.

Warning! May contain Nuts!
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 12th Aug 2011 07:22 Edited at: 12th Aug 2011 08:08
If you're getting sudden and seemingly random crashes, this can be caused by not properly addressing invalid calls to functions.

PureGDK provides a way to catch errors with dbGetLastError instead of crashing, however, ignoring these errors can put DBP into an unstable state. Identifying these functions is on the to-do list but is a low priority.

The easiest way to check for this is to use dbSetRuntimeErrorCallback (added in beta 11) to help you see if any errors have been generated by your program at runtime:



I'd say that most of the time I've experienced what you're describing, it's because of this.

Also try watching your application's memory usage in the task manager to see if there is a memory leak somewhere.

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 12th Aug 2011 11:21
Quote: "Only the .x format is well supported. 3ds importing works but it's not very good. There is a free 3ds to .x converted in one of the early DirectX SDKs that works extremely well. md2 models will import, but they do not animate.
"


I've used the converter program a lot. In fact, I've recommended it on this forum previously. But it has its limits. I've got 3DS anyway, so it's easier to use that to convert. Unfortunately, many conversions then require a lot of work to restore the previous functions/look of the models.

Not handling md2 properly or md3 at all is probably a killer for me.

Quote: "
There is only support for DirectX 9 at the moment. This may change in the future.
"

That's also a bit of a killer for me. A lot of my customers use OpenGL and many are running Windows 7. If I can get around the fuss of installing what they perceive to be "outdated" DirectX 9, it is a big bonus.

I'll keep an eye on the development of your libraries. So near...

Thanks!

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 12th Aug 2011 12:30 Edited at: 12th Aug 2011 12:39
The md2 and md3 imports being broken is very unfortunate as they are nice formats to use. I'll start looking into fixing up the engine when I get a chance. I'd like to see these working again as well. I've actually got a great book which covers 3ds, md2, md3, mdl, and a few other formats.

While it may not have some of the features of other engines, PureGDK tries to make up the difference by providing a solution that's accessible and provides an easy to use engine, a strong feature set, and excellent documentation.

DirectX 9 may be a bit dated, but it's extremely well supported by a broad range of hardware and is "good enough" for almost anything. If you really need the capabilities DirectX 10 and 11 has to offer, then you will probably want something a little more specialized anyways.

I think that DirectX 9 will still be around for years to come.

EVOLVED has some stunning examples of what can be done with DarkBasic Professional (and PureGDK as a result):

http://www.evolved-software.com/darkquake/darkquake



TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 12th Aug 2011 21:10 Edited at: 12th Aug 2011 21:12
One thing to remember is that .x, .b3d, and .ms3d support skeletal animation.

But .md2 and .md3 don't support skeletal. They support morph target animation instead.

I'm guessing that these differences may be part of the problem in the range of TGC products, but I haven't studied it at any length.

Don't get me wrong about DX9. I find it extremely good. But it's customer perception. Having bought a high-end PC with Windows 7 and then to be told to install an older version of DirectX, they immediately perceive it as downgrading their current version of DirectX.

I know that DirectX 9 and 10/11 are completely different products and will happily co-exist on the same machine, but customers generally don't grasp that. It's Microsoft's fault for keeping the same name for a very different software product!

PS Evolved very kindly helped me with some of the shaders for one of our ship simulators. He produces excellent stuff! If I had a pedestal handy, I'd stand Evolved up on it!

Amazing Simulation
www.amazing-forum.com
TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 18th Aug 2011 22:47
Hi Mistrel.

Still trying to work out whether to use Irrlicht or GDK (Dark or Pure).

I have now got 3DS Max working and it can export X format models. But the md2 and md3 would be so very useful, along with the bsp format meshes.

I think that for now I can probably live with only DX9 support.

I still have a couple of other issues to overcome, but I think that may just be a question of time.

A few more questions:

1. Once you get past beta, what are your licensing terms going to be?

2. Will Dark Clouds work with Pure GDK?

3. I have added a couple of extra screen modes to my Dark GDK implementation. Will it be possible to get them working under Pure GDK? (I've modified the source code and recompiled a number of libraries).

4. Also, I made a few changes to Dark GSK in order to get Dark Physics working properly. Mainly adding in missing declarations etc. If I find any are missing under Pure GDK, is it possible for me to modify my copy and recompile it?

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 19th Aug 2011 01:07 Edited at: 19th Aug 2011 02:15
Quote: "I have now got 3DS Max working and it can export X format models. But the md2 and md3 would be so very useful, along with the bsp format meshes."


Once I start delving into the engine for bug fixing I will be looking into md2 and md3. I don't know yet how complex the code is for this so no promises.

Quote: "Once you get past beta, what are your licensing terms going to be?"


Any existing PureGDK user will receive a free upgrade to the commercial version of PureGDK 2.0. I'm trying to work out a freeware solution with TGC which would end up costing half as much as the commercial. But this is still up in the air at the moment.

There is also a chance that there may be an upgrade path for DarkGDK users as well. Again, it's up in the air at the moment.

Quote: "Will Dark Clouds work with Pure GDK?"


PureGDK already works with Dark Clouds. There is even an example project included.

Quote: "I have added a couple of extra screen modes to my Dark GDK implementation. Will it be possible to get them working under Pure GDK? (I've modified the source code and recompiled a number of libraries)."


You will have to be more specific. If I understand you correctly, then the example source code included in the documentation will provide you with an alternative for querying supported resolutions and adjusting to them. This might provide you with the same functionality.

See here in the documentation for C++:

How to > Basics for C++ > Fundamentals

Quote: "Also, I made a few changes to Dark GSK in order to get Dark Physics working properly. Mainly adding in missing declarations etc. If I find any are missing under Pure GDK, is it possible for me to modify my copy and recompile it?"


Any declaration which is not in the help file was commented out but should still exist in the .gdt template for DarkPhysics. If you see it there, you can just uncomment it, run the .bat file to rebuilt the header, and you should be set. If it's not there, let me know and I'll help you add it.

So in short, yes. Adding support for missing declarations is extremely simple to do. It just hasn't been documented yet.

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 19th Aug 2011 19:19 Edited at: 19th Aug 2011 19:49
For the "declarations", I mean that in the C++ code for Dark GDK, some functions exist but there was no forward declaration made for them. In those cases, I've gone into the code and added the forward declaration. Here's an example from DarkSDKBasic3D.h :


I also fixed the problems with dbMakeObjectPlain/Plane (the iFlag component was missing from the redirectors that were supposed to catch dbMakeObjectPlain instructions and redirect it to dbMakeObjectPlane, so I created the missing overloaded functions). Here's the start of that chain, but I had to also create the functions to which this links.


Regarding the display mode changes, here's an example from CGfxC.cpp:



Also, I'm still not clear as to what your commercial license terms will be. Do I get free an unlimited use? Limited to a single workstation? Must pay you if my products sell for more than £50? Or...?

There are so many different licencing terms around for gaming libraries, and I've found out the hard way that it pays to be very precise before I commit to a system.

Thanks!

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 20th Aug 2011 01:48 Edited at: 20th Aug 2011 01:53
Quote: "For the "declarations", I mean that in the C++ code for Dark GDK, some functions exist but there was no forward declaration made for them."


If there is a missing declaration, this can be easily added to the plugin's associated template '.gdt' file. Run a single bat file and all of the source code required for every supported language will be generated automatically.

PureGDK actually has a declaration and definition pair. So allowing this process to be automated is advisable over doing it by hand. None of the wrapper code is written by hand anymore.

Quote: "I also fixed the problems with dbMakeObjectPlain/Plane"


As it was redundant and grammatically incorrect, PureGDK only has "dbMakeObjectPlane", so this is not an issue per se.

http://public.wsu.edu/~brians/errors/plain.html
http://www.beedictionary.com/common-errors/plain_vs_plane

Quote: "Regarding the display mode changes, here's an example from CGfxC.cpp:"


This will not be an issue at all. The documentation provides source examples on how to do this. Also of note:

http://forum.thegamecreators.com/?m=forum_view&t=187939&b=38&p=0

Another difference that some of you might not be aware of is that PureGDK does NOT use "DarkGDK()/LoopGDK()". You can use whatever entry point you want, be it main(), WinMain(), _tWinMain(), etc:



Unlike DBP and DarkGDK, in PureGDK, the renderable area is separate from the actual window. As you can see from this example code, dbOpenScreen accepts a target window handle "hWnd" which tells it where to render the output. This allows PureGDK to render to "any" window owned by the process and is not limited to any one implementation, for example: you can use PureGDK with GLUT, Qt, Win32, wxWidgets, etc.

Quote: "Also, I'm still not clear as to what your commercial license terms will be. Do I get free an unlimited use? Limited to a single workstation? Must pay you if my products sell for more than £50? Or...?"


The license will be for a single-user node-locked license which means one user and it can only be installed on one computer at a time (it can be moved). I won't be enforcing the node-locked part for indie users but not abiding by the single-user portion can have your license suspended.

Similar to TGC's certificates, there will be a way to register your software offline.

There may be logo requirements in the 2.0 release. I'll probably be asking for feedback on this. This requirement won't be enforced unless you're selling the product or giving it away in high volume.

Right now the software exists as $60 freeware if you pair with DBP freeware or ~$120 if you bundle with DBP commercial. The PureGDK half is always commercial if you buy the 'Upgrade' package (same as the beta). The final price *may* change but I would like to keep it around this.

There may be an additional requirement for commercial if the gross revenue from the sale of software exceeds something like $250,000.

You will have to also check to see if TGC has anything in their fine print. I don't think there is though, but don't quote me on that.

Does that explain everything?

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 20th Aug 2011 15:28
Quote: "
Does that explain everything?
"


Almost! The TGC T&C are well-understood by us and we have the commercial versions of Dark GDK for use here.

As you may know, some of my previous efforts have sold many tens of thousands of copies. While our revenue may exceed your limits, we are a co-operative and profits are not great. If you suddenly decide you want X ponuds, then that may eat most of our profits. So we wouldn't start untiol all requirements are clearly defined and acceptable.

As a general rule, we generally won't deal with supplier organisations who demand a bigger cut simply because we sell more copies. It involves no more work on the supplier's part, so additional payments are not earned, in our view, unless there is some additional benefit to us as a result of the extra payments (extra functions, 24/7 Tech Support, priority guaranteed bug fixes, etc).

I'll wait until you've finalised on your logo and revenue requirements.

Many thanks for all the information. Much appreciated.

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 20th Aug 2011 19:41 Edited at: 20th Aug 2011 19:42
Quote: "I'll wait until you've finalised on your logo and revenue requirements."


I would prefer hear feedback before anything is finalized. The kind of feedback you've given so far is good. I want to hear what my customers have to say.

Quote: "As you may know, some of my previous efforts have sold many tens of thousands of copies. While our revenue may exceed your limits, we are a co-operative and profits are not great. If you suddenly decide you want X ponuds, then that may eat most of our profits."


My goal is to get people to use the software, not to drive them away from it. If that's the opinion you think people might have then this wouldn't be appropriate for PureGDK.

I do think the the logo part would help achieve a small bit of advertising though. What are your thoughts on that?

Mireben
15
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 21st Aug 2011 13:02 Edited at: 21st Aug 2011 14:41
Quote: "TerryRussell: in the C++ code for Dark GDK, some functions exist but there was no forward declaration made for them... Here's an example from DarkSDKBasic3D.h: dbLoadObjectFromBuffer"


That function does not exist in the original Dark GDK code. It was added as a custom extension by Oneka and requires recompiling the Dark GDK libraries:

http://forum.thegamecreators.com/?m=forum_view&t=182697&b=22

That means that it won't exist in PureGDK either, and I suppose adding new functions to DB Pro is more complicated than adding them to Dark GDK and recompile just a few libraries. I thought I'd mention that because if you rely on that function a lot, it will be a problem to port the code.


Quote: "TerryRussell: But it's customer perception. Having bought a high-end PC with Windows 7 and then to be told to install an older version of DirectX, they immediately perceive it as downgrading their current version of DirectX. "


My general experience with games is that they silently install whatever extensions they need, including DirectX, Visual Studio redistributables, Physics library version, Games Live, etc. etc.... without ever telling or asking the customer. You can sometimes notice messages during installation about DirectX or other necessary stuff, most of the time there isn't even a message. If you can build an integrated installer, they might not even notice that you install another DirectX with the game (although it might still be written in the product information).

Besides, customers should also know that even recently published products use DirectX 9 because they have been developed over a long time period, or because the developers didn't want to limit the usage of their product to Windows 7 users only. That said, I know that DirectX 10-11 is the future and I was very happy when Mistrel mentioned the possibility of exchanging the renderer in the future for PureGDK.
Mireben
15
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 21st Aug 2011 14:09
Quote: "Mistrel: Only the .x format is well supported. 3ds importing works but it's not very good. ... md2 models will import, but they do not animate. ... The md2 and md3 imports being broken is very unfortunate"


Both the Dark Basic Professional product page and the Dark GDK / PureGDK help mention these formats as supported for loading, without any remark that their functionality is limited. (If there is a remark, I haven't found it.) If it doesn't work, it should be noted. So far I only used X, but it would be good if 3ds loading would work reliably in the future.

Quote: "There may be logo requirements in the 2.0 release."


I'd have no objection to a logo and/or text that I can put into the "credits" part of the software. When releasing a product, I think it's natural to list all used technologies or contributions anyway. What I would resent is the annoying solution that I have seen sometimes in commercial games: several different full-screen logos to click through until the main menu appears. If there are logos, it should be possible to combine them into one splash screen or one rolling credits page, not several.
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 21st Aug 2011 18:03
I've just managed to get D3DFunc working with DBPro to finish off what I was doing for the DBP community. In the D3DFunc dll, two extra functions have been added and was wondering if anytime in the near future would this be added because I'm about to start another project completely from scratch using PureGDK. (Because I liked it and am going to stick with it)

d3d_setviewport x,y,w,h
d3d_resetviewport

Warning! May contain Nuts!
TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 24th Aug 2011 19:11
Quote: "
I do think the the logo part would help achieve a small bit of advertising though. What are your thoughts on that?
"

I have no problems with showing your logo during the start-up process or in the credits. It's just not knowing what your requirements will be that would stop me proceeding at the moment. Over the years, we've had some suppliers who had no requirement, but we showed their logo as thanks. And we've had others whose requirements were onerous to users, so we went off and designed our own software instead.

Mireben: The thing is, that although I know our users and potential users will just about accept DX9 at the moment, I do hear an increasing grumble about having to install what they consider to be obsolete software. You and I may know differently, but... In any case, I do have increasing sympathy for that view.

DX10 and 11 have been with use for some years now. Microsoft decided in their infinite arrogance, sorry I mean "wisdom", to completely change the pipelining, to drop the sound support and a whole load of other useful stuff, but end users think of DX11 as being better than DX9.

And the gaming industry is currently sat around like a bunch of dinosaurs watching that bright light dropping from the sky.

Amazing Simulation
www.amazing-forum.com

Login to post a reply

Server time is: 2024-04-20 07:53:54
Your offset time is: 2024-04-20 07:53:54