About Store Forum Documentation Contact



Post Reply 
Creating a strategy game in Esenthel?
Author Message
SH Algernon Offline
Member

Post: #1
Creating a strategy game in Esenthel?
Hello everybody.
I'm currently starting to work with a small independent team, with the goal of creating a turn-based strategy game with a isometric top-down perspective (that allows for camera rotation and zooming in and out). You can think of the perspective as similar to modern 3D Heroes of Might and Magic games, except the game would take place in the urban, rather than fantasy/natural environment. This also means characters can enter buildings, which should hide all of the building's floors above the one the character is located on, so that the building interior and characters inside can be seen and interacted with properly.

I'm in charge as the lead programmer for the project, so it was up to me to find the right 3D engine for the job. The most important requirements I am looking in the engine are that the engine has either the C++ or C# programming interface, is relatively beginner-friendly (I already have a good programming experience, but I've never worked with 3D graphics before), provides at least decent looking renders with the support for shader model 3.0, and contains tools which make material, animation and world editing with objects exported from 3DSMax a quick and painless process, yet are affordable and accessible to small indie teams and not only large and previously established game studios.

Amongst the engines our team and me have taked into consideration are:
- DarkGDK (seems solid enough, but apparently the developers abandoned the development of the project, leaving behind some bugs, and making further support and updates, as well as bug fixes somewhat uncertain).
- Leadwerks Engine 2 (which people criticised for limiting the size of the maps to 4096x4096 square units, which could prove to be a problem when a game takes place in a large city, implemented as a single map, and for not exposing all of it's internal functionality through C++/external language programmable interface, relying on it's internal scripting language for certain operations instead).
- Terathon C4 (which looked like a good engine candidate to me, until my friend, a fellow programmer with some actual experience in 3D programming, who worked with C4 engine in the past, recommended me to avoid it, because his experience with C4 ended up being not very pleasant - granted, it's been some time since he used that engine, so maybe it got improved in the meantime, but I'll remain cautious about it for now).
- UDK (lacks C++ interface support, leaving UnrealScript as the only programming method, also requires paying royalties for commercial products).
-Unity (this is the engine our designers pushed the most, not to mention it generally received lots of praise from the game development community in general. But it simply doesn't suit me, as it lacks any kind of externally programmable interface, which turns it more into an all-in-one game making tool - albeit quite powerful one - with a good integrated 3D engine, than a software development kit. Maybe I'm a bit old-fashioned, but I prefer to be able to actually control the behavior of the engine from my own code, rather than simply put all the assets inside a pre-made black box environment, connect them together with scripts, and hope everything works the way I intended).

I pretty much ran out of options, with every engine I took into account ending up having some sort of drawbacks. It is then I stumbled upon the recommendation for Esenthel engine on the gamedev.net forums. So I looked it up, checking out it's features, capabilities, tools bundled with it, comparisons with other engines, licencing methods, and went through the manual and a few examples. So far, Esenthel left a very good impressions with me. It appears like it satisfies all the needs I listed above: it's powerful, manual contains lots of info useful to the beginners, it's not tied to a particual genre, has lot of examples, comes with sophisticated tools, has a good reputation for a fast support, and it's affordable.

The only thing that seems to be missing is the full documentation of the engine, i.e. the description of all public members/interfaces/classes/methods/etc. of the engine available to the end-programmer with explanation for their purpose and usage and grouped in their respective categories. But with all the tutorials given, and community support, this can be easily forgiven.

Anyway, after spending about a month looking for the best pick, while constantly switching preferences amongst several engines, I've finally proposed to my team the usage of Esenthel as our final engine of choice (replacing Unity which was our graphics designer and 3D modeler's first choice and DarkGDK which was my alternative choice).

Hopefully I've made the right decision, and while Esenthel certainly appears highly capable of handling our needs, I just wanted to check with the folks of this forum what kind of experience can we expect from using this engine in a strategy game sprawling across posibly rather large cityscape, viewed through the isometric perspective. How well suited is the engine for this type of games? Does it have suitable functions for tasks such as 3D picking and pathfinding (game will be played primarily with the mouse, by clicking on the characters and objects player wants to interact with, click on destination to make the character walk toward it, etc.), how good is the world builder at building urban instead of natural areas, can I define custom objects or "hot-spots" in the world builder, which may not mean anything to the engine itself (and therefore won't be rendered and graphically visible from the game either), but will be recognised and used by my own game code (they may represent such things as enemy spawn points, triggers to certain events, special area dedications (for example, I may want to dedicate an empty area as a parking lot, and the AI may decide to park their car there if such an area is nearby, rather than leaving it on the street) etc.).

So basically, I'm just looking for that one final approval from the actual developers who used Esenthel and have some experience with it, before we start the production, which means buying the licence (we would go with personal licence, as we don't have a large budget), and dedicating a lot of time simply experimenting and getting to know the engine before we could actually do something with it.

Any replies are appreciated.
09-01-2011 01:50 PM
Find all posts by this user Quote this message in a reply
b1s Offline
Member

Post: #2
RE: Creating a strategy game in Esenthel?
Well you can use visual express in unity if you want. Just as you use it in Esenthel.
But we still are using esenthel on Lucius.
09-01-2011 01:53 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #3
RE: Creating a strategy game in Esenthel?
Welcome!

You can use "custom object types" (for example with custom meshes) or you can use waypoints to specify custom areas.

There is builtin pathfinding, but it does not detect any dynamic obstacles (like other units). If you'd need that, then you'd need to make your own pathfinding, you can access blocked areas (which were setup in the World Editor) using EE::Game::Area::Data::path

You can also use helper EE::PathFind class (there is tutorial for it)
09-01-2011 02:04 PM
Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #4
RE: Creating a strategy game in Esenthel?
Quote:Does it have suitable functions for tasks such as 3D picking

Physics.ray works for alot of cases, I also wrote some code pretty easily using GUI rect and each unit object having their pos turned into 2D positions, making the gui rectangle check if the characters were inside the rectangle and thereby making them selected on button release.

Quote:and pathfinding (game will be played primarily with the mouse, by clicking on the characters and objects player wants to interact with, click on destination to make the character walk toward it, etc.),
You got a simple 2D pathfinder example, it is also possible to implement your own pathfinder library, personally had success with implementing Recast&Detour into Esenthel.

Quote: how good is the world builder at building urban instead of natural areas, can I define custom objects or "hot-spots" in the world builder, which may not mean anything to the engine itself (and therefore won't be rendered and graphically visible from the game either), but will be recognised and used by my own game code (they may represent such things as enemy spawn points, triggers to certain events, special area dedications (for example, I may want to dedicate an empty area as a parking lot, and the AI may decide to park their car there if such an area is nearby, rather than leaving it on the street) etc.).

You can do this in many different ways, though for defining an area I would make a custom object which gets marked as used/unused by some invisible/non collidable physics box volume objects.

Spawn points, could possibly use waypoints, empty gameobjects that contains position and maybe your own parameters as to what types spawns, when they do etc inside the gameobjects, bounding volume object could also be used.
09-01-2011 03:06 PM
Find all posts by this user Quote this message in a reply
Driklyn Offline
Member

Post: #5
RE: Creating a strategy game in Esenthel?
(09-01-2011 01:50 PM)SH Algernon Wrote:  The only thing that seems to be missing is the full documentation of the engine, i.e. the description of all public members/interfaces/classes/methods/etc. of the engine available to the end-programmer with explanation for their purpose and usage and grouped in their respective categories.

You must not have seen the Header Browser tool. It allows you to search through all the C++ header files available with the engine, so you can easily find whatever function/method you're looking for. Header files are well-commented. Very useful. Use it all the time.

----------

Also, you can download the engine for free, create your entire game at no up-front cost, and buy a personal license only when you are ready to sell.

Buying a personal license now only gives you the ability to create custom shaders and grants you access to the source code of some of the provided game classes and sample games. None of these are necessary to get started and may not even be necessary to finish (unless you need to use custom shaders).

I've been using this engine for close to 1.5 years and it is still my favorite. I've personally tried every single one of those engines you've listed before finding Esenthel myself (if you don't believe me, read the first paragraph of the very first post I ever created on this forum). I was super excited about the engine then and still am today. Take it from me, Esenthel Engine is the way to go.

And one more thing about the personal license: As I already said I've been using the engine for nearly 1.5 years... and I just bought a personal license 3 weeks ago. Call me a freeloader if you want grin, but that just goes to show that you can still use this engine for free and create some cool (non-commercial) games.

Some of the stuff I've created with this engine (shameless plug grin):

Advocate
Unnamed Portal Clone [iOS] (Current project)
(This post was last modified: 09-02-2011 12:24 AM by Driklyn.)
09-02-2011 12:01 AM
Find all posts by this user Quote this message in a reply
kulesz Offline
Member

Post: #6
RE: Creating a strategy game in Esenthel?
(09-01-2011 01:50 PM)SH Algernon Wrote:  how good is the world builder at building urban instead of natural areas, can I define custom objects or "hot-spots" in the world builder, which may not mean anything to the engine itself (and therefore won't be rendered and graphically visible from the game either), but will be recognised and used by my own game code

As was already said, you can put waypoints (non-visible points, set in editor) and use them in code.
Also most of options you mentioned are possible to do without any special effort, using only standard engine features.
09-02-2011 07:43 AM
Find all posts by this user Quote this message in a reply
impi Offline
Member

Post: #7
RE: Creating a strategy game in Esenthel?
I'd say the missing feature for your project would be lack of good occlusion options : in a dense city-scape you would need good occlusion management - specially if you are wanting to model (in detail) some interiors : Tools like occlusion volumes available on the engines you mentioned would be perfect as the entire building interior can be hidden in one occlusion box, as can all the buildings behind it.

Luckily better occlusion management is on the roadmap so hopefully there is quite a lot planned for this ... although its still far off.
11-26-2011 10:21 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Tottel Offline
Member

Post: #8
RE: Creating a strategy game in Esenthel?
I'm not sure how useful occlusion culling would be in a top-down view.
11-26-2011 10:33 PM
Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #9
RE: Creating a strategy game in Esenthel?
You do have strategy games with a free camera as well though mostly a camera which can view parallel with flat ground, however most strategy games don't, more often they have a free right and left rotation, and a locked yaw angle to a max and minimum of certain angle to keep the camera focused on the battlefield instead of the horizon.
Interiors of buildings in strategy games are usually either a damage step model(kinda like lods except they are for how much damage).

First Person and Third Person and some top down RPGs have needs for Occlusion Culling because of the detail in interiors, however even in RPGs you could do a check if player is "inside(player.shape,box.shape)" and by that render whats inside, would need some plans in regards to level mapping.
(This post was last modified: 11-26-2011 10:42 PM by Zervox.)
11-26-2011 10:41 PM
Find all posts by this user Quote this message in a reply
impi Offline
Member

Post: #10
RE: Creating a strategy game in Esenthel?
(11-26-2011 10:33 PM)Tottel Wrote:  I'm not sure how useful occlusion culling would be in a top-down view.
Almost critical in this case.

The OP said you should be able to enter building and have interior details and other floors hidden etc. So with an occlusion tool like a 3D box you would be able to hide entire building interiors when zoomed out, and when you enter the room they are visible. Without them it will mean all interiors of all buildings (multi-level) on screen are always loaded - it'll be a performance hog.
11-28-2011 01:23 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Demostenes2 Offline
Member

Post: #11
RE: Creating a strategy game in Esenthel?
(09-01-2011 01:50 PM)SH Algernon Wrote:  -Unity (this is the engine our designers pushed the most, not to mention it generally received lots of praise from the game development community in general. But it simply doesn't suit me, as it lacks any kind of externally programmable interface, which turns it more into an all-in-one game making tool - albeit quite powerful one - with a good integrated 3D engine, than a software development kit. Maybe I'm a bit old-fashioned, but I prefer to be able to actually control the behavior of the engine from my own code, rather than simply put all the assets inside a pre-made black box environment, connect them together with scripts, and hope everything works the way I intended).

After more than 1,5 year with Unity I can say, that Unity is NOT mature for big/serious games. And question is, if ever will be, they are focused on adding support for each possible platform and as rusult engine starts to be really bugged.

Lots of critical features is missing (or bugged), dev team does not care (easily reproducable critical/crash bugs not fixed for over one year), documentation is very shallow (from our point of view EE has better documentation), version control is bugged joke (paid joke), you need to buy lots of 3rd party plugins to cover standard toolset. Community is HUGE, but full of kids and fanboys, who are never able to give you any valuable advice, because they never published anything even close to game and they are totally out of reality. I know cca 5 people there, who have some deeper knowledge of games and thats all. From all that thousands.

If you intend to do serious PC games with AAA graphics, Unity is now not good idea.
(11-26-2011 10:33 PM)Tottel Wrote:  I'm not sure how useful occlusion culling would be in a top-down view.

To be honest some OC system is only important feature which is EE missing.
(This post was last modified: 12-10-2011 02:41 AM by Demostenes2.)
12-10-2011 02:35 AM
Find all posts by this user Quote this message in a reply
Post Reply