[quote:2in4o65d] The problem is that the graphics look weird and 'warped' (darkened in certain spots but not others) at certain zoom levels when I demo this capx in my browser, including the normal 100% zoom browser view in Chrome. It's a problem that's hard to screenshot, even; when you look at the screenshot I took below, the problem may only be 'visible' at certain zoom levels of your browser.
From my guess from the statement "the problem may only be 'visible' at certain zoom levels', I think you wanna play around with the following configuration:
[quote:2in4o65d]Pixel rounding
By default Construct 2 objects can be drawn at sub-pixel positions, e.g. (100.3, 200.8). If the browser is using linear filtering, this can make fine pixel art appear blurry. If Pixel rounding is set to On, Construct 2 objects round their position to a whole number before drawing, e.g. (100, 201). This prevents any blurring, and can also prevent "seams" appearing on grids of objects. Note this does not affect their actual X and Y co-ordinates, which can still be between pixels - it only affects where they are drawn on the screen.
Fullscreen scaling
Only has an effect when a fullscreen mode is in use (when Fullscreen in browser is not Off). High quality mode renders at the full resolution of the screen. Low quality mode first renders at the project Window Size, and then simply stretches the result to fill the screen. Low quality mode often improves performance on low-end systems and is often suitable for retro-style pixellated games with Point sampling. However text, downscaled sprites and WebGL shaders appear with better quality and detail in high quality mode.
Sampling
Choose between linear (smooth) and point (pixellated) sampling when resizing images. Linear is recommended for modern games with hi-res graphics, and point is better suited to retro games with blocky pixel art.
Downscaling
Adjusts the tradeoff between rendering quality and memory use when resizing images to smaller than their original size (downscaling). The options are:
Low quality: mipmaps are disabled (reducing memory use), but downscaled sprites may appear blocky or pixellated
Medium quality: mipmaps are enabled. Downscaling sprites generally looks better.
High quality: mipmaps are enabled and the spritesheet after export pads out all images to power-of-two sizes. This can significantly increase memory use, but can resolve two minor rendering issues: light fringing that can sometimes occur along the borders of downscaled objects, or a quality change in the last frame of an animation. Do not use this mode unless a rendering artefact is specifically observed and selecting this mode can be observed to resolve it: the increased memory usage can be very significant, and is not a cost that should be added for no reason
source: https://www.scirra.com/manual/66/projects
Since you are doing ASCII/ANSI graphics, you may wish to turn Pixel rounding on and set Sampling to "Point".
See if this is what you want.