Graphics Question about, first person point of view in dungeon crawlers

I finally get to ask as question that I have had on ice, wanting to find the answer to......

I discovered this strange difference , in two games that I have played when I used to have an Amiga 500 long ago.....

The first game is called Dungeon Master by FTL games which looks like this ( this was ported to the PC ) :

dmss_1.gif

The Second Game is called Day of the Viper by Accolade :

DOTV2.gif

Now the difference that I see in the game, in terms of how the walls, ceilings, and flooring are related by looking
at how they join at the corner. To show what I mean, I drew this picture :

comparison1_bw.GIF

The wire frame on the left of the black and white is what Day of the Viper is, and the wire frame on the right is what
Dungeon Master is. Whats the reason why one first person point of view is different from the other? Because when I look at both
the point of view that Dungeon Master presents, is that I feel taller vs. the point of view that Day of the Viper uses , is that I am
in the center.

Im interested in building a dungeon crawler game in the future, but I wanted to know which viewing perspective is
favored in building dungeon crawler games? Is there another viewing perspective in first person point of view that
I have missed?

Again, what is it that makes these two dungeon crawling games feel different when I look at them?

Thanks
 

Rayek

Member
It's the horizon placement that makes all the difference. In Dungeon Master the artist put the horizon on an eye level height with creates a low ceiling and close to the head. It feels claustrophic and confined - exactly what the makers were aiming for!Remember the dragon?



This is not the case in Day of the Viper: it seems obvious to me that the original artists had little true understanding of how important the horizon is in perspective: they just set it to the center. Which is a beginner's mistake, really - or perhaps not truly understanding the role of the horizon in perspective.

Besides, placing everything dead-center is rather... boring to look at. Another often-made beginner artist mistake.

Read up on it here:
 
Last edited:

woods

Member
as pointed out above, you can deff change the entire dynamic by simply raising/lowering your event horizon.
there is no "wrong way" to present the room.. but rather a choice of what mechanic are you trying to implement.

the question is: do you want your layer to feel short and squat more like a dwarf(which are quite at home in the tight confines of tunnels and corridors) or more of a taller standpoint(maybe the human barbarian or even an adventuring elf)?

are you trying to make them feel confined and in a hole? ..or are you leaning more towards walking around in an open aired castle with fortified walls?
you can achieve either by simply changing the scope of the horizon ;)
 

woods

Member
if your room is 800x800 and lets call the vanishing point "horizon.x"
horizon.x =400;

then we can go something like y_scale = //something based on division and horizon.x

if we change
horizon.x = 600;

we move the vanishing point higher up, which gives the illusion of changing the height of the player's viewpoint.

its all about how tall you want your player to be and how cramped you want the world around them ;o)
 
@woods - I was playing with the idea long ago, when I was using a W95 machine and still working on the same game I had in mind, because I wanted to have the player the ability to explore outside/inside a environment.

So I played around with a centered point of view, and I didn't like it so much, but it opened the problem of the field of view width that you see in a dungeon crawler.

( the following pics are thumbnails that you can click on to view )

I abandoned these pics for the strange feeling that I mentioned in my post about why Dungeon Master feels different from Day of the Viper:
object_detection2.gif

If you look at the picture you will see three gray-purple fields of different shades representing how far the area is, using "hard to see", "partially viewable", and "easy to see" ( which is the closest to the player ).

The second thing I took notice is the field view :
perpective.GIF

Take notice of the white lines in this picture which cross horizontally. This deals with peripheral vision that the player sees. Same problem as the previous picture, except now I am explaining the wideness of the path. The red path is what the player would be seeing if a path was narrow. The yellow path which is added to the red path is what the player would be seeing if a path was wider. The green path, which represents the maximum point of view which is added to the yellow and red path, giving the widest peripheral view to the player.

But because this is a centered point of view.... I abandoned this idea, I kept the pictures to remind me of the problem.....

I wish I didn't have a limit on how many pictures I can attach on this forum, because then I could show you that switched to the
point of view that dungeon master uses.

I used the same concepts of the peripheral view that I am showing using the centered point of view, and applied them to the same idea with the dungeon master perspective showing the same problem of how wide the peripheral point of view is.

The problem is , thats where I stopped working with the concept, when I noticed the problem that I am presenting. I didn't know what
worked better . Thats why I am asking this question here.

But I got more questions to ask about on different subject relating to dungeon crawling games, in terms of designing them on GMS.
 
Let me explain:

View attachment 41971
You're getting rekt

View attachment 41972
They're getting rekt
Wouldn't the perspective change if you had two or more different people ( or NPCs ) standing next to the same wall, using their height differences, based on how far they are from you ( this is if the armored guy with the axe in your pics, was standing the closest to you, but also next to the wall and not dead center in the hallway ) ?
 

Evanski

Raccoon Lord
Forum Staff
Moderator
i think it just depends on your resoultion you support
and the style your going for

in my wolfenstein clone project
everything is built and rendered to the scale of 32

what i mean
is each floor "tile" or set of triangle points
then two triangles made to look like a square, is to the scale of a 32x32 cell in the room editor

so then the roof is set to Z -33
(negative because my camera is upside down and i never fixed it)
the floor is set to Z 0

the players height is set to Z -16
to give the feeling of having enemys about the height you are but still fully visible, the walls seem like high unable to climb walls

and the doors like walls but move
(which they coded to be lmao)

as for depth
it seems like the render engine gms uses by default just makes a fake depth
so things in the distance are drawn smaller

im looking to draw fog over that
and then just not draw past the fog for fps improvement

but tl;dr
i think its all about the perspective you want the game to feel like

small, tall
eagle eyed or fish eyed

it all matters about the style youre going for

I'd check out
@TheSnidr 's tutorials on more traditional 3d, however this is in a thirdperson scope

or check out
@Dragonite 's 3d tutorials
which i used to make my wolfenstein clone and I learned 3D in about a total of 3 days from those videos, highly recommend

also id check out NovaMare
i know @Bart worked on it
(i forgot who else, sorry mates)

all great 3D projects with their own scales, perspectives and styles
 

Rayek

Member
I'll amend my answer here a bit.

It is important to understand that, aside from the horizon (eye level) other ingredients affect the look and feel of a Dungeon Master perspective.

One is the proportion of the dungeon itself: in Dungeon Master the passages are NOT square. (Although I am unsure if this is the impact of NTSC vs PAL here). Square dungeon passages don't work that well in one-point perspective, in my opinion, because a) combined with a centered horizon/eye level it looks too symmetrical, and b) our eyes are more familiar and accustomed to a wide view (also in combination with wider than height screens), and c) it just doesn't look as good from an artistic point of view. (But as always rules are meant to be broken...!)

Therefore, probably better to avoid a square passageway format.

@Lord KJWilliams Day of the Viper does NOT utilize a squarish format for its passage ways, even though in your drawing it seems to indicate it does?

The other very important factor to consider is the focal length of the camera. Focal length may have a dramatic impact on overall look and feel.

focal_length.png


It may look as if the camera is moved along the passageway, but this is not the case. A shorter focal length creates a more pronounced wider perspective, which means the viewer will be able to see more of side passageways and wider rooms. It will create more depth.

17 is too wide in this case, really. But it is hard to tell without actual objects for reference. Which is the third important point: we need some kind of sense of scale to appreciate what is going on.

Also, we need to establish our movement and position per section: the player must be made aware of obstacles and traps (pits) and given a sense if the next step will be a fatal one! Focal length is again important to convey this.

Here is the top view of the dungeon:

topview.png

I take some artistic freedom here and decide that the player will move two tiles per move. The darker squares are pits. The other shapes are objects to establish scale. (PS after I created this screenshot I did move the actor back a bit more to reveal more of the pits).

In this next quick example I decided to use a focal length of 22 and I moved the horizon/eye level up somewhat (similar to Dungeon Master).

finaldungeon01.jpg

Add textures. Add objects to allow a sense of scale. Add lighting.

The last one is what the player will see when they take one step forward. Compare with a focal length of 35:


step02.jpg

Very different. Less wide, but better focus on the foreground objects (the papers which would be a game object to interact with).

So which is better? It depends. Also, in a step-by-step movement we could get away with a different focal length depending on each step... ;-)

Feel free to download the quick example Blender file to play around with the cameras. I locked the rotation of each camera. Click on the green camera icons in the outliner to switch between them. To open the file you will need to download Blender, of course. Turn on the Rendered viewport shading (4th small circle icon top far right of the view) to see the lighting in action.


It makes use of these CC-BY assets:


 
Last edited:
@Rayek Actually Day of the Viper is not square, it is rectangular but its also symmetrical because it has a center , thats in the dead center of the first person's point of view. My drawing was a approximate copy of what I was interpreting from both games. What I noticed was that if you look at my wireframe drawing for Dungeon Master, you will notice that the lines that form the corners with the walls do not angle to the corners, like Day of the Viper does.

If you want to see either game in action , I have a youtube links to
Day of the Viper

And...

Dungeon Master

So you can compare the games first person point of view. Just watch the movement of both games and you will see the
difference. Day of the Viper projects a strange feel to how you travel when you watch it from its perspective, where as Dungeon Master
as you said, makes you feel like your cramped because your closer to the ceiling.

Day of the Viper , looks like something you could recreate with GMS, or even make it better. Dungeon Master , might be possible
to recreate with GMS, it looks more complicated than Day of the Viper.

I used to have both games when I had an Amiga 500, unfortunately I never got to play my copy of Day of the Viper, because the disk was corrupted, and when I exchanged it with Accolade, the disk they gave me was corrupted as well. So it was a bummer. I wasted a king's ransom on that game. I purchased the game because it was the only SCI-FI dungeon crawling game that got my interest. Dungeon Master was the game that made my heart pound dead hard in the suspense of the game from the sound of the NPC footfalls - because there is no music to remind you its a game.

When I got to play Ultima Underworld : The Stygian Abyss - everything that impressed me from my experience from playing Dungeon Master was blown out of the water, for the time that game came out around the same time that Dungeon Master did.

Then I was interested in why noticed this difference between Dungeon Master and Day of the Viper. Now that I watched the video... The dead center in the first person point of view, again it feels strange. I dont know how to explain that feeling, in a better context. Thats my best.
 

Rayek

Member
Ah yes, I recall playing Dungeon Master on my Amiga 1000. Good times.

As far as I can tell, Day of the Viper feels so strange because it displays a depth of only two tiles (and the one on which the player stands), yet the perspective implies an extreme depth with incredibly long passage ways. It just feels really off, and I can't help but feel the developers did this to avoid displaying further away tiles. It's a technical limitation solved in an awkward manner. The perspective does not match what you would expect to see.

Dungeon Master avoids this problem by just not displaying depth beyond three tiles deep, and fades into black.

Stygian Abyss is no longer a Dungeon Master 1 point perspective view, instead opting for a Doom like 3d view. Personally, I wouldn't count that as a "traditional" dungeon crawler. ;)

Btw, if you want to relive the old Dungeon Master days but in a more modern rendition, I wholeheartedly recommend the Grimrock series. (They do use a centered horizon, though! Not the same as Dungeon Master :))

 

woods

Member
another difference to point out between the two that gives a new perspective, is the distance you can see in day of viper is almost twice as far(5 or 6 tiles i think i could see, before the vanishing point) while dungeon master you can see three tiles before you get the blackness..

this could be a huge factor in contributing to the cramped feeling of the dungeon.
along side the camera perspective.

in my opinion, they both work equally well to convey a different scenario.

there are many many things that can adjust the feel of a game..
adding a simple flickering torch to a wall vs in-set reflected-lighting in a sci-fy corridor
carpeted rooms vs echoing footfalls in a stone corridor
ambient noise ..and lack there of(when you dont hear the bugs at night, there is a predator in the area....just sayin)
soft colors vs clashing colors can offset a mood and make a player get anxious or calm depending
*size of the player.. big and strong vs small and nimble (use of camera angles and perspective to reflect this)

you can deliver a very different impact, by mixing and matching various combinations of these(and more) mechanics.
its all about the feels that you want the player to experience..


there is no better, only different ;o)
the trick is to find the right combinations that work to get YOUR point across.



===
myself being a lil claustrophobic, i prefer the wider more open feeling of NOT being in a tight dungeon.... you can use this mechanic to create a bit of stress and make me WANT to get out sooner rather than later ;o)
 
Stygian Abyss is no longer a Dungeon Master 1 point perspective view, instead opting for a Doom like 3d view. Personally, I wouldn't count that as a "traditional" dungeon crawler. ;)
I was mentioning Stygian Abyss as a new type of dungeon crawling like Doom or Wolfenstien 3D, that blew Dungeon Master out of the water, at the time it was published. Dungeon Master first was published for the Atari ST, or that series of computers, and later for the Amiga. But nothing like Doom or Wolfenstein 3D ever existed for the Amiga , as far as I recall.

Every game that I have seen invented on the Amiga, that I have at least played, can be reinvented with GMS, with better resolution and color. I hated the god awful flicker , in HAM mode when I was using Deluxe Paint IV by Electronic Arts . I saved all of my work over to my first PC, and had to resize them in this weird way to adapt all of my pictures on the IBM so I could use them for my game.
 

Rayek

Member
another difference to point out between the two that gives a new perspective, is the distance you can see in day of viper is almost twice as far(5 or 6 tiles i think i could see, before the vanishing point) while dungeon master you can see three tiles before you get the blackness..
Actually the viewing distance is only two tiles in Day of the Viper. Check the video. That is why it feels so strange: a forced perspective that does not match what should be visible according to the map. I mentioned this above.
 
Actually the viewing distance is only two tiles in Day of the Viper. Check the video. That is why it feels so strange: a forced perspective that does not match what should be visible according to the map. I mentioned this above.
What would be the viewing distance for Dungeon Master? 4 tiles at the most?

Like this ?

view1_001.GIF

..thats was based on the b&w wireframe I posted here.
 

Rayek

Member
examplegrid.jpg

Viewing distance for Lands of Lore and Dungeon Master is the same: 3 tiles, plus the one that the player stands on. The third tile in the distance is faded out.

It also means that for each character/monster encounter you would need to create at least three sides (left, front, back), one melee attack for the first tile, and possibly three ranged attack assets. Not including all the animations! Obviously if a 'real' 3d engine is used, it becomes simpler, and no limit in regards to viewing distance is required.

day viper.jpg

Day of the Viper limits the viewing distance to 1 tile only! A ball thing is positioned on the second tile in the distance. Notice how it is invisible. Objects and characters are only visible on the first distance tile, i.e, directly in front of the tile that the player stands on.

I think they did that to limit the amount of graphics work :D It really feels odd when playing.

Lands of Lore packs some nice visual 2d trickery with animations and movement. A shame the window is so small compared to Dungeon Master. Check it out here (online DOS emulator all set up to play games in the browser):

Also, the definitive guide on dungeon crawlers to visit is https://www.dungeoncrawlers.org/

They are holding their annual dungeon crawler game jam in two months. I am thinking about participating: this time it should be a VR capable dungeon crawler. Ought to be simple enough in Godot. The example I posted before in this thread can be opened in Godot and rendered at the same quality.

A random generated dungeon with simple Rogue-like elements. A Paradroid inspired VR dungeon crawler? Hmm... :cool:
 
How did I miss this topic?

But I got more questions to ask about on different subject relating to dungeon crawling games, in terms of designing them on GMS.
I've been working almost solely on first-person dungeon crawlers for the better part of a decade, so I have more GM-specific knowledge on the subject than any other regular here. Feel free to ask if you want to know anything.

The first step: Decide on whether you want to do 2D or 3D. My personal opinion? If you're new, 3D 100%. Even with GM's barebones 3D, it's so much easier it's not even funny. The sheer amount of work to draw walls at 20+ different angles is staggering. Double that if you want fancy animated movement. Double that again if you want props on the walls like mold, torches, scratches, etc. Don't go 2D unless you're married to the aesthetic.

Second: Decide on block walls or line walls. This affects how you create maps. Block walls occupy one entire grid cell of space. You'll see this in games like Ultima or Dungeon Master. Line walls occupy the lines in between grid cells. Games like Wizardry and Might and Magic, as well as some non-RPG games like System Shock use these. You'll see people suggest going for one or the other for various reasons, but it's a trick. Line walls allow you to emulate block walls, but the reverse is impossible. Both methods are equally difficult to implement. Going for the versatile line walls will save you work in the long run if you decide you don't like one map style or the other.
Block walls are far more difficult to work with. The huge amount of space the walls waste requires an extremely talented hand and a savvy eye to create decent maps.

Regardless of what you want to do, I highly recommend Grid Cartographer. It's a fantastic program, and the Pro version lets you export files with the built-in scripting language.
 

Rayek

Member
The first step: Decide on whether you want to do 2D or 3D. My personal opinion? If you're new, 3D 100%. Even with GM's barebones 3D, it's so much easier it's not even funny. The sheer amount of work to draw walls at 20+ different angles is staggering. Double that if you want fancy animated movement. Double that again if you want props on the walls like mold, torches, scratches, etc. Don't go 2D unless you're married to the aesthetic.
Completely agree. The example that I posted took me an hour, or so, to create in Blender. Importing blocks into something like Godot is very simple, and building levels in Godot even simpler. Creating a player controller that moves from grid cell to grid cell is rudimentary.

If the pixel-look is important, it is always possible to throw a pixel shader at it ;-)
 

Selek

Member
How would you even create a first-person dungeon in 2D? Redraw the screen with every step, I suppose? That does sound tedious.

And if I want to try my hand at a simple 3D dungeon, should I download Godot or try to figure out how to do it in GMS2 (for which I already have a Windows license)?
 
How would you even create a first-person dungeon in 2D? Redraw the screen with every step, I suppose? That does sound tedious.

And if I want to try my hand at a simple 3D dungeon, should I download Godot or try to figure out how to do it in GMS2 (for which I already have a Windows license)?
GMS2 is 2D only, so for 3D you'd need Godot yeah (or Unity etc).
 

kraifpatrik

(edited)
GameMaker Dev.
GMS2 is 2D only, so for 3D you'd need Godot yeah (or Unity etc).
GMS2 is a 2D game engine, but definitely not "2D only" as in "you can't make 3D games in GM". If you are really interested, you can learn how to make 3D games too, though it's going to be a longer journey compared to 3D game engines for sure.
 
GMS2 is a 2D game engine, but definitely not "2D only" as in "you can't make 3D games in GM". If you are really interested, you can learn how to make 3D games too, though it's going to be a longer journey compared to 3D game engines for sure.
I'd argue it's the difference of enjoying the coding of an engine vs coding a game (I'm in the game camp). I'd love to see a 3D game in GMS2 though :)
 

kraifpatrik

(edited)
GameMaker Dev.
I'd argue it's the difference of enjoying the coding of an engine vs coding a game (I'm in the game camp). I'd love to see a 3D game in GMS2 though :)
It's definitely a lot easier to just make a 3D game in GM than to make a 3D game engine in GM (or a framework or whatever you would like to call it) though! For the 3D games, just look around, there's a bunch ;)
 
How would you even create a first-person dungeon in 2D? Redraw the screen with every step, I suppose? That does sound tedious.
"Redraw the screen every step" is extremely vague and isn't a good description of what is involved. Especially since, technically, any solution requires redrawing the screen every step.

Faux 3D is significantly faster than real 3D, since you only have to draw the view once to a surface, and then draw the surface every frame. If you have never done this, it is unbelievably fast. Getting 2k+ realFPS is reasonable. The easiest way to do it involves drawing walls in every possible position. If you're going for simple colored walls, this will take a few minutes. If you're doing textured walls, you will want to quit and do literally anything else about 4 hours into it when you're only a quarter of the way through one set of textures. If you're prerendering 3D walls into sprites, why bother? You get none of the benefits of 2D pixel art (crisp, clear, and hand-drawn) and none of the benefits of 3D (movement, easy texture replacement, no need for complex scripts and math to fake 3D).

What walls look like in my game right now:
screenshot(29).png
Only the left side is necessary, since you just flip the sprite horizontally for the other side. It is important to design the walls so they look fine flipped if you don't want to regret doubling your work.

After the walls are all drawn, you need to figure out where to draw them. This is pretty simple if you only want basic features. Find which walls exist in-view, then draw them. Unfortunately, simple doesn't mean fast. It's a lot of time consuming math and number crunching to find out what counts as "in-view" and the easiest way to obtain wall data from that. I just have an array to check what is and isn't a wall, then iterate through at draw time from furthest to nearest. All wall positions are hard-coded based on wall ID. I apologize if any of this comes off a bit confusing, but I'd be more than glad to elaborate on specifics if anyone wants me to.

If there's one thing you should take away, it's this:
Don't do faux 3D.
 
Just to prove that you can indeed make 3D games in GM:
View attachment 43146
And you don't even have to deal with most of the complexities of a fully-3D game if you're making a grid-based dungeon crawler! You don't need to learn 3D physics; you're still limited to 2D movement. You don't need to learn about collisions; you're constrained to a grid. If you're going really simple, you don't even need to learn how to model; you're just drawing flat, textured walls.

In fact, because of that, it's a pretty great way to get into 3D.
 
Top