Question: Is world wraparound planned?

Chaster

21-06-2006 19:09:32

Hello,

I was looking over the TODO list for PLSM2, and saw "Infinitize Terrain" as something to do. It would be a nice (& useful) feature to have a terrain "wrap" at the edges (i.e. north edge goes around to the south edge, and west edge goes to the east edge). Having done this myself in another engine, I know that it isn't a totally trivial feature, but it isn't that hard to add. Is this the same as "Infinitize Terrain"?

(By the way, I'm talking about a toroidal topology, not a spherical topology).

On a slightly different note, perhaps another useful (similar) feature would be to have the terrain just continually repeat itself (instead of wrapping). Hmm, perhaps this is what "Inifnitize Terrain" means?

Chaster

praetor

21-06-2006 20:33:02

I think instead of physically "wrapping" the terrain around, it would just index back itself. Meaning as you approach the farthest page, the first page is loaded instead of a non-existent "next" page. Basically the pages getting loaded use wrap-around indices.

jacmoe

22-06-2006 01:13:53

I don't know how nfz did it in his infinite psm, but it would be worth a look. :)

OvermindDL1

22-06-2006 01:24:29

Could just use a noise function to generate dynamic and infinite terrain, as I am attempting to integrate with PLSM2 (very 2d'ish is mine, this is not what you are looking for).

jacmoe

22-06-2006 02:37:43

The Dungeon Hack guys are dynamically creating terrain.. :wink:

HexiDave

22-06-2006 04:05:34

I've just started experimenting with something that will probably lead into this - my terrain is big... no, I mean rediculously huge. I know most of the landscape won't ever get touched by gamers, but it's there to play with. There's a problem though: accuracy. After about 50,000-100,000 game units the animation goes berserk. It looks like the character's skin is boiling and gets worse the further it goes. As you might guess, that's a problem.

What I'm doing now is taking the tile's SceneNode and moving it back by an offset and then repeating that for EVERYTHING else in view and manually loading tiles and moving them into place. It's currently overkill until I change the PLSM2 plugin to work the way I want, but it gets the job done so far.

Now, where "infinite" terrain comes in: since I'm manually loading tiles anyways, I could just as easily load tile data from wrap-around and go about my business offsetting everything. I haven't run into any major snags yet, but I'm early in development.

So in short:
Get the PagingLandScapeTile and use the getSceneNode() method and just adjust by a constant offset with manual loading of tile data.

I'm not sure yet how LOD is affected or if any internal problems arise, but it's working pretty well so far. Hope this helps!

Chaster

22-06-2006 05:22:39

I think instead of physically "wrapping" the terrain around, it would just index back itself. Meaning as you approach the farthest page, the first page is loaded instead of a non-existent "next" page. Basically the pages getting loaded use wrap-around indices.

Yes, that is an option - essentially "repeating" the terrain over and over. This is a decent solution if you aren't trying to keep a bunch of players (multiplayer game) in the same "area". In my game, I would like to keep people from wandering "too far" away from the action, so I would prefer to use true world "wrap around". But I totally see the uses for your suggestion too.

Chaster

Chaster

22-06-2006 05:26:47

I'm more interested (for my project) in getting wrap around of the world. This is to ensure that players stay relatively close to each other. If I use methods suggested by yourself and the others, it will allow too much freedom for the players. My game is a team-based FPS where we don't want people wandering hundreds of miles away.. =)

Chaster


What I'm doing now is taking the tile's SceneNode and moving it back by an offset and then repeating that for EVERYTHING else in view and manually loading tiles and moving them into place. It's currently overkill until I change the PLSM2 plugin to work the way I want, but it gets the job done so far.

Now, where "infinite" terrain comes in: since I'm manually loading tiles anyways, I could just as easily load tile data from wrap-around and go about my business offsetting everything. I haven't run into any major snags yet, but I'm early in development.

So in short:
Get the PagingLandScapeTile and use the getSceneNode() method and just adjust by a constant offset with manual loading of tile data.

I'm not sure yet how LOD is affected or if any internal problems arise, but it's working pretty well so far. Hope this helps!

tuan kuranes

22-06-2006 07:57:16

@Chaster : was planned by original plsm author, aka spoke... but he was taken by real life.

Feel free to implement whatever infinitizing you like.

Chaster

23-06-2006 05:43:31

@Chaster : was planned by original plsm author, aka spoke... but he was taken by real life.

Feel free to implement whatever infinitizing you like.


Roger wilco!

Chaster

Falagard

23-06-2006 06:29:30

I hate to point out the obvious, but instead of wrapping around, why don't you just make the terrain a bit larger but have a boundary (either invisible or otherwise) that prevents the user from going past a certain point?

I can't comment on your gameplay, but in my opinion in most situations having a wrap around terrain would actually be more confusing than having rigid boundaries. You're more likely to get lost when you can continue in one direction and end up back at where you started.

jacmoe

23-06-2006 14:40:37

Or you can make it a tiny planet. If it's round, then you'll obviously end up where you started. :wink:

Ocelot

23-06-2006 16:23:48

I think instead of physically "wrapping" the terrain around, it would just index back itself. Meaning as you approach the farthest page, the first page is loaded instead of a non-existent "next" page.
Better instead of a non-existent page load "default" page.

praetor

23-06-2006 19:28:57

I'm with Falagard. It would throw me if I was running around the world and ending up where I started. That would mean my world is really tiny, since I can just run across it. It would seem a little unnatural.

Jerky

23-06-2006 20:27:38

Also, if you wrap your game world around, you leave yourself no room for addons, at least without breaking immersion. This could be a reason to not worry about that until players reach the edges (or eventually find out how to get past the barriers via story or technology advances or exploration, etc.). Once you make an addon or two, then make them wrap, so the players then feel the true accomplishment later on in the game. That is my plan anyways. Eventually they will be able to go around, but not for a while after the first release. They have to have time to eat up the content before we enlarge it.

Chaster

24-06-2006 05:37:38

I hate to point out the obvious, but instead of wrapping around, why don't you just make the terrain a bit larger but have a boundary (either invisible or otherwise) that prevents the user from going past a certain point?

I can't comment on your gameplay, but in my opinion in most situations having a wrap around terrain would actually be more confusing than having rigid boundaries. You're more likely to get lost when you can continue in one direction and end up back at where you started.


That *might* be true. Different people will have different opinions with regards to wrap around. Currently, for my game, wrap around makes sense. <shrug> I still may go with rigid boundaries as you describe, but haven't made up my mind (obviously, rigid boundaries are easier to implement! But they do have a certain impact on the gameplay..)

Chaster

Chaster

24-06-2006 05:41:19

I'm with Falagard. It would throw me if I was running around the world and ending up where I started. That would mean my world is really tiny, since I can just run across it. It would seem a little unnatural.

<shrug> Maybe, maybe not... I haven't really posted anything about the game design, so y'all are just gonna have to give me the benefit of the doubt.. :P

Chaster

24-06-2006 05:47:40

Also, if you wrap your game world around, you leave yourself no room for addons, at least without breaking immersion. This could be a reason to not worry about that until players reach the edges (or eventually find out how to get past the barriers via story or technology advances or exploration, etc.). Once you make an addon or two, then make them wrap, so the players then feel the true accomplishment later on in the game. That is my plan anyways. Eventually they will be able to go around, but not for a while after the first release. They have to have time to eat up the content before we enlarge it.

Some of us aren't making adventure/RPG's. (of course, nothing wrong with making adventure/RPG's - just wanted to point out that most of your post was specific to the genre of game you happen to be working on...)

Chaster

Gauntlet

24-06-2006 06:24:03

Well, this idea is maybe not suitable for some genres but I think such a thing would be really interesting in a racing game.
Not a normal racing game of course, one with god-damn-it fast vehicles. And one round is equally to one time around the earth ;)
Just a random thought, though.

I don't think that would be very hard to integrate. You just would have to check where the player is and if he is at a certain distance before the map ends, the map would be placed at the end-point again, like a tile.
Should be possibly, right? ;)

praetor

26-06-2006 15:41:52

So fast they skip across the ocean!!!

Suki

04-07-2006 15:23:23

Achtung!!

LizzardDude

06-07-2006 14:34:21

I hate to point out the obvious, but instead of wrapping around, why don't you just make the terrain a bit larger but have a boundary (either invisible or otherwise) that prevents the user from going past a certain point?

Like it is in TES Morrowind and (even more) Oblivion. In both of the games you have at least the theoretical possibility to create an infinite World...
The wrap-around wouldn´t make much sense, since there are Oceans to cross.


I can't comment on your gameplay, but in my opinion in most situations having a wrap around terrain would actually be more confusing than having rigid boundaries. You're more likely to get lost when you can continue in one direction and end up back at where you started.


Yepp, besides most games are somewhat unrealistic in many points (hey, that´s why we all want to play them, right?) it would be quite tedious and very much distracting to play. I mean, most people still have problems w/ some special mouse cursor features on a normal Windows Desktop...

I´d suggest a room/level-based World for FPS or Adventure-like games. The same for Multiplayer FPS...

Pintumbler

08-07-2006 21:36:14

For our game-project non-wrapping maps gives players in corner positions a huge tactical advantage compared to players in the center. With wrapping all players are in the center.

It may only work for our game but we're looking to achive wrapping by using a larger map. The larger map would include padding in all directions. At some point, in our case when the edge is cleared, the camera is moved instantly to the other side.

Anyone tried plsm for a strategy game before?

PatrickB3

29-07-2006 01:16:53

I never used PLSM2 to make a strategy game, I can barely get it to work in a RPG lol.

That aside, I agree with limiting the edges. Not from a technical view but from a game design view. I don't think enough work went into your design really. You really have to look at the history of war. Location is a large part of the battle. Also there is no reason you can't duplicate the strategic difference in the middle of the map. Large uncrossable mountains can work wonders plus they really help the frame rate anyways. The players skill is also important. In the board game Risk it is hard to lose if you start in Australia, the only dead end in the game. On the other hand if you start to lose it is close to impossiable to turn around to a win.

Also look at Quake and Unreal. basically you can hide and jump out to surprise people or just run around killing everyone you find. People who run around killing everyone have the most kills, always, but they also have the most deaths, always.

Basically a very simple rule is to use design to get around a technical issue but never use technology to get around a design issue. All you end up with is a bad game with technology.

Finally as a player I HATE games with wrap around. They are very confusing and allow one to get really lost in a small world. Wrap around is really more suited for a space or flying game. Even Star Wars Galaxies where if map is a different planet does not wrap around so that you don't get disorientated. Bad enough to die cause you suck, even worse to die simply because you were disorientated.

baronvonarrow

14-08-2006 01:32:23

Geez. Well, Chaster, if you wanna work on this, I'd be happy to help. I'm very interested in using the same feature in my small-planet scaled game. Let me know if you're still considering this.