Hey guys, I have been looking at the engines and noticed a lot of people (including myself) ask this very same question UDK Or CryEngine 3? I am in need of your help to answer this question for me and for others that have the same question. My soul reason for asking is to find out just as much as I can between both engines.
I have noticed a few things that CryEngine 3 has that UDK does not and vice versa.
I noticed that CryEngine 3 has a very easy terrain generation tool that is just great to make a quick draft of the environment where as UDK does not and you have to create your height map in a 3rd party program and import it into UDK and then fiddle with a few things.
CryEngine 3 has an asset browser (finaly) but not as good or in depth as UDK's.
CryEngine 3 has a very powerful material editor but does not give you the near endless possibility UDK does with their Nodes, although with that being said UDK's Material editor is very vast and not as easy to learn as CryEngine's one.
CryEngine 3 has their new dynamic Weather system but i am unsure if UDK does have this.
UDK has a very nice Vertex blending tool inside the engine to create variation in your textures where as CryEngine 3 you have to export your model from Max or Maya or what ever 3D package you are using and they and getting it working, I am unsure if there is another way of doing it but when i read the documentation that was the only way available.
UDK has water volumes, special effects volumes and much more where as CryEngine does not seem to have this feature.
In conclusion, I know i have left out MANY underlining factors between the two engines such as code, animations, pipelines and much more but I am curious to hear your opinions between the two engines. What it is that makes you use the engine you use and why. I think this will be interesting to learn new things about both engines. Thanks guys
Replies
Edit: Well, pretty much what bac9 says below. The reason I'm using CE now is simply because I picked up Crysis in 2007 and started messing around with Sandbox2. I've been using the engine since, and just haven't bothered switching to anything else. Doesn't hurt that CE is very easy to use which allows for fasts, good-looking results. The real-time, all the time thing is a huge winner for me.
There is also no option for world streaming, you are tied to one origin point and one terrain system, which obviously means that precision of physics and other systems degrades heavily as you get far from the origin point. You'll be alright if you're only interested in e.g. 2x2 or 4x4km maps, but e.g. 16x16km area won't work nicely. Not a concern for a majority of developers and games, though.
CryENGINE has the enormous advantage of being completely real-time engine, so you can iterate the environments extremely fast without waiting half a day for the bake to see how final lighting quality will look, and overall it's featuring top of the line visuals. Even though material types and all shaders are set in stone, they are covering 99% of needs for possible assets, and even though the renderer is locked out, it is fully featured, without a single shiny thing missing. Okay, I'd like SVOGI and PBR, but PBR will be implemented soon and it's kinda early for the former.
CryENGINE also has less convenient content pipeline, with only proprietary mesh and texture formats supported that have to be exported from DCC packages with their plugins. I'd love to see them implementing an FBX pipeline in the future. Still, nothing impossible to get used to.
Overall I prefer CryENGINE for projects where visuals and ease of level design are important, and Unity if you need a very flexible environment to develop a game. I'm a huge fan of UDK material system, but it's not enough to justify dealing with precomputed lighting and kismet for me.
P.S.: Ah, I forgot - you have mentioned volumes. CryENGINE has all the volumes you can think of (water, visarea, gravity, wind, irradiance, you name it). By the way, water volumes got SSR reflections in the new update!
CE3: used by... Well, Crytek.
Both are capable engines in the right hands, but UDK's community and user base are much larger. And it's used a lot more studios than CE3, so if you have to pick one, it's usually more beneficial to learn UDK/UE3.
http://cryengine.com/showcases
It's not a lot, but it's going to grow significantly in the coming years.
I am a modo user and there was zero support for modo so the only way to get my models into the engine was via an FBX importer, it works will many limitations. If crytek offer a modo export plugin I will be back. (hint hint crytek)
So it's UDK for me now and I am equally impressed with it so far and also looking forward to UE4
I know Crytek is not the only one using it. Jokes can sometimes be quite hard in text form...
Oh, and no lightmaps or baking of any kind. :poly121:
Edit: One of the biggest features I missed was the mesh painting tool for vertex blending on a per-model basis. CryEngine's implementation of vertex colors and a blend texture kind of helps, but it's definitely not as free.
Cryengine - Least flexible, but probably the most powerful engine in terms of cutting edge tech.
UDK - Good balance of flexibility and powerful features.
Unity - Easily the most flexible and accessible, but a bit lacking lacks in next gen features compared to the other two.
It really comes down to what you want out of the engine, and what sort of work you wish to do. As Ace said, give them all a quick spin and see what suits you best. They are all available for free.
They also don't mention there, that the engine was licensed by Architecture buros and by the American Military for a simulation system (rather infamous i guess).
UDK is a perfect balance between Unity and CryENGINE, if you ask me, but you should try to figure out which engine is best for your needs in your own context.
My 3 cents:
CryEngine:
1. Very easy to get in.
2. You must be really trying to make something that will look bad in CryEngine. I mean really hard.
3. Material setup is very easy, from what I can see in newest version, the streamlined material editor, so the names in it finally make some sense.
4. It very extensible in terms of what can you do in C++ ( if you are for that). Far more than UDK without source access ever be. It of course never will be like with source access, but you can hook up lots of things and access to renderer.
5. Many common use systems are allready provided by Crytek. Like snow, rain, dynamic day-night cycle, etc.
6. Dynmaic Lighting. It makes iteration very fast, without any real disadvatages.
7. All CryEngine system are by default nicely integrated togather. Like wind affecting particles, or grass movement. Forces affecting all objects etc.
Now cons:
1. Material editor. Ok it's good for what it is. But it is not flexible enough, you do it our way or highway approach. And Crytek stubbornly refuse to release shader source even though third parties give it away. But for most people it's minor complain.
2. Terrain editor. It's crap. I mean really crap. It's development stoped somewhere around FarCry. No custom materials for terrain. No terrain streaming, no multiple heightmaps, no alpha brushes,precision issues, very old school tessellation model.
3. Lack of postprocess volumes. Post process is global. Period. You can't localize it to let's say single closed building to make interrior look diffrent. It's big no no, and if you work on closed/open area in single map, you will probably lost all hair trying to make it look good.
4. No FBX piepeline. Nuff said. Installing exporters for package (and damn you if your package is not supported). It's both hassle on Crytek *they have to support multiple versions of software) and users (they have to use software that Crytek support...).
5. Asset setup is to say at least odd. And exporting animations and skeletal meshes at least for me was true magic. I never actually succeed in setup of cloth sim for that example.
Over all it's all nice, if you are looking for something that is easy to get in, you are using 3ds max, and you want quick and shiny results. It's good for it's tigh integration.
6. Particle editor. While very simple to use, it seems like it's best suited for making fire, explosions and fog. If you want to make something more advanced you will hit wall of simplicity of the editor.
UDK
1. Material Editor. Powerfull, very extensible, you can do pretty much anything with it.
2. Terrain system. Landscape is one of the best I have ever seen. Only Unigine have better. And only that in single aspect.
3. UDK doesn't ship with any generic systems, like rain or snow, but you can in theory make them on their own (for that matter you can do it in CryEngine as well).
4. Very nice particle editor. Lots of options, and still quite easy to use once you get some grasp on it.
5. Nice third party integrations. Simplygon, APEX, SpeedTree, to name a few.
6. FBX piepleine. Nuff said. Very simple. Use anything that support FBX to the letter and you are good to go.
Cons:
1. Static Lighting. Well if you are patient of have render farm it won't be an issue. For me it was deal breaker.
2. Material Editor. Yes very powerfull. But if you just want to plug you texture and be done, you will be severly by the results.
3. Lighting. Aside from that you have to wait hours (sometimes), to build it, it's hard to make it look good. That is with conjuction with material editor (you don't know how to setup you material, well though luck). And even if you think your lighting setup looks good, you build in 2h, and then see it looks bad. Yeah, know that feeling.
4. On first glance UDK doesn't provide that tigh integration as CryEngine. That said, you can code it if you know how. If don't know find someone who know.
Which one would I recomend. If you are short on time - CryEngine. No lighting, builds, no other builds, you just mess with sliders, put your object in and you know exactly how it is going to look. That said, everything you do will look like it is done in CryEngine.
UDK if you don't care for lighting builds and you can get around setting up materials. You can produce more stylized results or more our of ordinary ifm you know how.
Case in point on the new release (3.5.3) we're still waiting for the code package and documentation. The admins said that both would be available within a couple of days but it's been a couple of weeks and still nothing. To cap this off they released the engine without a critical file, a file that made the export process work correctly. In general it came off as sort of a half-assed release, with a lot of the features and promises non-existent. Sure, they will probably show up in another month, but would you really want to start making a game on such a bad foundation? Where you're never sure if something CryTek does will break your game or create a huge blocking bug? To cap this off there is really no good documentation. The code is uncommented, and the docs that do exist are often shoddy or incomplete.
Anyway, it seems to me that CryEngine is great for portfolio work but if you want to make an actual game with a free engine, stick to UDK or Unity.