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 / Starting off a World Builder?

Author
Message
CokeBoi
15
Years of Service
User Offline
Joined: 19th Jun 2009
Location:
Posted: 13th Nov 2009 05:35
Hello, I have spent around 2 years in the C++ language using Dark GDK and I was thinking of making a world creator (build/editor/maker/etc).
Problem is, I'm not sure where to start. Does anyone know a few tips or pointers to where i should go/what i should do?

LOL
luke810
18
Years of Service
User Offline
Joined: 4th Sep 2006
Location: United States
Posted: 13th Nov 2009 16:30
If you are using terrains I would suggest starting there, but it really depends. What kind of game is it for?

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 13th Nov 2009 17:02 Edited at: 13th Nov 2009 17:15
Quote: "Does anyone know a few tips or pointers to where i should go/what i should do?"

Please answer the follow questions and I can help you for sure:

1. What does a World Builder do?
2. What do you want your World Builder to do?

I personally wouldn't build a independent application without a game engine because you could use Free Full Powered Animation Studio like Blender to build worlds, characters, etc and export them. If you don't have a particular Engine perhaps a World Importer would be more suitable.

3D Editor --> Export World 3D/Data --> Import World 3D/Data --> Game Engine.

Trapped inside the DGDK Open Source Project.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 13th Nov 2009 18:36
Do you have 3D world studio?

There is a great loader that has been made for GDK by Pixelperfect, I think he says it was his intention for people to build upon it for there own engines or whatever.

You could build your own UI then and add whatever features you like to manipulate the in game objects, lights, cameras, collision boxes etc.
CokeBoi
15
Years of Service
User Offline
Joined: 19th Jun 2009
Location:
Posted: 14th Nov 2009 01:32 Edited at: 14th Nov 2009 01:33
@Luke810

starting where?

@TechLord

1 & 2. A world builder basically makes terrain, objects, can do AI, etc. It basically is a game maker but more flexible and ment for my game specificlly. My game in mind is FPS/RPG. My first priority is terrain that I can export in like a .x file or something. That is my first goal. Later goals will be adding on to the builder and allowing it to make more felxible games. Right now, I need to know how the terrain creation works. Then I need to know how to make my own UI/one i can get for free for possible commercial use. I also need to know other things but those are the two things im stuck on atm. If anyone can give me general info on world builders or has experience on them please tell me a few tips/tricks and where I should start.

@ matty halewood

Nope, I don't want to have to buy anything. I want to make a game off of a $0 budget which is possible, just a lot harder.

LOL
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 14th Nov 2009 11:01 Edited at: 14th Nov 2009 11:07
It sounds like you have an idea for a FPS/RPG Game (I'm playing The Borderlands on the PS3 right now). IMO the first step would be to outline the details of the game. Once you have these details, you will be able identify features and game systems needed to build your Game Engine.

The next step will be to design the Game Engine. The Game Engine runs the game. It will integrate and manage 2D/3D Rendering, Shaders, Physics/Collisions, AI/logic, UI & Dialogs, Sound & Music, Networking. There are many technical details that should be thought out with these systems to present the players with a smooth and responsive interactive experience. So managing memory, media, user input, network communication, etc may require tweaking for high performance.

Heres a illustration of the Engine Design for the DGDK Open Source Project Super 3D Game Engine (S3GE).



Once your Game Engine is built, you can develop Editor(s) with it to design Game Content. You will most likely require more than one Editor - more like a suite of Editors: GUI Editor, AI Editor, Particle/FX Editor, Character Editor, an editor for any form of exported/imported data.

I'm lazy and prefer to use FREE Full-powered Editor Applications. However, if your gonna build your own Editor App, it will be easier to build it using the resources from the Game Engine, providing the most accurate results at runtime. Also, smaller versions of these Editor Apps may be used in-game for Character Customization, Inventory, etc.

I understand that Terrains are top priority for you (and I'm curious as to why), but, how will the Game Engine manage and render them? Will your game require panaromic views of the landscape from any distance/angle? Are your worlds massive? If so how will the engine load/stream them? Will the terrain be deformable in realtime? Does the engine use shaders on the terrains? Many other questions. Its important to identify these requirements upfront, because how the engine uses terrain can influence how the editor generates and exports the terrain data.

Q: What came first? The Chicken or the Egg?
A: The Game Engine!

This is where I recommend you start. Build your Game Engine. DGDK simplifies creating your Game Engine, thats what makes it cool! To start building your engine, I recommend you get the following systems working together:

1. Scripting Engine - import/export data formats, macros, embedded scripting, and addons.
2. Networking - support file/data transfer and communication across internet.
3. Physics - Fast Basic Collision Calculation and complex physics simulation.
4. Pathfinding - AI controlled Collision Avoidance.
5. Particle System - High Performance Visual Effects/massively replicated 3D and 2D entities.
6. User Interface/GUI - User Applications/Game Interface.
7. Interior Rendering System - High Performance Rendering Building Interiors Geometry.
8. Exterior Rendering System - High Performance Rendering Terrain Geometry.

There are other high-level system/subsystems that can be added and your engine may not require all of the above. However, if you do, it will be a very powerful engine that you can build great Editing Apps and Games with.

Trapped inside the DGDK Open Source Project.
CokeBoi
15
Years of Service
User Offline
Joined: 19th Jun 2009
Location:
Posted: 14th Nov 2009 21:46 Edited at: 14th Nov 2009 21:48
TYVM for answering most of my questions. I guess I'll just start off on the scripting editor and the terrain editor.

Just a question, how do I get the scripting to work? Do i use .txt files and then import them into VC++ for them to compile? Any example code on something like this?

And also, how do I design a UI for me/others to use? For example, the windows UI (File,Edit,etc) is what I want to accomplish with a few extra addons here and there. Do I have to make my own or is there a free commercial one I can use?

LOL
luke810
18
Years of Service
User Offline
Joined: 4th Sep 2006
Location: United States
Posted: 14th Nov 2009 21:59 Edited at: 14th Nov 2009 22:00
Read up on the "windows.h" header file and you'll find everything you need for windows based menus, toolbars, dialogs, etc...

I don't know about scripting but I believe lua can be used for that.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 15th Nov 2009 00:32 Edited at: 15th Nov 2009 00:34
We are also using LUA. In fact, I wrote DarkLUA Plugin for DOSP using LUA for Windows. A decent tutorial can be found here. I will assist when possible.

You may also want to talk to luke810 about his Pathfinding lib.

Trapped inside the DGDK Open Source Project.
CokeBoi
15
Years of Service
User Offline
Joined: 19th Jun 2009
Location:
Posted: 15th Nov 2009 10:04 Edited at: 15th Nov 2009 23:11
I searched up on Windows.h and it took me to User32.dll. It says User32.dll is used for text,windows,etc.. So am I on the right path or am I lost?

TYVM for the LUA scripting information. I now have an idea on how this will all work out.

EDIT: So LUA works with Dark GDK I assume?

EDIT2: I decided to use GTK for the UI... Is this a good UI creator?

LOL
Aldur
16
Years of Service
User Offline
Joined: 8th Oct 2007
Location: Melbourne, Australia
Posted: 16th Nov 2009 06:52
I have recently started making my own world editor (2 days ago actually) and the method I am using seems to be the simplest for me to understand so far.

I'm sure there are more efficient methods than mine, but as I said, it is simple for me

For the world, I have a basic plain object exported in .x format, which I have applied GG's terrain shader to.

I covert 3d coordinates to 2d coordinates and write it to a rgb map, corresponding to the texture I wish to paint on the object.
(Green = Grass, Blue = Sand, Red = Rock, etc)

Then, I use the vertex data commands to position each vertex by a heightmap, which also uses converted 3d coordinates to lower/raise terrain.

My next step is to implement a simple UI so I can easily select options, e.g Brush size, Texture, Raise/Lower/Flatten terrain.

After that I will be adding objects and creating some functions for placing, scaling and rotating them but I will get back to you once that is done!

Good luck with it.

Login to post a reply

Server time is: 2024-10-05 23:40:50
Your offset time is: 2024-10-05 23:40:50