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 / DGDK Open Source Project

Author
Message
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 18th Jun 2010 17:33
My exams finished yesterday so I will have some time to try the new update.

Now that I have some free time I have had a think about my priorities and at the top of my list is a game I started making a couple of months back, I would like to get that finished and released onto the AppUp store if possible.

Everything I do will be done in small, portable, re-usable components if possible. I will share everything with the community and I will add anything that may be useful to dosp also.

Right now, I am just finishing off a small sprite based GUI which I need for my puzzle game and menu screens. I would think this would be of no use to dosp although when finished you can decide for yourself.

After that though, I have plans for a Sprite-Writer, you will basically tell it where your sprite sheet is and do something like this:

It will work like the one in the GDK tutorials but it will complement my sprite based GUI and it will have more sprite sheets and give you a little more control.
That may be a candidate for dosp, I'll see what you guys think when its done.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 18th Jun 2010 18:07 Edited at: 18th Jun 2010 18:21
Quote: "
Right now, I am just finishing off a small sprite based GUI which I need for my puzzle game and menu screens. I would think this would be of no use to dosp although when finished you can decide for yourself.

After that though, I have plans for a Sprite-Writer, you will basically tell it where your sprite sheet is and do something like this:

print("Welcome to my game");

It will work like the one in the GDK tutorials but it will complement my sprite based GUI and it will have more sprite sheets and give you a little more control.
That may be a candidate for dosp, I'll see what you guys think when its done."


Matty, sounds like we're working on similar GUI systems. MAUI uses sprites/quads/meshes and will also support bitmap fonts in a variety of ways. S3GE contains the bitmapfont.lib that provides the following commands:

MAUI's Bitmap Font implementation will use Bitmaps fonts for Gizmos and also tie into the particle engine to achieve fancy Font effects.

Editable Textboxes are a challenge to code, however, I've developed a few simple algorithms to help make build them together easier. You more than welcome to them, if needed.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 18th Jun 2010 19:45 Edited at: 18th Jun 2010 19:47
Thanks Tech, I don't really need text-boxes etc for this game, just simple buttons is all I needed thats why I just wrote a quick lightweight sprite-button component(group of classes).

I'm still experimenting with design at the moment thats why it may seem like I'm repeating stuff that S3GE already has. I'm using an oop approach and alot of it is for my own benefit, MAUI will be alot more powerful when complete but I'm hoping maybe some people may find uses for my lightweight Sprite library.

Fulcrum has everything I need it for at the moment but I will be ready to add more features when needed, so this simlple GUI will allow me to complete my game within a month maybe, I'll put up a WIP when I have a bit more to show.


Tech, is there anywhere that has sprite sheets of ASCII charactes in different fonts? I've googled but didn't find much.
I may start making some but I'm not sure about any legal issues if I use photoshop for example, can I use their fonts?
Or can I not find any because there is a better way to do it that I have not thought of?

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 19th Jun 2010 03:33 Edited at: 19th Jun 2010 03:35
Quote: "is there anywhere that has sprite sheets of ASCII charactes in different fonts? "
I usually grab some free ones from here and modify them with various visual filters in GIMP. Font Copyrights, in short: one cannot copyright or patent a style for symbols used in a common language. See The legal issues for fonts is tricky, because the Alphabet is open to the public. So go for it. If your looking for something unique, you can create your own, but it too will be public domain.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 19th Jun 2010 13:29
Your'e a star Tech
Great link, I'll probably put 3-4 sprite sheets together to start with.
Does MAUI have something that allows you to type in sprites and maybe count in sprites also?
Say you have a timer in your game that counts down, I am thinking you could make a 'SpriteInt' of some sort and overload +,-,*,/ so you can do basic math with them and it will update to screen automatically in the font(SpriteSheet) you have chosen. Do you have anything like this in place or could what I'm doing be useful to dosp?

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 19th Jun 2010 18:09
I gathered a bunch of sprite "fonts" in my DarkGDK Game Classes. The open source Versions should have media available... even code to peruse on how I made them work like print "some text" and they just work. The initial code was written modeled after a concept in of the newsletters.. but then I took it to another level.

My Sig should be helpful getting you where you need to go...

Here's the link to the open source bits just in case: http://code.google.com/p/darkgdkoop/

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 19th Jun 2010 20:52
Thanks Jason, those font sheets are just the thing I was looking for, I find it a bit strange that I could not really find much on the web, people must use a different system for writing in sprites.
I have not looked at any code yet, am I ok to use some of your algorithms to get my sprites writing and counting? I would give you credit of course.

I downloaded your classes a while back but I was very new to programming back then, I will have another play with them now I'm a bit more clued up. In fact, I remember seeing your vehicle/ragdoll demo's and thinking, "I don't get it, those blocky graphics look terrible" , I just didn't get it, that was not really that long ago either lol.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 19th Jun 2010 21:07
Your post genuinely brought a smile to my face!

Yeah - DarkGDK Oop v1 and v2 are open source - so have at it and have fun!

--Jason P Sage

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Jun 2010 02:46 Edited at: 20th Jun 2010 02:53
Quote: "Your post genuinely brought a smile to my face!

Yeah - DarkGDK Oop v1 and v2 are open source - so have at it and have fun!"


Thanks I will.
I tried the bitmapfont demo, would I be right in saying there is a speed issue with doing this kind of thing in real-time? I get 20+ fps on that demo. I quickly put something together myself and got about 6 fps lol.
I'm thinking that I could make my numbers 0-9 as sprites at setup and then create my own number system by maybe pasting them to screen, just for whole numbers first. This may be quite alot of work but it may be needed as 6fps or even 20fps is not going to be fast enough, any thoughts anyone?

EDIT: Actually, I could just make one sprite for every character and number on the sheet at setup, I've got some more thinking to do before I implement anything I think.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 20th Jun 2010 03:17
That sounds awfully slow.. hmm... See the way it works ... usually there is a "Chug" in the beginning... because you're converting those "fonts" to sprites. Once the Sprites are Drawn the rest of the rendering is more or less internal inside GDK so it's pretty fast. Now there are multiple ways to render that stuff... one is to a bitmap - the other to sprites if memory serves me correctly.

when you use it to render to a bitmap - you can make ONE big sprite with a whole string of text... and or use it to texture a surface of an object (put writing on a texture etc)...

Make sure you aren't re-drawing the text each loop... even in the demo I'd suspect better FPS than what you are getting.

note also - that in Version 3 - the not open source one - I myself got better at things and made a tighter class library - but much of the font stuff .. at least the algorithms stayed the same.

Also note that that the 2008 november beta totally messed up stuff with manipulating vertices - so keep that in mind too - I don't know what else got hosed from the 2008 november beta.

--Jason

haliop
User Banned
Posted: 20th Jun 2010 09:38
how about creating 3 or 4 sprites, each sprite has an AnimatedImage inside it , the Animated Image containts all the ABC / 1.2.3.4.5...0

and you circle them like a counter...
so
sprite 1 , sprite 2 , sprite 3
0 1 2
0 1 3
0 1 4
0 1 5
etc..
same with the ABC, you can also make an ABC sprite of animated Image
that contains words like:
Win,This,That,Enemy,Ally,Completed,Finished and arrange these in a good way like Enums.. maybe i didnt understand your questions, but one thing for sure,
if you'll use

this method will cost alot if it ran each loop , you can however call it every one Second in the loop so

you may get better results, but it will depend on your system and if someone with a lowend pc will play it he might just get some lag , and thats not consirning all the other code you have on your game..
with it said , i never write anything to the screen rather then Debug functions like FPS and MouseX,MouseY, all other i do in the bitmap function before the loop begins , use it as One sprite with an Image of all the Static text i want, so for say if you have a Sprite showing the Text of "Timer :" this can be done before the main loop , and only the running timer should be inside the loop it will save you some calculations..

maybe if i'll understand your question better i might help, for now i think the first solution with AnimatedSprites is the best method , it wll work faster then the other one.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Jun 2010 12:05
Quote: "when you use it to render to a bitmap - you can make ONE big sprite with a whole string of text... and or use it to texture a surface of an object (put writing on a texture etc)..."


This is what I'm doing and it works great as long as its all done on setup, but displaying a timer and calling the function inside the loop is really slow.



I know I can speed this up and since its only for counting stuff I could do numbers slightly differently, like haliop said, I should create my number sprites on setup. I'll have a mess about later, I'm sure it will work pretty well once I get it right.

haliop
User Banned
Posted: 20th Jun 2010 14:58
listen.
just create a few sprites for numbers so you can go to 1000 timer or more , so if you go to 1000 create 4 sprites each will hold an animatedSprite of 0 - 9 textures , and then in the loop just circle them you dont need to recreate it everytime.

you can do the same with Letters, the problem with letters is that if you have a long sentence it will take a lot of time just to spin the animated sprite to the letter you are refering and do it a lot of times to a lot fo sprite..

just write down on a paper the sentences that you will use in the main loop , and create an image for them on setup, then insert them in one Animated Sprite and cycle troug them.. its the fastest way i can think of.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Jun 2010 15:21
Quote: "just write down on a paper the sentences that you will use in the main loop , and create an image for them on setup, then insert them in one Animated Sprite and cycle troug them.. its the fastest way i can think of. "


Yeh, I'm already doing this. Its just the counter I need something different for.

Quote: "just create a few sprites for numbers so you can go to 1000 timer or more , so if you go to 1000 create 4 sprites each will hold an animatedSprite of 0 - 9 textures , and then in the loop just circle them you dont need to recreate it everytime."


That would work and is pretty similar to what I may do but for full control it may need to be done a little different as I have a few uses that are not for a counter. So my sprite/text library should not be counter specific, it should be able to put any variable up on screen in sprites without the user of the library worrying about it.

I am not really stuck, I was just highlighting that I need a slightly different solution for numbers.

JTK
14
Years of Service
User Offline
Joined: 10th Feb 2010
Location:
Posted: 20th Jun 2010 16:37
Have you checked out Hassan's Text Class? That's probably about as fast as it's gonna get. Works directly w/DX and bypasses GDK entirely (if I recall correctly).


JTK
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Jun 2010 16:56
Quote: "Have you checked out Hassan's Text Class? That's probably about as fast as it's gonna get. Works directly w/DX and bypasses GDK entirely (if I recall correctly). "

Yeh, I've seen this its pretty cool. But I'm after sprite based text functions so I can have big bubbly letters and numbers

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 20th Jun 2010 17:16
Quote: "I know I can speed this up and since its only for counting stuff I could do numbers slightly differently, like haliop said, I should create my number sprites on setup. I'll have a mess about later, I'm sure it will work pretty well once I get it right."
I use two methods for handling dynamic and static text using BMP Fonts in my first version of MAUI. The BMP Font Set was stored as individual character images and used in texturing Sprites, etc and other drawing functions. For Dynamic Text (ie: timers and score), I used individual Character Sprites to form the words. For Static Text, I would draw all the needed characters on a single image and texture a single Sprite. To maximize run-time performance do as much of drawing prior to use you can.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 20th Jun 2010 17:31
I find the approach TechLord just outlined in tune with the kind of approaches and optimizations that are so instrumental in getting Games to perform optimally! You guys probably know this but with business applications, traditionally folks find something that works solid - and then re-use it as it's stable. With game coding... you usually need to use or create bits that work best for each specific application...

Like even for the JGC v3.0 - the frustrum culling bit... that was fine by it self in some scenarios... and wasn't enough in others.. where alternative and additional tricks (quad-tree techniques) were needed. and in some scenarios - the logic used to optimize was heavier than just not optimizing at all...

..hops off soap box and returns to business programming projects...

Oh - BTW - I have a SERIOUS contender for a Home Brew Game Server now... all binary, not scripted, standalone web server or can work alongside ... even masquerade via proxy, apache or IIS or whatever... Complete with GUI, admin tools, dynamic Menu Editor, Security, etc.

--Jason

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 20th Jun 2010 17:31
Thanks Tech, thats exactly how I will do it, I already do static text like this so I just need to throw something together for the dynamic stuff

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 29th Jun 2010 10:23
Here's a small update on what I've been working on. MAUI Gizmo now has a decent set of Textbox Operations to create Textbox Behaviors. This puts MAUI in a state that is suitable for creating apps and I've started work on S3GEd's GUI/Trixie Editor.

Now DarkLUA features a simple method that allows one to embed script in any text. This method will execute a script and return a value, providing programmable capability at a very low level. I also had to beef up DarkLUA's Binds for DGDK. I swore to myself that I wouldn't add every frickn DGDK command, but...

marlou
15
Years of Service
User Offline
Joined: 17th Jan 2009
Location:
Posted: 3rd Jul 2010 09:20


Map is positioned at 0,0,0.

Code with all dependencies and executable below...

Apparently, the default values for cell width, cell height, slope, radius and others dont work for all maps. They have to be tested with different values. To do: Make an editor for navigation mesh generation. XD

When a person has nothing but a dream, can he dare to dream.

Attachments

Login to view attachments
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 7th Jul 2010 18:11
Thanks Marlou, I'm currently working out some bugs with S3GE. I will test it as soon as I get these hammered out. I would be interested in assisting on the Nav Mesh Editor using MAUI.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 4th Aug 2010 21:53 Edited at: 4th Aug 2010 21:55



There has been lots of progress on S3GE/S3GEd. As planned, S3GEd will consist of a suite of integrated Editors that create WYSIWYG results. In our efforts to improve performance, we have been thrust into the world of DX9 coding. I personally thinks its treading on dangerous ground as I want to use DGDK, but the temptation to dig deeper into DX is very, very strong.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th Aug 2010 22:06 Edited at: 4th Aug 2010 22:07
Quote: "n our efforts to improve performance, we have been thrust into the world of DX9 coding. I personally thinks its treading on dangerous ground as I want to use DGDK, but the temptation to dig deeper into DX is very, very strong.
"


Welcome to the Dark Side Luke... I feel the power of the Force is very strong in you... That temptation is power.. Can you feel it Luke?

Step over to the Dark Side... Join us in our quest for absolute power over game consoles!

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 7th Aug 2010 00:07
Looking good Tech, the editor stuff(MAUI) is looking like its at an advanced stage.
I'm still working on my game, I'm using Fulcrum, I have been adding more functions as I've needed them indirectly contributing to S3GE

I got my sprite text working, I have not released it as it just does the minimum to serve my needs at the moment, I would need to add a few more things and document it before it would be any use to anyone else.

DirectX:
I think you know my thoughts on using DarkGDK for a 'Super' engine, it seems dark basic is all about ease-of-use at the expense of some speed. I could be wrong here but the very fact that it uses an id system surly slows it down slightly? But makes it very easy to use for novice programmers.

I still think it could make an awesome engine, but I think you set your sights very high and you are looking to compete with the best out there and I just don't know if its possible with DarkGDK.

Looking at TGC's recent success with the intel appup store really shows dark basics strengths, an engine(not so super) to make small games for portable devices could be a real success imo, your vision of needing just media and logic but on a smaller scale.

Anyway, thats not the way you are going and its a tough decision to go straight to DirectX. I personally would see that as a mistake, unless you could get a larger team with at least some having directX experience. I used it for a couple of months, only then did I really come to appreciate how much work dark basic actually does for you, so here I am.

I think that for what you are after there must be a better place to start, some sort of DirectX wrapper(or OpenGL) that is not basic, I have no idea which one but surly there is something suitable, C17 springs to mind although I have not looked at it in depth.

Anyway, as long as you are here I will always be looking to contribute, best of luck with some tough decisions.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 7th Aug 2010 08:36
@jason p sage - LOL.

@matty - Good to hear from ya. I know a lot of folks concern themselves with DGDK performance, but not me. For DOSP, its pretty much being used for a DX graphics wrapper. We're coding with C++ and have access to the DX directly, there are no limitations.

I don't have any issues with working with DX directly to speed things up or do things that DGDK doesn't do, such as drawing directly on images. In fact, it took only 1 day to implement a faster DX Text Font class and replace dbText. However, I do have issues with trying to completely replace DGDK. Therefore, I will continue along the path I've set. Afterall, this is DGDK project.

I honestly don't see any reason to scale back my goals and efforts. Its all about Consolidation. Evaulate all of computer game genres and you will see simularities in the subsystems and implmentation. All I'm doing is consolidating them and in the end performing less work.

marlou
15
Years of Service
User Offline
Joined: 17th Jan 2009
Location:
Posted: 15th Aug 2010 07:28
Im going to take a look at the MAUI source codes so I can write an editor for the NavMesh using MAUI.

Sorry for slacking off with my tasks. I've been preoccupied with looking for work since I graduated. Finally I managed to get a Junior Software Engineer position and will be starting tomorrow. I got busy learning different computer languages. I hope you don't mind if I shared my life. hehehehe.

I still have yet to design an architecture for the over all artificial intelligence subsystem. With the task, I plan to gain experience on requirements specification, design, implementation, team work and software testing. So off with my plans,

Requirements:
1. Artificial Intelligence subsystem must implement 2D and 3D pathfinding, finite state machine managers, appropriate character animation transitions and behavior decision thingies. XD
2. Artificial Intelligence subsystem will report or notify the rendering subsystem for state changes relevant to rendering.
3. The AI subsystem must work with the physics engine in aspects relevant with collision detection, environment assessment and other things.
4. AI subsystem will notify the networking engine of relevant state changes.
5. AI subsystem will make use of the scripting engine to run scriptable tasks and AI behavior.

Planned DesignsInitial Plan)
1. AI subsystem will be a singleton which will be a factory for creating AI component for objects.
2. AI component will be made up of task-specific subcomponents.
3. AI subsystem will be modular and have minimum dependencies to make code easy to maintain, port and revise.

Im getting motivated to work on this because I just realized that I can add it to my experience and background since I dont really have any decent school training in programming. I hope you dont mind if I add this project to my team work project portfolio.

And TechLord, Maybe I can implement a JavaScript scripting language for DarkGDK. It will be the same as my other scripting engines. It will just wrap up all DarkGDK functions. But maybe I'll add more, I dont know. hehehe. XD

When a person has nothing but a dream, can he dare to dream.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 15th Aug 2010 12:56
Quote: "However, I do have issues with trying to completely replace DGDK. Therefore, I will continue along the path I've set. Afterall, this is DGDK project."


Thats great to hear, I have plans for improving Fulcrum, it needs some exception handling, I am also toying with the idea of writing another version, a more oop approach making it a little faster.
I wrote fulcrum with a basic interface, it seemed fitting as it would be Dark Basic users using it.

Quote: "
I hope you don't mind if I shared my life."

marlou, how dare you do other things with your life
Great to hear from you, that all sound very complicated to me but I know nothing about AI, good luck with this.

haliop
User Banned
Posted: 16th Aug 2010 09:42
yo marlou , matty
its good to hear that both of you are planning to get onboard with S3GE.

Tech and i made some nice progress espcially at the Maui department and small stuff in Trixie.

i started working on DirectX wrapper for stuff we need
for example we now have copyRect like in directX 8/7 where you can copy from one image to another a portion or all of it and even if its 8096x8096 we do it in 60 fps , it takes some small time to copy but you still run on 60 fps, we are doing this with the use of Caching .

so no more bitmaps and memblock since they are not needed
we work and paint directly on the DirectX surface which eqaul
Surface = 2D image and we are able to do it fast and reliable.

I am super pleased to hear about Ai development and i like Marlou approach and the Scripting Task is awesome all of S3GE can benefith from it , for myself i am planning at the future to implent the Evolution Ai theory plus neural Networks , so these 2 works as one and will be joined with Marlou's Ai system, so instead of teaching the electronic brain what to do and how , we'll let it learn and decide what is the best task for the current assigment. it maybe sounds pretty tough to implent but actually its easier since you let the pc do the job for you.

and i am super uber pleased to hear about Fulcrum development
and a new version? awesome. when ever i hear about physics engine im so happy its so cool.

Marlou this is my MSN account nadavros1@gmail.com feel free to add we have a little S3GE group that we use under msn msnger
(i just hope Matty will join in some more shh dont tell him.. )

congrats on your diploma and new job. good luck with that.
marlou
15
Years of Service
User Offline
Joined: 17th Jan 2009
Location:
Posted: 16th Aug 2010 14:43 Edited at: 16th Aug 2010 14:44
Techlord really did wrap up all DarkGDK functions in DarkLua. Im a bit concerned that if add my other scripting engines to DOSP, it might break the scripting engine. It's also going to be a feature creep (unnecessary feature that is not included in the initial design but is implemented).

@Matty
The AI subsystem will be a singleton(basically a class that will only have one instance of itself. This is to prevent unnecessary duplicate instances). It will also be a factory(whose responsibility will also be create instances of AI components and handle necessary tasks pertaining to the creation of AI components).
To make the AI subsystem usable for other libraries I will adapters for several libraries including and specially DarkGDK.

I'll make sure it will have few dependencies to make it less fragile. I will try to make TechLord inspired diagrams.

Added links to my posts so you can understand it and learn it. Those are useful practices for this decade. They weren't famous in the 1990's though. Hahahaha.

Maybe we should implement observer pattern for the rendering subsystem and controller for MAUI and DarkLUA. I'll just make an adapter for the MAUI and DarkLUA just to make sure I dont break or change them.

Im not really an expert with AI. I just have ideas on AI.

Well to be honest, I am one of those who are concerned with DarkGDK speed but its been overshadowed by the fact that I can gain experience in helping out with DOSP.

I'll try to design the AI subsystem so that you can do plug-ins with it. I'll try to make it work like TechLord's B.R.A.I.N.S..

@haliop
I'll try to add you once I get an MSN account.

When a person has nothing but a dream, can he dare to dream.
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 17th Aug 2010 09:34
marlou, I can assist with building the AI Editor with MAUI. MAUI is work in progress and I'll add new features as needed. To get started with MAUI, check out the *.maui files located in DOSP/Projects/S3GE/S3GE/Debug/Content/Data/UI. The main.maui is required first, and gui.maui contains prefabs for gizmos. All other *.maui files are for menus.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 21st Aug 2010 14:46 Edited at: 21st Aug 2010 20:39
Haliop and I have been cooperatively developing S3GE's Enhancement Lib which with works directly with DX9 and DGDK to provide jaw-dropping performance gains in areas that are notorious for drag. This Library solidifies my believe that DGDK can be used to develop a high performance commerical engine without abandonment.

Prepare your jaw for the fall!

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 27th Aug 2010 19:24
I like to help work on the terrain editor if you guys look at my current terrain editor it will incorperate 6 layers. Each layer describes the terrain render at the end of the project.
-------------------------------------------------------------
go to:

http://forum.thegamecreators.com/?m=forum_view&t=172595&b=8

To Read more about the current design I working on. I not really sure how to incorperate my project with the current project, but I came interested in this project a little too.

Go through yourself at a wall.
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 28th Aug 2010 00:50 Edited at: 28th Aug 2010 00:55
Quote: "I like to help work on the terrain editor if you guys look at my current terrain editor it will incorperate 6 layers. Each layer describes the terrain render at the end of the project."
Hi 3d point in space, S3GE will incorporate a suite Editors utilizing the Engine Core Systems. We anticipate the suite will include a editor/mini-editor for every aspect game development and the goal is to make them extremely multi-user-friendly.

Two of the primary Core Systems being the GUI and Scripting System. I'm developing the S3GE GUI and Scripting System which are 90%/70% complete respectively. The GUI is usable in its current state and I'm adding features as needed. Its desired that all applications and games develop with S3GE use it's Core Systems.

Incorporating your current work, can be accomplished, but, may require some re-work. Haliop is currently developing Trixie/Trixter, a Dynamic Texture Creation/Editing system that super simplifies Terrain Texturing. You two can join forces to create the ultimate Terra-Former. So how do we incorporate your current work? The simplest way is to convert your core terrain factory and manipulation code constructs into a modular library of commands, in which we bind S3GE scripting System to for execution via the GUI.

You may or may not have to do a great deal of re-work. I've binded all the DGDK functions to Scripting System. However, we push DGDK to its limits and tap into DX directly. Thus you may want to fully exploit terrains or add a completely new terrain/texture system like the Terrain LOD Plugin: BlitzTerrain by kaedroho.

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 28th Aug 2010 23:24 Edited at: 29th Aug 2010 09:46
Looks like Blitz utilizes 3 layer system. I think i can use Blitz to for the first 3 layers, and it takes care of environment pretty well for blitz, except there is no rain or wind in the environment controls of blitz so this might have to be redone. Also there is no way you can add follage to blitz which is another downfall of the program. This could be fixed by makeing x files that could exported like text files. I wonder though if it would be better though to use csv like you said in the begining of your post not to use text file but rather a csv format to describe where follage is located in the x and y plane. So the structure would include the filename, xcord, ycord, xhieght, yhieght, xwide, ywide for the follage and be represented grapically 2d as a X or +. This would discribe my follage layer.

I have to ask are you using win 32 api. Because I am very good with win 32 api's and linking them up to anything. Look at the following lib that I made how to use the lib include this header and basically can make win 32 api. Which might be usefull in making a gui iterface for the scripting. I have down this before with one of my scripts. This is only an example of win 32 api this lib does nothing.
about.h


Go through yourself at a wall.

Attachments

Login to view attachments
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 29th Aug 2010 17:09
This is the error i recieve from tortoise

Command: Checkout from https://darkgdkosp.svn.sourceforge.net/svnroot/darkgdkosp, revision HEAD, Fully recursive, Externals included
Error: OPTIONS of 'https://darkgdkosp.svn.sourceforge.net/svnroot/darkgdkosp': Could
Error: not resolve hostname
Error: `https://darkgdkosp.svn.sourceforge.net/svnroot/darkgdkosp': The requested name
Error: is valid, but no data of the requested type was found.
Error: (https://darkgdkosp.svn.sourceforge.net)
Finished!:

I dont know why i get this error

Go through yourself at a wall.
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 30th Aug 2010 16:52 Edited at: 30th Aug 2010 16:53
Hi 3dPoint,

I'm not sure why your getting that error, if you drop that address in a web browser its reachable. Did you follow these instructions? I'm available on Windows Live Messenger (MSN) nearly 24hrs a day. I'll assist any way I can.

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 30th Aug 2010 19:28 Edited at: 30th Aug 2010 19:31
Never mind I got in just had to reset computer. I put a easy way of making library window functions in lib win32 code. Don't cry, because it is a work of art. So simple yet so usefull.

Go through yourself at a wall.
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 30th Aug 2010 23:07 Edited at: 30th Aug 2010 23:10
Quote: "I put a easy way of making library window functions in lib win32 code. Don't cry, because it is a work of art. So simple yet so usefull."
A heed of caution before you add anything to SVN, have you successfully compiled and ran SVN Rev 155? If so what are results. Also have you consulted with Haliop on the terrain editor and features? We dont just arbitrarily add things without consulting the Core Team first.

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 31st Aug 2010 03:22 Edited at: 31st Aug 2010 04:03
Ops I guess i added a library too showing brush colors. well I guess i wont add any thing else. I didn't know, I don't know the rules. and I tryed to get with Halip with no sucess. if he jumps on vent then I can talk to him. I was trying to get use to the user interface I thought you could post code on the thing just I don't know what is legal and what isn't. Well I looked into my program more heightmap, and it won't have caves and stuff so i might abondon it. This is what I want to discuss with him because blitz doesn't incorperate cave system eather.

vent info is:

lead.typefrag.com
16020

Go through yourself at a wall.
jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Aug 2010 03:49
@3d point in space - Don't be discouraged big guy: Try chatting with Haliop, let him know what you're doing or did, and then grab the SVN revision cited above (probably get latest snapshot) and then merge the code bits in You and Haliop think will be cool to add!

--Jason

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 31st Aug 2010 06:04
Well as soon as I said add caves to the design i thought it is acually possible by sticking two hiegtmaps one on top of the other and that could represent a cave system. kinda stupid but simple.

Go through yourself at a wall.
haliop
User Banned
Posted: 31st Aug 2010 10:54
hi 3d point , sorry for not answering , my MSN
nadavros1@gmail.com also my email.

what is Vent?
i have alot i want to disscuss with you
and show you some stuff i was thinking about the terrain editor which will stand inside the S3GE world editor.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 31st Aug 2010 13:11
I think Blitz Terrain allows you to put holes in the terrain allowing for caves/bunkers and also deleting polys that are hidden by buildings/water etc for efficiency.

Blitz Terrain should be seriously considered imo before writing a terrain system from scratch.
I have not had time to try the latest version and see if I need to do anything for a collision solution, I will though, unless you guys rule it out. Let me know, thanks.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 31st Aug 2010 17:29
You might consider looking at the open sources versions of DarkGDK OOP - AKA Jegas Game Classes Version 2.0 - before the paid version. that code is open and I think it has a terrain engine in it. Might be worth a peruse.

The 3.0 version is better but not open source so probably not an option.

Basically there are meshes it builds based on the sizes you give.

Also the idea of two meshes to get a cave is not stupid - the cave runner demo for Dark BAsic uses exactly that technique.

--Jason

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 2nd Sep 2010 02:26 Edited at: 2nd Sep 2010 03:05
Sorry my gui is messy I am currently redesigning it and I don't like my toolbars or some of them I need toolbox instead of a picture of a toolbox, I think that is a little lazy on my part. and get ride of the layers on top. Like I said it is messy. So I am stepping back and redoing all the win api's. I don't know if this is what you want but that is the best I can give.
ventrilo is a voice activated program that allows you to speak more easily to groups of people. You download ventrilo from ventrilo.com and it is push to talk allowing voice interaction, and it is used by most games as a talking app. Currently The vent I use supports 24 people and I just use it for this.

Go through yourself at a wall.

Attachments

Login to view attachments
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 2nd Sep 2010 05:25 Edited at: 2nd Sep 2010 05:29
Quote: "Sorry my gui is messy I am currently redesigning it and I don't like my toolbars or some of them...redoing all the win api's. I don't know if this is what you want but that is the best I can give."


3D point in space, we're not using the Win API, in favor of integrating a suite Content editors within S3GE utilizing its Core Systems. The advantage to this is, open source, uniform design, less work, and these editors can be used directly within the games for editing and customization. We anticipate the suite will include a editor for every aspect game development that includes a Terrain Editor.

The simplest way to incorporate your current work is to convert your core terrain factory and manipulation code constructs into a modular library of commands (similar to DGDK), in which we bind S3GE scripting System to for execution via the MAUI GUI.

Also we're communicating with MSN messenger in which its simplifies documenting discussions, transfer files, and translation (as we can not assume everyone speaks English). Its highly recommended you use MSN or post here on the forum, otherwise, coordinating communications with the Core Team be difficult.

Ultimately, you're going to have to fit your contribution into the project as described above. I would also encourage you NOT to get to hung up on aesthetics yet, because functionality and performance are more crucial in this Engine Research & Development stage. Have you successfully compiled and ran SVN Rev 155?

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 6th Sep 2010 00:08
Hi guys, couldn't get you on messenger so I'll post here.

@Haliop - That LOD system is pretty cool, are you using an external lib or did you write this from scratch?

@Tech - You made alot of changes to the file structure for this project at my request and then I started making my game and it may seem like I have deserted dosp. I have not quit dosp, I have lots of ideas every week but time is limited so I dont get to develop all of them. My most recent was a simple sprite based GUI, I had to write this for my game but it is not needed in S3GE. Hopefully my next venture will allow me to contribute more, in fact Haliops LOD system reminded me of something I may have to write which will be great for dosp:

3D to 2D idea - Making my game for netbooks means cpu is in short supply, if my game does not run well I was thinking about creating a plug-in that will turn 3D animated models into animated sprites.
Much like Haliops imposter demo, it would be great for my game as its a top-down view in-game(2.5D more or less) but then cuts away to different views later. For the top-down part of my game I could probably use animated sprites instead of the models.
I'm hoping I wont need this, I will only know when I test my game on a netbook. If I do need it I wont just write it for myself, I will put in the extra time to make it easy to use and document it for S3GE.

This brings me to the point I was making earlier on messenger, I think that everything good that dosp does could be shared with the community now. There are many benefits to this, it would create more interest and we would have people using/testing plug-ins(S3GE components) now, I can say first hand that this is useful, many bugs in Fulcrum have been found by non dosp members of the GDK community.

I know sometimes decisions need to be made that make certain things too dependent on other S3GE components, maui for instance, therefore they can't really be shared outside of S3GE.
Anyway, thats just my opinion, its really up to you guys if you want to do make future components in this way.

Anyway, my game will be finished soon, I have another couple of game ideas that I may persue although I will always look to make features independent and re-usable so dosp(and larger community) can benefit.

jason p sage
16
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 6th Sep 2010 00:10
Hey guys - there are 33,000 lines of code you can add to your library if want. I release Jegas Game Classes v3.0 as free software... and Mozilla 1.1 licensed so it gives a lot of freedom I think.

http://www.jegas.com/index.php/blogs/40-cool-stuff/232-jgc-3-becomes-open-source.html

--Jason

marlou
15
Years of Service
User Offline
Joined: 17th Jan 2009
Location:
Posted: 6th Sep 2010 04:49
I just recently joined a group near my place. We are 2 programmers and 2 3d artist.
Dang and our leader says we're coding from scratch. Rendering engine from scratch! physics engine from scratch! scripting engine from scratch! He doesn't want to use 3rd party libraries!
I wonder how he got me to say yes to it. XD

When a person has nothing but a dream, can he dare to dream.

Login to post a reply

Server time is: 2024-04-18 16:40:34
Your offset time is: 2024-04-18 16:40:34