NOTE: Skip to paragraph 4 to get to the main subject of this feature request.

Introduction: Greetings Conitec, Gamestudio community, and most of all JCL. My name is Exile, but I will come to you all today as Kenneth Howell. The reason being that this, to me, is a serious topic and I hope to keep this as professional as possible. So without further adieu, I will begin the explanation of my feature request. And I hope others who are more knowlegable than myself can offer their support and comments in this topic as well.

1p: First, let me begin with what 3D Gamestudio does great. When I first came to gamestudio in the early A5 days, I was 12 years old. I had absolutely no idea how to program and had no idea where to begin. This is where my first compliment to the engine comes in, the template system. Though its all but gone these days, the template system was a great way for beginners to start with the engine and get their hands dirty. It was how I learned what I know today, and how I am sure many of you have learned as well. After I began learning how the basics worked, I started working with the tools which came with this great engine. I am talking about WED and MED then afterwards SED. These tools, while basic, served their purpose in giving the user (myself) the tools to do things on their own and to get an understanding as to how level design and modelling even work. Though the tools of the subject are relatively outdated these days in comparison to most other tools available, their purpose is not to be an end all-be all solution for your level and modelling needs. But rather a way to make quick and easy assets for your project. Which it succeeds in. In the end, Gamestudio as always favored the programmer over the artist, which is why many of us have stuck around. But, it is also one of the major reasons why many of us have left as well.

2p: Over the past few years I have been seeing this forum become less and less popular. Dieing if you will. I remember in the A6 days where I would post a comment or ask a question and I would get many responses within minutes to hours after posting. These days, the community seems sparse and I dont believe that is entirely the engines fault. Things like the harsh truths of reality have been the determining factor for many of our members packing their bags. But one of the things I have noticed in the past few months is something I haven't seen before.

3p: The general consensus I seem to feel by reading the comments of this board is that 3DGS is dead/dieing and people have lost faith in JCL and Conitec. The biggest complaint I have seen amongst the users has been Gamestudios currently barely passable lighting and shading system. I have seen suggestions like Differed Lighting and other lighting/shadowing techniques being passed around but I don't feel that any "one" of those is a viable solution for reasons I will mention later. I feel that what Gamestudio is missing, is a true solution to shaders and lighting/shadowing techniques, and guys I think I may just have the answer.

4p: Here's the scenario. You are at work on your game and decide "You know, I want to add some lava here". So you open your level in WED (or possibly MED) and begin working on adding some nice looking lava to your scene. You add a couple lights and a couple effects and generate a build. As you look at it you think "It looks ok, but its not how I want it". So you start toying with shaders to give yourself a solution to your specific needs, but don't know where to begin. This is where the general idea behind "Light-Tree" comes in.

5p: Light-Tree would be a visual shader and material editor, but with a slight twist. You see, you cant just magically make two shaders work together as there are techniques and things that you need to take note of. So what this program would do is render a simple scene with sunlight, a spotlight, a point light, a large wall, a small rotating square, and a rotating circle with alpha channels. From here, the user would start editing and customizing their own lighting system visually and subsequently, their own shadowing system as well. Maybe they want a vertex lighting system? Or maybe a per-pixel? Its entirely up the end user!

6p: So the user has made a lighting system they like, but what now? Well this is where Light-Tree would really shine. After making their lighting system they would then select their scene as their new "work zone", being an area which they would build their shading system off of. Here, they would add other effects like bump mapping, specular highlighting, Parallax mapping, etc, to their workzone where the effects would be completely built around their own lighting system. They would be able to save multiple materials, maybe a plastic pr metal or chrome shader, still built around their own custom lighting system. So the user has finished getting the lava effect they want. So what now?

7p: From here, the user simply selects the "generate" option. This would then generate two files (.fx and a .c) which they would include in their project. Afterwards, the user would then open up WED to see their new world. But how would they generate it? I introduce to you a new section in the "build" menu called the "custom lighting" option. This would have the builder build the users level without any engine lighting including the sun, static lights, dynamic lights, etc. After the user has done this, they would then begin adding lights to their level. But not with the standard engine lights, but with a new light object called the "custom light". The custom light would simply be a light object with an action attached to it (defined in the .c file generated by Lite-Tree), which the engine would create a light source based on the properties within its action. Afterwards the user builds, saves, runs, and beholds their brand new world!

8p: This is the vision I have for a tool like this. I really feel that this tool could be extremely useful within the community. Surely a tool such as this would require manual optimization which would fall upon the user. But this tool wouldnt be used for publishing a AAA title, this tool would be used as a viable stepping stone into shader programming as well as offering a live and fast editing alternative. Take a look at this tool I stumbled across during my research...

http://gamestart3d.com/blog/introduction-shader-tree

This program is nearly exactly what I am thinking of for 3DGS. As I stated before, this tool isn't an answer to all of the problems of the engine, nor is the the answer to everyone's shader problems. But a tool like this would be a great at giving artists and non artists alike the ability to produce great looking results without having to dedicate time to learning a new language or constantly built-edit-repeat their code. I ask any members of the community with great knowledge in shaders to please post on this topic, as your input would be greatly appreciated and needed.

Thank you all for reading this extremely long request, and I hope you all have a great day laugh