Author Archives: Miguel

Two-mode stages, effects, and puzzles

Here we are with another update, this time to bid farewell to 2018. I can’t deny that it was a rough and bumpy year, following a health issue that forced us to slow down in the animation department + managing to combine our part-time jobs with the development of the game, but overall we were capable of push through and finish some significant milestones. The final boss has been a massive challenge in terms of scale, composition, and playability, but we worked against the clock since the last update to complete most of its animations, only with the character sequences remaining (basically end-game cutscenes). Multiple stage designs and a ton of environmental effects were done too, some of which are shared on this post.

On another note, there is an issue that we wanted to address regarding Kickstarter updates: since most of the mechanics, enemies, and levels are already designed and build, we’ll be having trouble showcasing additional content further on. For the remaining tasks, we’re gonna implement the new subjects and assemble the reverse map. Both elements take part in the “twist” of the game and could potentially ruin the experience of most backers if revealed, so it will be hard to post interesting stuff further on… Hopefully, we’ll manage.

Also, taking on the reverse map or Side B stages we can say that most of the graphics are made and now need to be attached to the original objects of all chapters inside the level editor (walls, vents, platforms, etc.) and that takes a LOT of time.

Our design is not exactly like the one from Castlevania: Symphony of the Night in which the levels are flipped upside down. On PLFC a specific event will trigger a change that affects the entire map, modifying most background sprites and adding new enemies, traps, and situations to all scenarios. It’s a challenging process that requires a ton of planning in order to preserve the core terrain structure while adding substantial gameplay changes. We just finished a chapter of the game that relies heavily on this technique, wanna see how it’s made?

Stage A and Stage B

There are multiple things that we have to take in consideration in order to develop a stage with two modes.

¨

At first hand, we have to define the structural design of the rooms, which should remain as similar as possible in both versions to facilitate the level composition in Unity (sometimes key elements are relocated, or certain parts that couldn’t be accessed appear unlocked, but the playable core is still very similar).

This kind of design is no easy task, considering that the position where we leave certain objects affects the way players can access the rest of the rooms. In some cases, enemies such as floor saws, machine guns, cameras, and even fans can hinder our progress if we do not take into account the disposition of the rooms and the location of their interactive objects.

¨

This is an example of a level with an interconnected structure, in which every room has A and B variants. In mode A the player will have to redirect the energy of certain sectors to unlock new areas and move forward, using a series of generators distributed through multiple stages.

¨

Once each puzzle is solved, and the energy has been returned to this floor, the level changes its design to B mode where new enemies and routines are loaded. The structure is practically identical, only the sprites that represent the current state of the rooms are replaced.

Same sprites with different color palettes

Speaking of graphics, in Paradise Lost we do not use real-time lighting, and all the scenarios that require two game modes have to be redrawn with a different color scheme. This may seem laborious, but it is not as hard as it looks. Most of the time the walls and other decoratives of the background are the only sprites that require a full-color overhaul. The rest of interactives and characters are affected by a LUT file (color grading) applied to the camera on each chapter. This parameter changes the general color information, unifying the tones of all the elements.

A sample of objects and characters that don’t require recoloring. LUT blending does the trick

This workflow is essential because it allows to color-blend the common interactives that are placed all around the game without needing to create new animation tables or different sprites for each mode. With a little knowledge of color grading, it is relatively easy to find the value of curves or adequate contrast, avoiding the use of lightning in real time with normal maps (our process is completely ad hoc, having its pros and cons).

Color change has a narrative purpose too, setting the mood of the events that occur during the adventure.

¨

Depending on the level, some sprites are created to redecorate an existing object: glass cracks, dirt, abandoned paraphernalia, etc.

Swap

¨

All the work needed to swap the sprites can be performed at a relatively fast pace thanks to a useful tool that we included in the level editor called “Replace instances”. This small but valuable piece of code helps us replace an existing prefab of the stage with another one from the project folder, maintaining the position of said object in the scene and its order in the layer (and thus preventing it from suddenly step above other sprites).

Puzzling

DNA recognition

¨

We’ve also completed a few parts that required the use of the host ability to unlock panels with the help of the G.E.R. scientists. In some cases, Subject W won’t be able to access certain interactives (a fingerprint is needed), so the Host skill needs to be used to control humans and unlock them. Only specific scientists can access a panel, and the color of the ID will determine if they have the necessary rank to use it (keep in mind that not all will let us see their card, and we’ll have to work our way around them to identify the correct ID without making a fuss).

¨

These characters give us access to new sections or activate key components. Most hand panels are associated with a central computer next to the thing that we want to unlock, in which the number of individual panels required is shown (in most situations several codes are needed to give us access). Hand panels are scattered through the map, forcing players to explore each point before being able to advance into the next section of the game.  

Pattern puzzles

¨

These mechanisms require a pattern of pulses that have to be followed in the correct order, determined by a random code generated on the central screen.

¨

The bar below the sequence will show us the time left to perform the necessary pulsations, having to use both Subject W and a decoy alternatively (the symbol to be executed in the pattern is shown next to each button).

¨

If we follow the pattern with no errors, a linked element will be unlocked in the same way as the aforementioned hand panels, giving us access to new areas. If we fail the puzzle resets with a new sequence.¨

It may seem simple, but when new elements are added to the mix such as placing different enemies in the room, altering the complexity of the pattern or simply increasing the distance between buttons, we manage to create interesting variations of a straightforward mechanic.

Boom, flash, drip

The animation of effects is one of the most challenging and experimental tasks that one could face. They don’t have joints, nor their movement is restricted by weight. The frame-to-frame poses can be more organic, allowing more freedom without sacrificing quality.  

Regardless of the technique used for each element, we can also alter the speed/framerate drastically to obtain realistic and smoother sequences. Let’s take a look at some of them.

Fired up

¨

Even if they look complicated, flames are one of the easiest effects to create, and all because they do not require a specific animation pattern (meaning that you do not have to follow with accuracy the previous frames of the timeline).

Slowing down this sample you can see that the freehand technique works perfectly on flames

You have to follow a series of basic rules to create fire:

  • Always start from the bottom of the sprite (or surface which the flame will be attached to) and consume it / make it disappear upwards
  • Apply a fast animation rate (10 or less fps) to disguise any possible imperfection between frames and also showcase more motion
  • Add exterior and interior radiance to the shape to give it vividness

The filters bring the animation to life: orange outer glow and a white inner glow

Another tip: different flares can be grouped to make a wall of fire in any way you want.

Blast from the past  

Explosions are a step up from the previous effect. They require more precision than flames, although once the technique is put to practice they can be created with relative simplicity.

The principle is the same as that of the flare only this time with circles: the fireball ascends as the action progresses and it gets smaller until it disappears. The transition from yellow to orange creates the illusion of fire dying out (others use smoke and soot effects during the consumption of the blast, Metal Slug style).

¨

The first step is to define a palette that goes from whitish yellow to orange. This will set the color transition of the fireballs.

The main animation it’s as simple as draw a highlighted circle that contracts while going up. We stop applying white light at the middle of the sequence.

Now we can mix different sizes of fireballs, adjusting their position with each frame (It’s important to attach them to the central one). Giving body to the explosion is simple: draw an irregular cloud that follows the fireballs on the layer below (its color will start with the first frame in the lightest orange and end with the darkest one).

After this, we can add details like darker shadows on the lower part of the cloud. Debris and kinematic lines at the sides of the fireballs will improve the animation tremendously. It seems complicated but, with a little bit of expertise, you can even generate an explosion from a single cloud without drawing separate fireballs.

If the explosion starts fast and decelerates progressively the bursting effect will be more intense and realistic. You can also add an alpha degree to the latest frames of the animation to make the cloud disappear.

Electrified!

¨

This effect is very easy to perform: we can do it freehand style or follow a path around the shape.

¨

Basically, what you have to do is draw a line on a continuous zigzag pattern, leaving a wide margin between each frame (wider distance + lesser frames = more abrupt).

¨

The rays should be of a white-blueish color with a phosphorite glow around it. You can also add a flickering effect to the object (add a layer with the object’s form filled in blue with outer glow and duplicate the frame lowering the alpha level. This two frames will be copy+pasted through the rest of the animation).

Lightning bolt

¨

This electric columns not only add a touch of drama to the cutscenes but also affect the playable situations of the level in question, disorienting the player on key gameplay moments (sorry but not sorry :P)

A lightning effect can be developed in many different ways, although for us -given the scale and style of our sprites- this is the most effective method: we start by making a stroke with a thickness of 4~ pixels and slim it as time goes by until we reach 1px. The sequence is divided into groups associated with the number of pixels of each frame (4 to 1px would be four groups). So, if our animation consists of eight frames, the beam will have the first two frames at 4px, the next two at 3px, other 2 to 2px and the last two at 1px.

¨

To give dynamism we can alter the orientation of the branches and reduce the movement while erasing its pixels until it disappears. The faster the animation speed, the more realistic will look (the differences between each frame will be less noticeable too).

The radiance of the thunderbolt is achieved by the addition of a blue glow (or a blur) with the shape of the first frame in the layer below. To mimic the light cadence that can be observed in the sky during a storm we have to maintain this glow going at least twice the time of the main animation while fading it to alpha.

¨

Finally, we release a white flash (affecting the whole scene) triggered at the first frame and blend it to alpha rapidly. The beam’s initial strike is repeated during three cells approx. so we can see the lightning bolt in the back while the flash fades.

Take an umbrella

¨

First step of a rainfall: determine what kind of downpour are you going to represent. In Paradise Lost, this precipitation comes with a massive storm outside of the G.E.R. building, so the first thing that we established was the orientation of the drops, drawing them in 45 degrees to simulate the force of the wind.

¨

Its development is relatively simple; we draw a white line that is blended to alpha on top and make it follow a guide drawn from side to side of the surface for about five frames.

Establishing a random rain pattern

¨

¨

Now we duplicate the cells and relocate the frames multiple times in other positions, giving the feeling of randomness. The higher the speed, the more intense it will appear.

The impact of the drops on the glass is simulated by drawing concentric circles growing from one pixel, all of them blended to alpha progressively. We repeat the process used for the falling drops, duplicating and scattering each wave.

¨

With both drops and circles finished we can establish a closed loop, masked within the bounds of the glass. Add some thunderbolts, and we got ourselves a perfect storm!

Splatterhouse

The spilling of fluid has two basic rules to follow:

  • Start your animation from a single stream that loses thickness with each frame
  • Pull the liquid down simulating the effect of gravity
  • Always follow a concave parable, no matter the direction of the spill

The onion skin shows the principles previously outlined. As with the rest of the effects, this kind of animation works better at higher rates of fps, so little imperfections won’t be relevant.
¨

¨

To simulate volume add more layers upon the first stream and scatter the rest of splatters. Not much to add about it, except that you can erase parts of the spill in the last frames to kill the animation in mid-air.

Other stuff

Stuck fans

¨

We’ve already shown the conduct fans in previous gameplay videos where you can see how they block paths. To avoid getting chopped into a salad, we must reach their switch, either sneaking the decoy through grills and conducts or using other skills to access them. Now we’ve included fans surrounded by dust and mold, accumulated by the lack of use.

¨

To start them, players will have to look for an additional energy source able to reactivate their switch and unclog the blades.

Accessing the HD

¨

Most rooms of the game display machinery behind the playable layer, but the lack of animation of these objects made some places look a little dull. On an attempt to spice up the backgrounds with an easy solution we decided to add led lights that can be attached to any mechanic component.

These bulbs are no bigger than 1px, and each of them has a different color pattern (8 animations in total), giving the sensation of hard drives running in real time.

¨

We think that this simple yet effective resource brings life to the levels and creates a notion of realism around you.

Security Cameras 2.0.  

¨

As seen above this lines, the security camera was conceived to check the surface of a room between two given points. As we tested all the skills and came up with new mechanics, we realized that a simple tweak could provide us with a ton of new possibilities.

¨

Now we can give cameras fixed positions, so players need to move them away from their scan limits, keep them busy while Subject W stays unnoticed to other enemies, and so on. It is fun to discover new ways to give you a headache  😀

Aaaand that’s all, folks. With the animation scheme of the last levels/bosses already done, next months we’ll be focused on the remaining cutscenes while implementing the B levels.

As much as we want to, we can’t commit to a specific ETA yet; there are a bunch of cutscenes that need to be completed (at least they are mid-game scenes and don’t require as much animation as the latest boss / end-game videos). Also, the inclusion of the B stages will be a time-consuming labor so we’ll try to speed things up and keep you up to date. As always, thanks for staying with us through this journey.

PS: Wish you all a happy and fulfilling 2019. Our new year’s resolution: finish the damn game!  (ಥ﹏ಥ)

In-game menus, new traps, shader improvements, debugging

Long time no see! We’ve been on multitask mode the last months, balancing the gameplay with continuous testing and adding new content in form of enemies and bosses.

A lot of time has been spent debugging one of the most challenging chapters of the game, focused entirely on puzzle solving and interaction with the player surroundings. It took us a little more than expected but the result was worth the effort since it gives a twist to the game narrative and adds a great variety of mechanics.

And in the end that is our main focus with this project, trying to develop an experience that is constantly shaping the gameplay and allows players to face situations in their own way. Now let’s take a look at some of the things that we’ve been working on.

Start Menu: skills, collectibles, tutorials and options

All game menus are coded and completely functional by now, though some of the designs like the skill set descriptions, photo locations, or tutorials are unfinished and will remain so probably until the game is completely balanced and tested -Fx need to be added too-. Here you can have a look at the structure of the START / ENTER menu and its navigation in detail.

.

Skill tree

This is the interface where players will be able to see what abilities have been unlocked, their skill set and the number of skill points obtained to enhance them.

.

The skill points are shown in the center of the tree and can be used to power up all the abilities that have an icon with the shape of said points below them.

These abilities can be reset to LV1 on Garden rooms -Save places-, giving the possibility to readapt the gameplay strategy for each player -some may prefer to boost the offensive skills or upgrade other stealth techniques instead-. This makes the gameplay more malleable and could help players to overcome certain situations if they have problems solving them with their current set of abilities.

Collectibles

Pictures

Della’s pictures will be scattered throughout the facility and will reveal the location of hidden skill points. Once players figure out the room revealed by a photo, an interactive prompt will appear upon the object that hides the skill point. Pressing the action button near it will drop this item.

.

Bio Files

Once an important scene has been played the personal info of certain characters will appear below this submenu.

.

The texts will expand the universe of the game and, also, show the Kickstarter profiles send by backers of the Replicant and above tier -don’t worry, we didn’t gather your bios yet. We’ll let you know by private message and e-mail-.

Options

Not much to say about this. You’ll be able to change the resolution, audio, language, and other common stuff that can be found in most games. The game options submenu allows to load a game file or exit to the main menu / desktop.

.

New development tools

Development tools have been created in the meantime to improve different work routines like to speed up the creation of rooms and the testing process. This is a selection of some of the most useful:

Room Version Swapper

This script allows us to change entire rooms, adding or modifying enemies, situations, and graphics inside them such as backgrounds and interactive objects -platforms, panels, etc.- while maintaining the main structure of the rooms unaltered -sorting layers, positions, and others-. This was required for different reasons like changing complete rooms for aesthetic purposes -going from a regular background to a burned one with partial parts of both rooms intact, for example- or the need to show a different color adjustment curve for a certain situation.

 

.

In reality, this script only changes the room a door is pointing at, so when you cross that door the room seems different than before. The consequences of doing this, however, are much more complicated to deal with, considering that we have to update the map and the internal information about the room. Persistence of objects in both rooms becomes a bit tricky too.

Replace instances

A simple tool to replace selected game objects with other ones on the editor, useful for changing decorations on duplicated rooms or updating objects without losing old prefabs. It preserves the position of the object on the scene and the sorting layer.

.

Improved climbable platforms

Since not all the platforms need to show a climbable prompt on both sides – for example, connected shelves, stacked piles of boxes, etc.- we needed to unfold each interactive platform on the project hierarchy and deactivate its properties in order to make it unclimbable.

.

With this new script we can check / uncheck this option inside the script if an object needs to have an active corner to be climbable.

.

Additionally, any side that’s left activated will check every frame if it’s truly climbable or has to deactivate itself in case anything is blocking the way like a pushable platform, or moving the platform itself and losing the ground.

Upgrading the World generator

The rooms are conceived as individual entities which in turn are part of another GameObject: the chapter in question stores multiple room prefabs with different components and properties so it took some time for the engine to create playable builds for testing. The larger the project was growing, the longer it took to generate those builds so we decided to make a new option on our own Level editor tool to generate specific areas of the map instead of loading the whole bunch of stages and connections between them. Now we can create test builds in no time and perform changes faster.

Gameplay updates

Removing the walk restriction for the Camo ability

As you were able to experience after unlocking the Camo skill on the playable demo, anytime you make a movement while having the invisibility on Subject W will abandon this state and left the player exposed to the enemies.

Our main goal with this ability was to give players a tool to resolve certain situations and not overshadow the rest of the skills or avoid the use of the surroundings -basically going invisible and walking by most of the enemies-. Allowing certain npcs to detect us depending on the Level of the skill helped to balance it, but on the other hand we couldn’t help but sense that penalizing players to stay quiet during its use was a little bit harsh and the cost of wasting an energy leaf if they press the skill inadvertently or need to maneuver during its use might be a little abusive.

We tuned up this mechanic and now you can move with the camo active. Enemies will still be able to detect Subject W if you move on Camo mode and they will attack until the plant stays put in another position (think of it as the Predator visual effect: quiet is untraceable but the graphic distortion generated by any movement reveals its position). A light tint effect was added to the camouflage on movement to differentiate both states.

.

As you can see in the video, enemies will stay in front of the last point where they identified the plant so players won’t walk past them every time to avoid complex situations. Upgrading the skill to another level will increase the time of use to avoid enemies on alert state.

Pixel perfect animations for state bubbles

So far these bubbles -which represent if an enemy is distracted, searching, alerted, or knocked out- showed a smooth transition emptying the bubble of its color to reflect the amount of time left.

.

Each bubble box has an icon inside it, and these kinds of transitions sometimes blurred the graphic and the final design wasn’t very clear so we decided to show progress pixel by pixel, blending with the pixel perfect look of the game.

.

New decoy

Well, not exactly new but we made a few tweaks to it. First of all, we noticed that making the decoy appear by Subject W’s side caused different errors like getting stuck inside a box or appearing in the air near a corner before falling:

 

Now the decoy appears in front of Subject W to avoid these problems:

Also, in order to differentiate both W and the decoy we changed its color scheme and tinted its seed green like the one of Subject W to relate them aesthetically.

Graphic improvements

Door mechanisms

It is only a simple detail but now the door gap shows more detail instead of having a black mass on their inside when the door is open.

New corridor maps

These graphics have been reworked to show a more clean design of a sector and stand out the colors representing Save gardens, elevators, and others.

.

Also, the squared modules are imported as individual game objects instead of full maps designed by hand outside the game engine. This helps decrease the size of the graphic atlas and allows to quickly modify them if rooms that are changed or replaced.

.

LED lights for different decorations

.

Animations of flickering LEDs have been added to different elements such as computers, servers, and other electronics, giving more depth and richness to the backgrounds.

Climbable surfaces for the decoy

A lot of interactive panels can -or must- be accessed by the decoy so we created larger surfaces for this elements in order to see that they both work as a panel and as a platform.

Skin shading achieved

As shown on Update #49 we were looking for a way to modify the color palette of a character while applying other effects above it, like the red alarm layer. Eventually, we ended up doing one of the first ideas we had and one which was suggested by some of you -huge thanks to those that tried to help us- so we made an uber-shader capable of processing all the color effects in place at any given point.

.

A shader is created for every type of enemy that we are going to need, these shaders take a variable amount of colors -that varies on the type of character- and when the shader detects a pixel with one of these colors it changes it to another color -for every original color we have another which is going to replace it-. Apart from this, the shader is capable of tinting and blending external color effects with the character’s current palette.

More enemies and traps

Machinegun

These turrets won’t allow Subject W to go through a specific way by shooting viciously in our direction if we dare to go pass their warning range.

.

They can be disarmed if we deactivate their button from behind or drop a decoy without being noticed:

.

Saw

Remember those annoying enemies from Megaman that run in your direction any time that you put a foot on the floor? They are back! Well, more or less…

The saws are designed to interrupt their patrol routine when either Subject W or the decoy are at surface level. The camo ability doesn’t work in this case but the decoys can stuck them temporarily.

.

Development status

It could seem that we slowed down a little bit in content creation since the game required a huge amount of debugging for certain levels that were built with multiple versions, but we are developing most of the milestones much faster that months ago. Still, there’s sooo much stuff that needs to be added, especially in the bosses department. We are putting around 10 hours a day on the project -and happy to do so if we manage to give you a polished and entertaining product- but even with all that time invested in the development, we are still unable to give a closed release window as of now. We usually resolve key milestones while building levels and testing, but there’s a limit to the stuff we can do being a team of 3 with a single programmer. Luckily the core is solid and from now on most things rely on already made gameplay mechanics, but a pair of enemies and some of the bosses still require new structures and ad hoc routines that can’t be reused from other ones.

In any case, we can state for sure that 2018 will be the final year of development for Paradise Lost and we’ll -luckily- complete the final bits of the game for the first quarter of the year. With that in mind, we don’t want to rush it and have an early release with a lack of content so we’ll keep you constantly updated about any issue.

As always, thanks for your support.

Gameplay improvements and a bunch of new content

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 allow 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.

Cloned stages

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.

Room properties

.

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 the Update #46– 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.

New signage

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.

First hallways

Second hallways

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.

Final hallways

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.

Door Locks

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.

.

Hideout changes

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

Moving hideouts

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.

Pushable platforms

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.

Energy puzzles

.

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

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 animations

Ash is a key character of Paradise Lost and also one of Subject W’s greatest foes along the adventure. You 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

Development status

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.

As always, thanks for your patience and support.