Mirrors and other false displays

I’ve been thinking lately about implementing large “mirriors” - walls that show a reflection instead of just darkness behind them. They’d be found in bars, dance studios, labs, etc. and so on. They act just like you are looking through a window, zombies will track to walk/smash their way through them to get to you if they see your reflection, and you can mouse over zombie reflections as normal to see descriptions and stuff, and even target them for gunfire! (I’m imagining a carnival mirrior house here, where it’s hard to tell what’s really a zombie and what’s a reflection!)

Obviously, the gunfire will hit and potentially damage the mirror instead (damaged mirrors will be immediately visible and as a "cracked’ square) unless you are using a laser weapon, which will work just fine. Coincidentally, you can also target and shoot yourself.

Sounds… Fun!

Shooting off walls and (to an extent) floors would be insanely fun, as would bouncing off items.

We need to be able to catch inbound things. Like grenades and bullets, or a ball we bounce off the wall.

Neat idea. Also consider spawning vanities in bedrooms and bathrooms.

What happens if worldgen or a player places a mirror facing a mirror? What happens if the player switches between circular and rectangular distances? What happens if the player points a directed lightsource (headlights) at the mirror?

High perception and/or intelligence might let the player correctly identify the things in the mirror as “reflected X” rather than “X” on the UI. Maybe an on-viewport display, too: for instance, a color background, like with Friendly monsters.

This would be good for a one off (like at a circus or something) but I think it’d be a bit confusing to point out to players in things like bars and whatever. Interesting mechanic though

With mirrors, will we also get our vehicle mirrors at last?

That would be… difficult.
Especially patching it into the dynamic lighting code.

Ninja’ed: vehicle mirrors would be way easier.

Oh hey, I was just wondering about this. Could we have makeshift mirrors craftable with panes of glass? I’d like more constructable objects in general.

What for out of curiosity? You can already peek around corners without being seen.

Honestly, less for any practical reason and more because I like making myself a fancy base. Maybe it could allow you to check on your appearance when you look into it? I’d like more craftable vanity furniture in general, like sofas and fancy statues.

why not just have it reflect LoS so you can see round corners etc?

I think the carnival-funhouse aspect of this is pretty cheesy and doesn’t really do a whole lot for gameplay, but I do like the idea of using them to enhance the character’s LoS like with vehicle mirrors. At my work, there are lots of long hallways that form H style patterns, with convex mirrors at the edges of the horizontal hallways so people don’t run into each other. If the layouts of labs were changed to use winding hallways instead of a series of closets, it could provide some interesting gameplay if you could use them to scope out and possibly avoid hot areas. Representing it in-game would be interesting, as it is essentially furniture that goes in the same place as a wall. A new “hanging” or “wallmounted” tag would probably be necessary to denote what can go on a wall or not.

Pretty ambitious. But would definitly make cataclysm stand out far out more than it already does.

Making it strictly project FOV/LOS arround corners is some decent work but not too hard. Making it draw an actual “mirror image” behind the mirror would require doing horrific things to the rendering code, and for little benefit. (Remember the mirrors in Duke Nukem 3D? yea, that’s about what we’d get out of it. Except this would be harder to implement than that.)

Except it would be code that (if well written) would also be useful for a variety of advanced hallucinations and portals and waking dreams and other weird shit I really want to see in the game.

Propose those then, because the mirror thing isn’t compelling enough to tear up the render code enough to make it happen.

Eh, they have already been proposed in the past. I was simply suggesting an additional reason for making the effort worth it.

It might well still not be enough, of course.

A bit off topic, but I don’t know how to peek around corners…

I think I can see where you’re coming from, but what you’re proposing isn’t the same as what has been proposed in the past. Having a mirror reveal more of the map is what has been proposed previously, and is fairly straightforward. Projecting the contents of the map “mirrored” is actually pretty complicated, and has to override the map rendering code.

Also the two effects interact badly. The one kind of mirror can reveal terrain around a corner, but stays consistent because it just shows what is actually there. The other kind of mirror displays a false image, but maintains consistency because it only projects this false image into an area that it blocks. If you combine the two you cause a situation where you can see around a corner with mirror type 1 into an area that mirror type 2 is using to project a false image.

Funsizeninja: do ?1 and scroll down to Peek, I don’ recall what it’s mapped to. When you peek, you can shift your point of view to a square next to the one you’re actually on, so shift around a corner to check for monsters without exposing yourself.

Ah, thanks. It’s shift-x.

Perhaps a single space (room) with enough punch to the suprise effect; a 20x20 can have so much mirrors, only it should have a dubious value for real, very tough opponents. Icey cavern and a zombear or a few. Press Spacebar. :wink: