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 / JGC Library v3.0 For Sale - aka DarkGDK OOP

Author
Message
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Jan 2009 05:05 Edited at: 1st Mar 2009 22:57
Jegas Game Classes Library v3.0
The Jegas Game Classes Library v3.0 is a collection of integrated C++ object oriented classes that can assist you in making 2D and 3D games. Its designed to work with Microsoft Visual Studio 2008 Free Edition (Or Enterprise with some changes to your project's compiler and linker settings), The Game Creators' DarkGDK Game Engine, The Game Creators' Dark Physics Product (optional), and the freely available "Sparky's DLL" (optional but recommended).


Main Thread - Program Announcement etc

Link: http://www.jegas.com/index.php?option=com_content&view=article&id=68:jegas-game-classes-version-30-library&catid=35:jegas-products-category&Itemid=55

Available Free also through TrialPay: http://www.jegas.com/prod_jgcv3.html

--Jason

jezza
16
Years of Service
User Offline
Joined: 8th Mar 2008
Location: Bham, UK
Posted: 31st Jan 2009 12:38
Wow good and really cheap too. The legality of this is in question, though. Commercial EULA says:
Quote: "1.4 For the purposes of this Agreement the term "Game" means an interactive entertainment software game whose sole purpose is to entertain its user without further modification and which is made using the Software in accordance with its associated documentation. The term Game expressly excludes:
(a) any software tool or software product which can (or might) be used in order to create further games or other software products;
(b) any software programming language or software development kit ("SDK"); and
(c) any software library, compilation or collection of graphics and / or sounds from which a particular graphic or sound may be extracted to be used independently of the software in which it was first incorporated;
in each case irrespective of whether or not the primary purpose of such software is to entertain its user.
"
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Jan 2009 14:13 Edited at: 31st Jan 2009 14:27
Not sweating it. This Library Doesn't THWART TGC's ability to sell DarkGDK. In other words, I believe the intent here is that if someone uses DarkGDK to make a "Game Making Kit" and then people only buy your "Game Making Kit" then they are not purchasing DarkGDK licenses.

I believe I'm on point with this because the JGC Library doesn't in anyway interfere with DarkGDK licensing, potential buyers, etc etc. It merely allows DarkGDK customers to speed up their programming productivity using prewritten libraries - ultimately allowing them to get to the stage of needing to pay for the commercial license for Dark GDK quicker!

I'm certain if there is any problem with TGC they will inform me. I think I'm more than in the clear though.

I appreciate you bringing this up.
--Jason

SunDawg
19
Years of Service
User Offline
Joined: 21st Dec 2004
Location: Massachusetts
Posted: 31st Jan 2009 15:38
When last I had tried your library, I was very impressed with it. Having a background in MS-DOS and C, it's been tough for me to get into C++ specific stuff like OOP, overloaded functions, that sort of thing. Old habits die hard, I suppose.

Once I can break fully into OOP, I'll probably buy this product. I know it's well written and runs fast and effectively!

Keep it up, Jason.


My site, for various stuff that I make.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Jan 2009 18:30
Thank You SunDawg - We're neighbors if you're in Mass! Thanx for the kind words.

I just updated the web site to include the feature list. I honestly tried to make the library easy enough to use so that anyone could get going quickly without needing to know all the OOP stuff that well. Intellisense helps alot... I can't remember all the stuff that's in this lib - I rely on intellisense now - and my own demos. I'm always looking at my own demos for reference. I write them as I'm building the core, use them for testing, then move on - (That't why there are so many! I save them!)

I just updated the Jegas.com website with these features... and I also posted them here in program announcements: http://forum.thegamecreators.com/?m=forum_view&t=144417&b=5

AndrewT
17
Years of Service
User Offline
Joined: 11th Feb 2007
Location: MI, USA
Posted: 31st Jan 2009 19:38
Looks awesome, and a great price as well! I remember when you first introduced your wrapper to me in my OOP thread a while back; it's really come a long way since then!

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 31st Jan 2009 21:14
I am mostly interested in the jgc_physics (Wrapper for Tokomak Physics). Once I but this product, can I simply copy the .lib and .h files in place and use just those components together with DARKgdk, or do I have to use all the other components that come with the JGC library?

Also will all the JGC .libs make my final exe much larger in size, even if i just use the jgc_physics stuff?
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Jan 2009 22:18 Edited at: 31st Jan 2009 22:23
@bjadams - hi

Quote: "I am mostly interested in the jgc_physics (Wrapper for Tokomak Physics)."


Understood.

Quote: "
Once I but this product, can I simply copy the .lib and .h files in place and use just those components together with DARKgdk, or do I have to use all the other components that come with the JGC library?
"


You cannot SIMPLY copy a few files and only use the Tokomak Physics middleware - however you can meet the same end a couple ways (I'll come back to this).

Regarding EXE file sizes, the demos I have posted both here and on the [href]www.jegas.com[/href] web site (Link in first post of this thread as of 2009-01-31), they are all around 2.67 megs. If this is not a hinderance then that's great.

(Working my way back now...) The JGC objects all have "class factories" sort of. Basically you can define the RANGE of ID's for a given class type (Say Objects) to be reserved for use by JGC. If your application doesn't use those reserved ID's for things you create - then you will not have issues with things working along side JGC entities (wrappers for DarkGDK Entities).

The Tokomak physics wrapper and integration is a matter of creating primitives (Sphere, Box, Cylinder (Capsule Really)) and note that you can have various primitives attached (Even if not touching) to one "physics entity - albeit static or dynamic - (In Tokomak Lingo - Animated Body or Rigid body Respectively). These physics entities are (by default) represented by invidual DarkGDK objects. Adding various geometries just means more limbs. This can be disabled. (e.g. you can have ONE physics entity consist of various primitives - each geometric primitive becomes a limb if the DarkGDK "Create Primitives" flag is set to true.

The other integration piece is with Tokomak Mesh and the JGC_VMESH terrain class. This allows creating terrain that automatically is recognized by Tokomak. Tokomak RayCasting (Sensors) does sometimes seem to intermittantly go through this Physics Mesh but never do sensors go through animated or Rigid physical entities. (Sensors are similiar to Sparky's Ray Casting and are how the Vehicles were created in the Vechicular Fun Demo

Lastly, the JGC game classes have a function that needs to be called titled "Update" (Which handles many things but the overhead is actually fairly light - your results will vary on load) But the all important call in that update that you would likely want to be aware of is the dbSync() function call. You would replace your basic dbSync() call with JGC:addy->Update();.

Instantiating the JGC library would handle the set up for the Tokomak Physics, Create 3 3D Objects, Create one 64x64 bitmap, and loads two Fonts (Arial and Arial Bold) if the font media is found.

This would give you expected JGC_CLOCK - Time Elapsed, Current Millisecond timer, Basic User Input (WASD Keys, Mouse, CNTL Keys, Shift Keys, PGUP, PGDN, HOME, END, INSERT, DELETE) and would handle the Tokomak Physics update (and the timing for it).

If ALL that seems OK - then JGC will do what you like.

Joints and Convex integration is not integrated BUT IS directly AVAILABLE via calls to Tokomak directly. (This is how the RagDoll demo works and the SEMI in the Vehicular Demo Works). the hardest part here is understanding Quaternions... which I am getting much better at but have not yet mastered.

If this seems to heavy, then I recommend you code directly to Tokomak. If you aren't afraid of tweaking some variables to man handle what JGC CAN and Can't Use (Like limiting the ID's it's allowed to use to guarantee no ID Stomping) then utilizing the code that's been written for you is a good option.

Also, I'm getting the impression from emails I've been receiving and you're post that I might need to make a DLL just for this middleware between TokoMak and DarkGDK for both DarkGDK and DBPro users. At this point though - such a project has not begun.

Please advise
--Jason
[edit]Editted typos I noticed[/edit]

SushiBox
16
Years of Service
User Offline
Joined: 20th Sep 2008
Location: Ohio
Posted: 31st Jan 2009 22:28
I am really interested in the library, but I really only need a few thing from it. Do you mind elaborating more on the advantages over DarkGDK say for example your Image wrapper. I really only need specs on 2D development.

I am working on a 2D Side Scrolling MMORPG, the journey is being blogged and I suggest you check it out. Will include all progress, road blocks even drama! http://exoengine.com/blog/
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Jan 2009 22:58
@SushiBox - Hi!

Quote: "I am really interested in the library, but I really only need a few thing from it."


Understood. But to help me understand what else might interest you - if you have time - look at the features list and I'll try to compare the advantages of each.

Quote: "Do you mind elaborating more on the advantages over DarkGDK say for example your Image wrapper. I really only need specs on 2D development."


Me? Mind? LOL - Not at all

First of all, as mentioned early on - this product is not a replacement for DarkGDK. It should be thought of as a very ELABORATE PLUGIN... The DarkGDK C++ OOP Plugin perhaps. This library compliments and builds upon DarkGDK but it does in NO WAY REPLACE IT. (Just spelling this out for the public at large.)

Now - The image Wrapper in it of itself, like all the "Wrapper classes" has one primary advantage of Stock Plain Vanilla DarkGDK: you don't need to even think about ID's unless you want too. Now, as many of you know - making your own system to manage ID's is not rocket science - so what Gives? Integration + OOP + Intellisense = Productivity!

Let me first touch on some bullet points as to why a 2D game developer like yourself would benefit from this library:

JGC_IMAGE + JGC_PIXELGRID + JGC_BITMAPFONTS + JGC_SPRITE + JGC_BITMAPTEXT + JGC_MEMBLOCK are all intertwined!

The bitmap font system allows chopping up an image into tiles and makes sprites of them. This is great for fonts, but also allows managing tiled sprite images using CODES (ASCII actually) to generate sprites for you and allow you to access them in an array and either use the JGC_SPRITE class or direct DarkGDK calls to manipulate them. Each JGC_BITMAPFONT class can manage a very large number of "tiles" from the supplied media image but the text functions can only address the ASCII table range (256 characters - character codes ZERO thru 255) - you can however access the array of sprites yourself. So the JGC_BITMAPFONT class alone is great as it can load a BITMAP and CHOP it up for you - giving you either an array of sprites or an array of PixelGrids (Which can be made into images or memblocks on demand) - as in the Movie SAW Make your choice!

JGC_BITMAPTEXT Class allows you to "Draw" colorful fonts, or even level tiles using functions similiar to dbPrint().

JGC_PIXELGRID allows you to have pixel level access to images via memblock, but all the math and range checking is done for you. Write to a pixel out of bounds? No worries - no problems. Paste images directly onto pixelgrids anywhere you want, draw boxes, fill them, convert to image formatted memblocks or directly to images so you can make sprites of them - there is a ton this little gem helps me with on the regular. I like being able to just address the RGBA values individually or all at once, and because its all in a memblock - you do what you need without much in the way overhead or thrashing, and when you are done - you make an image of it. (clock cycles are clock cycles - please do not think creating a 1024x1024 bitmap in a pixel grid one dot a time will be fast - it won't! )

- The GUI is based on JGC_PIXELGRIDS and the JGC_SPRITE class. The actual GUI windows are JGC_SPRITE's and all the buttons and stuff are MANIPULATED JGC_PIXELGRIDS made into JGC_IMAGES for use by the JGC_SPRITES in real time. This approach allows the GFX to be drawn ONLY WHEN NEEDED, but allows draging windows about and not sucking up to many FPS showing a bunch of windows - because they are just a bunch of sprites!

I hope I have been thorough enough in answering your question to your satisfaction SushiBox, if not - Let me know!
--Jason

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 1st Feb 2009 16:28
Jason, i would prefer the Tokamak Physics to be DLL free, and produce 1 single exe as in your demos! One thing I hate about DarkPhysics is the dependency on external dlls, etc...
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 1st Feb 2009 16:31
Jason, pardon my ignorance, but I did not understand much of the technical terms related to tomamak physics. I know that I am asking too much, but would it be possible to post a small example code of a setting up a basic physics system with JGC tomamak so I can compare if it's similar to the procedure used to set up darkphysics or if its beyond my current knowledge?
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 1st Feb 2009 16:54
Quote: " JGC_PIXELGRID allows you to have pixel level access to images via memblock, but all the math and range checking is done for you. Write to a pixel out of bounds? No worries - no problems. Paste images directly onto pixelgrids anywhere you want, draw boxes, fill them, convert to image formatted memblocks or directly to images so you can make sprites of them - there is a ton this little gem helps me with on the regular. I like being able to just address the RGBA values individually or all at once, and because its all in a memblock - you do what you need without much in the way overhead or thrashing, and when you are done - you make an image of it. (clock cycles are clock cycles - please do not think creating a 1024x1024 bitmap in a pixel grid one dot a time will be fast - it won't! )"


This sounds very intersting for me. once again, it would be useful to see a small sample code, to see if it is something i can easily use or beyond my current level of knowledge
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 1st Feb 2009 18:05 Edited at: 1st Feb 2009 18:07
Quote: "
Jason, i would prefer the Tokamak Physics to be DLL free, and produce 1 single exe as in your demos! One thing I hate about DarkPhysics is the dependency on external dlls, etc...
"

It is.

Quote: "
Jason, pardon my ignorance, but I did not understand much of the technical terms related to tomamak physics. I know that I am asking too much, but would it be possible to post a small example code of a setting up a basic physics system with JGC tomamak so I can compare if it's similar to the procedure used to set up darkphysics or if its beyond my current knowledge?
"


Sure - I made a "HelloWorldPhysics" demo for ya to look at. It shows the basics. I made a marked up screen shot for you too I'll post on the web page. BTW - I've been adding a ton of screen shots at the very bottom of the page and finally came up with a box image for it

Anyway here is the Image


And here is the code



Attachments

Login to view attachments
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 1st Feb 2009 19:51
I didn't see the PixelGrid Demo request... <ugh>... I just checked my email - Ok... BRB with a demo... But this is the last one for today

--Jason (I have another project along the lines of CRM and Accounting I'm trying to get finished)

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 1st Feb 2009 21:31 Edited at: 1st Feb 2009 21:51
Ok - here it is...

Image - NOTE: If the LENGTH bothers anyone, let me know and I'll make it "VIEW BUTTON" only.




Is this helpful?

--Jason

[edit]You know what's baffling... When I turn Backdrop OFF after its been ON... it only stays off for one or two dbSYNC cycles... (Look at the Status text for the BACKDROP.. see how it says "Temporarily" - there in lies the anomally. I originally coded a toggle but it wouldn't stick.) in the pics. I searched the ENTIRE lib source code for where there might be some hidden dbBackDropOn() call.. but THERE isn't one - I'm 100% Certain. I won't bother issuing a bug though because I'm not using the new DarkGDK beta... so chances are when TGC gets some other issues resolved .. namely mesh manipulation in memblocks) this issue will have already been resolved. Must remember this odd ball behavior...

At least the PixelGrid is working perfectly!
--Jason
[/edit]

Attachments

Login to view attachments
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 2nd Feb 2009 15:47
thanks jason i have to study these examples
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 18th Feb 2009 01:17
Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 18th Feb 2009 16:27
I'm just wondering what the significance of the cover art is.

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 18th Feb 2009 16:36
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 19th Feb 2009 05:16 Edited at: 19th Feb 2009 05:17
I just finished the biggest Post I think ever for TGC LOL - I'm teetering on the max limit for a single post! LOL - I finally made an official [Program Announcement!] I hope you folks dig it.

--Jason

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 9th Mar 2009 04:34
Version 3.1 - Minor Changes to projects.

Started a new Project Wizard Application to make "on demand" JGC projects per request: Movian.

freeflyklown
15
Years of Service
User Offline
Joined: 10th Jun 2009
Location:
Posted: 10th Jun 2009 22:49
Hi Jason,

I just bought your product via paypal...how do I get the download link? So far I have nothing in my email account.

Thanks for the help

andi

Login to post a reply

Server time is: 2024-09-30 19:18:39
Your offset time is: 2024-09-30 19:18:39