One hundred years ago, human race almost extinguished. Since that time, only a few survivors remains and fight for their lives. You are on of them.
Find ressources, items, allies and exploit the powers of the Umbra to survive. But be careful, you are their prey...

Umbra is RPG / Hack & Slash game based on CryEngine3, in a horror fantasy world.

Game Features :

  • Based on state-of-the-art CryENGINE 3 technology
  • Solo and multiplayer game supported
  • Free character development - No class limitation
  • Create your own weapons, armors and spells
  • Bound powerfull spirits to your weapons and make them evolve
  • Real time Time of Day and weather effects affecting gameplay
  • Fight in mutliple locations, from dark swamp to frozen moutains
  • Oppressing environment and ambiance
  • Mature story and quests

If you are interested in our project, contact us.

Image RSS Feed Latest Screens
Ingame Ingame Ingame
Blog RSS Feed Report abuse Latest News: Devbog: Level Generator - Final touch

0 comments by UmbraGame on Apr 17th, 2015

In the previous article, we saw how level were generated in Umbra, based on various parameters defined in an XML file. In this article, we will focus on the finishing touches, in order to make each level different from each other.

Randomized Decals Placement

In order to bring more visual variety, decals will be placed randomly on the ground and on walls. Decals are texture usually projected on the ground, bringing more detail and complexity to the applied surface. In our case, using decals will allow us to not only bring visual variety, but also a better ambiance or even gameplay possibilities!

Ground Placement

To achieve that, we have several parameters setup in the level design XML file that manage the decal placement:

  • Amount of decal per square meter
  • Chance to actually spawn decal according to the amount
  • Size of the decals
  • Other render parameters

Foreach decals, we also added the possibility of spawning a random Prefab. It basically means that we can add particle effects on top of them, or even use the random Decals placement in order to randomly spawn gameplayobjects! It brings exciting possibilities for us, we will cover this part on our Devblog in the future.

Walls Placement

For Walls, we also add a parameters to control the Z spawning of decals: For example, we may want blood to appear in the middle and bottom of walls, and some mossy decals on top.
When wall decal placement was first implemented, we noticed that decals were spawning everywhere on walls, even on side that could not been seen by the player. In order to fix
that, we made sure that a walkable area was present in front of a wall in order to create decals. This simple solution allowed us to drastically reduce the amount of created objects. devblog1
Exemple of Decals placement on walls

Problem with Decals Placement

The decal placement on a large level cost lot of resources, and sometime takes several seconds to generate. In order to optimize the loading time, we had to stream it during the game.We now start to spawn decals on the entrance room of the levels, and progressively cover all
the area, while the player is able to play.

Random Camera Rotation

We spent a lot of time to make sure that Umbra’s camera system will work with any orientation, for a simple reason: We want the player to discover the environment from any angle, and we want to play with camera angle to hide some treasure, or secret passages.
In Randomly generated levels, we also use camera rotation in order to bring some visual variety: Rooms and corridors are not symmetrically build. It willmeans that you won’t see the same scene on screen if you look at a Level Element from different point of view.
We ran some test and found out that having this random camera angle actually brings some very
nice visual difference from a game to another. For that reason, in the beginning of each new level, we set a random angle for camera (multiple
of 45).


That’s it! We finally cover the currentimplementation of Umbra’s level generator. Of course, this system is likely to evolve, but we wanted to share with you the way we build it.
Remember that our focus was to get replayable levels and a work pipeline fitting a small team of developpers. We are pretty happy with the result and hope to extent its functionality more in the future!We hope that you enjoy reading these articles and that you maybe learn something useful too!
See you soon in another devblog about a different subject!

Media RSS Feed Latest Video
Post comment Comments  (0 - 10 of 17)
pablociu Mar 25 2015, 10:38am says:

Wow, so cool. Tracking.

+1 vote     reply to comment
Dark_Ansem Aug 16 2014, 9:00am says:

too little info on his dammit!

+1 vote     reply to comment
eiri Dec 5 2014, 3:03pm replied:


+1 vote     reply to comment
((DarthRevan)) Jan 31 2013, 4:05pm says:

Look great, nice work!

+2 votes     reply to comment
Duruk Oct 23 2011, 4:27am says:

Very nice implementation of the CryENGINE. Really looks great.

+3 votes     reply to comment
pliskin.nh Oct 21 2011, 12:07pm says:

Umbra... Elder Scrolls inspired? Lol. Look at the title font!

+2 votes     reply to comment
Alex626 Mar 15 2012, 6:14am replied:

Also, Umbra is a name of the sword and a character in Elder Scrolls series.

+2 votes     reply to comment
Guest Jan 28 2013, 1:25pm replied:

The umbra (Latin for "shadow") is the innermost and darkest part of a shadow, where the light source is completely blocked by the occluding body. An observer in the umbra experiences a total eclipse.

+2 votes     reply to comment
Gandalf. Oct 18 2011, 1:06pm says:

Very nice

+2 votes     reply to comment
thunderising Oct 18 2011, 8:15am says:

looks amazing!

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Developed By
Send Message
Official Page
Release Date
Coming 2016
Game Watch
Track this game
Role Playing
Single & Multiplayer

Latest tweets from @umbragame

Level Generator Part IV! #indiegamedev #gamedev #cryengine @cryengine

Apr 17 2015, 8:30am

3 hours to go, only 5000 to get for Descent on Kickstarter! Help them! #Descent @DescStudios #indiedev

Apr 10 2015, 4:29pm

Umbra now on Steam concept ! -

Apr 5 2015, 2:50pm

We just created our Steam Concept page! Don't hesitate to share it! #indiedev #gamedev #cryengine

Apr 2 2015, 7:50am

RT @IndiesCrashE3: Our developers are already preparing so it goes live right when the Kickstarter ends. It's going …

Mar 25 2015, 8:28pm

@neoninsect Soon! Stay tuned, we will have exciting news about the game in the following month!

Mar 24 2015, 11:57am

@Bestio_ Bientôt! Ca ne devrai plus trop tarder, encore un peu de patience ;)

Mar 24 2015, 11:57am

We just opened our screenshot gallery! #indiedev #indiegame #cryengine

Mar 24 2015, 11:31am

RT @Com_Raven: I know a couple of you guys are into action rpgs, so I would like to bring beautiful @UmbraGame to your attention :) https:/…

Mar 20 2015, 8:11am

RT @PCGH_Redaktion: @UmbraGame angespielt: Action-RPG-Geheimtipp mit @cryengine - Diablo 2 mit besserer Grafik?

Mar 17 2015, 8:16am

Embed Buttons

Promote Umbra on your homepage or blog by selecting a button and using the embed code provided (more).

Last Update
2 weeks ago
329 members