Share this project


Share this project

Play as an alien plant and escape from a scientific facility, full of secrets and dangerous experiments.
Play as an alien plant and escape from a scientific facility, full of secrets and dangerous experiments.
5,953 backers pledged $144,960 to help bring this project to life.

Shaders, skill improves, menus, gamepad modes

Posted by Asthree Works (Creator)

As you know we’ve released the updated demo last month with tons of fixes and gameplay adjustments. Most of the problems were solved for this alpha but a few of them are still on the to do list (we needed to prioritize other tasks in order to complete major milestones).

One of the bigger problems we faced is explained right below:

Color replacement troubles


In addition to the multiple genders + hair styles already designed for each profession of the G.E.R. staff we wanted to include an option to make all characters unique. With the use of a color replacement shader we could create cloth variety and represent racial diversity.

As cool as it sounds it’s relatively difficult to implement this shader and it’s giving us some headaches. Unity2D is based upon Unity3D, as such the Sprites used by the engine are just textures with a particular material so the engine can render them properly (each material is defined by a shader). You can change this material for another one compatible with Sprites/Default, thus applying a different shader to the texture, but you can't have more than one. This means that we need to create a shader that combines all the color corrections and light effects we want to use on a character. This is our main problem as we currently don't know if this is possible with the effects we're using right now or even how to do it.

Let’s see an example: the enemies have one material that allows an alarm to tint these characters with a vivid tint effect. Now, imagine we swap this red tint material to a change-color material so we can recolor all the enemies and give them different looks, when the alarm starts the game should change their material from the change-color one to the red one, but if we do this the red tint would be applied to the base colors of the sprite instead of the recolored ones from the change-color material.





We tried different solutions like the use of imported LUTs applied to a new camera focused exclusively on the characters layer, multiply tints... but no advances were made on this area. Our last resource is the development of the mentioned mega-shader but graphic programming is a whole new field and could take us some time to achieve it.

We have planned other solutions outside the use of shaders if we come to a dead end, like the inclusion of skin colors and different clothes to our current sets of sprites, but this will limit the variety of npc’s so we’ll exhaust all the possibilities before making this move.

Skill changes and development of new menus

Releasing the two demos helped to calibrate the game difficulty and allowed us to see the strengths and weaknesses of the game on multiple levels. One of the most complex tasks of development is the adjustment of the different elements that conform the gameplay structure. Paradise Lost is especially sensitive on this field because the enemies have numerous interactions between them or with their surroundings and also react differently depending on the skill that W is using against them.

The acquiring of new abilities will be a crucial factor to progress on the adventure so we decided to make some changes in order to simplify game mechanics and have a more enjoyable / less frustrating game experience.

Decoy skill

Originally, the decoy was meant to have different levels of progression like most of the skills, but we realized that it was difficult to improve a skill that is focused on two simple tasks: attract the attention of enemies and go through places that Subject W can’t reach.

We came up with different approaches like enhanced durability, use of multiple actions or teleport W to the decoy’s position unlocking the higher level (which causes troubles like ending in “dead zones” or giving the player the possibility to surpass entire levels in a blink) so we decided to keep it simple and change it to a skill without progression, like the double jump.

To do so we mixed the different actions devised by level and balanced them to create a unique mechanic.


In earlier designs the decoy was able to jump in order to reach higher surfaces, but that alerted the enemies and made its use difficult and frustrating, more so if we keep in mind that it has a time restriction. We could preserve the jump action without alerting them, but it’ll look weird to see a spider-like seed jumping near characters and these remaining impassive.

We wanted to maintain the “decoy” element without losing the platforming so certain changes needed to be made. After the inclusion of the new climbing mechanic (holding a button while walking) we decided to extrapolate this concept to the decoy skill and now it has two different actions that do not enter in conflict with each other: it can reach higher elements unnoticed with the climb button and attract enemies with a new explosion button (that can be used in conducts too), eliminating the jump from the equation. This is the result:

Also, the decoy is capable of interacting with elements (like Subject W) and move between the floor and the conducts if they have a ventilation grid. This diversifies the gameplay and allows players to create multiple strategies.


Shell skill

New animations have been added to the shell state (like slip and recover) in case players fall from platforms while walking.

We also simplified how the damage is perceived while enhancing the ability under the skill tree menu.


Instead of showing a table for each level representing the multiple types of damage (which is difficult to remember) we decided to keep it simple and reduce by half all damage when players invest skill points on it (progressive damage like gas or fire is reduced on level 2 and direct attacks on level 3).

Spore skill

The spore went through a big facelift in order to make its use more fun and its progression more challenging.

Previous version of this ability had two different functionalities related to the first levels of the skill tree, changing the way that could be used: Level 1 > the spore seed reached half of a room, Level 2 > with the skill button pressed the spore seed reached further.

This idea was a bit lame because the landing was very imprecise and overall annoying to use. Also, the gas animation needed to vary from one level to another in order to reach higher spots. This was related to the third Level that gave the spore the capacity of exploding automatically when touching the floor and avoiding elevation like the previous levels (this force-feeded the players to reach the top level in order to be mildly interesting).



Giving a twist to the spore functionality we created a new mechanic that is resemblant to the Balloon Fight game (do you remember this NES classic?) allowing Subject W to create the spore directly from its head.

New floating animation for the spore


Now the spore floats but it can't maintain itself on the air so the player needs to constantly press the jump button to keep it elevated and navigate through the room with the movement controls (beware! W gets exposed while controlling the spore!).

Using it is more interesting and fun because we can reach higher places and affect enemies like cameras or cambots.

In addition if a character identifies the spore it can blow it up and alert the room, giving us the tools to create more possibilities and challenges.

Host skill

With the host players are able to control scientists and press elements unreachable by Subject W or move them away. Certain characters like guards have the ability to knock out other enemies.

The earlier version of this skill used a dart to hit the enemies and trigger the skill from a safe distance, but it was redesigned to create a more clear progression.

Now, On Level 1 Subject W controls enemies if it touches them.

Level 2 gives the ability to control them at distance throwing a dart and also gives the player the option to knock them out from afar (this interrupts the skill). Level 3 has no time restrictions + gives the possibility to switch between the enemy and Subject W to avoid being seen or create more elaborate strategies.

The decoy, host and spore skills are complex mechanics in which you control different entities and the world reacts in various ways to their actions, we needed to adapt several systems to recognize and work well with more characters than Subject W. Thankfully as this was a planned feature a lot of the work was done on the first iterations of those systems and the implementation was moderately quick and clean.

Skill tree modifications

The skill menu has been modified to adopt these changes and the abilities without progression have been added too.


We removed the skill names and levels to have a cleaner look (these will be represented in the info box) and the shell has been relocated to the right in order to create a pyramid composition: stealthy techniques to the left / ‘offensive’ techniques to the right. Thanks to this we were able to expand the info box, gaining space for the action graphics and showing a more concise explanation of the level with a bulleted text.


The top tabs have been reduced and navigation buttons have been added to the bottom of all sections.

Unification of state bubbles

Now that we are unifying mechanics and concepts we decided to do the same to the state bubbles that represent any kind of damage done to an enemy. We had states of sleeping and knocked out for humans, stand by globes for robots/mechanic enemies, etc., so we realized that all of them served the same purpose: show that an enemy is unconscious. With this in mind we created a new bubble that applies to any KO state:



Gamepad modes:

After changing the climbing mechanic we thought that adding two control options to the gamepad could be a good idea. Taking the Xbox controller as reference:

  • Mode A: run with the X, climb with the Right Trigger
  • Mode B: run with Right Trigger, climb with the X


Most players are probably more familiarized with the old school running (ala Mario Bros) but other players seem to prefer RT running, so we’ll keep both of them selectable in the Options menu.

PS: Development forum

We are still working on the forum in order to implement it on our website (been busy with development issues) and figuring out how to send invitations for the backers, etc. As soon as we have it we’ll contact everyone and post an update announcing it.

Thanks for your support!

CaGeRit, Richard Reynolds, and 40 more people like this update.


Only backers can post comments. Log In
    1. Missing avatar

      Alabug on

      My general rule of development is that control schemes should never be limited by the developers. Instead, consider making them 100% customizable by the end-user.

    2. Asthree Works 2-time creator on

      @Elecorn: Thanks for the color grading tip! We jumped into other issues for the moment but as soon as we return to shaders we’ll let you know how things worked ;)

    3. Asthree Works 2-time creator on

      @John Blythe: we are still working on the game and document every step of the way through regular updates (had some setbacks during the development process but we’re finally on the right track). We also sent alpha demos at the beginning of this year, if you didn’t receive the download link write down your e-mail on this site: humblebundle/resender
      Sorry for the inconveniences and thanks for the compliment :)

    4. John Blythe on

      Am I missing something here. Sorry, has this game released already? Was scheduled for Dec 2014? I'm not being negative, but I don't remember seeing a message about release and I haven't received my physical copy. I had completely forgotten about this game and it still looks amazing. I'm just confused?!

    5. Elecorn on

      As far as the color shading problem goes, I think I have another solutions for you. You can get copies of the all the base shaders used in Unity. You can take the default sprite shader and modify it so that the color change operation is applied before the rest of the color processing takes effect. At that point you should have a fully compatible sprite shader with the addition of the color changing. PM or e-mail me if you'd like to chat more about it. Thanks!

    6. Asthree Works 2-time creator on

      @Tiago: we'll probably make a post-mortem in our website after the game is finished :)
      @everyone: thanks for your kind words!

    7. Tiago Ferreira on

      Wow, this post has some awesome design lessons. You guys should consider extracting the whole part of the post where you talk about how you simplified mechanics and UI and make that available on medium or a similar platform

    8. Missing avatar

      saluk on

      Nice, meaty update. I can't wait to start spewing spores.



    9. Nathan Morse

      So excited! I just love this game, and every bit of progress on it delights me.

    10. Asthree Works 2-time creator on

      @Donnicton haha yeah it looks a little funny. We’ll try to adjust the flotability of the spore, but we must focus on the gameplay aspect of the skill before its look. Another thing we could implement is a stretch animation when it “jumps”... we’ll look into it.
      @8bit thanks for your help! The thing is that Unity doesn’t translate so well maps / shaders from 3d to 2D. In any case we could give it a try! We’ve just sent you a PM :)
      @ChrisZ yeah don’t worry we are working on other issues right now.

    11. Chris Z.

      I'm less concerned with shading at this point, but sounds like the person who made the comment before me can help so why not take them up on the offer instead of spending more time trying to polish this feature that doesn't effect actual play.

    12. 8bit on

      You guys still having the shader problem? I could write a shader that would let you specify a skin mask/tint and effect mask/tint with separate colors for them, plus a clothing texture + mask/tint. It wouldn't be that hard but you will need to make the maps for each character. I'm assuming your animation is done by moving UVs. Once you have that shader and see the code, it should be simple to just add more layers if you need them. I do all 3D work so I'm just assuming that this should all translate to 2D, which it should. To be clear, I'm not expecting anything from y'all, I'm just warning you that you'll have to re-author the characters and split out to multiple maps that will get layered together. Let me know if interested and we could quickly chat first to ensure we have the same understanding.

    13. Donnicton on

      I like the concept of the "spore ball", though the animation seems a bit off to me. I think it may be the slightly jerky way in which it bounces up while in the air. I think it could use a smoother way of floating back up rather than just looking like it "double jumps" in response to a button press.