The Siege and The Sandfox - A Stealthvania set in an ancient desert kingdom

This looks fun and amazing! Is there any way to buy in yet? Are you planning on some sort of alpha/beta testing? Steam Greenlight maybe?

Love this! This is coming along beautifully. :smiley:

Thanks. The plan at the moment is to get far along enough on our own backs that we can then get on board with an awesome publisher to help us cross the finish line. The team as a whole was not in favour of going through the marathon that is the Greenlight process or Kickstarter.

Creating a workable perception system for a 2D game in unreal has proved a much bigger challenge than we had expected. However, despite the initial problems we’ve managed to come up with something perfect for our needs. One of our coders, Rex, did a great job in creating us a bespoke sense configuration for 2D.

What we now have is a collection of several 2D cones, which give a much better representation of the AI’s sight. We’ve also offset the position of the visibility raycast to go from eye to eye, rather than the centre of each character.
These two changes have made a massive difference to how it functions, and give us much more room to add interesting gameplay features. There’s plenty of tweaking ahead but by and large the AI sees you when you think it should, and hiding from it is also much more intuitive than before.
Speaking of tweaking these values, Rex also implemented a new debug to replace Epic’s own Gameplay debugger for our purposes. It easily lets us know which cone/s we are in, and if the AI is successfully able to raycast to the player.
Last Known Position
Another important aspect of our perception system is the concept of ‘last known position’, which I’ll refer to as LKP from now on to preserve my sanity!
Unreal’s perception system has it’s own concept of LKP, but we aren’t currently using it just yet. My simplified version positions an object whenever the player leaves the view cones. This position is then used as a start point for a search, should the AI reach the point and still not get a visual on the player.
Having this LKP object also allows me to deploy another classic stealth AI cheat which I like to refer to as ‘6th sense’.
Imagine a situation where I pass through an AI’s view cones heading in a direction it can’t see. How do I make the AI seem smart and know which way the player has gone? Sure, I could make it super complicated by using things like Dead Reckoning combined with multiple EQS to decide which cover the player is likely to be in. This is the sort of thing you’d find in Crysis or Halo, and as such is somewhat beyond our scope as a 2D game.
Instead, the LKP is updated for a short time (~0.5 seconds) after the AI has technically lost sight of them. From the player’s perspective, this usually just looks like intuition, and would only look like cheating if the time is too long. As with most things in life, this is best explained with a gif.

The green tick in the cross hair is my LKP. See how it continues to update even after the player character leaves the view cones.

[/QUOTE]

So what I was thinking after seeing this is that you could have special enemies (the more experienced types) to follow your Y position too, simulating head rotation with a lookAt behaviour, since normally if you jump up from inside the far cone you actually exit from the perception zone.
if you code them that way it becomes more difficult to evade them, and marks for special areas with more powerful enemies, in which you have to absolutely use your surroundings to achieve perfect stealth.
Let’s say for instance that you jump up from the perception zone into a hole on the ceiling (or a ceiling structure of some sort). The guard follows you until his line of sight is cut short, and then comes over to your last x position (projected to the ground) to check wheter you were a fast animal jumping up or a real foe. Then you (the player) would have to either ambush the guard from above or climb up as far as you can to stop him from alarming other guards.

But the most fun part is this: maybe your main character could have some short range teleportation ability later on (like a magic throwing knife that lets you switch positions) that can instantly snap you to the nearest walkable surface, be it walls or ground floor. If you ever encounter a enhanced guard (like the one i was just speaking about) and you jump up to avoid his line of sight he can follow you with his gaze, so you can’t evade him, but then you trigger the teleportation to the ground in mid jump and you get just short of 1s of confused enemy since it couldn’t follow you down due to the teleport speed. This enables you to get a preemptive attack (with some bonus added) by which then you could either flee or continue fighting.

or maybe you could just dash to an enemy near a wall and trigger this ability while he starts to swing his weapon at you: this way you could add a modifier for the direction of the teleport snap (not just nearest, but depending on controller direction) and appear crouching on the wall behind him like a ninja, ready to launch a backstab attack and maybe lash out a combo. This could be useful in boss battles to give the boss more overwhelming strength but also a way out for the player if he starts using his head to evade.

You could also combo the teleport to kill a lot of enemies in a row in an otherwise impossible situation using strategically placed platforms to propel you from point to point while slashing, like some swords manga.

There could also be an item that lets you spawn temporary platforms (they disappear very fast and cooldown time is inversely proportional to experience) to get some dynamic style fighting with high speed moves. You could also use this ability to enhance stealth to difficult levels, in which you actually have to create your stealth and mantain it in a strategic way not to be found.

Aaaah, ideas ideas. Keep this project up, it’s super cool!

100% understood! Good luck guys, I’m sure it will be a huge success.

Hi folks,

Sorry for the lack of updates over the last few weeks. I took a little break following Developand Radius, as well as working on a few TOP SECRET things that will be shared when the time is right :wink:
I’m currently split between two tasks - AI improvements that improve our stealth gameplay, and fleshing out the outer edges of the world map.

World Map

http://i.imgur./02Vbbh1l.png

I’ve been working on making rooftop sections at the very top of the map. This is an area I’m sure will get lots of iteration, because we’d like a player who’s really mastered the moveset to be able to get across here in one fluid motion.

To start with, I’m just blocking out the space, seeing what feels right, and how to sensible manage the height change between the two neighbouring sections. Currently it feels pretty good to climb the towers internally, but not so good from the outside. I’ll be focusing on breaking the outline up a little and try to add some more interest as you travel between them.

While doing this, I’ve also started adding to my wishlist of future player controller improvements. Things like being able to interrupt some animations, and some ‘feel good’ things like caching of jump inputs, and allowing a little tolerance when making jumps off ledges.

Also started to prototype some of the movement features that’ll be unlocked during the course of the game, but I’ll save that for another update :wink:

AI

Meanwhile, over in AI town I’ve been trying to work out the best way to approach doors.

The current implementation uses nav link proxies, and actually works surprisingly well - Kudos to one of our coders, Rex, for digging into these because I couldn’t understand how to make them do anything useful!

However, I’m trying to take a pretty tough stance that as much decision making as possible for the AI should happen as behaviours within the behaviour tree. Currently, the use of nav link proxies breaks this rule pretty fundamentally. From the behaviour tree perspective the AI just uses ‘move to’ and either reaches it’s final destination, using doors along the way, or doesn’t make it.

I’m pushing for a solution that lets me setup lots of fall backs in the tree to allow for things like unlocking doors, breaking doors, and anything interesting we might come up with in the future. I have been heavily inspired by the examples given in this gamasutra article - http://www.gamasutra./blogs/ChrisSimpson/20140717/221339/Behavior_trees_for_AI_How_they_work.php

To that end, I’ve mocked up my own version using placeholder nodes in a behavior tree:

http://i.imgur./mYJ54Ncl.png

I have no idea how a ‘sweep for doors’ function would work, but isn’t that what coders are for? :wink:

Well, that’s all for now, I’ll provide another update when some of these things are implemented. Fingers crossed it works as well as it does in my head!

In case you missed it, we have an exclusive interview with Jeremy Peel (posted on PCGamesN and the Unreal blog), covering various parts of our development process and planning. You can read it here: https://www.unrealengine./showcase/the-siege-and-the-sandfox-invents-the-stealthvania

Awesome work guys, this game looks beautiful. Congrats on the Unreal Dev Grant and good luck with everything :slight_smile:

We have some new screenshots up. You can click on them to view them on imgur, where you can zoom in for even finer detail.

http://i.imgur./SJpQbIQl.png http://i.imgur./g1yuarSl.png http://i.imgur./SdW3rIFl.png

Let us know what you think.

Looks like fun.
Can’t wait to play it.
Make a playable demo!!

We’re really excited to announce that we’ve partnered with Chucklefish to work on this title. You can read more here.

This is a frikin mazing work yall :smiley: . Best looking Stealth Action Platformer I’ve seen in a long time. Cant wait to give a shot. The AI and Nav systems are brilliant. The control feels I have to waite and play to see. As long as those are close-ish to Ori and Meatboy, but of course different in a much more stealthy way, I smell a money train headed your way. :slight_smile:

80.lv did an in-depth interview with our team about building a 2D game in Unreal Engine 4. You can read the article on their website, with accompanying pretty pictures.

Hello, this is a awesome project.

I love that waterfall, could you share how you create it? :slight_smile:

Thanks

Thanks Calibanul, much appreciated. The waterfall is a combination of a four frame flipbook and a multiple-emitter particle system. The waterfall flipbook frames are a more conventional art technique than anything technical, simply drawing coloured blobs flowing down the frame and refining them into dropping waterfall-esque shapes, in our case with a limited colour palette. This is the hardest part and where most of the ‘art skill’ comes in, making it tough to give a bite size breakdown in one sentence.

I then simply layered a few particle effects on top such as slow moving squares for the water breaking the crest of the fall, another for the water motes and ribbons crashing down the waterfall to aid sense of direction and speed, a distortion particle effect to give the water a sense of refraction and finally an emitter to represent the water crashing into the surface below. It’s just squares in that example but I have since gone and refined it to use another flipbook to help represent the water being churned about a bit better. Hope this helps, I know its a bit “hand wavy and ta-da!” but if you need more detail let me know and I will try.

Hello ^^
I’m a young game developer, working on my first biggish 2d game. I would love to see more tips and tuts from You since Your game looks really interesting(dope <3). Just quick question: do You have any information about paper2d plugin development? This question might seems to be out of place but since You are pushing ue4 2d boundaries, maybe You are chatting with guys from Epic Games aswell :slight_smile: I just hope it’s not dead, the plugin.

How were you able to create the game in an rpg style even though there isn’t and rpg2d style option in the main screen?

Sorry Asterat, we don’t have anymore concrete information on the direction or development timeframe of Paper2D than you, that’s a question better aimed at the Epic team themselves. They have helped us out with a question here or there but we we jumped into Paper2D around a year ago (when it was still considered experimental!) and just figured we’d deal with problems as they came up and so far thats worked for us.

Sorry Pilotflyer, can you rephrase your question at all, I’m not completely sure I understand what you are asking? Are you referring to the templates/starter content that comes with Unreal 4? If so, the short answer is we don’t use any of that, we started with a blank project and built from the ground up, no starter content or templates here!

Sorry Pilotflyer, can you rephrase your question at all, I’m not completely sure I understand what you are asking? Are you referring to the templates/starter content that comes with Unreal 4? If so, the short answer is we don’t use any of that, we started with a blank project and built from the ground up, no starter content or templates here!
[/QUOTE]

Yes. I meant how did you build the game from the ground up without the starter content and the default templates?

There’s no easy, quick answer for this I’m afraid. It basically comes down having a team of the required disciplines with a fair amount of experience making games in those disciplines. I guess ‘gain experience anyway you can’ is the short answer here, as unhelpful as that kind of is. Sorry.