Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Showcase / AGK World Builder

Author
Message
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 20th Jun 2018 03:36
Ok, so I decided to start a thread here to get some feedback and idea's from people as to where to get with this next. This short video shows the little town of Claire Ville that I built to test it out. So far we have:

*landscape shader, full terraformable and controllable for the textures
*grass and path generation
*full object manipulation (place, scale, rangle, move, color etc)
*tree and bush placement using custom shader to create dfferent looking trunks
*controllable light (position, color, strength)

This is sitting at about 1110-140fps in full 4K for me, or around 250fps in HD. What I plan to add next is:

*water
*hardcoded landscape shadows
*dynamic shadows for objects (need to get one that works with my custom light - toying with a day/night cycle)
*clouds and sky (got a natty idea on this)
*more grass, with multiple types and zoning
*better control over trees and leaves (currently only one leaf texture is used for all plants)
*A nice distance based landscape fog shader (about 50% done, fades the landscape to an indistinct color then gradients that out into the sky. Good performance boost and starting to look good)
*some form of billboard system for trees

Open to any suggestions as to what might make this better - all assets are from free to use online sources or built, so some have messed up normals that don't respond to lighting - that's not the fault of the code.

Rick Nasher
1
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Jun 2018 09:06
Good job. Looks very promising.

Do the FPS drop a lot if you turn on realtime AppGameKit shadowing? If not, what does it look like?
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 23rd Jun 2018 14:33
Can't use AppGameKit shadowing as that only works with the sun, which this doesn't use. Spent last night writing code to do pre rendered landscapes shadow maps, which is now working well, and going to look into blending close up objects with my own shadows next.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 23rd Jun 2018 17:22
So here's another shot of the pre-baked landscape shadows, now with full interaction with items, trees and paths.

The idea here is that these will allow the landscape to shadow at any distance, with dynamic realtime shadows kicking in for objects up close. I have restrict the rendering of tree shadows depending on how good they look once included. Fnal stage is to get grass shading based on these so that it gives the illusion of shadows as well.

This does mean no day/night cycle, though you can still render the sun from any position.

Attachments

Login to view attachments
Captain Ouais
14
Years of Service
User Offline
Joined: 12th Dec 2003
Location: France
Posted: 23rd Jun 2018 20:52
it's super impressive !!!!!!!!!
it leaves me speechless!
I do what i do !!!
janbo
9
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 23rd Jun 2018 23:17 Edited at: 23rd Jun 2018 23:19
What do you mean by: "Can't use AppGameKit shadowing as that only works with the sun"
Are the shadows baked or say pre rendered... or are they dynamic shadows... did you write your own shadow shader or use AGK's

Make the grass sway dependent to the position so they don't do the same swing at every location(I guess they aren't animated but distorted in the vertex shader)
For this you could actually use gerstner wave calculations, like I did for the Ocean waves.(you can change the settings so it looks like wind is blowing over the terrain/grass)

good project
puzzler2018
User Offline
Joined: 8th Oct 2017
Location:
Posted: 23rd Jun 2018 23:31 Edited at: 23rd Jun 2018 23:39
We are all learners here with us having less than 9 years of experience with AppGameKit,and im sure Santman or anyone with those years of AppGameKit to produce some magical astronimical results.

Good project indeed

PS what games have you developed and is out on the market that your making money on Janbo... Just out of curiosity...
janbo
9
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 24th Jun 2018 09:32 Edited at: 24th Jun 2018 09:34
Lets not hijack his thread but...
You can see all my published games in my signature and I recently got a new job as a programmer in a very large hospital.
The games don't make much money (if at all) as I never took care of "PR" really.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 24th Jun 2018 14:04
Janbo,

The shadows here are baked, pre-rendered images that are just applied as a texture - it let's the landscape get decent looking shading at any distance. What I mean about AGK's shader is that you can only use it with the internal "sun" light source, where as I want a point light version. Plus I wanted something better, with smooth shadows, using the same image - the idea being that the shader would stop drawing the shadow map at distance X then swap to realtime, so that tree's etc moved. I looked at some alst night, but I think that's beyond me though.

The grass did at one point move independantly using the vertice X and Z positions to do a sine calculation, but since it scaled up for the landscape it actually stopped working - it's something I'll look at again some time, but for now I have some more fundamental issues. What I planned to do was overlay a texture in the shader with a wave pattern and then offset the vertex positions based around that - will see.

TO be honest, I'm never going to make a 1st person game so debating stopping now - I made a civ game a long time ago in 2D which gained a good bit of interest on Kickstarter and Google, but the 2D let it down. Now I have everythig I need to make it 3D.....good shaded landscapes that can be procedural, a method of group mehes together (for clumps of tree's), shaded water, shadows.....I may swap back to that and see how I get on.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 24th Jun 2018 14:06
Actually on that point, one major block I have to shadows is rendering a depth image never works....at all, I just get an OPEN GL EXTENSION error. Doesn't matter if I use a render image or a quad, I get an error. I wonder if it even works in AppGameKit on my hardware.
puzzler2018
User Offline
Joined: 8th Oct 2017
Location:
Posted: 26th Jun 2018 22:21
We, ya all maybe all in the wrong businesses here, our heart and soul must be within game development which is indeed correct.

Time to develop yourselves and make the #1 one app(s).


Follow your dreams
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 27th Jun 2018 11:24
Puzzler, my heart and some really is in game development......but its not my job, which is full time and very demanding. Surprisingly i code for relaxation and fun. Lol.

But in terms of this, it's just not a productive use of time. The GG loader is the one stop for 3d in AppGameKit, especially when combined with Janbos sharers, and the incredible demands to produce anything in 3d (Time, resources, optimsation) make anything decent out with the remit of a single person I think, 1st person wise. So like Minecraft, this is learning for me for something else really (though I do like my distance fog shader, quite happy with that lol).

But everything I need to learn to convert my Civ game to 3d is in place......so that's probably where I will go next. Might finish the shadows though, but only cause that's annoying me.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 5th Jul 2018 21:53
Ok, so a little bit of an update after a good days coding - fianlly got around to reworking the grass/fauna system.

So in this short demo we see how the World Builder allows you to create and edit any aspect of grass as you see fit, covering:
*alter density, random scatter, size
*change the image at will - including up to 8 texture atlas images to allow a vast array of grass imagery
*images now linked to the world "chunk" - so every chunk of the world can have totally unique fauna to others to create hugely different worlds
*redone shader to add better movement

On top of these here we see new trees, with a redone shader which includes:
*multi-texture approach - base texture and secondary texture mapped against a mask to create variety
*seperate mask to control moss/artifacts on the tree for greater variety (refined control coming soon)

Also some bug fixes. As always.

So in terms of just the grass/trees, any suggestions for improvements? (Sorry for the audio, the microphone is right next to the PC fan)

Jack
13
Years of Service
User Offline
Joined: 4th Oct 2004
Location: [Germany]
Posted: 7th Jul 2018 14:26
Good work!
As I see, there are multi-plane objects for the grass/weeds, at least 12 Polygons each.

Do you have some sort of LOD model with a simple Billboard for the Weeds far away?
This can save a lot performance that can be used to add even more weeds to the scene.
Maybe an automatic LOD Billboard rendering pass for each type of weed model?

Do you plan some sort of dynamic chunk media control?
I can imagine, this will work quite well with giant maps.

[/url]
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 7th Jul 2018 21:26
At the moment the shader controls the render distance, so beyond a user controlled limit the grass doesn't render.....when it's done it will fade in so past that distance just won't draw. For trees and bushes and such I plan to implement a billboard system if I can, drawing the model closer than a certain point and the billboard behind. Time will tell there, it's tier 1 so limited in threading support for that to work effectively.

Yup, that's literally what it does. The default map is 8*8 chunks, but I plan to allow map referencing look ups so you could create as big a world as the machine can handle, using reducing LOD models for distance....so where as now the close up landscape is based on a 256*256 mesh, further away will be half that, then half that again for the max. Hopefully. The distance shader is working really well, with height and distance based for, so it's really shadows that I need to crack, maybe using Janbos base. The built in ones are really slow, and the trees look rubbish with it.

The interface and load save routines are almost done, so hopefully I'll add water objects, and clouds soon. Then lastly what I aim to do is introduce occlusion zones - areas outside of which assigned objects are deleted. So for example, the contents of a house are not loaded until you enter a zone around the house, then deleted when you leave it to allow performance.

Failing that I'll do Skyrim style, and just stop to load a separate area, depends.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 15th Jul 2018 22:30 Edited at: 15th Jul 2018 23:45
Quick update with a few new screens.

*worked a lot on tree's and grass, with new shaders for each (better lighting)
*fixed depth issues by moving transparency out of AppGameKit and into the shader
*full editing is now possible on all attributes for trees now
*diffuse colour added to the shader to allow even greater diversity for trees
*test shader for objects (some still have broken normals/no textures)
*auto generation of mountains now added - build massive, random mountains in a single click

Looking for ideas as to what to include next? Currently all i have left planned is:
*water objects
*shader clouds
*roughen tool for the landscape
*roads
*increasing grass types per chunk from 3 to 8
*landscape normal mapped transparency
*maybe looking at a custom shadow shader

But in terms of a world building tool, what else would you want in it?

Attachments

Login to view attachments
Golelorn
1
Years of Service
User Offline
Joined: 20th Nov 2016
Location:
Posted: 17th Jul 2018 04:08 Edited at: 17th Jul 2018 04:09
I've been trying to mess with this stuff, too, and I think I am going to give up, and wait on this!

It looks insanely awesome. At least, I am hoping you put this up for sale... don't get my hopes up
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 18th Jul 2018 16:55
Thanks Golelorn....though I don't think it's quite insanely awesome......yet.

If it gets to the stage where it's good enough and there's demand I will certainly look at releasing it....think the provissional roadmap will be complete in about 2 months or there about. Still some things to add, mainly interface related, but towards the end of the month th I plan to do a live stream showing a simple scene being built from scratch in about 30-40 minutes....quite proud of how easy to use it is so far.

Don't give up though, keep at it.....it's all essential learning that can never be anything other than beneficial. No one is born with knowledge....EVERYONE learned at some point.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 30th Jul 2018 03:23
So more to keep the thread live than anything else, a quick demo of the newest (very early) feature......clouds.

Someone asked for swaying grass, so I focus on that so you can see that's already in, but then the real fun starts....as I look to teh sky and then slowly add clouds. Note, in this video they are hugely sped up for effect - they would normally be much slower, obviously.

So some key features:
*controllable via the shader to set the density (will link to weather and rain/snow later - got a wicked idea on how that might work)
*speed (normally) is controlled by the standard WINDSPEED variable in the engine, so if you make it windier the grass moves faster, the trees sway harder, and the clouds move faster
*look closely and follow them - you'll see them form and disipate in realtime (quite happy with that effect actually)
*negligable frame rate hit (I loose about 4 fps with them, still well above 60fps in 4K)

Thoughts and comments welcome as always.

puzzler2018
User Offline
Joined: 8th Oct 2017
Location:
Posted: 31st Jul 2018 23:55
I think you are doing remarkably well - cant fault you on anything. Amazing product
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 2nd Aug 2018 09:59
Thanks puzzler. Sure there are many things to fault, but thank you. Lol.

Got distracted with shaders again.....putting back in normal mapping and specular, but the normal mapping is much improved now....next update should show a difference.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 29th Aug 2018 01:51
Just keeping the thread alive.

Been doing a lot of background work lately, but now have a seamless and improved day night cycle, weather effects and a few other things. Proper update coming soon.
GarBenjamin
1
Years of Service
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 29th Aug 2018 05:40 Edited at: 29th Aug 2018 05:41
Excellent work. The last video is quite impressive for sure! Not just the clouds but whole scene and the dense grass and so forth.
Santman
7
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 29th Aug 2018 09:22
Thanks Gar. Once the tools are all in place I'll spend more time building a world, then it will improve.

Performance is the issue right now. Spent some time working on a multistage render system though, and although it's not perfect it's kind of working.....using normal sync in 4k with normal mapping I get about 34fps......with the new method I get about 110.

Which means without normal mapping in 1080 I get about 260-300.....putting it back into mobile territory. I'm now confident I can hit 50-60 fps on a decent mobile using the new system, if I can remove the glitches.

Login to post a reply

Server time is: 2018-09-23 22:44:40
Your offset time is: 2018-09-23 22:44:40