L3DT users' community
Large 3D terrain generator

Overlap Plugin

Correspondence concerning plugins and scripts; development, use, bugs and ideas.

Overlap Plugin

Postby jack.dingler » Sun Nov 26, 2006 6:15 am

I've spent a few hours tonight giving it a go making this plugin.

It was inspired by this article at Garage Games.

An adventure singleplayer game using multiple missions
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=11672

If you don't have a license to view the content, the quote that got me started down this path was this, "Create a height map (source 3DGPAi1) using a large greyscale bitmap at the desired size in pixels. Divide this large bitmap into 256 by 256 pixels with overlaping of 64 pixels."

The idea is that as your moving accros the game, you're automatically warped to a new mission area, to a position that like like the one you just came from. By overlapping pixels between zones, it appears like a seamless transition from mission area to mission area.

If you play Everquest, the effect is like going from North Karana to West Karana.

I've started with the atGrowTilesByOne sample.
(http://www.bundysoft.com/L3DT/downloads/zeolite/atGrowTilesByOne.zip)
I think I'm beginning to get a handle on how things work. I have the opening setup dialogue started. From there, I have subdialogs that load the HeightField map and then allows edtiting of the export type and options.

That all works. I can drill into the HeightField, set for BMP export and flip the invert flag or change the greyscale limits, in dialogues that look like the L3DT dialogues.

I've tried to stay true to the look and feel of L3DT.

Tomorrow I'm going to try to get it to actually export a Heightfield Mosaic.

I believe I can expand this to create entire project arrays easily enough, so that mission areas can be individually tweaked and edited after being split.

Off to get some sleep.
jack.dingler
Contributing member
 
Posts: 36
Joined: Mon Oct 09, 2006 2:58 am

Postby notareal » Mon Nov 27, 2006 10:01 am

I been looking something like this. Hope one can change how much there is overlapping. I wonder if this can be used with other maps, like with attribute map.
notareal
Contributing member
 
Posts: 25
Joined: Thu Nov 16, 2006 12:25 pm

Postby jack.dingler » Mon Nov 27, 2006 1:33 pm

I'm shooting for the ability to choose which maps to export and how to split the maps.

This is what the setup screen looks like so far. Note that in the example I'm using, I didn't generate every map. The maps that haven't been generated, don't show in the list.

Clicking the 'Export Format' field gives you a list box to choose formats from.

I had 'options' working in the single map version I started with. When I get it working here, it'll show you the options in a text format and when you click the field, you'll get a button. That button will take you to a dialogue like the treeview dialgue that Aaron implements in L3DT.

Image

It seems like an obvious next project to take an array of L3DT projects and combine them back into one.
jack.dingler
Contributing member
 
Posts: 36
Joined: Mon Oct 09, 2006 2:58 am

Postby Aaron » Fri Dec 01, 2006 12:32 am

Hi Jack,

Sorry I didn't reply to this sooner.

This looks like a really great plugin idea, and I very much like the clean look of your UI. As I understand it, this will allow you to render large maps only one tile at a time, correct? So, for sufficiently large overlaps and short view distances, you can switch from one tile to another seamlessly (or with a little load time.) Very clever.

Exporting sub-regions of maps to new projects is a nifty idea. The export area plugin exposes some functions that may be useful to your plugin, but it might take me a day or two to document the way to call functions in other plugins (it's quite easy, but I just haven't written it down yet.)

I suppose there are two other things I should do:
  1. Allow you to access the project settings list, which you'll need if you want to save a correct project file (and matching .def.xml settings file.)
  2. Allow you to use L3DT's XML reader/writer, which is used to read/write the project and .def.xml files. If you're writing an XML file, you just pass a list containing the data, and if you're reading a file, the function returns the data as a list.


jack.dingler wrote:I had 'options' working in the single map version I started with. When I get it working here, it'll show you the options in a text format and when you click the field, you'll get a button. That button will take you to a dialogue like the treeview dialgue that Aaron implements in L3DT.


If you like, you can use L3DT's dialog by calling var_EditUI on the options list (as retrieved by format_GetOptionList.) I dislike the monotony of programming dialogs in VC++, so I've made a few generic ones that I use everywhere via var_EditUI.

Cheerio,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Postby jack.dingler » Sun Dec 17, 2006 10:15 pm

I had hoped to do some development today, but started a map import in TSE that's eating all my processor time. I need to get more computer systems in here, so I can offload the heavy computational stuff to back end servers.

Another benefit to splitting maps like this is that in massively multiplayer games, you don't have the servers trying to manage too many players or NPCs. You can spread the load about and still give the players a huge field to play in.
jack.dingler
Contributing member
 
Posts: 36
Joined: Mon Oct 09, 2006 2:58 am


Return to Plugins and scripts

Who is online

Users browsing this forum: No registered users and 4 guests

cron