Choco Cookies for everyone! PBR-HDR test in AGK

Started by GaborD, January 30, 2019, 16:07:02

Previous topic - Next topic

Rick Nasher

@Derron
Ah that explains it. I had to just sometimes press refresh and it would still show though.

@Qube
QuoteAs said, while extremely impressive shader work I think TGC are highly misleading customers by using it to promote AGK.... I could be wrong but I don't think the alpha version of AGK Studio has the Vulkan engine in it yet.
That's exactly what I'd like to hear about from GaborD:
Does it have faster fps in AGK Studio, as he's using the Beta version, not Alpha as you can see in quote below and does that Beta have the Vulkan engine?

Quote
The 3D scenes shown are indeed running realtime in the Studio Beta. I can vouch for that.
Does it run the same in AGK2? Yes. But noone claimed otherwise. Since when is backwards compability not a plus?



_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

GaborD

#31
Quote from: Rick Nasher on March 02, 2019, 23:27:06
Does it have faster fps in AGK Studio, as he's using the Beta version, not Alpha as you can see in quote below and does that Beta have the Vulkan engine?

No, sorry, my bad. I don't have an advanced version with Vulkan or anything. I though this is all beta. It just says a version number in the editor.
I am looking forward to Vulkan though, had good experiences with it in past projects.


Quote from: Qube on March 02, 2019, 20:31:40
As it's called App GAME Kit then also I find this is false advertising as I don't think this kind of scene could be interactive in a game like in an FPS. I could be wrong but my guess is most of it is GPU instancing and the individual models could not be bouncing around the scene?. Could be totally wrong of course.

Unfortunately, in this case, you are indeed right.. about being completely wrong. :)
Whoever told you what instancing is should be fish-slapped.
Not that I even have many instanced objects. (other than the particles).
It's a pretty standard scene I would also build for a game that has this style.

In any case, it runs around several times faster than any Unity or UE4 demo I tried (including those single corridor ones) and I could double speed just by lowering the crazy AA settings... if this is not game usable in your opinion, then what are those? Staticly frozen in a time bubble slideshows?  ;)


Quote from: Qube on March 02, 2019, 20:31:40
While technically it can, in reality 99% of people won't be able to do it even if you provided them the models and textures. The whole thing requires extensive technical knowledge of shaders. AGK's built in 3D commands can not produce this kind of output ( without super shader knowledge ). The lighting and texture commands in AGK do not produce this kind of output.

I do fully agree that many users can't recreate demos the engines show off with.
That is the same in UE4 and in Unity and probably most other engines.

Just for fun, let's pick a simple example, with a static level with precomputed GI to keep it easy:
Unity Book of Dead walkthrough demo.
How many new Unity users would be able to recreate the custom occlusion probe system used?
The custom atmospheric scattering
Convert the high poly scanned models to game usable assets
Don't forget the the dripping sap effect from their first vid. That was pretty cool actually. 
The custom transmissive shader with thickness maps ( uh oh custom shader :) )
The custom object space normalmaps! Basically making all their rock etc surface shaders custom
Don't forget the clutter spawner that uses physics to populate the area with small fallen twigs and such.
How many new Unity users can create the wind vector field with a fluid simulation? And also loop it. Yes loop the simulated 3D vector field seamlessly. 
Because they use that. 

Honestly, why aren't you attacking them? Because no Unity beginner can do any of that. 
The AGK stuff I use is 10 times simpler. I have a few custom shaders, lol. Not complex ones either. Mostly just copying data around.
Compare that to what I just listed from a typical Unity demo.
Seriously, they show much more unattainable stuff in any of their demos than I ever would be able to produce.
They also had a team of 12 specialized pros working on it for god knows how long, a luxury a new Unity user prolly can't afford.
At least for the AGK demo it's also just one person doing it for fun. Working some evenings and nights.

Hope the point came across, even if it sounded harsh. Sorry for that, haha. No offense meant.

edit: _ Fun thing I just saw: the Unity guys got flamed for the same thing on PolyCount hahaha. _

Yes they all show stuff that can be done, not what will be done by the beginner level users.
But that's OK.
Here is the thing... people should see it as motivation and try to be able to do it, in the end that is what separates game devs from the chaff.


Qube

QuoteWhoever told you what instancing is should be fish-slapped.
Lol, I know what GPU instancing is, I've used it in Unity for trees and grass :P - Sorry, I didn't word it correctly. What I meant by that was a question as to if the whole scene was sent to the GPU each frame like if you were to use the inbuilt 3D commands of AGK?

Quoteif this is not game usable in your opinion, then what are those? Staticly frozen in a time bubble slideshows?  ;)
I was just curious if that scene could actually be used and interacted with in a game. For example throwing the chairs around, kicking the table, throwing the vase etc etc. Just wondering if there was some magic going on behind the scenes that would make it not game interactive as we know it as AGK's built in commands can not render that detail, lighting or shadows, hence why I say it's false advertising in a way for how the product is marketed.

QuoteHonestly, why aren't you attacking them? Because no friggen Unity beginner can do any of that.
I beg to differ. In Unity it's very easy to get good looking scenes using the built in tools and post processing effects. Sure it has many advanced features for "professionals" but it's way easier to make a scene look good without writing shaders than it is with AGK's built in commands. The very basics of Unity are easy to pick up.

QuoteHope the point came across, even if it sounded harsh. Sorry for that, haha.
I get exactly what you are saying but I just had questions about the scene. If you don't ask, you won't know. Don't go all shader snob on me :P

QuoteYes they all show stuff that can be done, not what will be done by the beginner level users.
I know that but let's take the market AGK is aimed at.. Here's what the website says :

AppGameKit is an easy to learn game development engine, ideal for Beginners, Hobbyists & Indie developers.
Now anyone can quickly code and build apps for multiple platforms using AppGameKit's Scripting system. With just a few commands you can have demos and games up and running on mobile devices.


So a new users reads that and see's the presentation video and gets to work on creating a very simple 3d scene. They soon realise that the commands built in to AGK just can not do anything even close to the presentation video, no where near it. On further investigation they realise that they need an advanced level of shader knowledge to which goes directly against the bumf that TGC use to sell AGK in the first place.

Hence my gripe at TGC using a shader driven example to promote "an easy to learn game development engine, ideal for Beginners, Hobbyists & Indie developers."

I'm not griping at you so please don't think I am :)
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

GaborD

#33
Haha, I like discussions like this :)
I know what you mean and I don't fully disagree. The website sells it as beginner tool.
I just don't agree it's fake advertising or such.
Demos like this are normal and every engine does it. And more extremely than AGK.
They show what the engine can do if you put the effort in. That should be clear to everyone.

And I will stick to what I said about new people recreating the demos, what Unity shows in their demos is harder to attain for a new user than the things shown in the AGK vid are for a new AGK user.
Yes the Unity user will have a big headstart up to mid quality, totally agree to that, but then he faceplants hard and has no chance whatsoever to reproduce the advanced demo stuff. So the headstart is irrelevant, he never gets to the goal.
The AGK user just needs to figure out a few custom shaders. Quite easy stuff actually. Yeah takes effort, but doable.
In any case we don't know what will be added to Studio yet or what some of the oldschool users will make available. Their forum has some talk about a shader editor for instance. We will have to wait and see what that guy means with it.

Scene stuff: Yes the double geometry only gets sent once, but that has no impact on what you can do with it. Generally, I keep objects separated. Honestly, if the scene is somewhat optimized with render state changes in mind, I don't see the need to do anything more "extreme" that would interfere with what you can do at runtime. So far I didn't run into geometry based slowpokeness in AGK. And I often have hundreds of thousands of polies on screen including the particles. In that regard the engine is pretty solid.
Lighting wise it's a combo. It does use precomputed lighting, but I set it up so that direct light is separate, so you could move some objects around and correctly mix their realtime shadows with the precomputed ones. It's kinda like Unity's dual lightmaps. (I think that's what they call it) Pretty standard stuff, I like keeping it simple.

And just for the record, I will go shader snob on everyone  >:D
It's 2019. Get with the program!

Qube

QuoteAnd I will stick to what I said about new people recreating the demos, what Unity shows in their demos is harder to attain for a new user
Unity's high end demo's are so pushing the limits that they don't even work for many users who download them and try to run them on Unity. I've even read some people report that it's taken 2+ hours just to import the scene before getting a zillion errors.

I will be sticking to my guns on this one though as advertising a BASIC simple to use language while demonstrating a more advanced shader output is to me a little underhanded.

None of this is aimed at you directly. Your work is outstanding and very impressive indeed.

QuoteAnd just for the record, I will go shader snob on everyone  >:D
It's 2019. Get with the program!
I'm old school ;D

Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Naughty Alien

..i was beginner for both, Unity and AGK..in Unity i was able to get things loaded, up and running in matter of minutes with visuals which surpassing AGK by magnitude of 10 for same assets given (i have been gentle here)..

..in AGK, you CANT load lightmap by use of their own command set, with 3D files they support natively..only demo which shows lightmap use is example with OBJ format which doesnt even support 2nd UV map channel, while it cant load lightmap  and attach it to file format which supports 2 UV map channels (B3D, X)..

So, dont get me wrong, i like AGK so its fine, but Qube is right on the spot here when we talk about false advertising...built in command set doesnt allow straight forward use of already built in commands, so stunning visuals presented by your very work are far away from anything AGK claims to be 'straightforward' and and beginner friendly..visuals exposed and AGK beginner friendly attitude is simply not  truth..

GaborD

Quote from: Qube on March 03, 2019, 02:32:57
None of this is aimed at you directly.
I didn't think it was. I understand how you mean it and it's a valid point to make and discuss.
I want AGK to get there and be easier to use for beginners who want higher quality rendering. Maybe some rendering/shader tutorials could be fun to make.

Quote from: Qube on March 03, 2019, 02:32:57
QuoteAnd just for the record, I will go shader snob on everyone  >:D
It's 2019. Get with the program!
I'm old school ;D
Fair enough :)

Qube

QuoteI want AGK to get there and be easier to use for beginners who want higher quality rendering. Maybe some rendering/shader tutorials could be fun to make.
Me too. I love coding in AGK and the visuals you've created are the best I've seen from AGK. I hope that TGC does a follow up video showing what can be created with the inbuilt commands, something produced professionally both 2D and 3D. Then highlight the advanced power of AGK's shader ability with your example.

I agree that a tutorial on the techniques used to create the presentation could be huge for AGK. If it could be done in such a way to remove the mystique around shaders while also showing how easy they are to integrate into AGK then I think that could only be great for AGK. I'm pretty sure there would be a big audience interested in learning more about shaders and applying them in AGK.

Talking of such things... Are TGC planning to provide the source for the presentation in later versions of AGK Studio?. I was thinking that if you could take that and document each part with separate examples then that would be a great learning tutorial.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

This is why I prefer to watch/read "tutorials": they show what can be achieved and you see "it get's created semi-live".
(sometimes they use premade assets but you are able to identify this while watching a tutorial - rather than a simple demo video).

In 3D (blender tutorials) you most often see the whole creation process and are able to "follow".


I assume a "how I created this scenes" by GaborD would be way longer than 1-2 hours (no timelapse) :-)
As said by others: with other toolsets you can create pretty looking stuff without much "indepth knowledge". This is something amateurs/beginners/... want to have. The ability to fine grain everything, to directly command/reroute the graphics render pipeline - is something required in a later or more sophisticated projects. And with bigger projects you will or at least might reach other limits of the agk package (collaboration, 3rd party integration, ... and surely other stuff).


@ what's presented
Think people are aware of that the shown stuff is not achieveable in hours by a beginner. If you watched a pixar movie you do not think that by just using "RenderMan" (or so) will transform your first created 3D cube into a fully fledged and cute looking 3D character.

People want to see that they could more or less easily create "standard" effects. They model a 3D ship and want to append a particle effect to the engines for a cool fuse-burns-fuel-effect ("thrust"). They want to drop in a box, set it to "explode" and it adds an explosion effect (configurable in a way to make it look more unique rather than using a simple preset all other games use too). They want the game to use "anti alias" if they desire. Want to have shadows and automatic global illumination (if desired) so stuff looks more cool. Lights must be just a simple to use thing: place it there, configure light type (sun, "lamp", ...) and it works.

They do not want to fight with shaders (but it should allow to do so!), they do not want to work with light probes (but it should be possible to adjust stuff). Beginner projects want to "toy around" with stuff - not to know everything of it just to create eg. a pong clone with a glowing fireball which enlights the whole scenery and emits particles when getting hit by the paddle.


GaborDs video shows what _could_ be done - but to sell stuff I think showing off "little prototype games" helps way more to sell your stuff to "beginners" than just presenting sophisticated stuff. Or - as said - tutorials (or tutorials about these little prototype games).


bye
Ron

Qube

QuoteIf you watched a pixar movie you do not think that by just using "RenderMan" (or so) will transform your first created 3D cube into a fully fledged and cute looking 3D character.
I downloaded RenderMan but couldn't find the "Pixar Render" button to make my stick man model look like a highly detailed AAA game model. Soooo false advertising ;D

QuoteThink people are aware of that the shown stuff is not achieveable in hours by a beginner.
That is true but in this case even someone with 10,000+ hours of experience of AGK could not produce the same results as the results are overall nothing to do with AGK's built in commands.

QuoteGaborDs video shows what _could_ be done
Most definitely. It's a superb example of what AGK's engine / shader ability can create. It's a fantastic example and GaborD has done a spectacular job with it and should be highly commended on what he has done. My gripe is with how TGC are promoting AGK Studio and not the excellent work of GaborD. I just feel that showing something that the built in commands alone can not produce is a bad move.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Rick Nasher

#40
First thing I'd seen in Unity was the 'Adam-demo', which looked pretty stunning to me.

Nevertheless, there was no where, never ever a playable version of that for was a high-end rendered video.

When using the Adam 3d model assets in a simple environment my laptop came to a near standstill, even without textures attached. Heck, in the very basic example that came with Unity, I couldn't even drive an untextured car around due to excessive lagging! lol
Unity is a beast, but for higher-end segment, plus I hate the OOP coding env.


GameGuru has some nice game demo's, which also make my PC crawl, but at least it was able to move round with textures on it, so you know it is possible to do it on the right gaming hardware and also if you keep it more simple and modest in AGK itself you *will* be able to create a nice game and let users set their desired level of gfx sophistication according to the power of their machine.


So uh, yeah. The only solution to take away this 'false advertisement' cloud is for AGK is to also include some high-end coding examples to actually show people what all you'd have to be doing in order to achieve(or even approach) similar effects as in GaborD's demo and add to that the bare minimum specs required to actually be able to run it too. They have to make clear that this is feasible for high-end machines only.


I think at least if they show his vid as a promo, they should include his demo code so new customers won't feel like: "Wt*, where is this marvel I've bought it for? I only see simple examples.. Have I been scammed?"

[EDIT]
Unity shows off first with render videos, but they also show a neat project like this:
FPS Example
I think AGK should invest into including something similar, but hey the physics engine isn't even complete and there are no spotlights so that makes it bit more difficult I guess.
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

GaborD

#41
Quote from: Qube on March 03, 2019, 08:26:18
QuoteThink people are aware of that the shown stuff is not achieveable in hours by a beginner.
That is true but in this case even someone with 10,000+ hours of experience of AGK could not produce the same results as the results are overall nothing to do with AGK's built in commands.

I just feel that showing something that the built in commands alone can not produce is a bad move.

I disagree. :) (Surprise!)
Anyone who has worked with 3D for a bit can make the tech for a demo like that. I only used very basic things on the technical side.
Someone with 10,000 hours of 3D experience should easily be able to do it in their sleep.
If someone personally chose to only do simple 2D for 10K hours in AGK and willingly ignored all of the 3D stuff, that's on them, they are not a valid point in the discussion.


Precomped lighting quality, model complexity (while keeping it optimized for realtime), texturing, overall style, etc are on the artwork side and unrelated to what AGK can or can't do. You have to keep the two separate. Demos like these are 90% art driven.

Saying "it looks like this because of shaders" or implying shaders (or whatever other tech gizmo) make all the dfference is a huge insult to artists and tech-artists working on such demos. You are completely devaluing their work just to make a point in a semi-related tech/marketing discussion.
I could remake the outdoor thing without shaders, 80% of the people wouldn't see a bloody difference.

A decent designer/artist/tech-artist with experience in game dev can pick up AGK and make something of high quality quite quickly even if relatively unexperienced as programmer.
If shaders are beyond their programming skill, they will be smart enough to pick an art style that works best without and still produce high quality output. That's part of being decent at what they do.

The whole "demo shouldn't show what newbies can't instantly do" only makes sense if you want demos to only use newbie art. Because the art is the key, not the shaders or the tech. Uh oh, poor marketing guys.


And LoadShader IS a built in command!  :P
Thus by extension shaders are built in.
(haha sorry, had to)

Like I said, I agree that currently it seems like a bit of a mismatch with the site, but I hope and think AGK Studio will raise the bar for non-experienced users along the way and the issue goes away. I am all for that.
If not, users will have to maybe help out and make addons and tuts. If AGK succeeds, it's good for all of us.

GaborD

#42
Quote from: Rick Nasher on March 03, 2019, 15:35:19
So uh, yeah. The only solution to take away this 'false advertisement' cloud is for AGK is to also include some high-end coding examples to actually show people what all you'd have to be doing in order to achieve(or even approach) similar effects as in GaborD's demo and add to that the bare minimum specs required to actually be able to run it too. They have to make clear that this is feasible for high-end machines only.

I agree higher end examples would be a good addition. That helps everyone, newbie, mid tier or experienced, there is always more to learn.
And beginners could get a feel for which direction to head if they want similar results.
I would like to see a featured user store. More budget for additions for them through their cut, some business for higher level users, help for new people. Win-win-win.

Hey hey, my stuff is not just for high end lol. Runs just fine on my midrange crapola.  :))

Quote from: Rick Nasher on March 03, 2019, 15:35:19
Unity shows off first with render videos, but they also show a neat project like this:
FPS Example
I think AGK should invest into including something similar, but hey the physics engine isn't even complete and there are no spotlights so that makes it bit more difficult I guess.
Some of the Unity examples are great. Good place to learn and they are usually great quality.
But they also have millions of budget and a team of 12 or so just for making demos.
Something like the Adam or Blacksmith demos must cost a fortune, but they do get good mileage out of them by later sharing the project files.

Qube

QuoteI disagree. :) (Surprise!)
Anyone who has worked with 3D for a bit can make the tech for a demo like that. I only used very basic things on the technical side.
Someone with 10,000 hours of 3D experience should easily be able to do it in their sleep.
If someone personally chose to only do simple 2D for 10K hours in AGK and willingly ignored all of the 3D stuff, that's on them, they are not a valid point in the discussion.
Totally wrong because someone with 10,000+ hours of experience with AGK can not produce that kind of output unless they know shaders.

QuoteSaying "it looks like this because of shaders" or implying shaders (or whatever other tech gizmo) make all the dfference is a huge insult to artists and tech-artists working on such demos. You are completely devaluing their work just to make a point in a semi-related tech/marketing discussion.
OK lets put the whole thing into perspective... TGC have shown a tech demo promoting AGK using PBR yet AGK does not even have any commands for PBR without the use of shaders.

That is what I find a bit naughty of them. It would be like showing how fast a BASIC language could do complex simulations only to find out it was all done via the built in assembly support.

I'm not dissing your work at all and have said so many times over.

QuoteI could remake the outdoor thing without shaders, 80% of the people wouldn't see a bloody difference.
I'm more taking about the indoor scene. That could not be done anywhere near that quality using the command set of AGK without shaders?

QuoteThe whole "demo shouldn't show what newbies can't instantly do" only makes sense if you want demos to only use newbie art. Because the art is the key, not the shaders or the tech. Uh oh, poor marketing guys.
The demo should show what the language can do. That's my point. I agree the best art work should be used. However, the PBR, the shadows and the lighting, all of that are not part of AGK's commands.

I know you'll disagree with me until the end of the world but I really do think it's unfair to tech demo something that the can't be done with the built in commands. Especially when it's sold as "AppGameKit is an easy to learn game development engine, ideal for Beginners, Hobbyists & Indie developers." and shaders are not easy to learn for beginners but AGK is!

QuoteAnd LoadShader IS a built in command!  :P
OK, you win ;D - I guess the next demo showing "AppGameKit's Scripting system" will be shader driven and all the grunt work required by the CPU will be via a plugin written in C++ but that's OK because AGK has commands for that too :P

QuoteLike I said, I agree that currently it seems like a bit of a mismatch with the site, but I hope and think AGK Studio will raise the bar for non-experienced users along the way and the issue goes away. I am all for that.
If not, users will have to maybe help out and make addons and tuts. If AGK succeeds, it's good for all of us.
Yes, I hope AGK does bring support for PBR with better shadows and lighting via native commands. There is no reason at all not to make that side easier for beginners to match with the other commands. Granted even creating quality PBR textures is no quick easy task but I bet many many customers would be pissed to buy AGK based on that presentation video only to realise that it doesn't even have support for that kind of output without resorting to shaders. They should have said on the ver first screen "here's a demo showing the power of AGK's shaders".

Sure, Unity and Unreal also push out the most crazy high end demos with AAA art created by teams + full on shaders pushing things to the limits but at the same time they say how the demo was made. TGC on  the other hand have given the impression that the new AGK Studio has a massive graphical leap over AGK Classic and using it's easy to learn scripting language can produce these results. Shady marketing :P
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

> They should have said on the ver first screen "here's a demo showing the power of AGK's shaders".

It's not AGK's shader - they are GaborD's shader. So there is no LoadShader("agk_ambientocclusion.glsl") (or similar).

They should provide basic shaders for a "acceptable good looking and well performing" look. People could use them - or create derivates of it (aka "customize").


@ GaborD
Hope the developers look over your shoulder and get a grasp on how your workflow is - and if your workflow was a kind of "widely accepted way of doing" then adopt this style and prepare their tools to incorporate with the workflow. Get rid of nasty needed file conversions, allow IDE-based adjustments here and there.

Just think of the hassle you had with some languages to get the output binary to the device ... IDEs need to handle deployment for you especially if there is no other way to "test locally".

Convenience is the key - and if it tackles your workflow it will cut development times.


bye
Ron