Terathon Software LLC
May 05, 2005
Windows, Linux, Mac OS X, Playstation
Languages Written In:
The C4 Engine is a comprehensive suite of robustly implemented game programming tools for the Windows, Mac OS X, Linux, and PlayStation 4 platforms.
|License Name||Price in $US||Source Code Included?|
|Full source included, updates for one year.|
Showing 126-129 of 129
- fantastic rendering features
- very clean C++ Code
- easy to use with the tools (world editor, material editor, texture importer, mesh importer)
- good support
- very nice price
- the documentation is growing
- active forums
You and your customer need a highend graphic card. Intel graphic cards will not supported. That decimate the possible market, today.
I used the C4 engine for about a year with mixed success. Let me state the obvious first: The C4 engine is fast and stable. In all my time with it I had only very few problems and nothing that I would qualify as a repeatable bug. Although I am sure there are bugs as in every software, I haven't had any problems with it so far and from what I can remember from the user forum, neither had others.
The render speed is fast and the optical effects are decent. I don't use many effects so I cant really say how they compare with the high end engines, but my guess would be that they are at least at par with all the other 1000$ one man engines out there.
The C4 engine is a decent and robust render engine. And this is where the first problem comes into the picture. It is exactly that: A render engine. Yet it was wrapped and packaged with a number of tools and is sold as a complete game engine meaning that all the requirements a casual game developer has are met. However most of those tools are not up to the job. Let me go into details.
The GUI part.
It is a decent system that contains most of the control elements you would need (except a tree control) but it is very limited when it comes to exchanging the skin. You can change colors and you can change the shape of buttons etc, but there is no way to have different bitmaps to render different button states. I used to work with Crazy Eddies GUI under Ogre as most people have and that software was way more flexible.
The Tool Chain
The tool chain is very cumbersome, multiple tools which have to be brought up from the engine's main screen and which are not very intuitive. There is practically no documentation on the tools but some Wiki pages where the menus are listed with a few words which basically repeat the menu names in different wording.
Assume you have a number of animations you want to import. Now you have to export them all from 3DS as Collada files, then open the World Editor (see below), import the scene, save as a model resource (including retyping the name), close the world Editor, open the Model Editor, load the model, load the animation from the same model, then save the animation, the close the Model Editor. And then repeat that whole sequence for all of your 50 animations.
The World Editor.
The engine comes with it's own "world editor" but frankly the thing is amateurish at best. It is basically impossible to create meshes in it since it only provides simple primitives and no real way to combine them to new objects. But then it's not advertised as a modelling tool, so I won't hold that against it. Yet when it comes to "editing a world" it is equally cumbersome. You have 4 view ports and the navigation in them is a pain. You constantly switch navigation modes through icons in the toolbar and yet it is difficult to maneuver.
There is a view that provides some form of tree representation of the scene graph but this quickly degenerates in a linear list of nodes a mile long and it is basically impossible to find a specific node. A user supplied add on is supposed to help there, but I have never installed it.
The editor is mandatory however because the engine can only load its own data format which is created by the editor. It is possible to assemble your own meshes programmatically but you would need to create your own tools then to import them somehow from Blender or 3DS, meaning you have to write your own tools before you can make a game.
Let me state it very plainly: In my eyes it is impossible to edit a useable level with this tool. It would take a tremendous amount of time and a great deal of patience. But the engine demands that you do. If you want to bypass the editor you WILL have to write your own tools to import things from your modelling tool, assemble worlds inside the C4 engine, create skinned and rigged characters and so on. It is a nightmare.
There is a reason that no test version of this engine is offered before the purchase. The developer knows that if people would test it before they buy, they wouldn't buy it.
The Particle System.
This is very bad. There are a number of "particle system classes" but there is virtually no documentation. I spend a long time trying to get these to work and I got nothing going on the screen other than some half transparent smudge. It isn't even documented how the engine derives the transparency information form the texture and if textures can be colorized or not.
The Animation System.
Useful basic functionality. It is possible to blend two animations together. It is difficult or impossible I understand to mix partial animations for instance a top body animation A and lower body animation B at least from what I read in the forum.
This is a very weak point. In my estimate, 50% of the exported functions are simply not mentioned in the online documentation. You can see them in the source code, but there is no explanation as to what they do. The functionality which is documented is so in a very spartan way, oftentimes just repeating the function name and the parameters without an explanation what exactly it does, why one wants to use it and how it plays with other parts of the system.
The source code itself does not contain any comments, other than the existing function headers which are combined to a web searchable documentation system. That means that the engine source is not very helpful to answer any questions either.
When you read the other reviews carefully, you will find that everybody is praising the developers presence in the user forum and his willingness to help. This is true. However it is also necessary for anybody to do anything with this engine. However, when you constantly have to ask "how do I do this" with "this" being some trivial problem, it makes you think. I don't expect documentation of the quality of the QT class library, but in the current state it is not very useful.
This is the greatest problem in my eyes. You are absolutely depended on the developer to answer question in the forum.
It is true, there are tutorials and there is even a book out there written by users that explains some aspects, And to be quite frank: You NEED the book. That's why it's included as ebook when you buy the professional version of the engine (not the basic version). However, the whole engine is based on one concept: Start the engine, bring up tools from the engine's Start Menu, edit game assets, particularly your levels, save and play. You are expected to export the classes you write for your own game to the editor to be able to place your own objects in the world. This concept requires a great deal of program overhead, meaning you have to add a lot of extra code for this purpose which is otherwise useless. And it complicates things needlessly. Game objects are "connected" in the world editor through various means and by various I mean complicated.
The C4 engine provides an EXE and your application is loaded as a DLL. Anything that does not fit this template is impossible. This disqualifies the use of some other 3rd party libraries if you cant squeeze them into this scheme.
Also, C4 overloads the new and delete operators. This makes it impossible to use other libraries that do the same or tools like VisualLeakDetector.
Let me make this very clear: You can not use ANY third party library that is not under the control of the C4 engine. And that includes the STL in part! While you can compile the engine in such a way that you can use the STL (you have to ask in the forum how to do this...) you can not use for instance STL algorithms because they will collide with the C4 memory system. I spend half a day trying to figure out why the std::vector::insert( pos, begin, end) function would crash and then realized it's because it frees memory that was allocated in my code by the C4 engine, but now uses the standard delete operator that was not overloaded in the STL binaries.
Seriously, when you think yourself so important that you can tell your customers they don't need anything but your software, you're either delusional or Steve Jobs or both.
All in all I think it's overpriced for what you get. If it was sold as a render only engine like Ogre with better documentation, I'd say it's worth about an 70-80% rating, but alas it's not.
Now you might ask: What about all the enthusiastic reviews here? When you look closer at each of them you will notice that about 80% of them were written before 2010 or so. Back then the C4 engine was undoubtedly in the top field of engines in the price range under 1000$. However when you look in the user forum, you will quickly notice that the forum is kept alive by the same 10-15 people. That's about the number of hardcore users. The vast majority of those enthusiastic reviewers here are not there anymore. I dont know why they moved on, I am only stating facts here. Go to the public part of the C4 user forum and count the number of people who posted regularly in the last half year or so and you will find the same names over and over again. What you can see is that people appear, post for about 6 months or a year and then move on.
There are not many people who stick around this thing after their first project I believe. You see a great of fluctuation in the forums. I feel sorry for the people who fell for the outdated enthusiastic reviews here and think they get a super duper plug n play solution. The C4 engine is anything but that. If you have to buy it, at least do yourself a favor and DO NOT GET THE PROFESSIONAL VERSION! That version has no advantages other than the ebook (you can buy the book at amazon printed or get another book that was written recently by a user and is available online) and two "support incidents" per year that you can submit to the developer. What is that you will ask? Well it is basically if your questions you're asking in the forum are too much for him to answer, then he wants you to pay 100$ per "support incident". Two of them per year come with the "professional" version. Other than that you have to pay for the answer. Apparently the man knows how useless his documentation is.
Luckily the prices for the top engines like Unity, Unreal and Cryengine are going down, so there's an alternative everybody should check out.
I havent gone through the program but its pretty impressive. i like the idea you can build your own controller(feature) and put it on the editor.
Ease of use:
though it is a good engine, i must say that this is not a proper engine for an artist. but for programmer it is very good. its easy to understand the basic concept of the whole engine and the code structure is very neat. if you've gone through the tutorial you'll notice how easy it is.
Stability and performance:
I've seen the demo and its good how they put lots of enemy/object without any frame drop. I also notice its stable in a very large scene. however, i have a problem once in a scene with lots of material. i dont know if thats just me because i cant find someone with the same problem.
Ask nicely and you'll have your problem solved within hours :)
its a very good engine, good for indie dev. worth price/performance, have a bright future. yes there is problem here and there but considering the active community, it has a very bright future.
The engine looks to be well rounded. I haven't seen the source, but features in the demo look good, and the forum/creator support looks excellent. The only problem I have with this engine is the editor (demo I tried). I'd get aggravated trying to use it, but I'd say it's one to watch.