Terathon Software LLC
May 05, 2005
Windows, Linux, Mac OS X, Playstation, PS3, iOS
Languages Written In:
The C4 Engine is a comprehensive suite of robustly implemented game programming tools for the PS4, PS3, Windows, Mac OS X, Linux, and iOS platforms.
|License Name||Price in $US||Source Code Included?|
|Standard edition, free updates forever.|
|Professional edition, free updates forever.|
Showing 1-25 of 129
I have found C4 to be a very capable engine developed by professional engineers with a lot of experience in the games industry. Many other engines have a lot to offer graphically, but when you actually try to make a game with them, you find that there are a lot of important things missing. Not the case with C4. It's clear to me that the developers are experienced enough to know what a real game needs, and they deliver it in the C4 Engine. The new demo shows this very thoroughly; play the lost cemetery level, and you'll quickly see that very real gameplay is easily achieved with this engine. You won't see this level of sophistication in the demos for other indie engines. I highly recommend C4 if it's a real game you want to make and not just pretty pictures (and C4 can make some very pretty pictures if that's what you want :).
I have been using C4 for several years now, and I am continually impressed by the number of quality of the features it has. The engine isn't perfect and it's still in development, but so is every engine. The one thing to realize is that C4 isn't an engine for wannabes or posers. You do need to know what you're doing. You need to know C++, and you need to be competent with 3D maths.
The graphics features are very high quality. The engine supports detailed shadow maps over extremely large areas now using a new "landscape light". Stencil shadows are also available and both methods work perfectly together. The shading system is also very impressive. You edit shaders in a graphical interface with a huge set of "process" node types, and the engine creates all of the necessary shader code for all the different types of lights and fog environments, for all platforms. It just works everywhere.
There are a huge number of special effects available right out of the box like particle systems, fire, lightning, flares, and beams. And it's easy to make your own custom effects, if you know how to program.
The support that you get for a $350 license is insanely good. For the most part, the community is really helpful, and the engine creator himself is constantly available on the forums. I almost always get a response to a question within a few hours, and a lot of times within a few minutes. Problems are usually solved very easily, but sometimes there isn't a good solution to something I want to do. In these cases, though, a new feature is often implemented just to help my situation! I've seen this happen with less than a day turnaround. Amazing!
The only complaint I have is that the next version is taking a long time to finish. Before this, we've been used to getting updates every month or two, but that has changed now. There are really huge features in the next version like a new physics engine, so this delay is a little understandable, but I would still prefer more incremental updates.
I've been a licensee of C4 for over a year now and it has been a pleasure to work with from the very beginning. I'm not a big fan of sharing unwarranted opinions which is why I've spent so long getting to know the engine before writing a review.
All I can say is that it is absolutely amazing! Don't get me wrong C4 may not be for everyone, but if you've had any prior experience with C++ or other game development experience then this definitely is the engine for you. The design of C4 is absolutely brilliant. Everything has been cleverly thought out from the beginning to be highly modular, logically structured and an absolute pleasure to work with.
The brilliance of C4 isn't particularly surprising given that C4 was written by Eric Lengyel an experienced expert in the fields of Game Development and Mathematics. Eric is the author of several books, papers and presentations including contributions to the notorious Game Programming Gems series and his very own Mathematics for 3D Game Programming & Computer Graphics.
Documentation and Support:
C4 comes with plenty of documentation, a fully functional demo game, in code method and class documentation, online documentation (http://www.terathon.com/c4engine/doco/) and a wiki (http://www.terathon.com/wiki/index.php/Main_Page) with tutorials on a wide variety of subjects written by both Eric and the C4 community.
However, by far the most useful resource you'll find is the C4 forums. Eric himself is highly active there and will usually respond to posts in a mater of hours (to be honest I don't know how he does it, I'm in a different time zone!). There's also plenty of regular users, including myself, that will be willing to lend you a hand.
Now you certainly aren't required to look over the engine internals, everything you need is heavily documented. Those of you who are interested will find that the engine code itself is incredibly organised and easy to follow, which is very unusual for any project of this magnitude.
As with all game engines there may be a time when you've noticed that the engine doesn't explicitly have support for something you want to do. In most cases trying to find out where you plug-in your code can be a complete nightmare, assuming you even have access to the source, with C4 you won't have this problem. For one, Eric's amazing foresight usually means you don't actually have to modify the engine but instead the design will allow you apply object oriented coding techniques to add custom functionality. However, if you really are set on modifying the engine yourself and you're sure that what you're doing can't be implemented in your own game, then you'll find that the engines modular design won't mean any hacks or crazy workarounds are required.
Another thing that users may like is the fact that the code just works. You open the project and it compiles, no errors, no warnings first shot nothing to worry about. Keep in mind you need the DirectX SDK on Windows in order to compile. C4 doesn't use DirectX for rendering but uses DirectInput for keyboard and gamepad support on Windows operating systems.
C4 in tremendously powerful in this regards. Those of you with out-dated graphics cards beware! C4 is a next-gen game engine and as such has all the typical next-gen features. Real-time shadows, dynamic lighting, post-processing effects (ie. Motion blur) all built in. At present post-processing effects are limited to those built into the engine although personally I haven't found this to be a problem.
The current demo (1.5.9) isn't really the best demonstration of C4's power. I still do recommend you download it and take a look. You'll see a couple of cool things but the level design itself is fairly basic, there's nothing overly breath-taking in terms of design. I'll admit this originally put me off the engine for a while but after investigating further you will realise that the thing that makes competitors demos look good isn't the graphical functionality but instead the artistic cohesion of the levels. Whilst that's nice to look at, it isn't going to help you when it comes to developing your own games. I'm hoping the 2.0 demo will remedy this somewhat.
C4 is packed with features, I won't go into too much detail as plenty of information is available but one of the huge casing points for C4 right now is the use of voxel terrain. Unlike traditional heightmap-based terrain this allows the creation of caves, tunnels and overhangs. C4 still supports heightmaps as a starting point but as with any next-gen outdoor game you really should be taking full advantage of voxel functionality.
The next major version as of the time of writing (2.0) is set to be without a doubt the biggest update C4 has ever had. It brings to the table the worlds first implementation of voxel geomip level of detail and support rigid body physics. The physics support is a custom implementation developed by Terathon that is implemented directly into the C4 to ensure the high level of quality that C4 users have come to expect.
One thing that is missing that you will probably find is available in competitors' products is a GUI Editor. This is on the roadmap for the 2.1 release.
C4 comes with a comprehensive suite of development tools most of which are centred around the world editor. I'm a programmer so working with world editors and such generally isn't my forte but I've found the C4 editor surprisingly easy to navigate around.
The in-built material editor is very useful and allows you to create shaders two different ways. For those of you just interested in basic check boxes and drop-down list style options you'll find the material editor very easy to work with. However if you're looking for something a little more particular C4's Shader Editor allows you complete customisation in a graphical scripting-like environment, which brings me to the Graphical Scripting Tool.
The Graphics Scripting Tool is probably one of the most under-rated features of C4. The graphical scripting language is very different from most scripting languages you might be familiar with in that it has practically zero predefined API. It is up to your programmers to write and expose script methods to be utilised by level and game designers. You may see this or as a good or a bad thing, you certainly can't create a game using the provided scripting features alone. However it does mean you have full control over the functionality of what scripting can be performed and each script method has the speed benefits of native code. Surprisingly this can actually take some of the strain off the programmers. For example, I personally wrote a script to control complex animation states of our characters which meant that the level designers could drop the script in, change some parameters and have full control over the aesthetics of the scene.
I really would like to make this clear so people don't get the wrong impression about what they can do with C4. C4 is a game engine, it has some amazing tools but it isn't a drag and drop game creator. If you don't have a reasonably experienced C++ programmer on your team you won't get very far. In saying this I'm still confident that C4 deserves 5 stars for usability because the engine internals are tremendously easy to work with. I don't really recommend C4 for those of you just learning to program for the first time. Certainly you can improve your skills a lot with C4 but don't expect to jump right in and have a game in a couple of months time.
I personally haven't read the Beginner's Guide to the C4 Engine as it didn't exist when I was learning to use C4. I still managed just fine which is once again a testament to C4's ease of use, design, documentation and online support. I've heard good things about the book and it's my understanding that a beginner/intermediate programmer who has a basic understanding of object oriented programmer should be able to pick-up this book and have no problems with C4.
Very stable, the majority of crashes I've ever had are driver crashes which are caused by bad drivers and are no fault of the C4 Engine. I've ran C4 on Windows XP, Windows Vista, Windows Server 2008, Windows 7, OS X Leopard and OS X Snow Leopard all without any problems.
This is another strong point for the C4 Engine. The attitude of 99% of the community is absolutely fantastic. The community has a lot of respect for Terathon and the C4 Engine. Because of this Terathon allows the community to play a reasonably large roll in the development of C4. There's a bug tracking and feature request system that all licensees are encouraged to use. Not only this, the community also has a large impact on the direction Terathon takes. For example (as of the time of writing) Terathon is currently running a competition allowing the community to submit and vote on what will soon become the new official C4 logo.
There are also a number of freely available plug-ins and tools available for licensees created by licensees. These include some nice effect editors, a Collada scene exporter and support for some third party physics libraries (PhysX and Bullet).
A Few Things to Consider:
* C4 isn't as new as it once was but it certainly is young compared to some of the competition. It has support for a lot of nifty features however you still might find the odd thing that hasn't been implemented just yet. For example, morph targets are not present in the current release. Morph targets are actually really simple to implement, I've done so myself.
* You WILL NEED a programmer on your team. Once again C4 is not a game creation suite, it is a game engine. You definitely need a relatively experienced programmer if you want to make a game.
* 2.0 is going to be a huge update for the C4 engine as it will come jam packed with new features. However, 2.0 will be introduced with a new licensing model that no longer has free updates for life. Terathon has a policy never to change the license of existing licensees so those who already have lifetime updates will continue to receive them. In my opinion the new licensing system is still by far better value for money than any of the competitors, but obviously you can't beat free updates for life. So if you can get in before 2.0 is released I strongly recommend you do so!
The engine is well thought hrough and easy to use. The Editors included in the engine have a lot of options, so reading a bit in the Wiki and checking on those tutorials is recommended. Although some things can be quite complex and configurable, the whole is practical and logical.
I'm really impressed how easily things can be done in C4 once you get how they work. Take the string class alone for example: the C4::String simplifies a lot of things, no need to make an own template class for transferring stuff from a to b and back. The useage of GUI elements and the GUI / Panel editor are a piece of cake compared to achieving the same with other engines... I totally like working with these.
The only weak spots are that it does not support huge, streaming terrains in one level yet - this will be implemented in the near future though - and that the documentation does sometimes lack some of the existing commands. The reason for this is a very positive thing though: Development on the engine goes fast, and new features are implemented almost monthly. However, when stumbling over something not yet documented, a post on the support forums always brings up a quick answer.
The support of the engine is awesome. A question posted to the forums usually results in an answer within a few hours (or even minutes, depending on the time of the day) and the tone on the forums is always mature, polite and helpful. It usually happens that the project's lead programmer himself answers technical questions.
Programming with the engine is done in C++ by writing a game.dll which then gets loaded by the engine. The full behaviour of the application can be defined by the .dll, and the engine can also handle multiple .dll's.
Owners of the Standard License have full access to the engine's source code - several projects exist where users have modified or expanded the engine in different ways.
C4 has an easy-to-use graphical script editor, custom functions for the editor can be defined in C++. This way, a programmer can code the needed functions and an artist can use the graphical script and shader editors without needing to code by themselves.
The whole is not a build-your-own-game-with-a-few-mouseclicks-set. However, everybody who has a basic knowledge of C++ and at least an overview about object oriented programming will be able to handle the engine. It should even be possible to learn C++ while learning to use C4.
Importing meshes, animations and other objects into C4 is simply done with the C4 world editor. Since COLLADA is used for mesh/object/Animation import, it is usually possible to create content with the most applications.
The engine's development roadmap shows which features will be included in the near future. Internal support for web browsing has been added shortly (using awesomium). All in all, the numbers of users using this engine will increase greatly in the future.
I recently did a serious comparison between engines for rendering large forest scenes. My conclusion was that C4 Engine is the best solution you can get, especially for the price of their standard version. Compared to other engines, C4's forest rendering capabilities are completely unmatched in quality. I got extremely high frame rates on decent graphics cards, and still got good frame rates on low-cost graphics cards. The tree shadows work better in C4 than anywhere else, with no visible seams between shadow map resolutions. But what really sets C4 apart from other engines is their new impostor system, which is absolutely incredible. It allows very detailed advanced shading on a huge number of trees in the scene even though many of them are being rendered as flat quads. They impostors cast proper dynamic shadows onto the environment and even onto themselves. I have not seen that anywhere else. Bottom line: C4 is by far the best solution if you need to render large outdoor areas.
In addition to the rendering capabilities of the engine, C4 also has a very active and helpful online community. I never have to wait long for an answer to questions I put on the forums, and I usually get a response from the creator of the engine himself. There is a lot of documentation online too, but sometimes it's hard to find what you want. Considering how active the forums are though, this isn't a big problem.
New updates to C4 have also been coming out pretty steadily lately.
The amount of support from the author and the community is unreasonably good. Seriously, the value of the amount of time the author has spent responding to my messages alone has far outweighed what I paid for a license. The source code is meticulous. It really makes other engines look hacky and ugly by comparison.
The support for easy materials and a full-featured shader editor makes it easy to create great looking textures and effects.
One of its biggest benefits is also its biggest drawback. There is a very small dev team, meaning that huge updates aren't released all the time. However, updates are released regularly (you can check the release history) and they are done right. The author is incredibly accomplished, and everything done in the engine is done for the right reasons.
My only complaint is that things aren't documented as well as they could be. However, the code is self-documenting for the most part, and the author and community are quick to respond to any usage questions.
I purchased the C4 engine almost a year ago now and to date I still keep finding new features, ways to improve graphics and increase the performances.
It's just a wonderful program that is defiantly heading in the right direction. I was always worried that I wouldn't understand how to use it, however, after spending some time on the provided Wikki site I managed to get everything in order very quickly.
I am disappointed that version 2 isn't yet available and because of that we have had no choice but to delay our planned games. Needless to say however it's totally understandable and expected in this industry.
When version 2 is available and ready to use I believe it will add many more functions for it's users to explore, such as Ambient occlusions and physics. It will look great!
I've been using many game engines so far, and C4 is one of the best ones. Its implementation is clean, concise, powerful and a joy to work with.
My favorite features of the C4 engine:
+ Full source code access
+ Excellent support through the forums, directly from Eric
+ Great graphics rendering on both Mac OS and Windows
+ Nice world editor and importers
Most of the projects that come close in functionality are (partially) closed source or lack certain features.
Last year (Summer 08) my indie team was looking for a game engine to bring our project from a bunch of ideas, to a work prototype and eventually a game.
Features :: In regards to C4's general design, the engine has every major 'feature' already implemented to complete (at least, among a full list of others) a FPS.
Networking support is continually improved (important for me).
Graphics capabilities is always being improved and expanded. The wild part about this isn't so much graphics feature A, B, or C, but rather, ABC all work together robustly. Nothing has been blindly implemented just for the sake of it (or if it has, it was removed -- but this hasn't happened as long as I have been in the community actively). The graphics that C4 produces is just as good as the artist that made it.
In one night of working with voxels, I produced this:
That's a grab straight from the editor. It looks wonderful!
Ease of Use :: I speak as a programmer and an artist. The programming interface is incredibly intuitive and straight forward. Learning a new API takes time, but with the examples provided in the game code, the wiki / official documentation, the C4 book, and Eric himself supporting the community through the forums, learning the proper way to code is Fast and FUN. Try to say and agree with ourselves when using some other engines out there. . .
From an artist's perspective, the world editor has been improved a lot as far as usability is concerned, even only in 1 year (Eric has even implemented an idea that *I* requested . . . talk about support!). Working within the editor is fun and importing assets is a breeze (so as long as you know some basic technicalities about your art). Improvements are always coming in this area.
Stability and Performance :: Never ONCE has C4 ever crashed for me because of bad engine code. It was always PEBKAC (problem exists between keyboard and chair), or a graphic's driver bug. Performance is rock-solid as long as you wisely develop your assets / programming, which is a must in any professional environment.
Support :: WOW. The community was one of the first reasons I chose to purchase the C4 engine. Look up my account (3shirtlessmen) and read my first few topic posts. Do you notice that the creator of the engine himself is answering my questions nearly every time in the SAME DAY as posted? Not only that, but the community itself is incredibly informative and supportive. If you ask a question, literally, within an hour you'll probably already have your question answered.
It's very inexpensive compared to all the other engines in its class and comes with the source code included.
Beginners will have very little trouble being introduced into the world of 3D development for games or applications.
The support is very knowledge and quick to respond to your questions. The community is always willing to help out in the message forums.
The C4 engine is very stable. I was very surprised how easy it was to work with and it has a book to help guide those new to the engine.
If you want near triple A quality for a reasonable price C4 is your choice.
It didn't take me very long to decide to get a licence for this engine, in fact right away. Having been a hobbyist game programmer for a number of years I have tried a few game engines. All have their own good and bad points, but I have stayed with the C4 game engine since 2007 for a very good reason.
What drew my attention to the engine in the first place was the world editor, it was nice sometimes to take a break from game coding and just sit there and build a world (a playable one at that).
I mostly learn from other people and the C4 community is an active and very helpful community. Also the time and effort that alot of the members put in is outstanding in helping the likes of myself who may only have a couple of hours a week to do anything but can make it constructive by finding answers to my questions in the forums.
As for the time and effort the creator of the engine (Eric Lengyel) puts in, suberb, thank you. He can be easily contacted and is ever present in the forums.
The code is nice and clean and quite easy to follow, although not easy at times but that is not a problem with the engine that is down to personal skillbase, and thats what we all like programming for, to learn, right?
I find the features of the engine remarkable, please download the demo and see it for yourself, better seen than explained (by me in anycase).
In my opinion this is an excellent engine on a par with engines that license for hundreds of times what this one does. With parallax maps, normal maps, reflection/refraction, portals, dynamic lighting. You will be hard pressed to find a buzz word that is not supported, and supported well. There is a free downloadable demo that will let you try the editor and a demo game. When you get the license, source for the demo game comes with the engine source so you can be up and modding within hour's. Since you get source access, you are not limited in how you can extend the engine. But you will need to know C++ to get the full potential of this engine. That said the code is clean and well organized, the community is friendly, and many questions asked on the forums are answered within hours, many times by the engine's author.
I own C4, and I consider it a great investment. At the time I purchased C4 (and at the moment I'm writing this review), the licensing terms are very good - source code is included, and there are no upgrade fees - licensees receive free upgrades for the foreseeable future.
This is a fantastic 'pro' for C4 - though the licensing terms will change very soon. (If you're already looking at C4, and you know C++, do not hesitate to buy it).
One aspect of C4 serves as both 'pro' and 'con'. Really, to use C4 effectively, you must know C++, or partner with someone who does. This keeps some young learners away, which helps create the high signal to noise ratio on the forums.
Here are my grades on the values DevMaster measures:
Ease of Use: 4
Features: C4, like every other engine, does not have some features you may be looking for. It does however have _excellent_ design - and if you need to add features, you will find it relatively easy to do so.
Ease of Use: Kind of hard to put a number on something that can cover so many aspects of an engine. Code - extremely good. Tools - don't always work the way I thought they would - but you will learn how to get what you want.
Stability: Rock solid - never saw a problem. C4 works. Performance is also excellent.
Support: The only problem here is that DevMaster's ranking system only goes to 5 stars :). The C4 forums are seriously excellent, and if you have a problem, you can count on the helpful community. But the really cool thing is that Eric Lengyel, the author of C4 provides outstanding support through the forums as well. He's genuinely interested in his engine, and it shows.
Recently, several other engines have offered free licensing of one sort or another. Some of these are tempting, but my bottom line is that I want the source code. I'm not aware of any competition for C4 in this regard - for the quality of the code, the source license is a steal - especially under the current licensing terms.
C4 is a great as is, and continues to add impeccably designed features over time. I'm very happy with my purchase.
Found no bugs so far, and the creator is always there to answer questions, i've received answer the same day by Eric to all my posts.
The source code is very clear to understand, so you don't need to be a C++ expert to change it.
I've been using the engine about 8 months now, and i am not disappointed in any way, it offers high quality tools to develop games. Graphics are top quality, also network support is very neat and solid. As for sound, we haven't used it, but features on page talks good, it should be as high quality as the rest of the tools.
You do need to know C++ to make a game with this engine, but it pays back with great performance. Also, you can provide components to your designers, so they can drag-n-drop to create new behavior on your levels.
You can also extend the editors adding new functionality easily... No need to touch the base code, just create a new plug-in for the engine.
This engine is worth every penny i've spend.
I have been using the C4 Engine for about 2 years now. And I cant see any reason to switch to anything else.
Ease of Use:
It's extremely simple to get art assets into the engine for use. C4 uses imports tga files and collada model files. so, the art pipeline is pretty simple.
Stability and Performance:
I have never had an issue with the engine's stability. Every release is rock solid.
the engine developer makes himself accessible daily via the support forums. you never have to wait more than 8 hours for an answer. And if the developers dont get to your question in time. the forum community is the best. They are all willing to give a helping hand.
The graphical quality of games rendered with C4 is very high. The engine is really capable, the quality of your graphics in your game won't be limited by the engine, but the quality of material produced by your artists. (Which can use COLLADA to import into the engine). The world editor is very cool and integrated into the engine itself. So you could potentially let your users use this as a mod-tool for the games you make if you wish, or you can remove it. Your choice.
With C4 engine you will write your game in C/C++ which is a plus because it gives you total control, but it is more complex to learn. Of course since you get the full source code, you could write a mono/python/lua wrapper around the C/C++ API if you really wanted to. C4 does also have it's own proprietary "visual scripting" language which is pretty neat for designers, but you will have to dig into C/C++ to get the full power of the engine. You'll be thankful you took the time to learn later.
The new release coming out soon will have a full blown physics system built in, and there is already a community written plugin for using PhysX which has been out for quite some time.
I do wish it had a web player, but that's not on the roadmap for this engine currently to my knowledge. It focuses more on the higher quality desktop games instead of browser games. And if it had a real signed web player it probably wouldn't have source code included for security reasons. So I'll keep my source code and write my own web plugin if I have to :-)
For learning purposes, if you want to see how a 3D engine works, this is the best. The code is written out extremely cleanly, with great care and design. For students, even if you don't release a game with the engine , just being able to experiment with the code and being able to study it is worth the current price which is less than the cost of a single community college class. Excellent educational value for the money.
Support is awesome, and if you buy a license you get access to a special section of the forum. Forum members (including the creator of the engine) get back to you really quick, often the same day. Really nice community, and there are plenty of free resources available from the community too once you are a licensee.
The price is ridiculously good right now with only $350 including lifetime updates to the engine. Run, don't walk, right now and take advantage of this. Purchase a standard license.
I've programmed for several different engines over the years (Quake3, Torque, TV3D), and evaluated many more (Ogre, Unigine, Unity, XNA, etc.) in search of a general purpose "next-gen" engine that would allow me to build the games I wanted to make. I've been using C4 for a little over a year now, and my team is currently using it to build a single player action RPG. Here's what makes C4 the best engine for Indie developer's in my view:
- Modern, well thought out design, makes the engine very ease to use, flexible and powerful.
- The engine code is very clean, modular and well written, making it easy to modify should you ever need to. As an example, one of the community members has added support for PhysX.
- Next-Gen graphics and design: shaders, per-pixel dynamic lighting, stencil shadows, zone/portal visibility system, etc.
- Customizable world editor. This is a very useful feature. C4 has built in support for customizing arbitrary game entities, so you don't have to create a custom editor to create your levels.
- Built in save/load support.
- General purpose design allows you to build the game you want, whether it's an FPS, RPG, RTS, or whatever.
- Consistent, frequent, quality releases adding meaningful new features. The engine is under very active development.
- Reported bugs are fixed promptly.
- Best support you can imagine from the engine's creator, Eric Lengyel. The C4 community as a whole is very good.
As an Indie developer, I have limited resources, and most importantly, limited time. The clean, well thought out design of C4, and amazing support from Eric and the C4 community in general, means that our team can focus our time on building our game.
If you're looking for a robust, well architected, future-safe, feature-rich, well supported, well documented 3d game engine, look no further, this is it - C4!
It's hard to fault this engine. I've tried many of the others, but this is the best I've come acorss and I'm sticking with it. You get a world editor, the complete source code, well commented examples, excellent support on the forums - both from other experience users as well as from the chief architect himself. There is a clear plan for integrating new features into upcoming releases and C4 delivers on it's committments to the it's user base.
While you need C++ to understand and modify the engine, I started out with almost zero C++ and have managed quite well. I've even quickly found myself in a position to add to the tutorial base by adding to the wiki. In fact I'd say that C4 provides the best way to learn C++ while having fun making games at the same time.
Look no further, with C4, you've found it!
1. Rendering engine
C4 sports what is simply the best rendering engine available in the indie market. A clean, well thought interface, which is built around latest advances in per-pixel lighting techniques? It is without doubt one of the finest points of the C4 engine and the strong point of its author, Mr. Eric Lengyel.
unified lighting model with support for many basic light source types
unified *hard* shadowing (no soft shadow support as at the time of November 06 2006)
per pixel phong
advanced normal mapping techniques (including parallax mapping and horizon mapping)
fog , seamlessly integrated with the shader engine
advanced particle engine including polyboards, riboon & trails
video on textures
advanced flame effect
2. Advanced shader builder engine , which run-times creates shader by assembling fragments. Artists do not need to worry about lighting interaction, is all take care through a nice material editor
3. Advanced graphical shader editor, which allow construction of many different types of shader and implicitly, effects.
4. Advanced portal engine, which features mirrors and remote portals. Space warps are possible. The portal engine, in addition to being a powerful culling tool, is a powerful GFX tool. Effects like the ones seen in Prey game are easily possible in C4. in addition to normal portals, C4 features for advanced culling anti-portals, or occlusion portals to further optimize visibility. Also, fog efficiently culls portals which are completely fogged.
4. Orthogonal features
While it might not seem very important for many ppl, it is certainly a very big plus to have an orthogonal feature set.
5. Powerful controller system
6. Includes a basic scripting system
C4 features a pretty powerful visual scripting system , where you can build functionality from building blocks. THe system is complete , include access to variables and conditional support. While different of Unreal's Karma, it is very powerful.
7. Game State serialization is included and functional. It is supported for scripts also.
8. World manager supports instancing.
9. A powerful and clean API. Maybe the best in an indie engine. (but unnecessary complex in some places)
10. Sample source code (and almost complete multilayer game comes with the engine) to get you booted.
11. Complete GUI system. The system allow in-game interactive GUI elements which can be mapped to level geometry.
12. A easy to use effect system which allows creation of custom effects with ease.
13. The engine API is powerful and complete, meaning that is trivial to integrate any 3rd party middleware with it.
14. A complete 3D sound solution , space aware and effects such as echo, Doppler, atmospheric absorption
15. A very nice terrain system, which allow for rendering of pretty large terrains. The terrain system features unique features, from which the most appealing for me is the ability to have overhangs. It also comes with a fully functional editor for the terrains.
16. The engine contains all the tools / API necessary to create a wide variety of game objects. When combined with the graphical scripting interface, there aint much you cant create with it. Certainly, you can replicate the game objects set of any FPS title you can imagine.
The C4 engine is slowly reaching maturity. Version 2.0 which will be released in a short time will contain a fully featured physics engine , and a powerful LOD system for the terrain systems.
For anyone who is acustomed to code in C++ there are hardly better options than C4 engine in the price range where the engine sells.
My review of C4 is long overdue. This is based on 1.5.9, and 2.0 is coming out in a few weeks, and I'll update the review when it does.
*** Judging by the Cover ***
Ever heard the expression that you shouldn't judge a book by it's cover? Well, you shouldn't judge an engine by the quality of the art in it's demo.
C4 demo doesn't look as nice as Unity demo
C4 demo doesn't look as nice as Leadwerks demo
C4 demo doesn't look as nice as Torque3D demo
C4 *blows* them all out of the water in terms of...well...everything else. Capabilities. Low Defects. Quality. Performance. Documentation. Extensibility. Support. The only area it falls significantly short is quality of art in the demo.
In all of the areas that matter for *making a game* and not *playing a demo*, then C4 wins hands down for any engine < $10k per developer seat.
The funny thing is the reason C4 has some amazing strengths in other areas, in particular Community and Support, is at least partly attributable to the lower quality of the demo's art assets. More on that later.
*** Engineering Quality ***
The powerhouse behind C4 is a *programmer*, and a damned good one. Not an artist. Not a marketer. All of this shines through, for both the good and the bad.
I've been coding in C for nearly 18 years now and C++ for many of those, and have probably conducted detailed reviews of 10+ million lines of C/C++ code, including many game engines. How does C4 stack up?The quality of C4's code is easily in the top three of all complex systems I've ever reviewed, and by far the most well rounded of all game engines I've seen, and this includes the source to two AAA engines costing orders of magnitude greater than C4. Yes, it's that good.
C4's feature list is solid, but not as extensive as some competitors. However, C4 still wins, because it's features *work*. The documentation is substantial and accurate. The performance ranges from above average to outstnading. The bugs are extremely few and far between. In short, you couldn't ask for more solid features: if a feature is released and advertised by Terathon, it works. It's that simple.
*** Community and Support ***
C4's community is literally second to none for at least the dozen or so game engine products I've used. The community is very mature and intelligent, with flame wars being few and far between. Many folks are eager to help, not just the author. Questions are more likely to be answered in minutes rather than days, with hours being the most common.
Even beyond the engine topics themselves, there are some very good discussions that can be found in the forums. I've participated in some very positive and fruitful discussions that you wouldn't typically associate with an independent game engines site. This is a testament to the maturity and intelligence of the average C4 developer.
The quality of the community is partially a happy accident. Frankly, the type of person who is most likely to walk away from C4 based on it's current demo before they truly evaluate the engine is the type of developer who will contribute the least to the community. The opposite is also true...those that can see past the demo and see the true Work Of Art that C4 as an engine is, are the ones who are smart, diligent and experienced enough to make positive contributions to the community.
Eric @ Terathon is extremely responsive to questions for a company that doesn't have paid support options for it's Standard Licensees. It's amazing how much time he puts into this and just how responsive he is. I'm not sure how sustainable this is, but at this point in time the support is still truly first class. You couldn't ask for better support, at any cost.
*** Not For The Meak ***
C4 is a professional grade engine. You will be coding in C++ when implementing a C4 game. You need not be a total guru, but you do need to know your way around the language well. If you fit more comfortably in derivation-based coding vs. component-based, you'll feel at home with C4.
Component-based api's are easier to understand for newbies, and are essential when you don't have the source, but neither is the case with C4. With C4 you'll have the source (at least with Standard and up...a new Basic edition is coming out that won't have source access), and it's not designed for neophytes.
With C4, 98 times out of 100 you'll be able to do what you want to do through derivations and plugins, and where you can't you have access to the source, and a support-staff that is more than willing in guiding you through the required modifications (if they are indeed required, almost all of the time they are not).
*** A Workflow That Works ***
Now that Unity Indie is free, and both Unity and C4 directly import Collada, a crazy-good approach to building a complex game is to prototype in Unity where you have access to incredible artist integration and fast-paced scripting with C#, but on the other hand can never seem to get the last 10% of the game to do exactly what you want due to the fact that you don't have engine source, and the engine simply isn't up to snuff performance wise.
This is where C4 shines, and why C4 is a perfect compliment to Unity. Prototype in Unity for free, and then implement in C4. The two are extremely complimentary because the strengths of Unity are the weak points in C4, and vice-versa. Where Unity falls short, you pick up the pieces with C4.
Therefore you figure out the majority of your overall design and gameplay issues and first few levels in a rapid fashion in Unity, and then when you find your development velocity in Unity is starting to suffer becuase it just can't do what you want it to do easily, that's when you migrate your project over to C4 and go after that last 10% that makes the difference between a good and a great game. If your game is simple and you don't need that last 10%, then finish it in Unity and save C4 for when the pro-grade tools and performance really are needed.
This may sound like redundant work that a small indie team can't afford, and it is if C4 is truly not needed (ie if Unity can hit the quality and performance you need for your title). But in cases where Unity can't do this (and this happens a lot), the entire team will get to get to the goal line much faster, and with a much better overall game becuase you used the appropriate tools for the appropriate kind of work, and therefore maximized productivity throughout construction.
If you instead tried to hammer the Unity round peg into the square hole, you'd spend all of your time hammering instead of finishing your game.
The converse is also true. If you are spending days upon days writing C++ code just to test out different gameplay elements, you are just wasting your time, unless you are in the top 1% or 2% of C++ coders in the world. It would be far more effective to use the high level tools provided in Unity to get an approximation of what your game is going to be whipped out in short order, and then go refine it in the C4 implementation once you've worked out the gameplay to your satisfaction.
*** Act Now Before It's Too Late ***
C4 is a really interesting product that is really going places in the near future. As I said, I'll update my review once the new 2.0 features are out.
C4 2.0 ships in the *very* near future, and when it does it will introduce yearly maintenance fees to keep your Standard License up to date. Prior to 2.0, a C4 Standard License comes with *lifetime* updates. That's right...never pay an upgrade fee for the future source. Anybody who doesn't jump on this soon misses out big time.
Even if you do not have immediate need for the engine, you would be crazy not to jump on this now if you have the funds. And even if you don't...find them! In 3-4 years who knows what a Standard License will cost...perhaps 2x to 3x the current cost...plus a yearly maintenance fee. But it today and get updates for free for life!
But you had better hurry...you only have a few short weeks!
Updated Review : 30 Nov 09:
This engine is just awesome, and in the 18 months I have owned it has grown and flourished as I predicted it would. This is one of the best investments I've made.
I genuinely have not one negative comment or complaint re C4. The community and support is just brilliant and positive too.
As most readers will be prospective game engine purchasers, the following : In general there are 2 types of game engine purchasers ... those easily bullshitted with marketing hype (good artwork), and those with the IQ to see the real gems. In reality, the majority of licensees of Indie/Hobby game developers never do much with their purchase but mess about (kick tyres) - these are typically those caught by marketing nonsense as they lack the knowledge to know any better. Others have a lot of fun making small projects - which is great as they get their value (if its cheap enough), and a few go on to develop something really good (which 99% dream of).
All the time I see comments about buyers put off C4 because of its un-artistic demo or lack of flashy screen-shots, etc. These buyers fall in that first category. To be frank, the makers are not putting all their time into creating flashy marketing pages ... they are putting it into building this engine - and it shows! ie. They are not chasing sales, they are focussed on building the perfect engine. Some other engines even use 3rd party features in their marketing! Just check the update history on C4 and compare to other engines! C4 accelerates with features faster than any other engine. They've got it right ... let the engine code do the talking. And this is the best written and cleanest code you've seen - and of course you get source - don't invest in an engine without source!
C4 version 2.0 is about to launch ... as of writing this its going to Alpha release. This is a massive release, with tons of new features, including native cross-platform physics and advanced terrain, and introduces a world first in any game engine!!!
My message to you is this. Invest in this engine. As of writing its still available with lifetime free updates too! Which is just amazing value. So try get that!
Original Review 20 May 2008:
While some engines are really good and have excellent potential of knocking on the top-end engines doors in the near-future, I see C4 getting there a lot faster, and I believe it is currently only a few releases away from shaking the 3D world. We saw this happen with Project Offset which grew from a garage-project to a monster (now owned by Intel and out of reach for all but a very select few), and C4 has all the indicators of becoming as powerful, so if you want to invest into something thats going to grow fast and big, this is it.
The features are excellent, the few that are lacking are on the road-plan, and within the next few releases this engine is going to be awesome, and a serious contender for challenging some big names.
If you're a big company and need to spend the dollars to form partnerships with big names, go buy the expensive licenses, but if you need to watch your budget, you really want to look at this. BTW: If you're a small company who sees the potential of being associated with a big name 3D engine in the future, you prob want this license too. As for private hobbyists, I'm not even clear why you are wondering.
When you want a good engine, you need to look under the hood. C4's code is excellent, support when needed is excellent, updates are frequent and solid, feature list grows almost every other month, and there's a great positive helpful community.
C4 is a really good engine with excellent support 24/7 with the developer off the engine answering your questions. The engines graphics are constantly improving to keep up with the latest tech on the market and for a very low price you get a lot.
Overall the engine is really good with all main features covered such as physics, lighting, editors, support and even demo source-code.
The PS3, Windows and Mac game engine has incredible graphics, design and atmosphere! It is like you feelc in that engine with its high-quality that overruns(I think)the Unreal Engine 3.Marvellous, just marvellous!
C4 is solid. It seldom crashes, and when it does, it's because you did something wrong. It uses old-school C++ class inheritance to implement a well-performing scene graph.
The tools that come with the engine work, and there's really nothing in there that would make you go "huh, that's bad..."
C4 doesn't (yet) have specific outdoors support, and it uses C++ for most kinds of logic you want to write. The script language (which is visual, drag-and-drop) is not something you'll use to build the entire game in. However, adding new script verbs or object properties, and exposing them to the artist in the editor, is easy, so any customization can be done in a modular fashion.
The forums are top notch, updates are regular (several times a year), and actual bugs you report actually get fixed quickly (often in the next release) with feedback from the developer. If there were 6 stars for support, C4 would get it.
This 3D engine is totally insane (I have bought 4 other 3D engines too, which I thought were the best at that time), it has the best looking graphics I've ever seen in any computer game, and runs on totally obsolete hardware without any lag (even on ATI MX300, I couldn't believe it).
I've held myself back from C/C++ coding because it was always a bit time-consuming and difficult to do things in C/C++ which I could do faster in BASIC variant languages too. But the clear structure of the source code of this engine makes actually C++ coding easier than BASIC coding.
Today I added a few lines to the source code, to have full Newton Physics functionality (it will be built-in in the coming release, also PhysX, it's a general plugin), and I felt that there's nothing this engine would not have to make any kind of game in a RAD ridiculously short time while providing a graphics technology and quality which not even million dollar engines can provide today (CryENGINE2, Unreal3 Engine, etc...).
The engine has even a superior 3D world and model and script, etc.., editor (all in one) built-in (it's ridiculously easy to use, you don't even need to read manuals!), which you can give to any of your team members for free, only the source code must stay at the one who bought it, but it's totally possible to write whole games without even touching the source code.
Well, maybe you think I'm just enthusiastic about it (yes I am!), but if you want some serious stuff to back it up: Lockheed Martin bought the engine Company-Wide! (and it's not the only company who bought it).