![]() |
|
This thread is locked; no one can reply to it.
![]() ![]() |
1
2
|
Alternatives to Tile Based Maps |
Jonny Cook
Member #4,055
November 2003
|
So I was playing Castlevania: Symphony of the Night, and I started paying attention to the map. It's so big and it has so many different structures, most of which aren't just simple blocks. It's also very dynamic, but somehow they make it seem so integrated. And my question is, how did you they do it? I've only worked with tile based games, so my first thought was they split big objects into a bunch of tiles and fit them back together like a puzzle on the actual map. But that just seems so inefficient. I mean, if you are going to have that many unique tiles, it kind of defeats the purpose of using a tile map. {"name":"sotne.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/5\/e5148570f81d8f0836d0f297a8239224.jpg","w":257,"h":211,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/5\/e5148570f81d8f0836d0f297a8239224"} They're not very large screenshots, but they give you a decent idea of what I'm talking about. The background are also so large and picturesque that it's hard to imagine they are tiled either. Or maybe they're just very big tiles. Another reason why I don't think it's tile based is the collision detection. I know it's very possible to do slopes with tiles (although I haven't been able to do it yet The only alternative to tile based maps I've heard of are vector based maps, but I don't have enough knowledge on the subject to know what they are capable of. So, what's the secret to Castlevania's greatness? Once I know I'm sure I'll be able to finish that MMO I was planning. The face of a child can say it all, especially the mouth part of the face. |
miran
Member #2,407
June 2002
|
Perhaps a mix of tiles, bigger objects and full backgrounds? -- |
Richard Phipps
Member #1,632
November 2001
![]() |
If they could grab sections of tiles and place them on the map then they could have images ranging from a single tile upto a full background. It would still be more efficient than having seperate images for each section. |
Jonny Cook
Member #4,055
November 2003
|
Quote: Perhaps a mix of tiles, bigger objects and full backgrounds? Perhaps it's that simple? I'm sure it would take a lot of fine tuning to get it too look just right... but I suppose that's the kind of work it takes to make a high quality commercial game. Have you played the game though? Because there's a lot of places that simple don't seem tiled... Quote: If they could grab sections of tiles and place them on the map then they could have images ranging from a single tile upto a full background. It would still be more efficient than having seperate images for each section. It's just that there are so many places in the game that don't seem to line up like tiles. Either that or they have a lot of transition tiles. The face of a child can say it all, especially the mouth part of the face. |
Neil Walker
Member #210
April 2000
![]() |
They are definitely tiled, if you notice the way you go up stairs, etc. even on the DS game. But as Miran says, they are using background images as well. Neil. wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie |
ImLeftFooted
Member #3,935
October 2003
![]() |
Its pretty common for maps to have their own backgrounds that are just big bitmaps. There isn't a real benefit to tilling those. As for the slopes, you'll notice in those screenshots they're all 45 degrees. The slopped tiles are just special tiles. Nothing too advanced about 45 degree tiles, even Mario had that. For a 45 degree slope you can do two things. One approach is to add two flags for each tile, one meaning a slope going up and one meaning a slope going down. When you do collision detection you just check the flag and if its set you instead check for collisions against the tile as if the upper left half of it wasn't there. Another approach is to have all your tiles be triangles. You get a square tile by combining two triangles. Depending on the amount of extra data you associate with tiles, this method can be less memory efficient then the first. Once you've discovered you've collided with a slope you simply decrement the y value of the new position until the new position isn't colliding anymore. |
Jonny Cook
Member #4,055
November 2003
|
Quote: They are definitely tiled, if you notice the way you go up stairs, etc.
The way you go up stairs? How do you go up stairs? It seems pretty normal to me. Well, in regards to what you said Dustin, that's just in those screenshots. There are many places in the game with slopes of different angles. The face of a child can say it all, especially the mouth part of the face. |
ImLeftFooted
Member #3,935
October 2003
![]() |
Got a screenshot? I'm curious to see it. |
Richard Phipps
Member #1,632
November 2001
![]() |
If you use bitmasks for the tile shapes you can have any shape you like anyway.. |
juvinious
Member #5,145
October 2004
![]() |
I'd say from what I recall is that they use tilemaps for all the foreground items and huge 3D like bitmaps or even possibly 3D for the background which give it a great feeling of depth and immersion. If you've ever played strider2 (the arcade version) or megamanX 7 you'd see what I mean as they do a similar approach. __________________________________________ |
ImLeftFooted
Member #3,935
October 2003
![]() |
Quote: If you use bitmasks for the tile shapes you can have any shape you like anyway.. But how do you plan on calculating your normals? Without normals you cant have proper collision responses. |
Richard Phipps
Member #1,632
November 2001
![]() |
For old school platform games you don't need realistic physics anyway. However.. you can calculate an approximate normal from the pixels themselves which seems to work well enough. I used it in Storm and I think the original Worms probably used it for the grenade bouncing. |
Sirocco
Member #88
April 2000
![]() |
Another thing worthy of note is that with the PS1's notoriously limited memory, it'd be impossible to have a 2D game of that quality, richness, and size without using tiles. --> |
kentl
Member #2,905
November 2002
|
Quote: I used it in Storm and I think the original Worms probably used it for the grenade bouncing. Yep. You could draw your own maps for Worms as bitmap pictures, which means that there are no other options than calculating your normals directly from the bitmap data. |
Steve++
Member #1,816
January 2002
|
What's the advantage of using normals over just slope values? |
Erkle
Member #3,493
May 2003
![]() |
The shots at the top of the thread appear to be done the Mario way as mentioned earlier. I use multi-tile painting for large tiled objects. Just allow box selection within tile picker so you can select large areas from your tile set. I usually try to separate the collision map from the tile map so the tiles are only cosmetic. The following images are from my platform engine's editor. The first shows both the collision map and the tile map, the second shows only the collision map. This shot is not a good example but the collision map supports slopes of any angle as well as invisible walls/floors or hidden holes. The tedious nature of separate collision/tile maps can be alleviated by adding a prefab tool that can capture both the tiles and their colliders. The best part of multi-tile tiles is the ability to mix and match within the editor to create new tiles without any extra memory usage. If you use OpenGL then large tiles can even be strippified:). EDIT: Doh! How do you make the images do the thumbnail thing with the magnify icon?
If the writing above has offended you, you've read it wrong.....fool. |
LennyLen
Member #5,313
December 2004
![]() |
Quote: EDIT: Doh! How do you make the images do the thumbnail thing with the magnify icon? The forum software seem to do it automatically if it deems the image too big.
|
gnolam
Member #2,030
March 2002
![]() |
The forum software does it automatically for all inline images. Whether or not you see a thumbnail is up to your account settings. -- |
Jonny Cook
Member #4,055
November 2003
|
Hey cool! Perhaphs your editor is open souce? I'd very much like to take a look at how you do that. The face of a child can say it all, especially the mouth part of the face. |
Audric
Member #907
January 2001
|
The Dizzy games, for example, checked pixel-perfect collision between the character and the scenery. (character had a rectangular bounding box) This doesn't prevent the levels from being tile-based : more than 95% of the tiles are empty or full and speed up the check considerably. The pixel-perfect check is only required when the character interacts with a complex tile. Old techniques (14 years in this case, but I doubt Dizzy was the first) are still useful today for console programmers who deal with limited memory and cpu resources. |
Hard Rock
Member #1,547
September 2001
![]() |
Looking at the screenshots (and based on the memory limitations of the console), the backgrounds are not a huge memory bitmap. They are also tiles. You can cleary tell in the second shot if you blow it up. For the 3rd shot it doesnt look tiled but look closely at the middle. They use the same row of tiles repeating. Also all the windows look the same. This leads me to believe that what they are doing is actually just taking the windows and putting them on a polygon(or insert 2d drawing trick here) or something,and then just rotating it towards the middle. The large roatating set of bricks in the first shot is probably just a single tile and a neat 2d graphic effect. And the foreground is definetely tiled. _________________________________________________ |
Thomas Harte
Member #33
April 2000
![]() |
Sirocco said: Another thing worthy of note is that with the PS1's notoriously limited memory, it'd be impossible to have a 2D game of that quality, richness, and size without using tiles. I disagree — vector levels provide an increased amount of shape and content variation per kb. Naturally I feel the need to point towards the Skater Allegro demo (https://svn.sourceforge.net/svnroot/alleg/demos/skater/), which I contributed to. It uses a vector map to produce a level that would be very hard to replicate with tiles, especially in a similar amount of space. At one point it was going to be the next "official" Allegro demo game, but I've no idea what will happen to it now. I'm sure there is an easier way to get it than http access to SVN... The graphics aren't exactly Castlevania, but a shot (from an older version): [My site] [Tetrominoes] |
Richard Phipps
Member #1,632
November 2001
![]() |
I think what Sirocco meant was that the whole level couldn't be one big bitmap due to memory restrictions. |
Audric
Member #907
January 2001
|
The key to making tiles look nice is to draw things on blocks of several tiles. The big variety comes from the MANY tilesets used for different parts of the castle. There are completely different graphics for the cellar, gallery, battlements, library, dungeons, etc. |
juvinious
Member #5,145
October 2004
![]() |
As I said for SoTN the backgrounds were either 2D or 3D for certain regions. Take for example the cathedral area, the entire background was rendered in 3D, which is quite stunning and beautiful. The lens flares are 3d and some other effects are also, but mostly it's all 2D tiles. __________________________________________ |
|
1
2
|