We’ve been busy the last few months debugging some mechanics from the demo that needed a twist while building new stages and gameplay situations. A ton of new content has been added too so it was high time to make a new update showing the game progress.
As for development status, we could say that right now around 65% of the facilities have been built with most situations and puzzles included. We managed to work at a faster pace thanks to the improves made to the building tools, allowing us to create new sections faster. For each room added we need to follow a series of steps to have them up and running, so we’ll take this opportunity to give you an in-depth look into the room assembly process.
Building game sections
To add a new stage we use our own Level Editor to create “empty rooms” inside the level grid. The room element works as a container with a coordinate value that allows us to change the position of said room on the scene with its content in place. All rooms must be connected to their section inside the project’s hierarchy so we can separate the game chapters in terms of level design and structure. Thanks to this tool we can also drag any object from the project folder directly to the Unity scene once we selected an element of the room that we are working on.
The Level Editor Tool place the object automatically inside the room instance and categorize it under the interactive or decorative list
To know if we are dropping the item inside the desired room and not another one a red outline is shown when a prefab is selected on the scene. This makes the creation process faster and more intuitive since we don’t have to locate the room inside the hierarchy and drop the elements there.
Months ago we had some problems when we tried to duplicate entire rooms instead of creating them from scratch –prefabs of the objects lost their connection with their instances on the hierarchy, unrecognized areas after making a build, etc.- but we managed to solve them and now we are able to clone rooms and develop levels faster. A quick preview of an entire section can be made in no time after applying the necessary changes to certain elements of the duplicated stages.
The most common objects that need replacement inside cloned rooms -aside background decorations- are the conducts which vary depending on whether they need trapdoors, roadblocks or be completely closed
Connecting the level
After the decoration process, we ought to make sure that the exits are perfectly linked and all the doors have a correct ID assigned to the next room. Sometimes a room can have entry/exit points that are not regular doors, like conducts. For this cases, we need to include a non-visible element called “abstract door” that connects with another one in the adjacent room. The facing, ID, and connections of the door are modified under the Door Script.
From the Unity inspector we can change the position and size of the room inside the map grid, add LUTs that attach specific color adjustments to the camera -unifying the tones of the sprites inside a room- and assign the theme of the stage or/and ambient noises.
Including enemies and designing situations
Up to this point, we follow the playable scheme previously designed with vector art -as seen on this post– as faithfully as possible and make the necessary adjustments to enemy routines, platforms and decoration backgrounds. Then we add other interactive elements -such as panel buttons, elevators, etc.- according to the level design.
Assembling each room is relatively fast, the real challenge is to test the stage multiple times checking all the connections with other rooms and making sure that the gameplay situations work as planned.
A few months ago we published an image with the graphic change made to the hallway backgrounds, specifically the signs that represent the connections between the rooms and different sectors of the facility. Many of you preferred the previous design with bigger lettering so we look back at it and realized that, in both designs, every hallway looked the same and there was no differentiation between sectors.
Taking these things into consideration we decided to make a quick redesign that wasn’t drastic and could blend well with the current hallway. The new aesthetic preserves the lettering of the latest design and adds bigger initials and numbers to specify the overall position of the stage. In addition, the signals of each area have a distinctive color, helping to differentiate them from one another.
Iconography and color
We’ve also included icons so players that have problems reading the pixel text are able to identify the kind of rooms that are connected with the current hallway.
These are some of the icons that you will find throughout the facilities. All the corporate-wise zones such as restrooms, cargo elevators and cafeterias have the same brand color making them a recurrent graphic element.
The locks prevent the player to access certain areas if they don’t use a skill to break them.
Like other objects that act as roadblocks, this element is represented by a red shape on the map.
Enhanced accessibility to hideouts and trapdoors
One of the vital improvements made following your feedback is the possibility to react to interactives like hideouts and trapdoors regardless of the position of Subject W.
Now, if the player press action near those objects –either standing or crouched– the character will be automatically relocated to the necessary position before accessing it.
This way the player doesn’t have to be aware of the character’s stance to hide or escape from enemy’s sight, increasing the capacity of reaction in extreme situations -it also makes the control more fluid and handy-.
Middle hideouts redesign
Another change related to hideouts was the resizing of those that are separated from the rest of the elements –drawers and closets are attached to other structures–.
These hiding objects are usually located on hallways or storage rooms and comparing them with their surroundings their measurement looked weird and a little bit unrealistic. Besides the graphic complaint, Subject W changed its stance from idle to crouched while interacting with them. This was annoying considering that it needed to stand again since the character hides from the top.
We raised their height up to 18 px following the same measure as other interactive objects like platforms and took this opportunity to add more detail and animation in some cases.
Now the trolleys contain animated boxes and tanks
The more realistic size give us the possibility to develop new objects like cleaning buckets
As we had pending the implementation of the pushable platform mechanic, we took advantage of this concept by converting some of the wheeled objects that we talked about into mobile hideouts.
Since some enemies have the ability to detect Subject W -even if it uses the camouflage skill- these hideouts allow us to develop new strategies that help players go unnoticed.
This objects can be used to reach new places or solve puzzles by pushing them using one of the skills available to Subject W. Although at first glance they may seem simple, we’ve had to take a lot of things into consideration and study their viability to avoid different problems such as cornering Subject W to a wall or other solid, blocking exits or get enemies stucked among others.
All solid boxes share the same basic design and can be differentiated according to the color of their line and the type of icon. The red boxes can not be displaced, the blue are mobile and the yellow ones derive energy.
The solid boxes of Paradise Lost won’t allow players to go through them like other platforms such as tables, cardboard boxes or other structures, although they are designed to be climbable, showing the prompt on their corner when Subject W approach them. Their design allow us to create multiple situations as you can see below.
Building pushable elements
The building process consisted on modifying a solid static platform by the addition of a Rigidbody2D and a PLFCHealthComponent to it so we can know when it’s getting hit. When hit we apply a force and a direction depending on the amount of pixels we want to move it and the position of Subject W. When idle, these platforms are marked like kinematic objects as a failsafe in case any wrong or weird collision happens.
We designed the movement of these platforms to be as deterministic as possible, but designing a level counting the number of pixels needed for a box to get from point A to point B is a hassle, so we added magnet points to attach the platforms to, simplifying the task for the designer. This will help us develop puzzles as well, as we’ll be able to know if the platform reached a magnet point and solved the puzzle/situation of the room.
Solving gameplay issues
Giving the boxes the possibility to bounce against other solids was troublesome (Subject W needed additional animations with the shell equipped, new physic reactions, etc.), so we decided that they’ll stick to other solids and stay immovable while Subject W stays in the room. If the player exits/enters again the stage the box will be either placed in its original position or “magnetized” to specific points placed by us in order to keep a situation resolved.
With this method the boxes can be pushed blocking an exit, but it wasn’t a problem since the character is able to climb solids as long as they have the standard climbable size and the door frame has enough space to let Subject W cross with the pushable platform next to it.
The magnet areas are useful to create puzzle-like situations with a new element: the dynamos.
Dynamos can be connected to rooms without electricity, giving power to a panel after being hooked to a wall plug. Some chapters were built upon this mechanic with different variations but we’ll have to stop giving more details and let players resolve them ;-)
Energy panels show the elements that are capable of receive energy inside a room like doors, computers or conduct fans
Now that we mention them, these components can be found inside ventilation conducts and create a temporary roadblock, damaging Subject W if it gets closer to the blades.
In order to advance players must find a way to disconnect them from the correct side or use decoys through the floor grids.
Reduced sensibility to avoid slipping near corners
An improvement we’ve made that we think is very substantial is refining Subject W’s movement when it’s getting near a corner. Until now when Subject W stuck out of a corner by a few pixels it would slip to the floor automatically, now at least half of Subject W’s body needs to be in the air to slip out of the corner.
This will give the player a little bit more room to maneuver on platforms and jump without falling to the floor and getting caught accidentally.
New Subtitle tools for Slate
Until now to make a cutscene with dialogues we had to run the subtitles and calculate the amount of time needed to make the speech appear at the right speed and in sync with the animation. This wasn’t exactly the best approach, so now that a lot of things got fixed, and the basics are done, we started making small improvements to this and other systems.
We calculated a default reasonable speed for the text and now the dialogue tool has the option to adapt the length of the clip to that speed, which can be changed if needed. We also simplified IDs for dialogues after improving our localization system among other minor QoL improvements.
The estimated length of each line is shown under the dialogue manager too, making it easier to coordinate different animations for a single paragraph
Ash is a key character of Paradise Lost and also one of Subject W’s greatest foes along the adventure. Kickstarter and Humble backers had a sneak peek of her in the demo but we wanted to show you a few animations from the boss battles.
It was important for us to define her personality through the animation scheme, showing her marksmanship, reflexes and aggressive style focused on close quarter combat.
Fullscreen working on different resolutions
We managed to include a new resolution system under the game options menu, solving the issues that some of you experienced playing the demo outside the 1080p standard.
This was a huge setback for us since we designed the game camera to perfectly fit the 16:9 format (wide screens) and all rooms were drawn at the minimum size proportional to a full-HD res. (480 x 270 pixels). The problem appeared when the game was displayed on non-proportional resolutions, in which case it automatically jumped to the nearest proportional size, minimizing the content and making it unplayable (too small in most cases).
Since Paradise Lost can’t show more scenery like other games such as Hyper Light Drifter or Retro City Rampage (larger backgrounds > the camera simply shows more or less info) we decided to readapt the size of the graphics to fit them into non-scalable resolutions. The counterpart of this method is that the image is no longer pixel-perfect on certain sizes (which are highlighted on the resolution panel of the game options). Here’s a comparative of the old and new systems:
Click to enlarge
An example of resized pixels: the red ones are not proportional like the blue square
Most of the milestones planned are being developed at a faster pace. Our primary goal is to, at least, have the Beta for the end of the year, but the real deal will be the development of some bosses and depending on their complexity we’ll have to simplify their behavior or even left them out (hopefully not). Time will tell.
See you around!