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 / DarkEngine 0.2 and website release

Author
Message
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 13th May 2007 00:50 Edited at: 13th May 2007 07:57
Hi everyone, long time no see, huh? How have you been doing?

Finally I was able to put up a new version of DarkEngine and also a small website.

This new release includes few new commands, but it has a great structural change on the main class, just like DGDK.NET, DarkEngine was changed to a class that should be inherited from you main program class (both C# and VB.NET users, I recommend downloading the Starting Projects). I hope DE users will approve this new version and new users will begin adopting DarkEngine in their projects.

I'd also like to ask for help to everyone that uses it. Everyone can help me providing feedback. The primary feedbak I need is: to know what commands are still missing, new functionalities that could be implemented, and also, if someone could help me understand every single "Flag" parameter, as they're being changed to Enums (more .NET friendly).

With this release, I have to say that I'm officialy the only one responsible for it. Damon (MudBug) has other things to pursue in his life and has left the project about a couple of months ago (my best wishes for your projects dude, it was a pleasure to work with you).

And last but not least, I've re-started working on DarkUI plugin, actually, as there wasn't much about it, I restarted it from scratch but the base class (DarkControl) is almost complete, but it is still a long way. Too much work, but only few spare time (I'm overworking at my company, but things will get better in a month).

Ok, I've been talking too much. Here's the link to the website: http://www.blueorbteam.net/

I REALLY hope you like it, and comment are More Than Welcome!
Happy coding!

Thiago "kBessa"
James Bondo
18
Years of Service
User Offline
Joined: 12th Nov 2006
Location: Denmark
Posted: 13th May 2007 13:01
Thanks Thiago

I will hopefully soon have some time to work with DGDK and DE again.

Also, i like your site design ^^

Using Dark GDK.NET
Kenjar
19
Years of Service
User Offline
Joined: 17th Jun 2005
Location: TGC
Posted: 14th May 2007 17:57
So what does DarkEngine actually do? Convert existing DarkGDK.Net commands into drag and droppable form objects, such as Visual Basics timer, input fields, etc? Or does it do something else instead?
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 14th May 2007 19:03
Hi Kenjar,

No, it does not convert to Windows Forms Controls or Components.
Actually, it is a collection of classes to take away the worry about managing. There are more thins implemented/being implemented/planned for it.

Here's a small comparision:

DGDK.NET Spinning Cube code:


Same thing with DarkEngine:


This is a simple code and it might look like unnecessary, but imagine a game with thousands of objects? Having to know each numeric ID is a pain.

Using an instance of a class is one the foundations of OOP, and that's what DarkEngine adds to DGDK.NET. DarkBasic Pro is structured programming, and in my personal opinion, using DGDK.NET without DarkEngine seems like I'm programming in a structured language, unable to use all the power of .NET Framework, which is 100% OOP.

I hope I have clarified things for you.

Again, about WF Controls and Components, I think it IS possible to do it, but only with a PictureBox and Windows Forms projects, but it is a possibility. Great idea! Are you doing it? If not, it might be a nice feature in a near future. I'll give it a try after release of v0.3. Thanks =)

Best regards,
Thiago
Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 15th May 2007 00:27
At last ..... I will follow DE very close...

Niels Henriksen
Working on a (MMO)RPG right now in DarkEngine
http://www.tigernet.dk - Send SMS to mobile online (will come in english soon)
Kenjar
19
Years of Service
User Offline
Joined: 17th Jun 2005
Location: TGC
Posted: 15th May 2007 03:33 Edited at: 15th May 2007 03:34
It's not something I'm actively doing. But I'm investigating using DarkGDK for a modelling program. Using the interface advantages of Visual Basic 2005, and the ease of DarkGDK's graphical commands. AT the moment it look as if DarkGDK isn't vista 64 compatible so I might have to wait for a bit. But having DarkEngine intergrate DarkGDK.Net into Visual Basic as component iteams would be ideal. Especially if you can set it up so I could setup a DarkGDK.Net graphical window that locks to the perant window. So as I resize my form, the window resizes with it. A automatic setobjectdisplay command if you will. That would be massively useful. It would also be great if we could treat internal 3D objects as gadgets that respond to click events, in the same way buttons do in VB. For instance, if I double click on a 3D box, then I could insert a function for the double click event, either in Visual Basic, or as as darkGDK function. For instance, if I double clicked on a box, it would add 1 to MyClick, which could be passed onto Visual Basics label.

Allowing DarkGDK to behave in more of an OOP method would be a massive boom to the software. In many ways DarkGDK suffers a bit from the DarkBASIC Style of coding, if it where to be more tightly intergrated with the OOP programming style, that would be brillant. However I suspect that would also be a hell of alot of work!
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 15th May 2007 06:41 Edited at: 15th May 2007 06:42
Well, I think there is some confusion around here. DarkEngine is alreary integrating DGDK.NET with a OOP programming style. What I think you really want is a Design Time integration. Correct me if I'm wrong, please.

And yeah, that would be a lot of work, I don't even know if what you were saying on the last sentences are possible using DGDK.NET, as that would require it to be running on Design Time inside Visual Studio. Yeah, probably not. The only thing closest to this I ever saw was GLScene, but not as powerful as I understood what you're wanting.


About integrating DGDK.NET to another window, that is possible by using it inside of a PictureBox. If you want it to be inside a window that would be inside another window, I think you could put PictureBox on a window, set Dock to Fill, and make that window a child with a MDI parent. There are lots of possibilities.

To use it inside in a PictureBox, check out the example that comes with DGDK.NET. That's a some 10 lines of code, or with DarkEngine it is as simple as "DarkDisplay.DisplayOnPictureBox(<myPictureBox>;"

I hope I could be of any help.

Thiago

Edit: Typos
Kenjar
19
Years of Service
User Offline
Joined: 17th Jun 2005
Location: TGC
Posted: 15th May 2007 16:56 Edited at: 15th May 2007 17:02
Oh yes, I'm well aware you can do that. It would just be nicer from an oranizational point of view to take a DarkBASIC Viewer gadget and simply drag it somewhere onto the form. It would massively simplify the process for new users.

I'm not sure what design time is. All I ment to say, was that it would again be nice to have a more drag and drop style of programming. Want a 3D object inside the DarkView window? Simply drag an object gadget, and alter it via properites as you would anyother. X, Y, Z location, Object name, and an automatic ID generation, which is of course what your software does. Convert ID's to names, so the user doesn't have to worry about remember which object is with. I know that extends does this in DBPro very well.

But I'm sure you can see the eligance, in having a list of DarkBASIC commands in the Visual Basic toolbox that you can simply drag either onto a forum, or into the DarkView window. And to be able to assign click events to these objects as you would any other Visual Basic Toolbox component.
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 15th May 2007 20:21
Kenjar, look at this thread regarding drag and drop control for DGDK.NET. I know you're still having problems under Windows Vista 64, and to be honest, this issue won't be fixed anytime soon, but if you're able to use an alternative system until the issue is sorted, the below thread may help alongside LightEngine.

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

Paul.


Abundance = Choice = Freedom - Scarcity = Dependancy = Control, Truth!
Kenjar
19
Years of Service
User Offline
Joined: 17th Jun 2005
Location: TGC
Posted: 15th May 2007 23:22 Edited at: 15th May 2007 23:24
Thanks, it's not worth developing anything with DarkGDK.Net right now, until the Vista 64-bit problem is sorted. I've put the project on hold for now, and will give it a couple of months before I start looking at other graphics engines. The project is directly related to DarkBASIC Professional, so if I can use DarkGDK.Net at all, I will do so.

The lightEngine looks like a good idea, and what I was after. My only question is can the DBViewport be locked to a parent window for application resizing? (I would have posted in the other thread, but it's been automatically locked.)
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 16th May 2007 01:27
Hi Kenjar. Yeah, what you're talking about is design time support. It can be done for sure, and that's what I plan to do after LightEngine is fully working (IE: All commands implemented, stressed tested, have some working game done with it).

That's possible, yes, but only to make things easier (as objects should be components, not controls, just like the DataSet or Timer are shown in the form, actually, below it). They wouldn't apear on the Viewport inside Visual Studio, as for this, it would have to be rendering, and THAT isn't possible.

I'm still doing some kinds of experimentations while developing LightUI, in which the the base class is LightControl, that actually is a Sprite with a lot more of things, including events, like Click, Mouse Up, Mouse Over, etc. I'm just starting it, but things are getting better and clearer. If things get to be how I imagine them to be, LightEngine classes may be the next step.

As the name implies, LightEngine isn't going to be only an OOP wrapper, but a full featured "engine" based on DGDK.NET. My plan is to develop new things that may be missing in DGDK.NET, like Embedded Resource Loader similar to DBPro (LightEmReL) and GUI System (LightUI), among other things to come. TGC makes our lifes easy, I want to make them easier. =)

Just one thing to be clarified. LightEngine core, as I've decided, will be free for life. By core I mean the wrapper classes. Plugins like LightEmReL, LightUI and possibly other may cost something (but I'm pretty sure not much), but that's something I'll decide with each plugin, by it's functionalities, etc. I'm sorry if I disapoint someone by telling this but, I think I might deserve something for my work, just like plugins for DBPro. Ah, LightEmReL is free, it took me less than 30 minutes to develop =P

Ok, that's too much things to say by now.
Happy coding!

Thiago
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 16th May 2007 01:46
Oh, sorry for double posting, but I think it's better this way.

As Paul said, and I also said a lot of times in my last post, DarkEngine is going to be called LightEngine. That's a decision I've had to make now, while it is just beggining.

As you all know, Dark is a prefix used in about 90% of TGC's products and I think they wouldn't like another people using their trademark and neither I want someone to think they've coded "DarkEngine", when I was the one who had to work. Also, there is another DarkEngine somewhere else.

Well, DarkEngine will be called LightEngine, and everything that was Dark will be Light. Don't think it's too much trouble, just a quick find and replace! BlueOrbTeam dies with it too, as there is a company named BlueOrb. again, change it to Light and we're done. =)

Expect Dar... ooops! LightEngine v0.3 to be released this weekend.

Happy coding!
Thiago
tindex
18
Years of Service
User Offline
Joined: 24th Oct 2006
Location:
Posted: 21st May 2007 06:14
Thanks Kbessa,
The idea behind LightEngine is great, I test it and realized that it makes DGDK.NET looks very normal and easier to read and code. I hope you finish it soon and it becomes part of DGDK.
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 21st May 2007 06:39
Thanks tindex!

I was to release v0.3 this weekend but I had some problems. It'll probably be available by tuesday.

Probably it won't ever be part of DGDK.NET in a official manner, but unoficially it can be an almost standard. Too much of a dream but everything is possible, right?

I've been translating 3D Space Conquest (A 50 line winner game written in DBPro by Azrael, with a kindly permission) to work with LightEngine. Almost everything is working, only ships do not show up and it becomes slow (and freezes) after some seconds... I might have done something wrong. Anyways, this is why I was waiting, to release them together, but if tomorrow I don't solve this, LightEngine will see the light for the first time on tuesday.

Happy coding everyone!

Thiago
tindex
18
Years of Service
User Offline
Joined: 24th Oct 2006
Location:
Posted: 21st May 2007 23:13
Many things are possible, and since you have done so good so far, that seems very possible too. Having a resealable dream is a good thing and gives meaning to one's life.

So, LightEngine is that much done that you can convert a complete game? Can you give us a list of APIs converted?

Let me tell you what interests me about LightEngine. I have done about 50% of a project in DB Pro and PhysX - design 80%, code-wise 50%. But last weekend, because of my weakness in tracing wrongly typed variables, I decided to convert my codes to another engine or compiler, a picky one. After more than a day of research, I came back to DB Pro and picked DGDK.NET for good reasons. I dropped DGK as a choice to avoid C++ headaches. Then I saw this thread, and your wrapper. That gave me double reasons to go with DGDK.NET. What a good timing!

I will convert/redesign my code using your wrapper. About the physics part of the game, I will either write it myself, or use ODE, as its physics is not very complex. I will spend most of my time on AI which is the main purpose of my project. DarkPhysics for DB Pro is not a solution for my case. My plan is to finish the game (the ugly looking version of it) before 2008. I hope your wrapper does the job right as the way syntax looks is very important for me - it is strange, right? An example of my strangeness: Lisp is smart, but I never typed even one "(" of it. I dropped an AI class because I didn't want to deal with Lisp. That perhaps hurt my career, but I couldn't help it.

So, all above too much writing is to say your wrapper encourages many people who have my mentality.
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 22nd May 2007 02:02
Thanks tindex, reading this makes me wanna make LE better and better and never give up on it.

Actually, most of DGDK.NET is available on LE, there might be missing 3D commands as another person (MudBug) was the one doing it, but he has left the project for the moment, and I didn't have the time (had another things to do already).

But don't let this get you down, if you come to any missing commands, inform me and I will add the as soon as possible, I've been doing that (and is one of the reasons I wanted to convert a game to use it, so I could come to missing commands).

Hope I can get some feedback from you.

Best regards,
Thiago
tindex
18
Years of Service
User Offline
Joined: 24th Oct 2006
Location:
Posted: 22nd May 2007 17:16
Hi,
I am not that knowledgeable to give you feedback. I just give you some comments:
1 - I would create a comparative documentation before completing the LE wrapper. That also means you don't have to rush it.
2 - DGDK.NET has some examples for C#. Make those examples using your wrapper.
3 - This is obscure area for me but I saying it anyway: What you do seems to be a big challenge because you don't want to simply write a wrapper, as DGDK.NET already is. You want to redefine DB Pro interface so that it could be programmed in C# in OO way, I guess!

Regarding missing functions:

With DGDG.NET, we have:
oDB3D.MakeObjectBox(1, 8, 4,10);
oDB3D.ColorObject(1, oDB2D.RGBC(132, 79, 68));

With LE:
DarkBox aBox = new DarkBox(8, 4, 10);
aBox.Color??? <- is this missing or there is another way?
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 22nd May 2007 17:54
Color methods have been converted to properties, here's an example
(add a "using System.Drawing;" to your code):

LightBox myBox = new LightBox(8, 4, 10);
myBox.Color = Color.FromArgb(244, 0, 244);

That's how to color it with RGB numbers, but you could use named colors, like Color.Black, Color.White, etc.

I expected to release v0.3 together with converted examples + new examples, but I'll be releasing it today (later) because of the name changes from DarkEngine to LightEngine (as every class had its name changed from Dark to Light). I will make examples available as soon as I finish them as long as they only use v0.3 available commands, if they use new commands, they will be available together with v0.4.

It's 10:53am here now, by 2 o'clock pm the new domain and LightEngine 0.3 should be online already. =)

Thiago
Briere
19
Years of Service
User Offline
Joined: 28th Feb 2005
Location: Amherst New York, United States
Posted: 2nd Jun 2007 06:29 Edited at: 2nd Jun 2007 06:30
Isnt making game creating products against the user agreement?
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 2nd Jun 2007 08:03
Yes, it is. If I made a FPSC like product, TGC would probably sue me.

LightEngine (formely known as DarkEngine) is a plugin for DGDK.NET, not a standalone product. What it does it exactly what the plugins for DBPro do: Extend the product; and by that, you know you have to own DGDK.NET to use LightEngine (you need to authenticate your applications, and I'm not/won't distribute the authenticator with it, never).

So... No DGDK.NET, no deal.

Then no, I think LightEngine does not break any of the terms of the EULA. If it did, Paul (APEXnow) would've pointed me out (as we've been having a close contact for the development of LE). But if anybody from TGC proves I'm totally against the terms, then I'd cease and desist from LE right away!

Let's wait and see what Paul has to say about it.

Best regards,
Thiago
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 2nd Jun 2007 14:10
It isn't violating the license agreement, as you said, it's a plugin to work alongside the DGDK.NET development kit. Infact, it benefits the product in many ways by providing the classes you have provided.

Paul.


Abundance = Choice = Freedom - Scarcity = Dependancy = Control, Truth!
Briere
19
Years of Service
User Offline
Joined: 28th Feb 2005
Location: Amherst New York, United States
Posted: 2nd Jun 2007 23:32
Ahh I see

Login to post a reply

Server time is: 2024-11-16 18:06:29
Your offset time is: 2024-11-16 18:06:29