Dev Diaries: GRIM Project – Level Design (part 2)

Following up with Part 1 of GRIM Project – Level Design Dev Diaries, my previous post. For my lastest game project, G12-iM.

G12-iM synopsis:

An assembly robot that mysteriously gains self-awareness, and is thus curious to discover and explore his surroundings, which is in the factory he, and the other robots were created in. As he progresses, the robot will discover the ‘grim’ nature of his, and his fellow robots, existence. Through this narrative, the player will be indirectly invited to engage with the philosophical questions posed by the game in regards to the nature of life, self-reflection and the big questions of ‘Why?’.

Robots create robots, as it mirrors humans making humans. A factory, a hospital. 

More info about the game were addressed in earlier posts, here.

In Part 1, it was mentioned that players needed to acquire skills to advance in the game, by learning the game mechanics in the tutorial levels. I have covered 7 levels, each addresses a unique game mechanic or combines one or more mechanics.

The game mechanics are:

– Movement [how to move the main character],
– Simple Hacking [hacking into one robot],
– Movement Counter,
– Movement + Simple Hacking [how to hack the different robots, Mech, Spy and Janitor bot],
– Advanced Hacking [hacking into multiple robots, G12-iM to robot, robot to robot],
– Pressure Plates Switches,
– Proximity Sensor Switches.

A disclaimer: The screen shots in this and the previous post were taken in the free Unity version. So light casting is off, the shadow effects are nonexistent, the final build of the game though has much better lights/shadows, because it was built in the pro version of Unity 3D. 

Teaching Spy bot functions + Crushers, Level 9: 

Combining 3 mechanics, Spy bot, Proximity Sensor Switch and Crushers.

As my disclaimer states, the light casting in the crushers is off in this screen shot. It bothers me, but I’m overlooking it, because this post’s focus is level design.

G12-iM is positioned by the entry door, its light is suppose to be casting a long shadow of G12-iM to convey loneliness/self-reflection, which is not visible in this screen shot. The camera angle is overlooking the stage, visually aligning the hovering Spy bot, the switch and the white drapes exit door. The switch and its metal barred door are on about the same horizontal line, to make the connection to the player, lights color coordination helps too.

On this level, Spy bot, has more moves than it did on the previous level, and the 3-blocks space path is clearer, to reinforce the Spy bot’s unique movement style to the player. Crushers are reintroduced to the player, and they have more speed retracting. First 3 crushers, are set so the player has the choice of going through them or avoid their path, then they must time their movement to pass the other 4 crushers to get to the exit door. And there is only one possible way to solve this puzzle, quite simple when analyzed in pieces, but the whole scene, is bigger filled with more environmental elements, mostly repulsive, makes it appear like a “hard” one, in comparison to the previous smaller stages.

An early iteration of Level 9.

The above image was taken when I was designing/building the “Crushers + Spy bot” level. It has basic geometry, for the Spy bot, crushers, other environment elements. I decided to flip the level geometry, change the camera angle, with other modifications. Compare the the images, spot the changes, if you fancy doing that.

Teaching Advanced Hacking, Level 10: 

Combining the hacking mechanic, hacking from G12-iM to bot, hacking from bot-to-bot.

This level is, where the training wheels are wriggling to fall off, here we introduce all the bots to the player to hack and use skillfully to progress in the game.

G12-iM bot is only able to move in a small space, limiting its options of movement. Camera angle is placed to see the switch and its door clearly, connecting the dots of what the player should be able to do to exit, but how. Level geometry is designed so it leads the player to be opposite/close to the Spy bot. Janitor, and Mech bots are secluded, in space wise. Janitor bot has one move, which is just an extra safe step if they player fancied moving it, but they don’t need to to transfer the consciousness of G12-iM to hack the Mech bot and activate the Proximity Sensor Switch. But to use the Mech bot to hack back into G12-iM, the player will need to notice the level geometry, and premeditate their moves. The boxes are dense in the middle to block the Mech bot, the blue boxes are on the edges, the 2-blue boxes, left of the spy bot, and the 2-blue boxes right of the switch. These are to indicate to the player, you can hack here. So, by moving G12-iM once space forward, to the direction it is facing the screen shot, they can turn and hack the Spy bot, move to the right hack Janitor bot, then hack Mech bot, trigger the switch and back into G12-iM to exit.

An early iteration of Level 10. Basic geometry for bots and environment.

Note: the semi-transparent thin blocks/walls are meant to be glass windows, but those had to be eliminated, and small walls a.k.a blue boxes were used instead, to hack over them. Alterations to level geometry were implemented to work with the small walls (blue boxes). Mech bot position was changed, and the blocks around him, so his face gets more “camera time” while moving to the switch.

I believe this covers the tutorial levels. I just wanna point out key things, in the bot’s placement throughout the stages. I tried as much as possible to give each robot “camera face time”, a) to relate the players to characters seeing their face up close, b) to notice the lights on the robots, one of the idle state – amber colored, and hacked state – cyan colored. You may have noticed, from my Part 1, the Movement Counter GIF -seen below-, that demonstrated the particle system that comes out of G12-iM to hack the bots. Cyan color represents the self-aware condition of the bot. G12-iM bot light face illuminates him, and his environment by casting on the floor/and ahead of him. Guiding him through his journey. A metaphor to support the message of this game’s narrative.

A Movement Counter GIF

If you’re interested in knowing more information or if I wasn’t clear enough in some points, please don’t hesitate to contact me or drop a comment here. It’d be my pleasure.


Dev Diaries: GRIM Project – Level Design (part 1)

So level design for G12-iM. I quite enjoyed creating levels for this project. It was exciting.

I’ll post the synopsis of G12-iM game, again. For the sake of making this post consistent and thorough.

“An assembly robot that mysteriously gains self-awareness, and is thus curious to discover and explore his surroundings, which is in the factory he, and the other robots were created in. As he progresses, the robot will discover the ‘grim’ nature of his, and his fellow robots, existence. Through this narrative, the player will be indirectly invited to engage with the philosophical questions posed by the game in regards to the nature of life, self-reflection and the big questions of ‘Why?’.

Robots create robots, as it mirrors humans making humans. A factory, a hospital. 

First off, the game presented a few mechanics for the player to learn. So creating smooth tutorial levels was a requirement in order to achieve the optimal learning journey for the player to progress in the game, but in a way that wasn’t condescending nor in-your-face sort of tutorials.

Players needed to learn these game mechanics:

– Movement [how to move the main character],
– Simple Hacking [hacking into one robot],
– Movement + Simple Hacking,
– Advanced Hacking [hacking into multiple robots, G12-iM to robot, robot to robot],
– Pressure Plates Switches,
– Proximity Sensor Switches.

This is an image of my on-paper early level design concepts/my to-do list. Don’t mind the messiness of it. I think it serves the “Dev Diaries” post right to include this, an actual image of my dev notebook. One of many. Some of these are in the final levels, some were scraped off.

From my dev notebook.

A key point in the game was, the robots, Mech, Spy and Janitor bots had a number atop their head, hovering, indicating the number of moves the robot had, if the number was zero the bot would reset. A movement counter. G12-iM bot, because he is the only robot, as far as we know, that has gained self awareness, so he moves freely without a movement counter.

A Movement Counter GIF, notice the color change and the animation.

We did some early tests on the game, to test the level progress. It turned out with very interesting results. Most players didn’t get the movement counter on the bots, they thought it was timer. Therefore, a new tutorial level needed to be introduced solely to make the player connect the number with the movement the hacked robot takes. As well as, we needed to introduce the different robots, Mech, Spy and Janitor bot in separate tutorial levels, as each robot has different function, to an extent, so it would be feasible to use all or some of the robots in later levels. Read more about the characters design for this game here

In the following section of this post, I’ll go over a few of the levels to demonstrate how those game mechanics were achieved in the tutorial levels. Note that the unusual camera point of view on the levels is suppose to be conveying a security camera view.

Teaching Movement, Level 1: 

Teaching movement, by going through obstacles.

The camera angle is overlooking the space, behind the main character, so players can easily see the start, the obstacles, the path they can take, and the exit. By the way, those white drapes by the door, are a physics body, they interact with the bot’s mass when the bot goes through them. It’s just fun, if I may add.

Teaching Simple Hacking, Level 2:

The white line illustrates the optimal path for G12-iM to hack. Distance isn’t a factor to hacking, as long as robots are facing each other.

The camera angle is positioned so that G12-iM bot and the Mech bot and the Pressure Plate Switch, are aligned in the scene, in a way that makes it possible for the player to connect the dots to solve the puzzle. It is designed to drag the player’s attention to the focal points of this level, G12-iM, Switch and Mech bot. I need to mention that, the instruction tool tips, in all of the 3 first tutorial levels, it flicker ever so slightly, as from our testing observations, when the tip was a plain static text, it wasn’t noticeable enough.

In this level, the Mech bot has been introduced first to the player. It triggers Pressure Plate Switches by standing on top of them.

Below was an early [on-paper] iteration of this level. Purple square represents G12-iM, Red = Mech bot, and the dark square = Pressure Plate Switch. Placement of all aforementioned elements were changed in later iterations.

An early level design concept. You may have noticed, the note, it was how I pictured the secondary world to be for this stage.

Teaching Movement Count w/  Simple Hacking + Proximity Sensor Switch, Level 3: 

The X marks the spot of where player’s should position G12-iM to hack Mech bot.

In this level, players still need to use the same bot they used in the previous level. To enforce familiar environment elements.

The camera angle in this scene is overlooking. G12-iM starts in a cornered place, so it urges the player to move to the right, to the marked X spot. A common aesthetic language was implemented to convey what players could and could not do. Blue boxes can hack over them, red boxes cannot hack over/through them. So, the line of the blue boxes makes the player notice, by experimenting they can hack over them to control Mech bot. Notice the movement counter atop Mech bot? When in control of it, the counter is blue, and is slightly popping in place.

The exit door, and the Proximity Sensor Switch are positioned on the same line and light color, to enable the player to connect the dots.

Teaching Movement + Hacking, Level 4: 

Requires movement and a few hacking, back and forth, in order to solve this stage.

The camera angle here, I wanted it to convoy as a small spaced room, and have the floor tiles visible enough. It’s also positioned to visually align the Mech bot and the Pressure Plate Switch to the position of G12-iM. There is a different floor tile around the Mech bot, from the testing observations, players spend more than they should’ve on this level, so this different floor tile is to indicate to the player where they should optimally place the bot(s) to progress.

This post isn’t mean to be a walkthrough, give away the puzzles. It’s just to showcase the level design behind the different stages. All of the previous levels have introduced Mech bot functions, the two switches, simple hacking, movement and hacking. Now, we move on to introducing the other robots’ functions as well.

Teaching Simple Janitor bot functions, Level 5: 

Introducing Janitor bot

This level, G12-iM is stranded on a small space with nowhere to go, opposite of the new bot, the Janitor. There’s a familiar switch, a Pressure Plate Switch, and a new environmental element, the crate with the “This Side Up Arrow”. The player will figure, they need to use the robot, and Janitor bot movement is tied to its occupying space. It takes up 3 blocks, so it needs 3 blocks of empty space to move/turn. So, once the Janitor bot is hacked players might experiment with its movement, and by moving forward, as turning and moving to the left or right doesn’t allow the player to advance in more than one block, and that doesn’t do anything beneficial. By moving forward, towards the switch, it will activate the door to open. But remember the movement counter, it has 6 spaces of movement, when it lands on the switch it should have about 4 moves left, which makes the player think of why the extra moves, and how to get G12-iM to the exit.

The crate with its specific texture, is to aid the player to make the connection between the Janitor bot face plates/”bulldozer face”, the hollow space between the platforms, and the extra moves. So by moving further forward, the player will be able to push the crate into the hollow space to fill it up, making a path for the player to crossover to the Janitor’s platform. But the Janitor bot will  be blocking the way, so by backing up to the switch with the 2 extra moves, it opens the door, and the player should hack back into G12-iM to exit.

The camera angle here is, as well, overlooking the stage, aiding to visually align the environmental elements to solve the puzzle. This tutorial covers the functions of the Janitor bot, its specific movement, it activates Pressure Plate Switches, and it pushes items, in this case a crate.

Teaching Crushers, Level 7: 

Introducing the crushers, a repulsive environmental element. In EDITOR screen shot.

This screen shot of the stage was taken in Unity Editor, it slightly differs in the game. This is a bit zoomed in and I added a light to the scene to make it brighter for the purpose of this post.

Teaching crushers. In GAME screen shot.

In this level, the player is suppose to guide G12-iM through the crushers using its cyan head light to see. The crushers cast a light onto the block they occupy, which makes the crushers easy to spot with the light, in a 3D world with this camera angle. The red light cast expands or scales down as the crusher move up and down. Thus, making it feasible for the player to progress by timing their movement. The crusher’s speed has been slowed for this tutorial level, in order to teach the player in a safe environment. And the white drapes are used for the exit since there aren’t any switches needed for this level to activate the switches metal bars door.

Teaching Simple Spy bot functions, Level 8: 

Introducing the Spy bot.

Spy bots can activate Proximity Sensor Switches, and they can only move in a space of 3-blocks at a time. One Spy bot move = 3 blocks. This spy bot has 3 moves, and it needs to move to the switch in order to open and exit the door. Players should understand that, at this stage of this game. But the tricky part is to get the bot there and back to G12-iM bot.

The player starts at this position, seen in the screen shot, facing the hovering spy with only 3 moves. The spy bot has one block to its right, 2 blocks to its left and blocked from the back, and is facing 3 blocks ahead. The blue boxes are an indicator they can hack over them. The 3 blocks of the blue boxes, the Spy/G12-iM is facing are to give a hint of the Spy’s specific moves. Once the player moves the Spy bot over those 3 blue boxes, its sound effects of movement and the movement animation should solidify the specific movement of the Spy bot to the player.  The space left of the 3-blocks of the blue boxes facing the bots, is intentionally left unoccupied, to showcase the Spy bots movement functions, flying over the floor and blue boxes and so this level isn’t an “easy” one, they need to think about what they learned from earlier levels and apply it here to progress.

I think this should conclude the first part of GRIM Project – Level Design. It seems like a long post, I hope it was thorough, and interesting. I’ll post the second part later today.