Welcome to Gaia! ::

z!magine

Back to Guilds

Envisioning the future of zOMG! 

Tags: zOMG!, Idea, Discussion, z!magine 

Reply Technical (Mechanics, Interface)
Different Points of View

Quick Reply

Enter both words below, separated by a space:

Can't read the text? Click here

Submit

cnoisy

Lucky Informer

12,100 Points
  • Marathon 300
  • Wall Street 200
  • Forum Junior 100
PostPosted: Sun Apr 03, 2011 9:18 pm


Okay so this is an idea that I thought of some time ago, it's similar to how some games have points where the view changes, say for example, for most of the game you are looking down at the character, and then at other times, say you were climbing or walking up a mountain, the view changes to looking up at the mountain as you move up it. So you know how most of the time we are looking down at out characters, what if like, when we are walking up the mountain in Dead Man's Pass, the view changes to look up at the path, since we are walking up. Another example in which this could be implemented is when we are walking down hallways or something, the view could change so that we are looking down the hallway. Example. Now I know this might be hard to implement since this is a 2D game, but hopefully you get what I'm trying to say.
PostPosted: Mon Apr 04, 2011 7:21 am


cnoisy
Okay so this is an idea that I thought of some time ago, it's similar to how some games have points where the view changes, say for example, for most of the game you are looking down at the character, and then at other times, say you were climbing or walking up a mountain, the view changes to looking up at the mountain as you move up it. So you know how most of the time we are looking down at out characters, what if like, when we are walking up the mountain in Dead Man's Pass, the view changes to look up at the path, since we are walking up. Another example in which this could be implemented is when we are walking down hallways or something, the view could change so that we are looking down the hallway. Example. Now I know this might be hard to implement since this is a 2D game, but hopefully you get what I'm trying to say.

The problem isn't really the 2D nature, although the perspective will seem a little odd (Gaia avatars look pretty normal either from the perspective we currently have, or a straight out front view perspective), but the nature of the map. As it is now, each "room"/"square"/"sector" of the map ends when the avatar moves to the end of it. That is, you visually reach the end of the map sector when you actually reach its boundary. A front view mode would set that boundary really far back, or even almost infinitely far back. When you were near the "back" of a sector, it would be really hard to see the avatar, and moving "forward" toward the player would just make you larger, blocking up the screen. Other players or animated could intentionally or unintentionally block the view of stuff in the background just by standing over it closer up.

One alternative would be to have the map sectors as they are now, even with the visuals different. However, this would mean that the avatar would disappear at seemingly arbitrary points while walking forward or backwards, and the camera would shift into another zone that's just closer up to them (rather than being completely unseen before). That would probably be disorienting.

Another alternative is to use it with the camera following the avatar, panning through scenery items forwards or backwards. This would probably be graphically inferior to the current design, due to having to consider all the flat renders as images to flip through according to how far through the avatar was, and would require a lot of work.

The last alternative would be to only use it in limited cases. Of course, it would still take some work (the scaling of walking would be different, for example - how fast you move in a direction when you walk one way, then also the avatar size changes). The places where it could be used would be hallways and such without a lot of depth or the ability to approach too close to the "camera" (a narrow cliff path, where the camera view is perpendicular to the path is one example that comes to mind).

Maybe in some cases that would be useful for a specific reason, but given the difficulty compared to usage, for most instances I'd say it wouldn't be necessary.

Atrash the Squidmonger
Vice Captain


cnoisy

Lucky Informer

12,100 Points
  • Marathon 300
  • Wall Street 200
  • Forum Junior 100
PostPosted: Mon Apr 04, 2011 9:27 am


Atrash the Squidmonger
cnoisy
Okay so this is an idea that I thought of some time ago, it's similar to how some games have points where the view changes, say for example, for most of the game you are looking down at the character, and then at other times, say you were climbing or walking up a mountain, the view changes to looking up at the mountain as you move up it. So you know how most of the time we are looking down at out characters, what if like, when we are walking up the mountain in Dead Man's Pass, the view changes to look up at the path, since we are walking up. Another example in which this could be implemented is when we are walking down hallways or something, the view could change so that we are looking down the hallway. Example. Now I know this might be hard to implement since this is a 2D game, but hopefully you get what I'm trying to say.

The problem isn't really the 2D nature, although the perspective will seem a little odd (Gaia avatars look pretty normal either from the perspective we currently have, or a straight out front view perspective), but the nature of the map. As it is now, each "room"/"square"/"sector" of the map ends when the avatar moves to the end of it. That is, you visually reach the end of the map sector when you actually reach its boundary. A front view mode would set that boundary really far back, or even almost infinitely far back. When you were near the "back" of a sector, it would be really hard to see the avatar, and moving "forward" toward the player would just make you larger, blocking up the screen. Other players or animated could intentionally or unintentionally block the view of stuff in the background just by standing over it closer up.

One alternative would be to have the map sectors as they are now, even with the visuals different. However, this would mean that the avatar would disappear at seemingly arbitrary points while walking forward or backwards, and the camera would shift into another zone that's just closer up to them (rather than being completely unseen before). That would probably be disorienting.

Another alternative is to use it with the camera following the avatar, panning through scenery items forwards or backwards. This would probably be graphically inferior to the current design, due to having to consider all the flat renders as images to flip through according to how far through the avatar was, and would require a lot of work.

The last alternative would be to only use it in limited cases. Of course, it would still take some work (the scaling of walking would be different, for example - how fast you move in a direction when you walk one way, then also the avatar size changes). The places where it could be used would be hallways and such without a lot of depth or the ability to approach too close to the "camera" (a narrow cliff path, where the camera view is perpendicular to the path is one example that comes to mind).

Maybe in some cases that would be useful for a specific reason, but given the difficulty compared to usage, for most instances I'd say it wouldn't be necessary.

Well yes, my original idea wasn't to have it for everything, but just to have it at certain times depending on where you are. And ya, because of the screen transitions and the flat images this would be hard to implement either way. And something that could be used in the case where the avatar blocks most of the screen is to allow manual camera movement.
PostPosted: Mon Apr 04, 2011 9:33 am


*cuts 3D rant*
*cuts snarky comments*


Actually, there's no reason why this couldn't work! gonk It'd take some creativity to make it happen however.

Taking the corridor example, I seem to find it very possible to add "depth" to the game. I've seen it on other games before! But it'd look quite awkward if the avatars moved at constant speed around the screen.
This game footage (check until second 40) is entirely built with 2D environments. Everything you see is 2D, and the invisible "pathing" the 3D model of the MC is walking on is also 2D. Notice how as the main character moves away, his model reduces in size, and moves around slower on both axis. It's a trick to give you a feeling of depth, that the model would reduce in size when it reaches the top most part of the pathing.

I believe that the developers are VERY capable of doing this. Not just does zOMG!'s camera work exactly like this. They already did a trick like it in Gold Beach! They mapped areas with water depth, and a visual effect would happen depending on how deep the water was.

If we make a place like a winding stair way going up, and we map "Distance to the camera" instead of water depth, we could emulate the effect of being far away. The further up you go, the slower the movement in the Up/Down axis is, and the smaller your avatar becomes. The left/right axis movement is also slowed down, but only by a fraction of what the Up/down is.

But Quint! From a sinking avatar, to an avatar that shrinks and moves slower goes a long way of coding.
Actually, not that much, really.
As a starter, distance is already programmed in the game. Both the size and movement effects at that! Go the general's House. Next, go to EB's lair. You'll notice that your avatar is HUGE in general's house, and can move around the screen very quickly. However, in EB's lair, you take a awful lot of time to get anywhere, and the hair clips in your hair start becoming a indiscriminate mass of colorful pixels that could be of any shape when zoomed in.

It'd take an effort to figure out a way to make a distance transition, but other than that, the effect is confirmed to work perfectly well already.

DrQuint
Vice Captain

Girl-Crazy Ladykiller


Red Kutai
Captain

Benevolent Codger

PostPosted: Tue Apr 05, 2011 3:54 am


Quintafeira12
*cuts 3D rant*
*cuts snarky comments*


Actually, there's no reason why this couldn't work! gonk It'd take some creativity to make it happen however.

Taking the corridor example, I seem to find it very possible to add "depth" to the game. I've seen it on other games before! But it'd look quite awkward if the avatars moved at constant speed around the screen.
This game footage (check until second 40) is entirely built with 2D environments. Everything you see is 2D, and the invisible "pathing" the 3D model of the MC is walking on is also 2D. Notice how as the main character moves away, his model reduces in size, and moves around slower on both axis. It's a trick to give you a feeling of depth, that the model would reduce in size when it reaches the top most part of the pathing.

I believe that the developers are VERY capable of doing this. Not just does zOMG!'s camera work exactly like this. They already did a trick like it in Gold Beach! They mapped areas with water depth, and a visual effect would happen depending on how deep the water was.

If we make a place like a winding stair way going up, and we map "Distance to the camera" instead of water depth, we could emulate the effect of being far away. The further up you go, the slower the movement in the Up/Down axis is, and the smaller your avatar becomes. The left/right axis movement is also slowed down, but only by a fraction of what the Up/down is.

But Quint! From a sinking avatar, to an avatar that shrinks and moves slower goes a long way of coding.
Actually, not that much, really.
As a starter, distance is already programmed in the game. Both the size and movement effects at that! Go the general's House. Next, go to EB's lair. You'll notice that your avatar is HUGE in general's house, and can move around the screen very quickly. However, in EB's lair, you take a awful lot of time to get anywhere, and the hair clips in your hair start becoming a indiscriminate mass of colorful pixels that could be of any shape when zoomed in.

It'd take an effort to figure out a way to make a distance transition, but other than that, the effect is confirmed to work perfectly well already.

To be completely honest, that's pretty bloody brilliant. Actually, it was pretty brilliant for them to come up with the opacity-defined depth effect originally - but I wouldn't have thought to apply it to this problem, even having seen it. Good one, Quint.

The real beauty of this is that our characters (and, for that matter, enemies and everything else that shows up in a level) already have a Scale variable, as you've described. It really is as simple as making a new type of mapping system for Scale-mapping, and the game would just mould around it, perfectly. The 'tech' is already there...
PostPosted: Tue Apr 05, 2011 9:45 am


Quintafeira12

As a starter, distance is already programmed in the game.

Eh, I'm not so sure on that. There's the basic tech, as you state, but it depends on how it is implemented. If the quality "Scale" is just a set factor on maps, set for each section (or each overall map/instance), then they'd have to add in a new mechanic which would allow for equation based scaling rather than a constant just set in the info or whatever for the map or section.
Or scale might not exist, with map squares just being different sizes (so instead of saying "this map is scaled at 1, so the avatar is going to be 4 arbitrarylengthmeasurementunits (almu) tall, and this map is scaled at twice as large, so the avatar is now going to be only 2 almu tall", it might just say "this map is 100 almu tall, and this map is 200 almu tall, and the avatar is always 4 almu tall").

That's the main technical hurdle. If there is no location equation dependent scale feature, and there's so far been no reason for one to exist, it would have to be made specifically for this purpose. Isometric to Perspective switches aren't precisely easy... [will edit in a bit more later, must go now]

Atrash the Squidmonger
Vice Captain


Red Kutai
Captain

Benevolent Codger

PostPosted: Tue Apr 05, 2011 1:17 pm


Atrash the Squidmonger
Quintafeira12

As a starter, distance is already programmed in the game.

Eh, I'm not so sure on that. There's the basic tech, as you state, but it depends on how it is implemented. If the quality "Scale" is just a set factor on maps, set for each section (or each overall map/instance), then they'd have to add in a new mechanic which would allow for equation based scaling rather than a constant just set in the info or whatever for the map or section.
Or scale might not exist, with map squares just being different sizes (so instead of saying "this map is scaled at 1, so the avatar is going to be 4 arbitrarylengthmeasurementunits (almu) tall, and this map is scaled at twice as large, so the avatar is now going to be only 2 almu tall", it might just say "this map is 100 almu tall, and this map is 200 almu tall, and the avatar is always 4 almu tall").

That's the main technical hurdle. If there is no location equation dependent scale feature, and there's so far been no reason for one to exist, it would have to be made specifically for this purpose. Isometric to Perspective switches aren't precisely easy... [will edit in a bit more later, must go now]

You are right on the first part, at least - scale is currently done by-room, so I'd wager they don't have individual Scale properties for every object therein.

That's an easy fix, though - you still need the room to retain its base Scale, you'd simply have to add a new Scale property to all mobile objects (which, with any luck, would be co-inheritors of a single revelant parent class). Upon loading the room, each instance inside it would load the room's static Scale variable into its own, then proceed to vary its own in real-time based on interaction with Scale maps.

Alternatively (since checking constantly sounds awfully unnecessary), you can simply have the Scale-map affect that on its own, without introducing new native properties. I doubt players and enemies have a depthUnderwater property, either - that's simply factored, when relevant, by the depth map. Since scaling is simply a matter of applying a percentage to both display size and movement speed, it probably wouldn't even be as hard to program as depth maps were.

So, you're right that it's not really in the game, yet - but putting it there wouldn't be a difficult thing to do at all. The greatest part of the trouble would go to finding where and how to use it; particularly, where and how to use it well...
PostPosted: Tue Apr 05, 2011 1:48 pm


That crossed my mind. Yet, without any technical knowledge, I only thought "What if movement and avatar size are default values loaded along every map?"

It came up because I remembered how in SS, to see the Sea Lab in the distance, the developers had to add a different screen, that just momentarily puts you outside the ledge proper. Probably to both make it easier to not have to draw screens in between, while still allowing the view to fit the whole screen.

Regardless, what I meant by "distance" already being there stands. They must have a scale value, so they'd need to code a way to allow this to change. It could even be a secondary value that overrides the regular one under circumstances. Or doesn't even override anything! They could just make it so any flash object entering a region gets automatically scaled to a % of its size, the same way any object entering water will sink and be "hidden" below a certain height value contained in itself.

Still, considering how the perspective is done in this game, which is using actual 3D models and rendering pictures with the model viewer, then drawing over the render - just so that it is always as correct as possible, such work seems needless, no? - it's likely that this effect would never happen, as that would mean going out of their modus operandi for one screen only. There would have to be some really good reason to go ahead with such an exception.

DrQuint
Vice Captain

Girl-Crazy Ladykiller


Thard_Verad
Crew

Dangerous Genius

PostPosted: Tue Apr 05, 2011 2:16 pm


I'd have to ask a dev on this, but I believe most of zOMG's maps use a 75% scale, Barton and the Sealab Compound are 50%, and I suspect the ledge overlook might be 25%. Your avatar in the header is the 100% scale reference.

Edit: Behind the Scenes
PostPosted: Wed Apr 06, 2011 1:53 pm


Red Kutai
Atrash the Squidmonger
Quintafeira12

As a starter, distance is already programmed in the game.

Eh, I'm not so sure on that. There's the basic tech, as you state, but it depends on how it is implemented. If the quality "Scale" is just a set factor on maps, set for each section (or each overall map/instance), then they'd have to add in a new mechanic which would allow for equation based scaling rather than a constant just set in the info or whatever for the map or section.
Or scale might not exist, with map squares just being different sizes (so instead of saying "this map is scaled at 1, so the avatar is going to be 4 arbitrarylengthmeasurementunits (almu) tall, and this map is scaled at twice as large, so the avatar is now going to be only 2 almu tall", it might just say "this map is 100 almu tall, and this map is 200 almu tall, and the avatar is always 4 almu tall").

That's the main technical hurdle. If there is no location equation dependent scale feature, and there's so far been no reason for one to exist, it would have to be made specifically for this purpose. Isometric to Perspective switches aren't precisely easy... [will edit in a bit more later, must go now]

You are right on the first part, at least - scale is currently done by-room, so I'd wager they don't have individual Scale properties for every object therein.

That's an easy fix, though - you still need the room to retain its base Scale, you'd simply have to add a new Scale property to all mobile objects (which, with any luck, would be co-inheritors of a single revelant parent class). Upon loading the room, each instance inside it would load the room's static Scale variable into its own, then proceed to vary its own in real-time based on interaction with Scale maps.

Alternatively (since checking constantly sounds awfully unnecessary), you can simply have the Scale-map affect that on its own, without introducing new native properties. I doubt players and enemies have a depthUnderwater property, either - that's simply factored, when relevant, by the depth map. Since scaling is simply a matter of applying a percentage to both display size and movement speed, it probably wouldn't even be as hard to program as depth maps were.

So, you're right that it's not really in the game, yet - but putting it there wouldn't be a difficult thing to do at all. The greatest part of the trouble would go to finding where and how to use it; particularly, where and how to use it well...

It's not by any means a difficult change. It could potentially be a complicated one, though. You make a scale map or scale equation that calculates the proper scale at different points. You place constant values of this for all areas as they are now, to match their former properties. You remove the former property, and all references to it in all the rooms or maps. You test to make sure it didn't break something, and that everything seems normal and works out realistically without adding extra pressure on the computations. Or, you make a scale map or scale equation, then you put another function which either follows room/map properties or scale maps/equations where applicable. You remove references to how things decided which scale to do before (just by checking map properties). You test to make sure the function switches at all the right times, that nothing is broken, and it doesn't make things run slow in those specific spots.

That's the technical side. Then for the artistic design side, you take shots from a different camera angle (not too hard, usually), and arrange things carefully - making sure things don't obscure vision, that the horizon looks natural (not too much hard to see details in the distance, etc., but not too little detail either), etc. Since it would still be placed in an isometric map, you'd have to calculate out where to place things to make stuff look like they're in the right place in perspective (tricky for larger maps - instead of just modeling a map and then being able to divide it into rooms, they'd have to compress each part into perspective drawings from different points). Test some more, make sure the animations fit close enough to the perspective feel and the angle you chose (since animations are made for the angle of vision currently in use), use other effects as needed.

It's not impossible, but it's a nonnegligible greater amount of work than making areas with the normal point of view. With the limitations of it (can't be too expansive or we'd just lose sight of avatars and such, stuff blocking the view, etc. - the need for the angle of vision being somewhat close to the one we already have [so the animations and the avatars don't look too odd], etc.) it would need some impressive and/or important usages to make it actually worth it.

Atrash the Squidmonger
Vice Captain

Reply
Technical (Mechanics, Interface)

 
Manage Your Items
Other Stuff
Get GCash
Offers
Get Items
More Items
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff
Gaia's Games
Mini-Games
Play with GCash
Play with Platinum