Share this project

Done

Share this project

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

Pre-alpha footage and tech issues

Posted by Asthree Works (Creator)
62 likes

Well it took us a little more than expected to make a proper gameplay presentation, but it's finally here:

_

We wanted to show you a sample as close as possible to the final version of PLFC, and for this we had to include elements that we planned to address later like the transition between stages or the inclusion of sound elements.

Graphic issues

You will probably spot some misalignment with the camera or graphic errors like half-pixel lines next to characters and objects, the half-pixel line is a known error and we’re searching for a solution right now.

As you can see, there are only 2 type of characters with no diversity. We already made the rest of skins (as stated in a previous update) but we are working on a system to integrate the sprite sheet of each skin automatically. This system is not yet implemented, but goes along the lines of using the AnimatorOverrideController component to modify the animations given by a mecanim instance.

Another pending task is the use of shaders to tint characters and blend their tones with the backgrounds and the rest of elements. As simple as it sounds the use of curves and visual fx consume resources, and we need to find their correct application.

In addition to this, user interface elements will be added in the next version. When the player walks near an interactive object a pop-up will appear, making easier to recognize interactive object like levers, hideouts, etc.

Many of you have asked for a more technical update, focused on the coding issues of the game, so I’ll let Carlos do the rest. Also, this won’t be a one time thing, you can expect a technical section on following updates.

Building the demo

Hi everyone, I’m Carlos, programmer of Paradise Lost: First Contact, I know it’s been awhile since the last update but we’ve been hard at work to bring you a very exciting one.

On November we decided to build a demo, one large enough so you could see the things we have already done or are almost finished in the game. Unfortunately this build is still too unstable for release, so apart from the video I’ll talk a little bit about how we built this first preview, and maybe get a little technical as you have asked many times before. 

Entities: characters and objects

As you know we’re building this game in Unity and we’re using the Entity-Component design pattern to build the code, because Unity is basically a huge Entity-Component pattern itself, if that makes any sense.

All the characters and objects that are interactive in the game or that posses any logic that reacts to your input or simply are running on the background are classified as entities.

Theses entities are usually built with one main script, which for example in the case of our protagonist Subject W is named SubjectW, this main script usually gives each entity specific logic that only belongs to it. Apart from this script we have several other scripts that are called components, these could be very important aspects of the entity like a movement component or a vision component, and gives the entity different abilities.

 With this pattern it’s easier to build different entities with a few reusable scripts, though many times making these work together has proven trickier than expected.

As I told you before all entities usually have a main script, well both Subject W and the enemies are considered Actors, a subtype of Entity, which are entities with a Finite State Machine (FSM from now on) that in the case of Subject W controls some behaviours and in the case of the enemies is basically the AI. This means that an Actor is very much like a really complicated entity, it needs a main script and a FSM, which is divided in a class that defines the FSM and another class that manage transitions. The main script for these Actors is also divided between the real main script and a script to handle the information received by components related to senses, like vision and hearing, this division was only made to keep things tidy and neat into small classes.

Apart from this all the behaviours used by the Actors are separated objects that run a particular piece of code, of these behaviours only a few of them could be reused on every type of Actor.

I hope this gives you a good idea of the amount of work creating one entity involves. And the more clever this entity is, the larger amount of time needed to complete it.

Now I’ll cover different entities that I consider to be interesting, some of them you may have already seen on previous updates.

Subject W

Subject W hasn’t changed much for this demo, almost everything you see on the video was already done months ago. Basically we have added a few animations, sounds and behaviours, that are not that big to mention.

Enemies: Guards and Scientists

Guards and scientists proved to be more complicated than we initially thought, the amount of interactions of these enemies with the objects and characters that surround them is huge, this interactions result on what we think are very intelligent enemies, but it also means that for every new situation or object added to the game new problems could arise with them if I’m not careful enough.

For this demo though only the scientists gave us problems, they were not as thoroughly tested as the guards were so they needed a few more behaviours added and tweaks made to work properly.

Doors

Transition between different rooms was something inexistent before we began working on the demo, as of now we were working with isolated rooms for prototyping, and was one of the first things to be accomplished. Obviously with the addition of these transitions we needed doors.

There are three types of doors, regular doors that have a physical object that needs to be open, abstract doors that are basically triggers that teleport you to another location and conduct doors that require an animation to pass through. Even though they sound very different all of them use the same main script, and the differences are given by additional objects attached to them.

Security cameras

Security cameras were also added for the demo, they are one of the first objects to use Pixel Art Rotation, the asset we released a few months ago.

When I tried to attach the long laser trail you can see in the video, so the player could see where the camera is pointing, I ran into a really big problem, Pixel Art Rotation wasn’t meant to be used on big images because the computational cost of applying pixels to the entire texture in Unity is too big to be efficient. So I decided to create a Pixelated Line Renderer to draw the line on screen with the right pixel size.

Camera movement

The main focus of this issue was to make the camera follow the player.

At first we thought that it will always follow the player position after he passes the horizontal or vertical threshold that glues the camera to the edges of the rooms, but this solution wasn’t enough for two reasons, one, the player moves through animation a lot of times, which means that he’s not actually moving its position, and two, the movement of the camera was jerky sometimes.

To solve the “movement through animation” problem I attached a Box Collider Fitter, which is a script we have shown on a previous update that adapts a 2D box collider to the shape of a sprite without counting transparent pixels, and make the camera follow the center of this collider when these animations happen.

But the problem of the jerky movement persisted, so I decided to avoid following the player if it wasn’t necessary, which meant waiting for the player to move away from the focus of the camera enough so the resulting movement isn’t jarring, and I made the camera move through SmoothDamp, a nice function that comes with Unity that it’s actually advised to use with cameras.

Other neat things

What I’ve told you so far it’s a meaningful part of the game, but there are still lots of things I could talk about and problems I’m facing as we move forward with the game, like for example how to better control the flow of the game, perhaps adding asynchronous operations for some routines or managing persistance between rooms.

There are also other aspects you can see in the demo which aren’t fully done yet and we’re still researching, like the audio, so I think we’ll left these ones for another time.

Bear in mind that everything I’ve talked about could change in the future as we try to improve both design and coding as much as we can.

Thank you for your patience, see you on the next update!

Comments

Only backers can post comments. Log In
    1. Asthree Works 2-time creator on

      @Mitchblahman That graphic blur is probably due to the video encoding. We didn't see motion blur testing the game, so don't worry about that. Anyway, we'll keep an eye on this issue, thanks :)

    2. Mitchblahman on

      This looks absolutely amazing, I love how intuitive the game seems.
      My only complaint is the motion blur when the plant is moving seems a bit much, possibly tone it down a bit?

    3. Ross A Duncan on

      I think indicators of what's interactive is a bad move. If it shimmers or says 'A' above it, it'll take away from the look of the game. There's too much handholding in games these days.
      Flashback had an indicator all the way in the top corner of the screen. And that game rules!

    4. Missing avatar

      Jabberwok on

      It's great to see some gameplay of this. I'm wondering what sort of audio/visual cues might be in the final version to help the player understand an enemy's perception radius.

    5. Asthree Works 2-time creator on

      First of all thanks for the positive feedback. This encourage us to make the best game possible. You deserve it :D
      -
      @ Roger Mitchell you are right, we should have made this video before the other campaign, but as you stated in other comment, we learned from that experience.
      Glad that you liked the video and keep the faith in the project :)
      -
      @Zombra you can disable the pop ups (we’ll add this feature in the options menu). The thing is that the life and energy bars play a huge part of the gameplay experience, because you use it to control your resources and make different strategies.
      -
      @Bugmaster we thought about making that plant degradation, but it will be extremely complicated to represent the state of Subject W with animations (the different sprites need to be remade when the plant is weakened). Instead of this, maybe we could add a rotten color effect to the plant, but can’t assure you anything… this may complicate the luminance and contrast applied to the characters in each scenario.
      Besides this, the life/energy bars are important in Paradise Lost, as explained to @Zombra.
      Thanks for the tips ;)
      -
      @Brent Disbrow
      We have some samples of the glowing effect that you ask for, but we are not sure if we are going to include it or not… With this the stages end up with ton of glowing elements and takes away the realism and distract a lot : /
      I must say that part of the fun of Paradise Lost is to reach the objects and discover if they’re interactive, if they work… and some abilities are related to these fact too.
      In any case we’ll post this effect on other update to take feedback from everyone :)
      -
      @Ryan Gadsby thanks for the compliment. About putting more resources on this, as Martin O said 2 of the 3 members of Asthree are artist, so we can’t help too much with coding tasks.

    6. Missing avatar

      Fernando Himeno on

      Excelente trabajo. Seguid así y espero que pronto podamos disfrutarlo.

    7. Civalice on

      Make this become masterpiece.
      Take your time. :)

    8. Martin O
      Superbacker
      on

      Great update! And the demo video was well made!

      I just don't get it why people don't understand that there are different people working at a company doing different things. You certainly don't need a programmer for the GOTY game and campaign and assigning artists to programming tasks wouldn't improve Paradise Lost much...

    9. Roger Mitchell on

      I'm encouraged and sadden.. but also hopeful. You guys really, really REALLY, should have knuckled down and got this out to us sooner. Do you realize that not only myself but countless others would have backed you to the hill if you had not done that disastrous GOTY campaign ?

      That now said.... This is Damn good. I implore you to work your arses off and get this game done. I as one of your more vocal critic's I am more that happy to push this game in the you tube, Facebook and twitter likes if you can get it completed to the quality that I have seen in this update. I think you need to know push for a playable demo ASAP to continue to build back the good will. I'm sure I'm not the only backer who is prepared to apologize and fall on our swords if you do continue this work, with playable demos released to us as well as regular updates.

      Please don't make us regret renewing our faith in you.

    10. Missing avatar

      Raj Singh on

      Also, as a programmer, I really appreciate the detail of the programmer's update. It's interesting to hear about the problems you ran into and the solutions you employed. Cheers!

    11. Missing avatar

      Raj Singh on

      Great update. It's really evident just how much effort you guys are putting into making the gameplay experience feel fluid and unpredictable. Thanks for sharing, and for incorporating feedback from previous updates. Looking forward to the beta.

    12. Stephanie
      Superbacker
      on

      Wow! Looks amazing, great update, thanks!

    13. Missing avatar

      Michael A. Atkinson on

      What a fantastic update! Love the video! Really looking forward to this.

    14. Zombra on

      Great demo video! Nice update!

      PLEASE make "popup" UI elements and such things as "life bars" OPTIONAL. I don't want a giant magical A appearing next to every cupboard I walk past. I only want to see the game world. Thank you.

    15. Missing avatar

      Neo on

      Thanks for the update! Awesome video. :)

    16. Missing avatar

      Bugmaster
      Superbacker
      on

      Instead of using life bars, could you add more subtle visual cues ? For example, when Subject W takes damage, it could start taking on a more withered appearance: leaves dropping off, branches becoming yellow or gray, stuff like that. I think this will add a lot more immersion to the game.

    17. Brent Disbrow on

      Nice work, good demo!
      A suggestion for the interactive props (switches, hatches, cabinet doors, etc) - while it will be cool to have a popup show up when you're near, it'd be nice to have some kind of consistent visual language or callout when I'm far away as well. That would let me plan out the rooms more easily (than having to walk up to each thing to find out whether or not it's interactive).
      A comparable example of this would be the shimmer FX that calls out weapon pickups in games like Gears of War. I can see the pickup from a distance and plan to get it. Planning how to deal with your puzzle rooms could benefit from that maybe :)

    18. Matt Green on

      Excellent update. The game looks brilliant!

    19. Sinalve on

      Looks promising! Don't get too carried away with perfection, but otherwise keep going!

    20. Sharkey on

      Keep up the great work, still very much looking forward to this game!

    21. Guilherme Henrique on

      very well done, can't wait to play! <3

    22. Jesús Cepeda Cid on

      No todo van a ser quejas. Tiene una pinta fabulosa. Buen trabajo

    23. Ryan Gadsby
      Superbacker
      on

      That was actually a really solid demo. I don't know why you guys were spending so much time on GOTY instead of putting more resources into this - GOTY might not have failed if you had progress to show on PLFC.