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
  • Survival gameplay - look for all help you can to fight aggressive and powerfull AI
  • 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
Devblog : Medium size level generated Devblog : Generated level - no stairs Devblog : small level generated
Blog RSS Feed Report abuse Latest News: Devblog : Randomly generated level - Part III

2 comments by UmbraGame on Feb 10th, 2015


Level generation is done in the following order:

  1. Find the entry point, generate the entrance
  2. Generate the main path to a given exit
  3. Generate secondary path if needed
  4. Record the enemy spawn points of the level for easier treatment later
    • If a mission has started, place the required enemies in the right spot
  5. Place chests according to AI placement (better potential reward where enemies are powerful)
  6. Finalizing touch

Let’s detail all these parts.

Entrance Point

Placing an entrance is the simplest thing. Entrance can be positioned on the grid extremity, or at center.

Building the main path

Now, we select an exit point on the entrance mesh. This will be the start of our main path. The main path connects the entrance and the exit of the level, it is the one sure path to the end area. In order to create that path, we check the Level Design parameter file:In the previous article, we presented these main parameters:

  • Number of rooms in the level
  • Amount of Corridors, Stairs Up, Stairs Down
  • Maze Factor of the level – Is the level supposed to look like a straight corridor or a maze
  • Maximum size of each room
  • Maximum level of each rooms
  • Remember that our Level Element also has parameters, used during the generation, such as Frequency or Level. (see our previous article)

According to all these parameters, we will select and place Elements in our Level. When the maximum size of the level is reached, an exit point is selected. The boss of the level, is exists, will have high chance to spawn in here.

Building secondary path

Our Level Element may have several exit, and since we only generated the main path, most of the Level Element exit are still empty. That’s why we have a Secondary Path option.Secondary paths will generate alternative path, usually not leading to the level exit. Usually, long alternative path will feature a nice reward for players who enjoy exploring our levels!Each Randomized level have a secondary path min and max values, defining how long these secondary path should be: Of course if it is a long path, the reward will be even better.

Enemies and Furnitures Spawn Points

For performance reason, we don’t want to spawn all enemies in the beginning of the level. We will spawn them once a player is close enough, so we need to record all possible spawn points. We noticed that physicalized object, such a Destroyable Object also took a lot of resources if they were all loaded on the same time, so we will spawn them just like we spawn enemies.It is also important to record where we want mission objectives to spawn. We do it at this phase.

Finalizing touch

This is an important part, which add some important visual and gameplay attribute to the level. We will describe it in a future article.That’s it for today. In the next article, we will show the finalizing touch of our level !

Media RSS Feed Latest Video
Post comment Comments  (0 - 10 of 16)
Dark_Ansem Aug 16 2014, 9:00am says:

too little info on his dammit!

+2 votes     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
azultain Oct 17 2011, 10:49am says:

free or not free that is the question

+5 votes     reply to comment
Dearnike Jan 27 2013, 4:48am replied:

That is up to the devs.
But most of Indie CE3 games were free.

+1 vote     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
Released Feb 28, 2015
Game Watch
Track this game
Community Rating



3 votes submitted.

You Say


Ratings closed.

Role Playing
Single & Multiplayer

Latest tweets from @umbragame


Feb 11 2015, 3:53am

@Com_Raven Thank you!

Feb 4 2015, 6:52am

Umbra's Devblog : Randomly generated level - Part 2 #gamedev @cryengine #cryengine #indiegamedev

Dec 22 2014, 5:34pm

Umbra's Devblog : Randomly generated level - Part 1 #gamedev @cryengine #cryengine

Dec 14 2014, 6:06pm

Devblog is open ! #umbragame

Oct 8 2014, 6:35am

@RealtimeCevat Awesome news !

Mar 19 2014, 6:24pm

RT @adam_johnson_: #CRYENGINE #dropsthemic

Mar 19 2014, 6:19pm

RT @RealtimeCevat: Just announced CRYENGINE-as-a-Service for 9.90 USD/Euros per months.. All Indies Go Go!

Mar 19 2014, 6:18pm

Footage of Umbra featuring in Crytek's FreeSDK showreel at GDC 2014 !

Mar 19 2014, 1:06pm

Our new website is live !

Mar 17 2014, 7:57am

Embed Buttons

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

Umbra Umbra
790 of 28,211
Last Update
2 weeks ago
304 members