By Wesley Sappington
I know I haven't updated the blog in a while, but if you've been following us on Instagram, Twitter, or Facebook, you'll know we've been quite busy.
Temperature (and the challenge that comes with sundown)
Temperature is a very important mechanic in Conundrum. The player requires heat to survive. While this is fine during the day, the temperatures in the Labyrinth drop well below freezing at night. That's why it's important for the player to keep warm during the night, whether that's with a bonfire, electrical heater, or other heating device.
The reason this mechanic is so important is because it forces the player to "hunker down" at night. While the player can explore all they want during the day, the player needs a well fortified base at night. We want to force the player to build bases each night, rather than just wander around in the dark. Building bases is super important to survival, and surviving the night is probably the most challenging part of the game.
Building a base can range anywhere from a dirt square to a complex base with turrets, security systems, radars, and transceivers. The game gets increasingly difficult as the player approaches The Center, (aka the exit) so while a dirt hut might be fine the first night, the player will need more complex forts as they progress. Also, a dirt hut will likely be destroyed after one night; a structure that needs to last a long time will need to be more advanced.
Battery block, aka developer hell
The battery block was difficult to code because the engine, originally, only supported two types of machines - generators and devices. Generators generated electricity, while devices takes electricity. But a battery needs to do both - take in energy and output energy. This led to the power system being reworked. (multiple times) Generators and devices are still the two types of machines, but a machine can be both. This change screwed up alot of stuff (mostly the power distribution in circuits with multiple generators) but after some work we've managed to fix it.
One of the most persistent problems with batteries was the fact that they powered each other, causing an uneven distribution as shown above. One battery discharged faster than the others. However, this issue has since been fixed. (below) As it turns out, this wasn't just happening with batteries... It was happening with everything! (All the generators) Glad the batteries allowed me to notice it, otherwise I wouldn't have known!
The next order of business, in terms of the power system, was to create the generator overloading system.
Generators don't give out infinite power... That would be crazy! When a generator is connected to a certain threshold of devices, it will begin to flash with a warning. This is the generator overheating. If the generator is connected to a power draw over that threshold, it will begin to flash with increasing intensity, until it eventually explodes!
The explosion will cause damage to blocks and entities in a nearby area... As well as waste a lot of resources, since generators are so expensive... This is a PSA for all the future Conundrum players - keep an eye on your generators!
We don't have the explosion animation yet, but check out the overheat effect below.
Difficulty Increase & Redshift
A few days ago on on our Instagram, I posted this really cool image. It looks really cool IMO, so feel free to set it as your wallpaper or something... I have it set as mine :D
But what exactly is this? Well, obviously it's the "older than time itself" hellscape we call the Labyrinth. The redness appears as you approach the center. As you can see, the top left (further from the center of the Labyrinth) is pretty clear. The bottom right (closer to the center of the Labyrinth) is increasing in reddishness.
This reddishness is the evil of the Labyrinth... The demonic nature of the Labyrinth emanating out from the center... So, the more evil presence you feel, the closer you are to escape.
As I mentioned before, the game gets more difficult as you approach the center. The red haze close to the center makes it hard to see, as electrical instruments go haywire. Radars, signal dishes, and the like become less and less accurate, while unique monsters not found in the outer regions of the Labyrinth lurk in the red haze.
What about when you're at the center? What's there?
I wouldn't know. Very few have made it that far. ;)
By Wesley Sappington
Hello fellow Conundrum solvers, your favorite coder is back!
So you know how we keep hinting about evil monsters chasing you throughout the Labyrinth? Well, now they actually can chase you!
(I'm sorry about the really zoomed out size - I think I need to make the camera view smaller in general) As you can see, the zombie is chasing me! Can I get Game of the Year Award yet? Lol.
Here's what's going on behind the scenes.
Now, the zombie is smarter than he looks. (At least for now. In the actual game the zombie might be much stupider - but for testing purposes I made him smart.) The pathfinding will avoid stronger barriers and always go for the path of least resistance.
As you can see, the pathfinding (blue line) avoided the brick and went for the dirt. That's because dirt is obviously easier to break than brick.
Things were not always this easy.
The utopian algorithm you see above was not always the wonderland it is today. I had numerous hair-pulling moments with this thing, special thanks to programmer Thomas Culhane not only with his coding skills but also his ability to keep me from the brink of insanity.
I'm going to forget some of the smaller issues we faced. Most of the problems centered around diagonal motion. It was not a fun time.
A huge thing with diagonal motion was the fact that the entity was unaware of its own size and shape. This forced it to scoot against walls and get stuck. Entities frequently got stuck in corners, as you see above.
Things are still not that easy.
Oh, silly you! You thought we fixed all of the problems! How presumptuous of you to assume that we "know what we're doing." Lol. We still face two major problems.
Entities have these things that I call "margins." Currently, the margin for all entities is 5 points. (1 tile = 48 points) The margin shrinks the entities' collision box down. Without it, passing through a 1 block space (as a player) would be astronomically difficult, because you have to hit the space just right - there is zero margin for error.
However, this presents our first problem. When the player scoots up against a wall, if his top-left point passes into the wall's borders, his position will register as wall. (Since the block an entity is in is determined by the top left corner of said entity) That means that the destination of the path in respect to the zombie becomes impassible. (since the player is, to the zombie, inside of a wall) This causes the pathfinding to stop operating and read as no possible paths to the destination.
Secondly, the entities just aren't smart enough. Let's say the zombie locks a path to the player, but the player starts moving left and right over and over again. This will force the zombie to repeatedly recalculate its path, and the zombie will be left a confused mess! (I can't seem to get a good video example of this right now, though if I do I'll be sure to post it!)
Anyways, that's what's going on over here in The Labyrinth! Until next time!