2 registered members (AbrahamR, AndrewAMD),
1,278
guests, and 2
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Esenthel Engine
[Re: ratchet]
#401186
05/15/12 08:20
05/15/12 08:20
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
yes, this is the main drawback of Esenthel for me. maybe c++ programmers like it. as a consequence: I'm upgrading my 3DGS from extra to commercial in this month and another important thing: Esenthel does not have at the moment instancing and no shader supported bone animation, what you can get by buying 3DGS Pro (only sprite instancing, as I read model instancing was implemented and tested but won't be released because the complexity and low performance boost).
|
|
|
Re: Esenthel Engine
[Re: sivan]
#401235
05/15/12 19:05
05/15/12 19:05
|
Joined: Apr 2008
Posts: 2,488
ratchet
Expert
|
Expert
Joined: Apr 2008
Posts: 2,488
|
Even wihtout these features Esenthel runs really great already, just test the demos of mmo with lot of animated models. Good point for A8 commercial. Yes 3DGS Pro nowadays seems a too much hight price indeed, specially when you can nearly have Unity Pro for that price ! But this price can be good for someone making some real business and money with 3DGS , in that case if the money income is great, no problem ! But for all lonewolf and little projects, i doubt we'll spend such money when you are not sure to sell a product made with it. Well it was a Esenthel thread ...
|
|
|
Re: Esenthel Engine
[Re: ratchet]
#401272
05/16/12 07:42
05/16/12 07:42
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
earlier I thought of making an engine comparison thread but that would be too messy but maybe I will make it for fun if we are observing an engine it is not avoidable to speak about of its competitors. I felt worthy to make this thread because Esenthel is a really promising engine, especially if we take into account its pricing together with its great features. I think it is a good choice also for hobbyists and indie developers, if they are advanced C++ programmers.
|
|
|
Re: Esenthel Engine
[Re: ratchet]
#408201
09/27/12 08:43
09/27/12 08:43
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
a new Esenthel editor is in progress, but available for purchase. I think it is worthy to watch this video: http://www.youtube.com/watch?v=3xACb-0tl5I&feature=plcpcool for teams as members can work online, and get project updates immediately. asset import and management also much better than in the current editor. some scripting features also integrated. 3DGS could also be improved in the same tempo as Esenthel...
|
|
|
Re: Esenthel Engine
[Re: sivan]
#411112
11/13/12 10:56
11/13/12 10:56
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
I'm experiencing again with Esenthel: controlling 100 characters with physx and navmesh pathfinding having really cool PSSM shadows, by 215 lines and really little editor works (imported my textures, a skycube, an L3DT terrain heightmap and texture blendmaps, and a .ms3d bone animated model I'm also using in 3DGS, plus some default buildings and palm trees):
|
|
|
Re: Esenthel Engine
[Re: sivan]
#411186
11/13/12 22:01
11/13/12 22:01
|
Joined: Apr 2008
Posts: 2,488
ratchet
Expert
|
Expert
Joined: Apr 2008
Posts: 2,488
|
How many time did you put to do that ?
Are you able to code your characters motion ? like playing animations by code ?
25 FPS , You need optimisation lile : LOD on characters and their shaders , disable their shadows at distance , distant palm trees also.
I let down Esenthel caus of complicatde character code to animate them like we need (too much maths and non easy to understand code). It was the only thing, that made me say : ok too much programmer style in some way for me.
Otherwie , fro the price, this is a very advanced 3D engine great features like Navmesh and other great tools and visual features with good frame rate. And mobile support is just great also.
Last edited by ratchet; 11/13/12 22:43.
|
|
|
Re: Esenthel Engine
[Re: ratchet]
#411205
11/14/12 11:18
11/14/12 11:18
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
finally I collected the info from the tutorials, which is a bit time consuming (I spent a few weeks with it around May-June), but now I could do it within a day.
my laptop is new but not a high end one, 3DGS also similarly slow with pssm shadows beside optimized models. but this pssm is using 6 stages with improved smoothing settings, and I used 1366x768 resolution, so it could be faster.
yes, the characters are not optimized at all, got from Medieval Total War 2, using own bone animations from separate files (it is also possible to use the default skeleton using built in animations). and what is the most time consuming, in every frame I call a pathfinder for each character - one is the leader dealing full path, the others only keepeing their position relatively to it. the physX collisions also eats up FPS, because no collision avoidance integrated into Esenthel - and propably will never be done. so this part is only good for a quick testing.
trees are having LOD - it is easy to make LOD models in its model editor, or externally created LOD models can be used.
player and AI character coding is simple, it has a ready character class developed for MMORPG, with PhysX and Navmesh pathfinding, which can be extended - this is what I did, overrided skeleton and animation due to created mesh, added some new group properties for keeping the formation, and extended the update loop (creation and update is nearly similar to Unity awake and update system).
one minor thing which is not too handy, if runtime created objects are used, they should have own rendering and shadow calls in render update loop - yes there is a separate draw/render loop to draw the world, the gui, and created models.
the engine is free with full features, ony when you sell something you have to buy one license per product. android support is available only after having a licence.
|
|
|
Re: Esenthel Engine
[Re: ratchet]
#411279
11/15/12 09:18
11/15/12 09:18
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
OP
Expert
|
OP
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
yes I put this code to Esenthel forum here in July: http://www.esenthel.com/community/showthread.php?tid=5233 showing the bad performance of my previous laptop unsupporting SM 3.0 that is required for pssm. but the main things are: extending base character class and call it as Player:
STRUCT(Player , Game::Chr) // extend character class by defining a player class based on the character
//{
virtual void create(Game::ObjParams &obj); // override default creation method to setup custom default animations after character creation
virtual Bool update(); // here we'll update the player (please note that this is a virtual method)
// formation data
int row;
int column;
int arraynum;
};
assigning custom animation to the mesh on creation (the super::create line is calling the built in character initialization, the others are my extension codes):
void Player::create(Game::ObjParams &obj)
{
super::create(obj); // call default creation
sac.stand = &cskel.getSkelAnim("obj/chr/sergeant/idle.anim");
sac.run = &cskel.getSkelAnim("obj/chr/sergeant/walk.anim");
sac.walk = &cskel.getSkelAnim("obj/chr/sergeant/walk.anim");
speed = 3;
anim.speed = 1;
}
in the main update loop (Bool Update()) dealing with pathfinding in each frame (should be optimized):
if(Kb.bp(KB_ESC))return false;
Physics.startSimulation().stopSimulation();
int i;
//------------------------------------------------------------------------------------------------
// move leader of player group
if(Ms.bp(0)) // on LMB pressed
{
Vec pos, dir; ScreenToPosDir(Ms.pos(), pos, dir); // convert screen mouse position to world position and direction
PhysHit phys_hit;
if(Physics.ray(pos, dir*D.viewRange(), &phys_hit)) // if ray-test hit something
{
player[0].actionMoveTo(Vec(phys_hit.plane.pos.x, phys_hit.plane.pos.y, phys_hit.plane.pos.z)); // order character to
move to that location
}
}
//------------------------------------------------------------------------------------------------
// player group movement
Vec leaderpos = player[0].pos();
for(i=1;i<100;i++)
player[i].actionMoveTo(Vec(leaderpos.x+player[i].column*2,leaderpos.y,leaderpos.z-player[i].row*2));
for(i=0;i<100;i++)
player[i].update();
and finally the render and draw cycles:
void Render()
{
// world.cpp
Game::World.draw(); // draw world (this is done outside of 'switch(Renderer())' because world automatically detects active rendering mode)
//-------------------------------------
int i;
switch(Renderer())
{
case RM_PREPARE:
{
for(i=0;i<100;i++)
player[i].drawPrepare();
}break;
case RM_SHADOW:
{
for(i=0;i<100;i++)
player[i].drawShadow();
}break;
}
}
void Draw()
{
Renderer(Render);
D.text(0, 0.9f, S+"Fps "+Time.fps());
}
and everything works smoothly, not like in 3DGS, where as I progress further and further I find more and more bugs... I reported about 10 bugs within a year, most of them very disturbing and "it should work" category.
|
|
|
|