Doors Doors Doors

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

Edited By fobwashed

Doors for days and days

I've been working on doors for the past week and half or so straight whilst also modifying and tweaking other areas like vision. . . Actually, I've completely rehauled the way my vision checks are ordered which make them work better, but slower. In any case, the focus of this update is doors -_-;;

Door Properties?

Something I've sort of noticed in games is that doors aren't really all that involved. In most cases, they are either impenetrable invisible walls to areas that aren't accessible or just a way of blocking progress until an objective is met or a key found. Apart from opening and closing, there doesn't seem to be all that much emphasis placed on their existence. Also, in isometric games, they have even further reduced properties. What I aim to do is have doors function as they would in the real world. First thing I need is for them to be able to operate and function like a real door which includes the following.

  1. Have an outside and an inside. The outside is considered to be the side of the door that requires a key to unlock.
  2. Optionally be a right handed or left handed door to control which way the door swings when opened.
  3. Have proper vision blocking properties. Doors when opened or closed should not be able to be seen through. This is done automatically in First Person and Third Person games but I have yet to see it done in an isometric top down game.
  4. Be locked and unlocked from the inside and require either a key or lock picking from the outside.
  5. Have the path that the door takes when opened or closed be taken into account. You cannot open a door that swings towards you without taking a step back and you also cannot magically close a door that is swung open away from you whilst standing outside (you can't close a door you can't reach).

As of now, I've tackled 1, 2, 3 and 4 and am currently working on the 5th step. While building out the door class, I've built in a way to take into account the area the door swings through when opened or closed but haven't yet implemented anything there yet because I still need to figure out how I want the player to be able to control which way they move when they are interacting with a door. Another reason why this door swing area is so important is that when you barracade a door by moving furniture in the door's path, the door shouldn't be able to just swing through it willy nilly.

Some Research

There's actually a whole lot of information out there on doors and things like building codes. Some small interesting examples I found are things like how in any commercially used building, exit doors always have to open towards the outside. This is so that if there's ever a situation where people are crowding the door to exit, they'll be able to push it open rather than all be stuck because it can't be pulled open due to people pushing from behind. Also, it turns out when doors are placed, they typically open so that the door is flush against a wall when in the open position for space reasons.

No Caption Provided

Notice how all the doors when opened are up against a wall. Maybe I'm just thick, but I never noticed this before and ever since I've been focusing on doors, I'm seeing this everywhere I go. Especially in smaller spaces such as bathrooms. Another small tidbit is that front doors to houses tend to almost always open towards the outside as well. Though the reason for this is because it's harder to break down a door in through the frame than it is in the direction that it opens. That's something I'll really have to take into account for door breaking scenarios that don't involve prying it open with a crowbar or some such nonsense =P

Implementation

So, once I decided that I needed to have doors that open in every which way and be shown in those open states as well, I had to figure out how many different states the doors would be in. So I whipped this up.

No Caption Provided

It's super crude but coupled with the excel file it's attached to, I had all the different properties of the door in it's open and closed states. I basically needed 12 different door states. (I think I'll eventually need to make doors that swing open a full 180 degrees instead of just the 90.) I worked it all out to where I actually only needed a very small amount of art assets to be able to draw a door in all these positions. It actually ended up being just this.

No Caption Provided

The back end of the frame, the front end of the frame and two door versions. One with the knob on either side. Armed with just these sprites, I could create doors in all 12 positions listed above =) The frame has to be split as shown because of the way the door needs to appear above the back part of the frame yet behind the front part of the frame and also to work properly with the stenciling I've got set up to create holes in the walls that can be seen through when rendering everything together.

Now that I had the damn things represented visually, I needed to figure out a way to get them to block vision properly. Br properly, I also mean that the player should be able to see through doors in the fashion you would in real life. For example, the door above has a window, so the player should be able to see into the room the door is placed on, and also through the window when the door is opened and the player is looking in that door's direction. Well, I won't get technical because I'm not sure I could really explain how I did it without first explaining the way my vision works in game, but I got it working as you can see in the video =P

I'll annotate the video eventually, but for now, you can see the various things I've been talking about at work. Doors that open in multiple directions. That can be locked and unlocked from the inside but not from the outside. Doors that can be seen through to a certain extent (the characters are placeholder and will be taller and proportional to the doors eventually.). Etc. . .

Still to be done

There's still a damn lot of work I need to put into the doors before they're complete but I feel I'm making decent progress. While I mull over how to allow the player to have full control over which direction they move in when opening and closing doors, I will be implementing double doors and sliding doors. The way the class is set up, they can also just straight up be windows so I may try putting one or two of those in to make sure they function properly. In any case, progress! It's been quite some time since I posted anything about what I've been working on, so I thought doors might be an interesting little bit to write up. Comments, questions and suggestions welcome =)

Mouse Look

Just a real quickie, Rastamen asked about mouse look, and it's in the game. Here's a short vid. Very short.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#1  Edited By fobwashed

Doors for days and days

I've been working on doors for the past week and half or so straight whilst also modifying and tweaking other areas like vision. . . Actually, I've completely rehauled the way my vision checks are ordered which make them work better, but slower. In any case, the focus of this update is doors -_-;;

Door Properties?

Something I've sort of noticed in games is that doors aren't really all that involved. In most cases, they are either impenetrable invisible walls to areas that aren't accessible or just a way of blocking progress until an objective is met or a key found. Apart from opening and closing, there doesn't seem to be all that much emphasis placed on their existence. Also, in isometric games, they have even further reduced properties. What I aim to do is have doors function as they would in the real world. First thing I need is for them to be able to operate and function like a real door which includes the following.

  1. Have an outside and an inside. The outside is considered to be the side of the door that requires a key to unlock.
  2. Optionally be a right handed or left handed door to control which way the door swings when opened.
  3. Have proper vision blocking properties. Doors when opened or closed should not be able to be seen through. This is done automatically in First Person and Third Person games but I have yet to see it done in an isometric top down game.
  4. Be locked and unlocked from the inside and require either a key or lock picking from the outside.
  5. Have the path that the door takes when opened or closed be taken into account. You cannot open a door that swings towards you without taking a step back and you also cannot magically close a door that is swung open away from you whilst standing outside (you can't close a door you can't reach).

As of now, I've tackled 1, 2, 3 and 4 and am currently working on the 5th step. While building out the door class, I've built in a way to take into account the area the door swings through when opened or closed but haven't yet implemented anything there yet because I still need to figure out how I want the player to be able to control which way they move when they are interacting with a door. Another reason why this door swing area is so important is that when you barracade a door by moving furniture in the door's path, the door shouldn't be able to just swing through it willy nilly.

Some Research

There's actually a whole lot of information out there on doors and things like building codes. Some small interesting examples I found are things like how in any commercially used building, exit doors always have to open towards the outside. This is so that if there's ever a situation where people are crowding the door to exit, they'll be able to push it open rather than all be stuck because it can't be pulled open due to people pushing from behind. Also, it turns out when doors are placed, they typically open so that the door is flush against a wall when in the open position for space reasons.

No Caption Provided

Notice how all the doors when opened are up against a wall. Maybe I'm just thick, but I never noticed this before and ever since I've been focusing on doors, I'm seeing this everywhere I go. Especially in smaller spaces such as bathrooms. Another small tidbit is that front doors to houses tend to almost always open towards the outside as well. Though the reason for this is because it's harder to break down a door in through the frame than it is in the direction that it opens. That's something I'll really have to take into account for door breaking scenarios that don't involve prying it open with a crowbar or some such nonsense =P

Implementation

So, once I decided that I needed to have doors that open in every which way and be shown in those open states as well, I had to figure out how many different states the doors would be in. So I whipped this up.

No Caption Provided

It's super crude but coupled with the excel file it's attached to, I had all the different properties of the door in it's open and closed states. I basically needed 12 different door states. (I think I'll eventually need to make doors that swing open a full 180 degrees instead of just the 90.) I worked it all out to where I actually only needed a very small amount of art assets to be able to draw a door in all these positions. It actually ended up being just this.

No Caption Provided

The back end of the frame, the front end of the frame and two door versions. One with the knob on either side. Armed with just these sprites, I could create doors in all 12 positions listed above =) The frame has to be split as shown because of the way the door needs to appear above the back part of the frame yet behind the front part of the frame and also to work properly with the stenciling I've got set up to create holes in the walls that can be seen through when rendering everything together.

Now that I had the damn things represented visually, I needed to figure out a way to get them to block vision properly. Br properly, I also mean that the player should be able to see through doors in the fashion you would in real life. For example, the door above has a window, so the player should be able to see into the room the door is placed on, and also through the window when the door is opened and the player is looking in that door's direction. Well, I won't get technical because I'm not sure I could really explain how I did it without first explaining the way my vision works in game, but I got it working as you can see in the video =P

I'll annotate the video eventually, but for now, you can see the various things I've been talking about at work. Doors that open in multiple directions. That can be locked and unlocked from the inside but not from the outside. Doors that can be seen through to a certain extent (the characters are placeholder and will be taller and proportional to the doors eventually.). Etc. . .

Still to be done

There's still a damn lot of work I need to put into the doors before they're complete but I feel I'm making decent progress. While I mull over how to allow the player to have full control over which direction they move in when opening and closing doors, I will be implementing double doors and sliding doors. The way the class is set up, they can also just straight up be windows so I may try putting one or two of those in to make sure they function properly. In any case, progress! It's been quite some time since I posted anything about what I've been working on, so I thought doors might be an interesting little bit to write up. Comments, questions and suggestions welcome =)

Mouse Look

Just a real quickie, Rastamen asked about mouse look, and it's in the game. Here's a short vid. Very short.

Avatar image for tebbit
tebbit

4659

Forum Posts

861

Wiki Points

0

Followers

Reviews: 3

User Lists: 6

#2  Edited By tebbit

This is looking promising! I've always enjoyed the idea of a hard line-of-sight in games, and it looks like this has it in spades.

I've been out of the loop on your project for quite a while - is this the same one that at some stage had Abraham Lincoln fighting potatoes?

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#3  Edited By fobwashed

@Tebbit said:

This is looking promising! I've always enjoyed the idea of a hard line-of-sight in games, and it looks like this has it in spades.

I've been out of the loop on your project for quite a while - is this the same one that at some stage had Abraham Lincoln fighting potatoes?

Unfortunately no =P That was my first attempt at making a game and I realized the scope of what I wanted to do would really require way more assets than I felt I could properly generate myself. The coding part of it I could prolly have managed but the sheer volume of art, sounds, music and VO I would need to do what I wanted to do in my head would require way too much for me to tackle alone =( I've still got the story and design doc for that game stored away in my "When I have money to hire people" cabinet -_-;;

Hard line of sight and fog of war are critical for the type of game I want to make and I've rarely seen it in isometric, turn based games. The latest XCom game does it but since I can't really see their vision capabilities apart from enemies being visible or not, it's not exactly what I'm looking to achieve. I've also noticed a few other games that have a sort of line of sight going on. Avernium on iOS and Project Zomboid both have some amount, but I feel like they're cheating it a little bit. And understandably. . . The system I have in place right now has taken literally months to get to where it's at now and I still feel like it's a bit slow on processing. I want to go a little deeper but it may not be worth the CPU trade off -_-;; Especially once I implement proper lighting again.

Avatar image for rastemen
RAStemen

71

Forum Posts

6

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#4  Edited By RAStemen

Hey Fobwashed,

The game seems to be coming along very nicely, and the sight-line stuff is quite impressive. The only thing that I thought I might like to see added would be the ability to use the mouse to have your player look around kind of like in this prototype I made for a game a while back: http://dl.dropbox.com/u/24988785/HDproto.htm

I don't know if that would fit into the aesthetics of your game, but I always get disoriented when all my characters can only see in 90 degree swaths. Anyhow, fantastic work and keep updating us on your progress.

Avatar image for bbalpert
BBAlpert

2978

Forum Posts

34

Wiki Points

0

Followers

Reviews: 0

User Lists: 16

#5  Edited By BBAlpert

I don't know if this will be of any help to you, but here's Jeff and Ryan dropping some door wisdom (start at 12:18)

Avatar image for ravenlight
Ravenlight

8057

Forum Posts

12306

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#6  Edited By Ravenlight

Don't worry about doors. Just give the player the ability to punch holes in walls.

Avatar image for ssully
SSully

5753

Forum Posts

315

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

#7  Edited By SSully

That line of sight system you have there is actually really impressive! Great work man!

Also the best example I know of in regards to doors and vision is x-com. Coming to a door is actually a big deal for me in that game. I actually refuse to open an unknown door unless I have atleast 2 people stacked up against it because opening them is stressful as hell! I have lost plenty of good men do to unknown doors. RIP :(

Avatar image for video_game_king
Video_Game_King

36563

Forum Posts

59080

Wiki Points

0

Followers

Reviews: 54

User Lists: 14

#8  Edited By Video_Game_King

It's often the most beautiful things in the world that have terrifying levels of thought jammed into them.

Avatar image for bbalpert
BBAlpert

2978

Forum Posts

34

Wiki Points

0

Followers

Reviews: 0

User Lists: 16

#9  Edited By BBAlpert

I'm not sure if this would be appropriate for the kind of game you're making, but will you be able to knock dudes the hell out with door? Surprise door-based concussions are the best.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#10  Edited By fobwashed

@RAStemen said:

Hey Fobwashed,

The game seems to be coming along very nicely, and the sight-line stuff is quite impressive. The only thing that I thought I might like to see added would be the ability to use the mouse to have your player look around kind of like in this prototype I made for a game a while back: http://dl.dropbox.com/u/24988785/HDproto.htm

I don't know if that would fit into the aesthetics of your game, but I always get disoriented when all my characters can only see in 90 degree swaths. Anyhow, fantastic work and keep updating us on your progress.

Hey duder. I've got mouse look in the game, I just use the num pad for short hand because it's faster and easier to use at the moment -_-;; Here's a quick vid I put up just for you of using the mouse cursor to dictate the angle the player looks. The game retrieves the angle to the mouse, and then expands the vision range in both directions equally. It may not look equal, but it's because it's isometric so it'll always be more squashed looking in horizontal directions than vertical ones =)

Sorry it's so damn dark, I just did it real quick without thinking about how dark it was. Also, player is on the second floor which is why there's all that undiscovered black space in between where he's at and where you can start seeing the grass on the floor below. Hard to tell because none of the lower walls are currently discovered.

@BBAlpert said:

I don't know if this will be of any help to you, but here's Jeff and Ryan dropping some door wisdom (start at 12:18)

Thanks =P I'll def give this a listen through =)

@SSully said:

That line of sight system you have there is actually really impressive! Great work man!

Also the best example I know of in regards to doors and vision is x-com. Coming to a door is actually a big deal for me in that game. I actually refuse to open an unknown door unless I have atleast 2 people stacked up against it because opening them is stressful as hell! I have lost plenty of good men do to unknown doors. RIP :(

I played through that game saving all the goddamn time which is prolly why I never experienced as much fear as I should have opening doors in that game =( I feel like when games give me the option to cheese, I tend to take it because I have such limited game time and so much I want to play that I don't want to cause myself any unnecessary pain =\ I totally get what you're saying though because I did try ironman a few times after I beat the game and that shit is somewhat harrowing. And that fear of the unknown is exactly why I want to have a line of sight, fog of war. You may have seen something, but look away and you don't know if it's still going to be there or not when you look back =)

@Video_Game_King said:

It's often the most beautiful things in the world that have terrifying levels of thought jammed into them.

Haha, always happy to hear from you VGK =)

@BBAlpert said:

I'm not sure if this would be appropriate for the kind of game you're making, but will you be able to knock dudes the hell out with door? Surprise door-based concussions are the best.

Haha, all Hotline Miami style. My favorite mask was the one where you straight up kill dudes by opening doors. I'll write this one down so I can try to implement a full on surprise bash open option in all door situations =)

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#11  Edited By fobwashed

@RAStemen: Just got around to checking out your prototype. It's very reminiscent of my initial stab at the whole line of sight with blockages thing =D Things got a hell of a lot more complex once I started adding vertical detection on the Y axis in addition to just one plane and then even more so when I decided that every object should be able to block varying amounts of vision depending on the size and shape of the objects -_-;; Not sure if you can tell in that vid I posted, but the mouse look works by click activation rather than just following the mouse at all times because of how intensive the vision check is. To run it constantly would be an unnecessary drain on the CPU. It might be okay at the moment but once I start working in light sources, it'd prolly be too much. Did you end up using that prototype for anything?

Avatar image for rastemen
RAStemen

71

Forum Posts

6

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#12  Edited By RAStemen

@Fobwashed: unfortunately, no the game never really got a whole lot further beyond a few JS prototypes and some rough work on an XNA based engine. I got caught in crunch time with some work projects and never really got back to it when things calmed down. I've got a lot of notes written on what I want to make, but I keep realizing that my "small" game ideas are actually 1+ year long developments. Also, while I love writing my own engines, I have finally come to face the reality that if I want to have something to show for my work during my free time I've got to spend the time to learn Unity.

As for the line of sight in your game, are you doing something like ray-tracing? That seemed like the most obvious solution, when I made my little demo, but it definitely had drawbacks. Anyhow, I'm excited to see how things progress with your game. Do you have a website for it yet?

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#13  Edited By fobwashed

@RAStemen: I don't have a website for it yet, and mostly I'm just posting vids every now and again mostly to keep track of my own progress on youTube along with blog posts here. Over the past year or so, I've completely trashed and rewrote how to determine vision at least 3 times before finally settling on what I've currently got. Originally, I started really simple by just populating and growing a list of spots to check if it was within an angle range and if it was, great, vision. If not, fail. Along the way, if it encountered any objects that reduce vision, such as walls or objects, I'd add a range to a list of stored ranges to check against to see if vision should be reduced.

It's kind of sad to think that it was over a year ago and I'm still putting together the engine and tweaking vision =P

Anyway, after a few variations on that branching out while adding cones method, I eventually scrapped the entire system because it was too difficult to add vertical vision checks to the system. I sort of forget what else I've tried, but right now I'm pretty much building polygons for every encountered object and then doing point in polygon checks to determine which obstructions to calculate into where the player is looking. As far as I can tell, this is the system I'll be sticking with since it can take into account not only object heights and openings in walls and such, but the player's eye level as well. So you can see different amounts depending on how tall a character is (crouched, standing, standing on top of other objects) and a bunch of things.

I think I did look into ray tracing a while back, but ended up not going that route due to how processor intensive it was and also because it was really difficult to work into a 2D sprite engine. Especially since it was isometric -_-;;

Avatar image for icecreamjones
Icecreamjones

428

Forum Posts

392

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#14  Edited By Icecreamjones
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#15  Edited By fobwashed

@zeekthegeek said:

Your engine and sprites are reminding me quite a bit of Project Zomboid

Yeap, we're both working on an isometric, pixel arty survival game but I think what I'm going for and what they're doing are different in some significant ways. Though, they'll probably also be fairly similar in a number of ways as well. The largest difference between PZ and what I'm doing though is that my game is going to be more turn based while theirs is straight real time action in the vein of Diablo. I've been keeping up with their updates and such and have already made a purchase of their game and am excited to see how it turns out =)

Avatar image for little_socrates
Little_Socrates

5847

Forum Posts

1570

Wiki Points

0

Followers

Reviews: 16

User Lists: 23

#16  Edited By Little_Socrates

Combine doors and games and I just get Hotline Miami music flowing through my head.

Avatar image for development
development

3749

Forum Posts

61

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#17  Edited By development

i love you

Avatar image for icecreamjones
Icecreamjones

428

Forum Posts

392

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#18  Edited By Icecreamjones

@Fobwashed said:

@zeekthegeek said:

Your engine and sprites are reminding me quite a bit of Project Zomboid

Yeap, we're both working on an isometric, pixel arty survival game but I think what I'm going for and what they're doing are different in some significant ways. Though, they'll probably also be fairly similar in a number of ways as well. The largest difference between PZ and what I'm doing though is that my game is going to be more turn based while theirs is straight real time action in the vein of Diablo. I've been keeping up with their updates and such and have already made a purchase of their game and am excited to see how it turns out =)

Well I'll be sure to watch for your updates then since I do like my turnbased.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#19  Edited By fobwashed

@Little_Socrates said:

Combine doors and games and I just get Hotline Miami music flowing through my head.

I've stated it once before somewhere, but I'll say it again. The kill with doors mask is the best mask!

@development said:

i love you

What? Umm. . . . Thanks I spose -____-;;

@zeekthegeek said:

@Fobwashed said:

@zeekthegeek said:

Your engine and sprites are reminding me quite a bit of Project Zomboid

Yeap, we're both working on an isometric, pixel arty survival game but I think what I'm going for and what they're doing are different in some significant ways. Though, they'll probably also be fairly similar in a number of ways as well. The largest difference between PZ and what I'm doing though is that my game is going to be more turn based while theirs is straight real time action in the vein of Diablo. I've been keeping up with their updates and such and have already made a purchase of their game and am excited to see how it turns out =)

Well I'll be sure to watch for your updates then since I do like my turnbased.

I'll update as frequently as I make changes or progress worth showing =)

Avatar image for johnlocke
JohnLocke

815

Forum Posts

28

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#20  Edited By JohnLocke

This is really interesting. I never really considered how such basic things like a door can impact a game. Kudos to you for bringing this up and a well written topic. Is this something you plan to go into depth on (this is the first topic I have seen like this so is this a blog in terms of working towards a fully functioning game/mod or is this more of a tech demo to show how things are done?)

Regardless, I am interested to read and see more. Makes for interesting thought when you see basic things in games done wrong that perhaps it is not as easy to solve as made out or perhaps time is a factor as well given the need to simulate properties of basic objects, visual, and audio design.

Avatar image for nintendoeats
nintendoeats

6234

Forum Posts

828

Wiki Points

0

Followers

Reviews: 4

User Lists: 9

#21  Edited By nintendoeats

Oh man, doors. Freaking doors. Let me tell you about doors.

When I was working on freaking Horizontifreakingcality... doors were my number one nightmare. Mine were simple doors in that they had a hinge that opened one way, and they opened or closed when they collided with a sword. Simple right? Functionally, easy to make. Impossible to do in a non-buggy way.

I had 2 major problems.

1: Because GameMaker doesn't have physics, if the door collided with either player in the open state the player would get stuck. Basically, skinny objects that block the player are kinda bad in GM, because objects only check collisions once a frame and you could have moved any distance in that time. MOVING skinny objects are the worst, especially when it's an object that the player will always be right next to. You are guaranteed to have collision issues.

2: Holy crap was it work with in the editor. Image rotation didn't work for my implementation, so I used a 2 sprite animation. No problem right? AGAIN NO. Because of the stupid STUPID GM editor I had to guess at exactly where the whole thing should be placed and how to rotate it, then load up the game and manually open the door to make sure it was working right. Just terrible.

/rant

Keep up the good work.

(By the way, XCOM has doors with some of the properties that you mentioned)

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#22  Edited By fobwashed

@JohnLocke said:

This is really interesting. I never really considered how such basic things like a door can impact a game. Kudos to you for bringing this up and a well written topic. Is this something you plan to go into depth on (this is the first topic I have seen like this so is this a blog in terms of working towards a fully functioning game/mod or is this more of a tech demo to show how things are done?)

Regardless, I am interested to read and see more. Makes for interesting thought when you see basic things in games done wrong that perhaps it is not as easy to solve as made out or perhaps time is a factor as well given the need to simulate properties of basic objects, visual, and audio design.

Thanks. I did a series of these for my previous project that I was working on you can sift through my blogs for. I plan on seeing this one through to the end so hopefully I'll be able to continue posting updates.

While I made a list of complaints about doors not acting properly in most games, most games don't need all that functionality. Everything in a game should serve the gameplay and in most games all that stuff would just be unnecessary chaff that get's in the way of the player playing the game. Sort of like how Burnout games don't need manual shifting or tire wear. Some times it may be a lack of time and resources but I think most times, it's just because it wouldn't benefit the game.

@nintendoeats said:

Oh man, doors. Freaking doors. Let me tell you about doors.

When I was working on freaking Horizontifreakingcality... doors were my number one nightmare. Mine were simple doors in that they had a hinge that opened one way, and they opened or closed when they collided with a sword. Simple right? Functionally, easy to make. Impossible to do in a non-buggy way.

I had 2 major problems.

1: Because GameMaker doesn't have physics, if the door collided with either player in the open state the player would get stuck. Basically, skinny objects that block the player are kinda bad in GM, because objects only check collisions once a frame and you could have moved any distance in that time. MOVING skinny objects are the worst, especially when it's an object that the player will always be right next to. You are guaranteed to have collision issues.

2: Holy crap was it work with in the editor. Image rotation didn't work for my implementation, so I used a 2 sprite animation. No problem right? AGAIN NO. Because of the stupid STUPID GM editor I had to guess at exactly where the whole thing should be placed and how to rotate it, then load up the game and manually open the door to make sure it was working right. Just terrible.

/rant

Keep up the good work.

(By the way, XCOM has doors with some of the properties that you mentioned)

Is there any way to have turned off any or all collision detection on the door with players once it was opened and only have it collide when closed to prevent players from moving through closed doors? They'd have to continue being able to detect collision with sword swings so that the player could still open or close them though of course.

I've never really used GM so I don't know what's possible and what's not and how much control you're given. I do know that you put something together with it though that may have otherwise not been possible so it can't be all bad =)

I think someone else mentioned XCOM and that is a great game =) It does blockage of line of sight in an "isometric" game though beyond that, they pretty much just exist as window dressing. Still, I love me some XCOM and it'll prolly be a game I crib as much from as makes sense once I begin to implement proper controls and HUD -_-;;

Avatar image for on3moresoul
on3moresoul

40

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#23  Edited By on3moresoul

Hey Fobwashed, in your article you mention that front doors to buildings all appeared to open toward the outside. Where have you seen this? I have never in my life seen the front door to a house or other building that opens in that fashion.

Great read! Glad to see some insight brought to something that tends to break my immersion. Would love to hear what sort of resources you used to learn more about things like this! :)

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#24  Edited By fobwashed

@on3moresoul said:

Hey Fobwashed, in your article you mention that front doors to buildings all appeared to open toward the outside. Where have you seen this? I have never in my life seen the front door to a house or other building that opens in that fashion.

Great read! Glad to see some insight brought to something that tends to break my immersion. Would love to hear what sort of resources you used to learn more about things like this! :)

It's really strange that you haven't seen doors that swing towards the outside of a building. I don't believe houses are required to open in any specific direction but I think in most places (the building codes probably vary from state to state) commercial buildings are required to open towards the outside. If you do a search on Google for building codes and search the door section, there's a lot of little things that seem like common sense that are written down to prevent people from building in an unsafe manner. Another example is that any door at the top of a stairwell that doesn't have a landing must swing open away from the stairs. Obvious reason being to not have a chance of knocking someone coming up down the stairs =P

Resources wise, I've been digging around on the web mostly for information and once your mind is set on something, you tend to see it everywhere you go. I've been paying a bit of extra attention to doors and how they function in the real world when I'm outside and doors are pretty much everywhere soooooo. . . .

Thanks for reading =)