When comparing Source vs Esenthel, the Slant community recommends Esenthel for most people. In the question“What are the best 3D game engines?” Esenthel is ranked 16th while Source is ranked 17th. The most important reason people chose Esenthel is:
Esenthel has a built-in code editor which drastically simplifies the programming process. Programming with Esenthel is based on C++, however, when using the code editor there's no need to make separate .cpp or .h files. Code can be written once and the editor will be separating definitions and declarations automatically in the background allowing for quicker development.
Ranked in these QuestionsQuestion Ranking
Pro Great documentation
Valve's official documentation website is great for newbies. It demonstrates the pros and cons of the engine (and since the website isn't maintained by Valve, but instead the community, the pros and cons are largely unbiased). There are also a number of pages dedicated to entities used within official Valve games and also community-made mods that were turned into full-fledged games by Valve. These pages explain the ins and outs of how most source programming works. There are also guides for Valve's tools which are both included in Source SDK and in any Valve-developed game.
Pro Many basic entities
You don't need to code your own door or ladder etc. You can pretty much use every entity used in Half-Life 2 yourself easily.
Pro Visual logic, no programming
Of course you can program stuff into source but for level design only, source has a really easy input/output system for your level logic (e.g. doors, trigger when player walks into room...).
Pro Runs on every potato pc
Since it has precalculated lighting, this engine is great for low end PCs too.
Pro Has a built-in video capture and editing application
Source includes Source Filmmaker, a video capture and editing application.
Pro Easy way to export or load source models to unity and maps
Pro Quicker development by using the integrated code editor
Esenthel has a built-in code editor which drastically simplifies the programming process.
Programming with Esenthel is based on C++, however, when using the code editor there's no need to make separate .cpp or .h files. Code can be written once and the editor will be separating definitions and declarations automatically in the background allowing for quicker development.
Pro Can be easily extended
Built in pure C++ so it is easy to use and extend however needed.
Pro Available on Steam
Pro Can be used for collaborative development
Esenthel comes with tools allowing for multiple developers to work on one project at the same time in collaborative mode. Every change made is instantly visible by other team members.
Pro Engine issues are resolved quickly
The author is very device minded and able to handle any problem quickly and effectively and he has a good track record of listening to requests.
Pro Access to full source code
Having easy access to the full source makes it possible for any skilled developer to add features that a project requires.
Pro Attractive licensing
Free to try, with license as cheap as 9.50$/month (with yearly subscription), 11.40$/month (monthly subscription) or full source code license 228$/year.
Pro Incredibly stable
The engine is rock solid and stable which, considering its extensive feature set, is a huge plus for game developers
Pro Helpful and responsive forum
Pro Good support for Android and iOS
Android and iOS support is pretty stable and easy to develop on. It's possible to, for example, develop the entire game on Windows or Mac and then easily compile for Android and iOS.
Pro Can import a wide variety of formats
- 3D - FBX, DAE, OBJ, 3DS, B3D, MS3D, BVH, ASE, PSK/PSA
- 2D - BMP, PNG, JPG, TGA, DDS, TIF, WEBP, PSD, ICO
- Videos - VP9, Theora
- Sounds - OGG, WAV, MP3 (once decoding patents expire)
Pro Constant development and progress
New features or update to features are provided monthly.
Pro Supports in-app purchases
IAP support for both mobile and desktop devices.
Pro Supports multiple compression libraries
LZMA, LZHAM, LZ4, ZLIB, Snappy, RLE
Pro Oculus Rift native support
Oculus Rift API integrated into the engine platform.
Pro Supports modern graphics and sound APIs
- Graphics - DirectX 9/10/11, OpenGL, OpenGL ES, WebGL
- Sound - DirectSound, OpenAL, OpenSL
Pro Rock solid
Con SDK is outdated and difficult to use
Source SDK has not been updated in ages, and has instead been "re-released" under different names, e.g "Source SDK 2013 Singleplayer".
It's honestly easier to use the version of SDK included with any Source game, namely Portal 2 or DOTA 2, since both have a variant of Source SDK that is more updated than anything you can find in the tools section of Steam.
Con Only for mods
Normally, you can only use the Source Engine to develop "source-mods" (as Steam calls them), however the developer wiki is correct in saying Valve have a proven track-record for finding source-mods and turning them into fully-fledged games, Black Mesa Source is a good example of this, as it began life as a source-mod available for free, however Valve turned it into a fully-fledged and paid game.
Con Slow roadmap implementation
Bugs are fixed promptly, but the developer maintains a growing 'roadmap' of features with no indication to users of time frame and priority of feature implementation.
Con One-man developer
Although the complete engine is maintained by a single, highly-skilled individual, he can be limited to what he is able to see or perceive, and sometimes he doesn't recognize broken or incomplete features until he sees it firsthand and sometimes doesn't recognize valid reports from his users. But when he does recognize the gap in the engine's feature-set, he is quick to make adjustments and updates.
Con Lack of in-depth tutorials
There are plenty of beginner coding tutorials which serve as a basic introduction for a new user to get up to speed, but once having passed that stage there is a real lack of free more advanced tutorials/examples/code snippets demonstrating the finer details of the vast and varied API functions.
Con Lack of editing tools
Con Web support practically non-existing