Jump to content
gamecreator

Requested Features and Improvements

Recommended Posts

Leadwerks is a very powerful engine but, like any engine, it's never quite complete. I've seen a lot of suggestions and requests and some of them have come up a few times now. I was curious which features the community truly wants so I decided to make a two-step thread.

 

Step 1 (this thread): Identify the list of features and improvements members need

Step 2 (next thread): Have the community vote on them

 

I've skimmed the suggestions forum and these are the suggestions that stuck out as most "popular":

  • Adjustable visual effects: HDR, SSAO, color grading, global illumination, motion blur, etc.
  • Built-in networking and automatic server/client synchronization
  • Character controller improvement, including obstacle navigation like climbing walls and ladders and 2D platformer support
  • Decals
  • Editor optimizations including custom folders for scene list
  • More Leadwerks-ready model and texture content (more workshop items): animated characters, buildings, nature, props, textures, etc.
  • New and updated projects with option to not add samle/template files
  • Physics improvement and greater feature implementation (including cloth/hair)
  • Speed optimization, especially for outdoor scenes (with LODs)
  • "Vegetation" painter
  • Water: ocean, lake, puddle, river, stream, etc.

 

I'm sure I'm missing some so please reply with whatever else you think the engine and community really needs (as a higher priority Josh should focus on, if he can).

Share this post


Link to post

I know I'm getting on everybody's nerves (at least Josh's) rolleyes.gif but...

 

API for editor plugins, pretty please!

 

As a teaser: Two days ago, Side Effects released a very affordable Indie version of Houdini. Also of the Houdini engine, which has an API to be integrated into other applications, and API-wise it shouldn't be too hard to integrate that with Leadwerks - if only there was an API for that... And then you could procedurally generate geometry, create road networks etcpp.

 

Pretty please...

Share this post


Link to post

Yes, I think Noshi's suggestion is a must have. I also think that Rastar's is necessary to encourage further growth of the engine (and to take part of Josh's workload off).

 

I would really like to see some sort of vegetation system soon as well as proper vehicle physics. The lack of these two features really narrow down the number of games one can easily make. Also, I would like the recast commands to be exposed to Lua users as well for us RTS people. :)

Share this post


Link to post
"Vegetation" painter

Seems will be in LE3 this year

Speed optimization, especially for outdoor scenes (with LODs)

Josh said he would bring LOD , but no news until today. About optimisation for bigger levels i'm not sure we will get something until someone makes a big game level and ask Josh about performance.

 

Character controller improvement, including obstacle navigation like climbing walls and ladders and 2D platformer support

Ladders and obstacle avoidance, climbing , like in mostly all engines even Unreal 4 is to you to manage that by code, juts google on how people do it.About 2.5D platformer you can already do it, using PhysicsSetPosition and SetOmega() to cancel undesired rotation velocities.

 

 

-----------------------------------

 

 

I put here some missing points, not specialy to make some vote , but more as some reminder or essential roadmap points that could be implemented in LE3 :

 

Editor :

  • - package compression and encryption in publish process
  • - detection and removal of all unused resources from the release
  • - custom folders for scene list
  • - window camera preview when you have a camera in the scene
  • - Better 3D manipulator Gizmos, Sliders support to tweak values,new toolbars/panels to manage many stuff (pivot ..)

Engine :

  • - Character controller improvement : any collision shape and size for characters
  • - Simple navigation functions returning some array of navigation points in Lua (no physics involved)
  • - Water
  • LOD
  • - Physics for vehicle ( cloth ? i doubt with newton 3)

Graphic features :

  • - Old visual effects incorporated : HDR, SSAO, motion blur , DOF
  • - Decals
  • - GodRays, atmosphere effects
  • Fast skin shader approximation for characters or aliens/monsters

In my dreams only :

  • - CSG tools for BSP (extrude,slice plane, slice loop, cut, extrude along spline, mirror selected)
  • - plugin system script for the editor
  • - Waves vertex system for ocean water , and shores system texture
  • - Optimisation systems for big outdoors levels
  • - Graphic panel like Flowgraph to manage States/Animations/blending (a real time saviour)
  • - ToneMapping
  • - Global illumination
  • - Physically based shaders system (metallic and roughtness map using environment maps)
  • - Bullet native support or Nvidia physix support
  • LE3 hiring programmers working on mobile platforms support

My better advice is simply just use another engine for a specific project idea you have needing features and tools not present in LE3 ( or code what is missing all yourself ).

 

What really bothers me is no project encryption present when publishing a project, missing water system, missing old graphic effects (SSAO, DOF, motion blurr ,HDR) not present today.

And that's stupid limitative character fixed cylinder collision laugh.png

 

Only having the engine or parts of the engine open source like the editor, would really speed the developement and bring new features at the speed of the light , just look at Blender developping faster like never before. But i doubt we will have that in LE3 as already discussed subject for LE3.0 and mobile for example.

 

Josh make things at it's own rythm and capacity, no need to annoy him requesting each time many things.

LE3 is progressing slowly but well (perhaps Linux is still slowing the devs ?) , so it should become better and better each time. I think it's too much work for one people only working on the engine, let's wait for trees/grass editor to come first sleep.png

Share this post


Link to post

My Top 3 would be 1. Water, 2. Character Controller Improvements, and 3. Vegetation System. Following right behind that would be Editor Optimizations (Mostly the Scene Tab) and Publishing Improvements (package compression and encryption in publish process).

Share this post


Link to post

Editor:

 

- Being able to move the UI elements such as the Asset Browser, and buttons would be nice. The Leadwerks editor is the only software I use daily that does not support this.

 

- Key Shortcuts. Seriously, it will increase the workflow by a lot Leadwerks had more shortcuts,

 

- Allowing people to edit their controls.

 

- More example content! Maybe the uncompiled model file of the Crawler, the pistol viewmodel would be nice.

 

Engine:

 

- Both C++ and Lua games should have a base menu script, or at least one in the MyGame sample game.

 

- Saving and loading system. Yes, there are tutorials and scripts around that do this but it would be nice if this was apart of the SDK. (Again, the MyGame sample)

 

I only been using Leadwerks for a month or so, and these main things plus some of what others suggested are my nitpicks so far.

Share this post


Link to post

Linux on steam, Macos support, Vegetation system and networking integration are more than enough for Josh to have his hand full until the end of 2014. It wouldn't surprise me if this would take longer than estimated.

 

@reepblue

Saving and loading system: What exactly are you expecting here? You can write and load int, float, string. Could you give an example of how your suggestion would look in the API?

 

Editor:

  • Listview for the assets. The thumbnails are either so small that you can't read the name or they are so big that it takes ages to find what you are looking for.
  • Vertext snapping. a selected entity snaps to vertices while a key is being is pressed.
  • Physics snap placement. A selected object gets moved downwards until it has a collision. Very useful for placing objects in the scenery.
  • Scene tab: dragging and dropping multiple selected files instead of moving everything one by one.
  • Rename model mesh in model viewer.
  • EditorScripts: Used for drawing or generating objects in the viewports. Use full for drawing lines (camera paths) for instance.
  • Sound node with range indicator: Sound nodes are very commong entities. Right now it is making a pivot and attaching a sound player object. Seems to me this would be a special entity. A sound range indiciator (like with a point) would be nice.
  • ToggleGrid option
  • Rectangle selector for entities in viewports.
  • Icon for the flowgraph editor
  • Zooming in/out flowgraph editor
  • Expose line editor as a script property
  • post-45-0-67740500-1407742881.jpg
  • Curve editor (bezier lines) script property

 

Terrain:

  • Invisibility patches
  • Base texture
  • Holding down control + scrolling mouse wheel to increase/decrease brush radius.

 

LUA editor:

  • basic support of intellisence
  • control + arrow keys to move quicker over lines
  • auto tab

 

API

  • Window:ResolutionSupported(int x, int y)

Share this post


Link to post

@reepblue

Saving and loading system: What exactly are you expecting here? You can write and load int, float, string. Could you give an example of how your suggestion would look in the API?

 

Again, I already know you can create your own saving and loading data system. But it would be better if this was built in. Please excuse me being that the only other Engine I really know is Source. Just quickly explanation, you define those bools, ints, whatever under a table and those values are then used to keep track of them. When the game saves, all the values under that table are saved onto a .sav file along with other entities were also saved.

 

I would think it would be nice if Leadwerks had a similar, or better way of doing this. But again, I know some people prefer to just write their own code and have things saved their own way in the end. Dunno, was just a quick suggestion.

Share this post


Link to post

Going off of what reepblue suggested, in terms of saving, it would be nice if you could also save the positive/rotations/keys of entities. This is important for some openworld games where on loadup, you expect the world to be exactly the same as when you last exited.

Share this post


Link to post

After reading Game Coding Complete v4 (GCC4), on page 100 the author describes what I find to be a good way to structure the game project. I wish Leadwerks could let me do this because right now I sorta got a ProjectRoot mixed with GameRoot and Assets. So it is not scalable if more people (5+) where to work on a game project.

 

/ProjectRoot

+ /Assets <---------------------- Folder for raw arts and blender files etc.. (artists got their own version of Source folder)

+++ /Art ...

+++ /Models

+++ /Sounds

+ /Docs <----------------------- Here goes any documentations and game design docs

+ /Game <---------------------- This would be the game-root directory (latest release)

+++ /Data <----------------------- Main folder for (finalized) game assets

+++ /Redist ...

+ /Lib <----------------------- 3th party libraries

+ /Source <---------------------- This is the root folder for cpp/h-files

+ /Temp <---------------------- When compiling the project, messy temp files and what not.

Share this post


Link to post

Sorry for flooding this thread with suggestions...

 

Support for more file formats:

-Could ogg be supported? It's way too much data using wav for music.

-Hopefully other 3D file formats could be imported as well (such as obj), this isn't that necessary though

-Support for other heighmap file formats. I have no idea why raw is the only format excepted, it's not even a common format. Why can't bmp or png images be used as well?

Share this post


Link to post

Something I could use many times already is better texture controls in UI on individual solid geometry such as simple scaling and translation of assigned materials. It would allow for much more use of solid geometry provided by engine too, rather than making pieces outside the editor. Probably boost performance too, I would imagine. If I had that then cooler CSG creations tools would be great. Those are the major ones - all having to deal with CSG. After that, I would vote for just prettier graphics like the visual effects you mention, physics, and particles are always cool but more flare than actually necessary for good game play.

 

Never mind the bit about texture mapping - found it. So, yes, more CSG option would be nice.

Share this post


Link to post

I can remember, when in the very beginning of Leadwerks 3.0 everyone wanted GUI-features... I wonder, why nobody put this here.

 

+ detection and removal of all unused resources from the release

 

I think, this would be the root of all evil. You would have to check all strings from the code, because you can also load assets by code. Also what about assets that aren't even specified at compile-time? You can dynamically modify those strings, like e.g. in a LOD-system where you would e.g. name one level of a model barrel1.mdl and the other LOD-levels would just increase the number, like barrel2.mdl, barrel3.mdl etc. and the code would just take the model name and increase/decrease the number. This would not even be possible to be detectable.

Share this post


Link to post

I think, this would be the root of all evil. You would have to check all strings from the code, because you can also load assets by code. Also what about assets that aren't even specified at compile-time? You can dynamically modify those strings, like e.g. in a LOD-system where you would e.g. name one level of a model barrel1.mdl and the other LOD-levels would just increase the number, like barrel2.mdl, barrel3.mdl etc. and the code would just take the model name and increase/decrease the number. This would not even be possible to be detectable.

 

I think at that point, Leadwerks would only be responsible for anything either loaded in the editor or static names through code (or both). I think a better design would be to require that the dynamically loaded objects (such as barrel1.mdl, barrel2.mdl, etc.) be added manually since there is no way to predicting this. Also, on a related note, I'm not a huge fan of the editor loading everything each time you start up. My start ups take a while, but I like keeping assets on hand in the menu and only loaded when needed.

Share this post


Link to post

I can remember, when in the very beginning of Leadwerks 3.0 everyone wanted GUI-features... I wonder, why nobody put this here.

Though I haven't used it, there is an apparently very powerful GUI solution promoted here. There are also free solutions, in various states, provided by the community. Finally, the Leadwerks Kickstarter had it as a stretch goal but the stretch goals were added late and so that one was $2,642 short of becoming a reality. That said, Josh mentioned that he saw that there was clear interest and I believe he said he will likely incorporate it eventually.

 

Edit: found the mention on a Kickstarter update from July 31, 2013.

It's clear that the visual GUI designer stretch goal is something many people would like to have. The idea could probably use more refinement, and I'm not going to make spur-of-the-moment development decisions, but the feature is a very good candidate for future development.

Share this post


Link to post

Some things i would like to see

  • Substance Designer/Bitmap2Material integration
  • Space Screen RayTracing Reflection
  • Object Snap to Grid
  • AI Behavior Tree
  • Node Based Shader Editor
  • Physically based shader
  • Real Time Water
  • Global Illumination
  • HDR, SSAO
  • Virtual Texturing

Share this post


Link to post

My Top 3 List (for now):

  1. Performance Optimisations (both indoors and outdoors)
  2. Full CSG tool kit (carve, slice/cut, extrude, hollow)
  3. Improved Character Controller

Share this post


Link to post

Here is my List -

 

1. Performance Optimizations

 

2. An API for Plugins (tools like Houdini engine, Substances, and user created plugins etc. need to be supported)

 

3. Networking Support

 

4. 2D Support for Leadwerks

 

5. A Visual GUI Tool

 

6. Android/iOS Support for LeadWerks

Share this post


Link to post

I would think it would be nice if Leadwerks had a similar, or better way of doing this.

I can see that work. Maybe a tag that you can add after a variable could indicate that it needs to be saved when a save function is called.

Script.levelProgress = 10 --Serialize

 

 

6. Android Support for LeadWerks

I really doubt Android is coming back. It was dropped 6 months ago.

Share this post


Link to post

I really doubt Android is coming back. It was dropped 6 months ago.

 

I really want to see Android and IOS see a comeback for Leadwerks. It is really the only thing holding me back from picking up a few more copies of LE3 for a few people.

 

Anyway - Here is why I bring that Up.

1. There is money to be made in the mobile app markets how much? 25 Billion according to this

2. Quality games on Mobile Sell allot!

3. I want to target mobile initially because almost every game on the appstore/Playstore SUCKS! They are either pay 2 win games, Ad Driven, etc. I think I can do better by treating my customers with respect and dignity.

Share this post


Link to post

My Top 3 List (for now):

  1. Performance Optimisations (both indoors and outdoors)
     
  2. Full CSG tool kit (carve, slice/cut, extrude, hollow)
     
  3. Improved Character Controller

 

 

One and Two are excellent requests. I haven't worked much with character controls yet but if they are lacking as you suggest, those I would too back up. I have noticed two the most but performance optimizations are always good.

Share this post


Link to post
I really want to see Android and IOS see a comeback for Leadwerks. It is really the only thing holding me back from picking up a few more copies of LE3 for a few people.

This has been discussed heavy a lot before, Android is very large park of mobiles devices, so there is heavy bugs of compatibility , you must make optimisations, it's too heavy work for one persone working on the engine, no need to slow down LE3 PC/Linux.

 

4. 2D Support for Leadwerks

A good engine for 2D is one that have many tools in the editor, like timeline animation editor, sprite management and collisions,Auto Atlas ,2D physics , 2D optimisation, this would again slow down a lot LE3 3D features to come or it would require to hire a programmer to bring us the tools.

5. A Visual GUI Tool

You Have Neosis that is not cheap and uses Microsoft tool to visually make GUI. Or you have people made their own GUI using LE3 draw commands, you can re use these perhaps , you can achieve good results without using some GUI editor kwnoing where you want your menu or buttons on screens. Or if you have C++ LE3 you could implement Open source GUIs perhaps.

Share this post


Link to post

Here's my list of things i'd like to see improved/added. smile.png

 

- Performance improvements (both in editor, as ingame): I currently have quite a powerfull machine (Specs: Intel® Core™ i7-4770 processor 3.4 GHz, Windows 8.1, 16GB Memory Type: DDR3 1600 MHz, Hard disk capacity: 2.000GB, SSD Capacity: 256GB, Video Card: NVIDIA ® GeForce ® GTX 760 graphics card with 1.5GB of GDDR5 video memory), but yet the framerate drops to around 30 fps (ingame) when running the 'AI and Events' -map on a screen resolution of 1920*1080. Even a simple scene (1 directionnal light, 1 terrain, 10 low poly models (1K each), the crawler and three postscreen fx (bloom, dof and vignette) makes the framerate drop to +55 fps.

I can also notice lag or stuttering when moving the character (it's even more noticeable when looking down to the ground).

 

- Editor improvements:

- Uniform scaling (transform widget);

- Vegetation painting;

- Road/river tool (the road tool in LE 2.5 was pretty good, maybe something similar for rivers);

- Scene view enhancements (search box, method to organize the items in scene view better);

- GUI editor: a very basic GUI tool should be available for those not willing to buy third party tools, or don't know how to make one;

- Water/Ocean (buoancy, underwater fx, maybe even watersplashes/ripples smile.png);

- GSG (slice, carve, extrude, etc...);

- If possible: option to hide/show/dock panels, customize the window layout;

- Option to have custom icons on items we create, so that we can quickly see what is what in the scene views;

 

Import enhancements:

- When importing a model that has names for the different meshes, they all get renamed to 'surface01', 'surface02', etc...

Why not have them named after how they are called in the original model?

 

And, of course, all improvements on shaders that have been mentioned are also greatly appreciated. I love visual fx, so anything that is added, is a plus. biggrin.png

 

I might add more things later, but this is it for now. Thanks!

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...