Forum

Page 4 of 4

Re: [FTEQW][WIP] Crafter - realtime game editor for FTE

PostPosted: Fri Aug 11, 2017 2:45 pm
by toneddu2000
craFTEr has been completely rewritten.
release date:tba

Re: [FTEQW][WIP] CraFTEr - realtime game editor for FTE

PostPosted: Mon Aug 21, 2017 12:33 pm
by Julius
Awesome!
Sorry for pestering, I just think that it is better to develop openly and release early and often.

@Spike: could you please clarify the license? Always better to have a clear picture on that and "public domain" is not a legal concept in many countries. Would CC0 ( https://creativecommons.org/publicdomain/zero/1.0/ ) for the assets and MIT or BSD (GPL?) be OK for the code?

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Thu Mar 08, 2018 1:41 pm
by toneddu2000
Ok, let's do something with this project.
I released first assets:
craFTEr open textures vol 1
craFTEr gothic environment set

They are still in pending, so they're only visible via direct link. If you like them, submit your vote so they will be released in the main page and search page
Next step is to release also projectUnkwnon assets as craFTEr Industrial environment set (since projectUnkwnown code was just junk..)

On the code side: I'm completely rewriting the fist release from scratch. I presume to put it on GitHub (quite) soon

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Sun Mar 25, 2018 8:23 am
by Julius
Pretty cool, although the in-game screenshot over at Blendswap for the gothic models is waay to dark :)

Looking forward to the github release of craFTEr!

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Sun Mar 25, 2018 9:22 am
by toneddu2000
Keep in mind that the first screenshot is just a composition using the assets. Next images are the actual asset, rendered one by one, flat shaded

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Wed Apr 11, 2018 2:43 pm
by pitchatan
A bit curious of how well all this performs with lots of entities around.

FTE renderer can handle a lot of things on screen at any given time, but is incredibly limited by the QC VM, so i am curious of just how much you have managed to get away with.

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Wed Apr 11, 2018 3:22 pm
by toneddu2000
pitchatan wrote:A bit curious of how well all this performs with lots of entities around.

quantify "lots of entities" :biggrin:
pitchatan wrote:i am curious of just how much you have managed to get away with.
well, I didn't :biggrin:

I'm not aware of any FTE QCVM bottleneck and I didn't read any particular tecnical paper about this. I just created a game editor for FTE (which, by the way, I should release sooner or later.. :evil: ) and use it for my games, but seriously I didn't notice any limitation in the FTE QCVM.
I do of course notice lots of limitations in the engine, that, one by one, I'm trying to improve (doing my best, I'm not a programmer) in CSQC + GLSL. For example, physics, dynamic parallel lights, and other stuff that don't come to my mind right now! :biggrin:

Regarding performance(I only tested FTE for the render part, which it's great), I noticed that FTE can handle 200000 tris per frame with no problem if dynamic lights are not involved, and 50000 / 60000 tris MAXIMUM if level is lit by only one dynamic light used as sun ( sigh..:sad: ) but, tris count could be increased if lights are 3 or 4 but radius of every light is around 300 / 500 units, which it's weird. I guess it's related to shadowmap textures.
Of course disabling shadows (r_shadow_realtime_dlight_shadows) and specular (r_shadow_realtime_dlight_specular) you can do practically everything! :lol:

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Wed Apr 11, 2018 5:43 pm
by pitchatan
toneddu2000 wrote:
quantify "lots of entities" :biggrin:

&

I'm not aware of any FTE QCVM bottleneck


Somewhere around 500-1000 entities will start to show some significant performance loss from performing collision alone, this is purely down to the single threaded nature of the QCVM.

On top of that the renderer has a bit of an issue with massive amounts of entities that need to be drawn (or have been added to the renderer), in a nutshell everything needs to be put in a queue for rendering.. as the qc vm is single threaded and quite a bit slow compared to today's standards it takes the engine quite a bit of time to go through the list of every entity that needs to be rendered.

ie: 20k entities can exist without collision checks and you will barely notice a performance difference (you can even do light work with a custom customphysics or think and get away with quite a bit). The moment you introduce the entity to the renderer things get iffy tho.

In this case the entity does not even need a model, the mere fact that its added by addentity or has a drawmask other than 0 is enough for things to get really slow, really quickly (again because of the engine going through an array every frame).

You can see similar performance issues with drawpolygon or massive amounts of drawpics etc as it pretty much relies on the same methods as entities. ie: it gets added to the rendering queue each and every frame.


I have done quite a bit of testing with this already.. and lets just say you tend to get quite a bit crazy when you want space battles with 20k or more visible units on screen.

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Wed Apr 11, 2018 7:01 pm
by toneddu2000
pitchatan wrote:Somewhere around 500-1000 entities will start to show some significant performance loss from performing collision alone, this is purely down to the single threaded nature of the QCVM.
...
ie: 20k entities can exist without collision checks and you will barely notice a performance difference (you can even do light work with a custom customphysics or think and get away with quite a bit). The moment you introduce the entity to the renderer things get iffy tho.

In this case the entity does not even need a model, the mere fact that its added by addentity or has a drawmask other than 0 is enough for things to get really slow, really quickly (again because of the engine going through an array every frame).
Thanks to have shared your tests, they're very useful.
Well, I've my personal idea about that: I consider FTE the perfect engine for a particular kind of game. When you want to create a simple game with not too much demands, well FTE is perfect.
Of course if you want to do a MMORPG or a DOOM clone (the 2016 one, not the 1992 one :)), well, in that case, it might not be the best choice! :biggrin:
The problem with other commercial engines is the license. I already did a rant some day ago here and I don't want to abus of this forum for my personal ideas.

Anyway, returning to FTE, I'm using it really a lot in these months and, with the number of entities I use, it never missed a frame so far.
But, as I said, it's probably because I create "little" games with not much expectations! :lol:

pitchatan wrote:In this case the entity does not even need a model, the mere fact that its added by addentity or has a drawmask other than 0 is enough for things to get really slow, really quickly (again because of the engine going through an array every frame).

Well, craFTEr has a wise use of drawmask. It infacts switch on and off everything it's not useful at the moment, like objects laying on a hidden layers, etc.

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Thu Apr 12, 2018 11:33 am
by frag.machine
pitchatan wrote:
toneddu2000 wrote:
quantify "lots of entities" :biggrin:

&

I'm not aware of any FTE QCVM bottleneck


Somewhere around 500-1000 entities will start to show some significant performance loss from performing collision alone, this is purely down to the single threaded nature of the QCVM.


I once profiled the Fitzquake engine running a map with about 1000 knights. Surprisingly, the bottleneck wasn't exactly in the QC interpreter itself but in the traceline builtin. I understand that when you say QCVM and collision detection you are talking about this specific function. I don't think parallel entity processing would help much in the performance and it would bring its own problem list, like synchronization issues. I once considered a traceline result caching scheme (at least for the frame duration) but it was a gargantuan task without guarantees of actual performance improvement.

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Thu Apr 12, 2018 4:07 pm
by toneddu2000
frag.machine wrote: I once considered a traceline result caching scheme (at least for the frame duration)
wow, that would be super cool

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Mon Jun 04, 2018 11:38 am
by toneddu2000
Finally added to GitHub. Every model (static or animated), every texture is updated in the same repository (only source file, so you have to convert models -> iqm and texture -> tga by yourself). MIT license for code, CC0 for art assets. Quite unusable right now, but whatever.
Have fun if you dare! :biggrin:

Re: [FTEQW][WIP] craFTEr - realtime game editor for FTE

PostPosted: Wed Jun 20, 2018 1:45 pm
by Julius
Very cool! Will play around with it next week :)