Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines


In my game, the world view is 1D, all by a filter I made. But I've got no clue how to do shaders, so I made it by hand. The game renders an offscreen scene, and puts it into a render texture. I added a line, and then set up a gradient to set the colour of the line. Basically, the line would read what colour was drawn on the offscreen scene, and put that colour onto a small segment of the line. This would've worked... If Unity's gradient system supported more than 8 colours. So instead, I had to rework that system and generate a texture, that had to be mapped onto the line, instead of the super simple gradients. This took a long freakin long time to set up, and there was this whole issue with the created textures causing a memory leak that crashed Unity at least five times. I was wondering why this was, soI looked into the profiler, and apparently there was 100 textures being added each second, which unsurprisingly isn't healthy. None of these were being destroyed, so Unity was gladly storing thousands of textures, equating to gigabytes of memory, simply because I might be using them again (but clearly wasn't).

Oh, but that's not all; 1D had SO MANY shenanigans that I've got to talk about. Like for example, there are these boxes you can push around. Issue was that I couldn't use Unity's 2D colliders, because of how the world functions. The world is actually 2D, and you've got a 1D perception of it. Issue was that 2D colliders would collide with things that you couldn't see, any walls or whatever else you passed, which did not feel smooth. So I had to make my own 1D collision system that only handles collisions with the parts you can see, and by golly that was janky.

Now then, last one; mirrors. These posed the biggest pain for me, with EIGHT HOURS of headbanging, trying to figure out what was happening. I got into that terrible habit of not changing the code and hoping it would somehow perform differently. So mirrors could bend your 1D view, and are an important part of some of the puzzles in the game, but my gosh did they eat me up. I was able to get the view bouncing no issue, but instead it was another feature that made mirrors painful; the fact that you can only travel along your line of sight. If you look into a mirror and move into it, you get reflected so that you keep moving along your line of sight, but by golly the game hat make some big mental leaps. To be completely honest, I still don't know why this was such a pain, but I ended up recoding the entire game. That's right, 12 hours in, I was trashing my game, and restarting. It was just one of those issues that seemed nonsensical, I printed out every relevant value and nothing explained the behaviour. Restarting miraculously worked out, but remember those pushable boxes that I talked about earlier? Well what do you think happens when you push a box into the mirror? Hint, the game hated it, so I told the game 'if a box touches a mirror, then figure out a reasonable spot to take it and just teleport it there'. In the end, I couldn't even think of a level idea that contained both a box and mirror.

I got the game working but still, after all that, Unity still hates me. I must have somewhere used a function not supported by WebGL, since this build simply doesn't work. So now everyone's gotta waste time downloading, which we all know cuts a games view count in half. Anyways, the game somehow was completed, and surpassed all of my expectations, so please check it out, it'd be nice to know that the pain was worth it. I even had some time to do voice acting, and I could ramble on about the strange things I did to record the wacky voices, but I've talked long enough. https://justcamh.itch.io/tunnel-view

I've booted up your game a few times (and I will be doing so again) despite making absolutely no progress because I want to understand what thinking in 1D feels like. Seriously. The way people comment on your game I feel like I'm missing something, some secret I'm not privy to. This is how cults start. 

Yeah. So if I'm this bad at even playing in one dimension, I can't even start to comprehend how bad I'd be at developing in it!

We also had issues getting WebGL to work, so I feel you there.

You're more patient than I re: mirrors, at that point I probably would have just removed them! Who needs mirrors? To hell with mirrors!

I liked the wacky narrator voice! I'd be interested to hear what you thought of how we handled wacky voices in our game (assembling mouth sounds into randomized 1, 2 and 3 syllable clusters based on the dialogue to give the impression of speech). Except for Nancy. Nancy gets special treatment. She gets spoken lines.

We tried all kinds of voice modulation and such, before settling on just telling our sound guy to 'just say no in a Nancy-sounding voice'.