Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (109)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  3D Terrain  (Read 2570 times)
0 Members and 1 Guest are viewing this topic.
Offline ap_kelly

Junior Member




Java rocks!


« Posted 2002-10-17 06:24:51 »

Hi there,

I'm interested in creating a 3D terrain application, as the start of some work on a MMORPG. However all the examples I've seen on the net so far don't allow 2 players to stand above each other, i.e. same longitude and latitude but different alititue.

Does anyone have any thoughts on how this could be implemented to give my terrain application a realistic 3D look. I'm not really keen on using a 3D array of points, since that will only have a finite number of positions, I'd like something a bit better than that.

If it makes any difference to the solution I'd like to use gl4java as my implementation rather than Java3D.

Thanks for any help you can give,

Andy.

Offline Breakfast

Senior Member




for great justice!


« Reply #1 - Posted 2002-10-17 20:17:48 »

To me this sounds like a data structure question rather than a 3D graphics one. Either of the rendering APIs you mention can handle having one object above another as easily as beside each other or below each other. Have you been looking at the 2 1/2 D systems like the Doom engine? I can't imagine that any modern application of this type would be constrained in this way.
Offline ap_kelly

Junior Member




Java rocks!


« Reply #2 - Posted 2002-10-18 01:36:25 »

From what I've seen of the Doom/Quake engines, they're really good at doing worlds that are enclosed/indoor spaces. I'd like to create an outside world similar to Everquest. This outside world could have mountains, and ravines, cliffs with overhangs etc, so I need a data structure that will hold all this info for a huge map.

I'm planning on having many sectors, but only loading 9, the one you're in and the 8 surrounding sectors, that way I'm hoping I'll bve able to render parts of the world that are far off in the distance. As you move from sector to sector, I'll unload some sectors, and load in the new ones, so that I always have the 9 in your vicinity.


Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Breakfast

Senior Member




for great justice!


« Reply #3 - Posted 2002-10-18 10:07:50 »

Java3D can handle this very well- it is a huge amount of work to put the world together, but the system is more than up to it.

We've had a bunch of people looking to start putting together MMPORGs lately- maybe everyone interested should look to working together on this.

Take a look through the archive for articles by David Yazel (wizardofid) for more background on the progress of magicosm ( http://www.cosm-game.com ) which combines being the only serious Java3D MMPORG with being the platform's current showpiece project. He is probably the leading expert on the topic.
Offline princec

JGO Kernel


Medals: 343
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #4 - Posted 2002-10-19 11:08:21 »

From a data structure point-of-view, I suggest that what you have is three basic structures to build your world.

At the most basic level you may need a heightmap, as there is always ground somewhere.

I would then generate an octree of the actual geometry that the heightmap produces upon loading the sector.

The octree solves the problem of having things on different levels.

The next data structure you need is probably directly going to be the geometry of overhangs and caves or other more three dimensional structures. Most of your map won't have any such structures in, I'm guessing, which is why you can stash the floor in the memory-and-bandwidth efficient heightmap format. However the overhangs may as well be stored directly as polygons, and shoved straight into the octree.

You can also add smaller lumps of repeating scenery at this point - trees, walls, rocks and things like that - and place them directly in the octree.

The complexity then comes from collision detection, made slightly easier by the octree, but made slightly more complex than a traditional BSP because you have to do a bit more checking against individual polygons.

Cas Smiley

Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #5 - Posted 2002-10-19 12:04:18 »

There was a couple of good IOTD over at flipcode.com on terrain techniques, the most interesting one being based on meta-balls: Gives completly free-form geometry, simplifies collision and texturing and was used in an oct-tree for rebuilding only the surfaces that had changed.

Probably good for calculating LOD from as well, you can't have a decent terrain rendering without some sort of LOD in there  Cool And if you were to go completly overboard then you could go for worms style totally deformable landscape..

Just an alternative method for you to ponder over.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline ap_kelly

Junior Member




Java rocks!


« Reply #6 - Posted 2002-10-19 23:51:06 »

Thanks for the ideas so far, this is all great stuff.

I definately want to be able to change the terrain, either through things like earthquakes/volcanoes (natural events), or through things like explosions (caused by players).

So my early choice look like:
1) Meta-balls (which I'll have to go and look at)
2) a height-map with extra poly info for overhangs etc.

Anyone have any thoughts on which is likely to be harder to implement or slower to execute once done? I know this will depend on my coding skills, but is one of these going to require 100 sqrts/pixel more than the other technique?

Cheers,

Andy.

Offline Chris Duesing

Senior Newbie





« Reply #7 - Posted 2002-12-27 18:36:05 »

I to Google and searched flipcode.com for meta balls and could not find anything.  Huh

Any idea where I could get some more info on this? Thanks!
Offline adamp

Senior Newbie




-x-x-x-


« Reply #8 - Posted 2002-12-30 21:48:10 »

I think the mentioned IOTD was the one from the 24. of april this year:
http://www.flipcode.com/cgi-bin/msg.cgi?showThread=04-24-2002&forum=iotd&id=-1

Hope this help!
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

CogWheelz (18 views)
2014-07-30 21:08:39

Riven (26 views)
2014-07-29 18:09:19

Riven (15 views)
2014-07-29 18:08:52

Dwinin (13 views)
2014-07-29 10:59:34

E.R. Fleming (34 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (43 views)
2014-07-24 01:59:36

Riven (44 views)
2014-07-23 21:16:32

Riven (30 views)
2014-07-23 21:07:15

Riven (31 views)
2014-07-23 20:56:16
List of Learning Resources
by SilverTiger
2014-07-31 18:29:50

List of Learning Resources
by SilverTiger
2014-07-31 18:26:06

List of Learning Resources
by SilverTiger
2014-07-31 13:54:12

HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!