Open/Infinite worlds in CryEngine

Recommended Posts

Background

I'm new to game development as a whole but I've been programming for almost 7 years now, it's my daily job. I work mainly in web development creating data aggregation and analytic tools. I currently work for a company called Concept Gaming, we design and develop online casino based games like roulette, slots and blackjack etc..

I'd like to move more away from my field and experiment with game engines like CryEngine in order to create AAA games. Now I'm not an naive, I understand that these types of games requires heaps of time and effort and usually a dedicated team. So my goal is not to create a game as of yet.

That being said I've decided to learn CryEngine rather than Unity or Unreal. Most will probably mention that Unity has a much more community friendly environment in terms of helping beginners out and I will agree, however I've chosen CryEngine by preference. I found that after downloading all 3, CryEngine seemed to be the one to appeal to me the most.

 

Question

So I want to know how you'd go about creating an open/infinite world in CryEngine. I know it's practically impossible to just straight up create a universe due to memory constraints and processing power etc.. but if you take a look at games like Star Citizen who also use CryEngine, they've managed to actually achieve some way of simulating a seamless universe. Now I do know that they work closely with the CryTek team and they're solution is mostl likely proprietary, but could someone please explain how I'd go about achieving this in CryEngine?

 

much appreciated,

~ Kieron

Share this post


Link to post
Share on other sites
15 minutes ago, Kieron Wiltshire said:

So I want to know how you'd go about creating an open/infinite world in CryEngine. I know it's practically impossible to just straight up create a universe due to memory constraints and processing power etc.. but if you take a look at games like Star Citizen who also use CryEngine, they've managed to actually achieve some way of simulating a seamless universe. Now I do know that they work closely with the CryTek team and they're solution is mostl likely proprietary, but could someone please explain how I'd go about achieving this in CryEngine?

 

Star Citizen rewrote a grand majority of the cryengine code base, and switched to lumberyard because of the lack of support from Crytek and the fact that they seem to be an incredibly unstable company right now , a lot of closures , not paying staff, lack of support, etc.

Open world and infinite world are two completely different things, but there is some overlap. Both need streaming systems, I believe Star Citizen uses an instancing system , and there are dozens of other things that need to be done. Your question is somewhat like asking how to make an mmorpg. 

Share this post


Link to post
Share on other sites
6 hours ago, AxeGuywithanAxe said:

Star Citizen rewrote a grand majority of the cryengine code base, and switched to lumberyard because of the lack of support from Crytek and the fact that they seem to be an incredibly unstable company right now , a lot of closures , not paying staff, lack of support, etc.

Open world and infinite world are two completely different things, but there is some overlap. Both need streaming systems, I believe Star Citizen uses an instancing system , and there are dozens of other things that need to be done. Your question is somewhat like asking how to make an mmorpg. 

Understood, thanks for the reply. So how would one go about creating a large open world that's seamless in cry engine? Or would it be best to create an in-house solution?

Share this post


Link to post
Share on other sites
6 minutes ago, Kieron Wiltshire said:

Understood, thanks for the reply. So how would one go about creating a large open world that's seamless in cry engine? Or would it be best to create an in-house solution?

Switch to Unreal 4. It has updated it's rendering in the last few releases and now exceeds what Lumberyard can do. Lumberyard is in a real messy state right now and not recommended, there updates are slow.

You will need to learn about batching(merging meshes) and hierarchical instancing.

You also need to keep in mind that meshes have a 64 000 triangles limit in unreal before they split into 2 or more meshes, actually 64 000 tri not vertices like other engines still smooth groups and UV maps count to this limit so keep models at +/- 50 000 tri.

Then learn level streaming and how to work with the terrain. Learn LODs(all kinds particles, mesh, shaders).

 

If your insistent on using cry engine then just learn the same but for cry engine; unreal kind of copied and improved on what cry engine was doing.

 

The coding part is much more strait forward than the graphics part, just learn to be optimal. Use object pools, simpler is better. Don't collide with things that don't need it and "LOD" your math code so that you can use faster functions to simulate the world that is far.

I want to point out this is a lot of work and can take a single person very long to do.

 

Making a seamless world isn't hard, just time consuming.

Share this post


Link to post
Share on other sites
14 hours ago, Scouting Ninja said:

Switch to Unreal 4. It has updated it's rendering in the last few releases and now exceeds what Lumberyard can do. Lumberyard is in a real messy state right now and not recommended, there updates are slow.

You will need to learn about batching(merging meshes) and hierarchical instancing.

You also need to keep in mind that meshes have a 64 000 triangles limit in unreal before they split into 2 or more meshes, actually 64 000 tri not vertices like other engines still smooth groups and UV maps count to this limit so keep models at +/- 50 000 tri.

Then learn level streaming and how to work with the terrain. Learn LODs(all kinds particles, mesh, shaders).

 

If your insistent on using cry engine then just learn the same but for cry engine; unreal kind of copied and improved on what cry engine was doing.

 

The coding part is much more strait forward than the graphics part, just learn to be optimal. Use object pools, simpler is better. Don't collide with things that don't need it and "LOD" your math code so that you can use faster functions to simulate the world that is far.

I want to point out this is a lot of work and can take a single person very long to do.

 

Making a seamless world isn't hard, just time consuming.

Thanks man, but I'd prefer to stick with lumberyard or cryengine. Do you know where I can find any tutorials or documentation explaining how to do things like level streaming etc?

Share this post


Link to post
Share on other sites
1 hour ago, Kieron Wiltshire said:

Do you know where I can find any tutorials or documentation

It was in there documentation, I did a quick search but couldn't find it. I will keep looking for it, for now check this: http://docs.aws.amazon.com/lumberyard/latest/userguide/level-intro.html

http://docs.aws.amazon.com/lumberyard/latest/userguide/level-layers-streaming.html

Found it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Forum Statistics

    • Total Topics
      628682
    • Total Posts
      2984213
  • Similar Content

    • By Michael Pearson
      Hello all!   I'm currently in my third year on my 3D Animation & Games Development course, and I am in the process of doing some basic primary research for my dissertation project, which is to create a high quality 3D Environment for use in video games and potentially VR.   I have a questionnaire (targeting other artists in the field), and I would really appreciate it if you took some time to have a look and fill it out:   https://docs.google.com/forms/d/e/1FAIpQLScW12nFI8-fMlAUMNSQvOInxhnIfXpG91iRCm25TVlZufrvbQ/viewform?usp=sf_link   Thank you in advance!   Mike.
    • By Ben3d
      https://www.cgtrader.com/3d-models/interior/house/victorian-sconce
      https://fr.3dexport.com/3dmodel-victorian-sconce-173747.htm
    • By kane david
      i'm beginner at game development and i started to design some levels and environments but should i download my assets or learn how to create them like 3D modeling ,texturing etc if i want to have a job in the industry as a level designer ?
    • By drcrack
      We're developing an arena/battleground game that will revolve around unique builds, skillshots, aimed targeting and player skill. The game is currently at early alpha stage, almost everything is subject to change.

      Here is the latest gameplay video: https://www.youtube.com/watch?v=hpPGg9laotU
      (Note that it shows the game at stage when I developed it alone)
      We're looking for 2D/3D/VFX artists.
      Join our Discord server and PM @Ashstorm or @drcrack.
      Here is the link: https://discord.gg/zXpY29V
    • By Baron Bale-Out
      As part of my environment design module, I have been tinkering with simple trap and puzzle ideas and have tested out some ideas in Unreal Engine 4. These traps and puzzles will hopefully be applicable in my dungeon crawler level designs.
      Trap
      For my first trap, I have decided to create a version of a classic trap: the dart launcher. This is the first trap encountered in the original Tomb Raider that is not an enemy. This trap is usually intended to damage the player a certain amount per hit without outright killing the player. Darts can also be modified to apply different effects on the player such as poison, stun and sleep; just like real darts!
      For my own darts, I have created a dart launcher that can be edited by designers to fire standard darts or poison darts. The darts can also be given different life spans so they do not enter areas they shouldn't. The rate at which darts are fired can also be modified as well as how much damage the dart can do in one attack or over different lengths of time.
      Players know if they have been struck by a dart via sound effects. For poison darts, the player hears the dart hit them, then another sound effect combined with a particle system to show that the player is taking damage over time. The poison will eventually run out and the effects will disappear.
      The variables in the dart and the dart launcher could have been placed in structures to make the blueprints tidier. I could have also added the ability to edit the velocity of darts to add a new dimension to trap layouts. As for hinting to the player that these flying objects are dangerous, I could have indicated the danger beforehand by having a dart strike an unwitting NPC and kill them. This would alert the player about the potential danger before being put in a position to be hit by one. Currently, the only hint of the presence of darts is the sound of the cannon (standing in for a crossbow or some other dart throwing weapon) firing.
      Puzzle
      The puzzle is a simple pressure plate that controls the lowering of a door. To make the puzzle more interesting I have added functionality that requires the player to lock the door in the lowered position. This must be done by remaining on the pressure plate to keep the door lowered and firing a dart at the switch beyond the door. The switch cannot be hit without lowering the door.
      To hint that the switch, represented by a statue with a torch on it, is interactable, I have added a lone version of the switch to the start of the level. This allows the player to observe the switch being struck by a dart and causing an effect. On reflection, it would have been more useful for the switch to be linked to a door or some other object in the wold to show that these can be connected to moveable objects. The switch’s presence is also not immediately obvious to the player on approaching the door and requires the player to advance right up to the door to see it. This may make it less obvious as the solution.
      I would appreciate any feedback on parts I could improve or have missed.
  • Popular Now