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.

Newcomers DBPro Corner / Ready to start, but can I do...?

Author
Message
nz0
AGK Developer
17
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 28th Jun 2007 23:24
I`ve checked out DBPro, 3DWS and some other tools, and everything looks like I can achieve my aims, which is a large scale 3d strategy / flightsim game, but a few key questions which I can't easily work out remain:

1) For worlds created in 3DWS, can I programatically affect the terrain data? e.g. water fx

2) If I made a scenario containing dozens or hundreds of detailed islands surrounded by water, should I design the whole thing in one big world, or load up "sections" dynamically (is that even possible?) as the player arrives at certain locations?

3) For offscreen objects (complex structures / groups of structures / enemies), I`m worried about how that is handled - particularly slow load times for textures etc. and what is memory resident and if there is any control over that.

Basically, to see if the combination of tools and development environment can do what I want, it would be great to see an example of a huge map with dispersed complex arrangements and to be able to understand how that was handled or if that was something I would need to handle by interactively loading objects / textures.

Just before I get the wallet out and find I can't do all of these things

I have seen one or two examples which really impress me, but I just want to be sure before buying these things.

My Robotron remake - http://norrish.force9.co.uk/robotron
Bishop
21
Years of Service
User Offline
Joined: 18th Dec 2002
Location: In my favorite chair...
Posted: 29th Jun 2007 10:00
1) Yes, however it would have to be in the game code. 3DWS does not do that stuff natively, so you'd need to get yourself a water shader and do it in your program.

2) Depends. Is each island a "map" per se? If so, then it would be best to make all the various island "maps" and load them as separate levels.

However, if the player is able to move between the islands as if the entire group of islands were the "map", the it would be better to make them all in a large map.

3) Well, pollies not in the camera view are not rendered, so as long as you're not looking at them, you're fine. HOWEVER, speed can be an issue in DBP. If you're going for an extremely high graphic game, you may want to look into DarkSDK, which is a header, essentially, to add most all the commands in DBP in to C++. You get much better framerate and the like using C++, however you will need some C++ programming experience.

Cheers,
Bishop


Tux is my guildmaster.
Sixty Squares
18
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 30th Jun 2007 02:45 Edited at: 30th Jun 2007 02:45
1) The models created are static, not dynamic, so the terrain and water may not be easily edited. What you could do is load/create the water object outside of 3DWS and in your program. Then you could position it where you want it to go (if you have a vast sea of water, then this may be a good idea)

2) Whichever you want to do... You could load up sections of it as the player gets closer to it and delete far away sections yes. That may save framerate and speed...

3) I'm not sure.

It is a great and capable product (with all the plugins people have made), so I'd say if you're up for the learning it's a good buy

nz0
AGK Developer
17
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 30th Jun 2007 03:02
Hi Bishop,
Thanks for your answers.

1) Cool. At least it "can" be done.

2) This concerns me as in, would I have to pause and load, or be able to seamlessly load if I was able to detect the vicinity of the player - without have to have the dreaded "loading" screen appear

3) I`ve seen this. I have a top end system and yet I see some grim tearing and artifacts on some of the demos, yet I am unable to confirm if this is the engine / environs or just bad design / coding that causes this. I am quite capable and able of developing external plugs/dlls where required, but I wanted to know if the core system is robust enough for this scale.


During my plays with 3DWS, I placed a toilet on a hill. (woohoo).
If I wanted to control the actions, appearance, animation of that object in code, I presume I can reference it somehow.. is this straightforward? Is there any demo / tut for this?

Am I able to clone it, derive from etc..?

I like 3dWS, but there's a lot of things I can see already that need improving. Is there a chance that change requests can be added - is there ongoing development of it for instance?

cheers

My Robotron remake - http://norrish.force9.co.uk/robotron
nz0
AGK Developer
17
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 30th Jun 2007 04:02
Something is wrong with this forum, cos I replied and someone else did and my reply was lost!

Anyway, I`ll post again!

1) So.. is there some example of this I can look at?

2) I fear the "loading" problem, where you need to stop the action an load a bunch of stuff. Is there any possibility of dynamic loading perhaps?

3) I`m ok with that, but speed was a concern. Where are the pitfalls? What things are slow and can they be handled by external libs for instance?

thanks

My Robotron remake - http://norrish.force9.co.uk/robotron
TDK
Retired Moderator
22
Years of Service
User Offline
Joined: 19th Nov 2002
Location: UK
Posted: 30th Jun 2007 04:07
nz0

You are still a newcomer to the forum and your posts have to be approved by a moderator. This can take a little time depending on your time zone and which moderators are on line when you are.

This restriction is lifted automatically after you have made a few posts and as you can see, your posts are not lost - they are still there.

You just have to be patient or you end up multiple posting...

TDK_Man

Bishop
21
Years of Service
User Offline
Joined: 18th Dec 2002
Location: In my favorite chair...
Posted: 30th Jun 2007 09:27 Edited at: 30th Jun 2007 09:29
Hey nz0,

1) Yeah, shaders are not very difficult to use =) Here are some great links;
This first one is a good rescource to get to understand how shaders work. Would be a good read- http://forum.thegamecreators.com/?m=forum_view&t=49137&b=1
This second thread has an excellent shader pack, with all the DBP code to use them as well as examples- http://forum.thegamecreators.com/?m=forum_view&t=79849&b=8

To get shaded water, you would merely import your map from 3dWS (without the water, just the terrain) then create a plain and position it at the water level, then shade it. Check out the Fresnel Water in the pack above (second link) =)

2) This is really a question of game design. I mean, will the player be running (boating?) in a fast action paced style between the islands? If so, then they would have to be one big map.

If it is more RPG style, where you meander between the separate areas and each one is it's own village or whatever, the it would be better to make them separate and load them as the player comes to them. This would also give you leeway to make them higher graphic without a compy stutter.

I'm hardly an expert, but I do not think that DarkBASIC has a native support for dynamic loading. You might be able to get a plugin for something like it, but I have no idea of how to do it without stutters.

3) 3DWS, while powerful, is simply a modeling/ lightmapping package. While there are entities that can be used, I personally have not used them at all, only the modeling portion =)

The way a map would work;

1- Create a map and lightmap in 3DWS
2- Export it as a .dbo (natively exports as such)
3- Import the map in your game
4- have an entity placing system developed to input entities easily

Now, while this means you have to code more things, it gives you more flexibility. You would probably want 3 layers on any given map; Base (solid ground, pure collision), Scenery (trees, shrubs, doors, etc...anything that the player can still collide with, but need animations and the like), and finally Entities (players, enemies, NPC's, etc)

Three layers is a good system to start with. Use 3dWS to create your base, then hardcode or code a custom editor for your Scenery and Entities.

Cheers,
Bishop


Tux is my guildmaster.
nz0
AGK Developer
17
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 30th Jun 2007 20:41
Thanks guys, there's some great info there.
Sorry about the posting - didn't notice the delay.

My Robotron remake - http://norrish.force9.co.uk/robotron
andrey d
17
Years of Service
User Offline
Joined: 30th Jun 2007
Location:
Posted: 1st Jul 2007 00:30
Quote: "For offscreen objects (complex structures / groups of structures / enemies), I`m worried about how that is handled - particularly slow load times for textures etc. and what is memory resident and if there is any control over that."

There's a lot of things you can do with those, such as excluding, ect. Look over the 3D commands or examples provided by TGC to find out more on them. While is is true that when objects are not in view, they're not rendered, they still take up more resources than if you just did something like excluding.

Quote: "load up "sections" dynamically (is that even possible?) as the player arrives at certain locations?"

Yes, but I would personally load all the media in the beginning. I would much rather wait a few seconds more than have to experience in-game shudders as new media is constantly loaded.
nz0
AGK Developer
17
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 28th Jul 2007 02:43
Well, I have decided to join you lot and have purchased DBPro and just also bought the excellent gui studio.

I am going to develop something a little less ambitious to start with (but complex enough none the less) and will be starting off writing the level designer. This should be interesting, as the levels will be built from primitives and simple structures, which will all need to be interacted with separately.
From what I can see, this is the best way to proceed, rather than building my levels as .x models and trying to interact with the individual parts?

I was suprised to see the UDT stuff in the language, as this is more familiar to me as a delphi developer and can be put to great use

A big plus for choosing DBPro was the very active and useful forum resource here - hopefully I will be able to contribute something also.

cheers all

My Robotron remake - http://norrish.force9.co.uk/robotron

Login to post a reply

Server time is: 2024-11-25 15:12:49
Your offset time is: 2024-11-25 15:12:49