Feature requests

Feature requests

gajop's in-engine scenario and map editor

Moderators: Moderators, Content Developer

gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Feature requests

Post by gajop »

I'd like existing (hah!) and potential devs to post feature requests here. Anything that you feel is desperately lacking in Scenario Editor and similar tools, and has something to do with map making or level editing would be welcomed.
In addition feel free to use this thread to point to existing solutions from other tools/engines that you would like implemented here.

The list of existing issues (some being new features) can be found here: https://github.com/gajop/Scenario-Editor-Core/issues . Check milestones to see what'll be implemented next.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Feature requests

Post by Jools »

What is scenario editor? I tried to look at the documention, but there is none about what it is and what do i do with it.

I guess it's some kind of map/mission editor
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

Obviously the primary purpose is to make scenarios (missions), but I also plan to make exports to a pure-map format (no code, i.e. no triggers), and the featureplacer format, so it could be used for map making/editing as well.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Feature requests

Post by Jools »

Support for xta would be nice. What's needed? A game_end gadget and a game_spawn one?
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

I'll check when I get home, but it's probably pretty similar to BA: https://github.com/gajop/Scenario-Editor-BA
It'll likely need:
1) game_end gadget overwrite so XTA doesn't end games prematurely
2) luaui.lua and luaui folder to overwrite widgethandler in order to support textinput behavior
3) maybe some XTA-specific triggers (doubtful, but again, I don't know much about XTA)

Once I get it working I'd like to ask you to try it out and see if something important is missing. In case of ZK for example, you can't yet edit commander first factory free + instant-build status.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

Check it out: https://github.com/gajop/Scenario-Editor-XTA . Seems to me like it works (mostly based it on BA).
Additional install instructions can be found : http://springrts.com/phpbb/viewtopic.ph ... 37#p559437 , and apply for all games.
aeonios
Posts: 202
Joined: 03 Feb 2015, 14:27

Re: Feature requests

Post by aeonios »

I'd like to see a separate scened-map front end for doing game-independent map editing. There's a lot of features/UI stuff that's unique to map making that doesn't apply to game-specific scenario editing and vice versa, so it seems like it would make better sense to keep them separate.

I've thought of lots of cool stuff you could do with the map making end too, like layers for heightmaps and texture paint, and lots of different ways to manipulate height. A few examples there would be like being able to have tileable height textures, being able to specify the height scale precisely so you can get consistent/well controlled results when stamping/blending height textures, being able to alpha blend height textures to get smooth transitions and with layer modes create various effects. I've thought of lots of random stuff like that in the course of making maps between SME, blender and whatever other tools, although I haven't really compiled a list or anything.

Sadly I haven't been able to get scened working thus far, not that I've made that much of an effort. I did try pulling scened-core/scened-zk off git, and sort of got it to launch, but then I had no interface in game (including a means to exit!). That said, I haven't been able to see how scened is organized or how it works so I really don't know what's good or what could use improvement.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: Feature requests

Post by PicassoCT »

Most awesome cutscene competition
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

Thanks for taking interest in this, I really appreciate it.
aeonios wrote:I'd like to see a separate scened-map front end for doing game-independent map editing. There's a lot of features/UI stuff that's unique to map making that doesn't apply to game-specific scenario editing and vice versa, so it seems like it would make better sense to keep them separate.
I can't think of any map-making unique features that can't be applied to the process of scenario editing. The scenario creation process inherently includes map making as one of its core concepts, and adds to it. What might seem useful is removing all the scenario editing tools that might clutter the interface and confuse the user, but I think it's not a problem right now.
aeonios wrote: I've thought of lots of cool stuff you could do with the map making end too, like layers for heightmaps and texture paint, and lots of different ways to manipulate height. A few examples there would be like being able to have tileable height textures, being able to specify the height scale precisely so you can get consistent/well controlled results when stamping/blending height textures, being able to alpha blend height textures to get smooth transitions and with layer modes create various effects. I've thought of lots of random stuff like that in the course of making maps between SME, blender and whatever other tools, although I haven't really compiled a list or anything.
Not sure what layers for heightmaps would be.
Layered textures remind me of this: https://www.youtube.com/watch?v=wv93lt_wXbQ&t=314 .
That sounds pretty powerful but implementing it would be.. interesting ;) Basic texture painting needs improving first, textures themselves look pretty ugly as it is.
Precisely specifying heightmap can be easily implemented.
Smooth transitions are already possible using the smooth tool.
aeonios wrote: Sadly I haven't been able to get scened working thus far, not that I've made that much of an effort. I did try pulling scened-core/scened-zk off git, and sort of got it to launch, but then I had no interface in game (including a means to exit!). That said, I haven't been able to see how scened is organized or how it works so I really don't know what's good or what could use improvement.
It's quite likely you didn't pull scened-core correctly, check the instructions here: https://github.com/gajop/Scenario-Editor-Core/ . You probably didn't use --recursive which didn't pick chiliui and other libs, so nothing worked. I think you could fix your current repo with "git submodule init" "git submodule update", but a clean and correct pull might be best.

Thanks for the feedback!
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Feature requests

Post by Jools »

gajop wrote:I'll check when I get home, but it's probably pretty similar to BA: https://github.com/gajop/Scenario-Editor-BA
It'll likely need:
1) game_end gadget overwrite so XTA doesn't end games prematurely
2) luaui.lua and luaui folder to overwrite widgethandler in order to support textinput behavior
3) maybe some XTA-specific triggers (doubtful, but again, I don't know much about XTA)

Once I get it working I'd like to ask you to try it out and see if something important is missing. In case of ZK for example, you can't yet edit commander first factory free + instant-build status.
I didn't see this post before: what do you mean by ending games? Declaring game over?

There are many gadgets that can declare game over in xta, depending on whether you play king of the hill, commander ends or normal kill all miffos. What is it that needs to be overwritten?

Would it it be okay to set a GameRulesParam that this is a mission and game ends gadgets please let mission manager handle game end?
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

Jools wrote: I didn't see this post before: what do you mean by ending games? Declaring game over?

There are many gadgets that can declare game over in xta, depending on whether you play king of the hill, commander ends or normal kill all miffos. What is it that needs to be overwritten?
I think I managed to make it work (haven't checked in quite a while, and XTA reference in modinfo probably needs updating): viewtopic.php?f=85&p=561445#p561445
Issue was configuring it to not exit while developing scenarios for XTA. Normally XTA would detect a game end and close it before.
Jools wrote: Would it it be okay to set a GameRulesParam that this is a mission and game ends gadgets please let mission manager handle game end?
Don't bother with this for now if it works. Rather try it out if you're interested.
One day I'll get back to mission specification and get something all games could use.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Feature requests

Post by Jools »

Thanks. I'll test it but I should say that DnW is in charge of xta misisons and knows a lot more of them than me. He has his own editor but I will test how this works...
aeonios
Posts: 202
Joined: 03 Feb 2015, 14:27

Re: Feature requests

Post by aeonios »

gajop wrote:I can't think of any map-making unique features that can't be applied to the process of scenario editing. The scenario creation process inherently includes map making as one of its core concepts, and adds to it. What might seem useful is removing all the scenario editing tools that might clutter the interface and confuse the user, but I think it's not a problem right now.
True, staredit was the same way so I suppose it all comes down to the interface. I'll let you know when I manage to check it out. :P
gajop wrote:Not sure what layers for heightmaps would be.
The microdunes on my latest map were made using a layer in add mode in krita. It'd basically let you do things like that, ie add fine detailed terrain (or higher heights) in independent layers on top of base terrain. Actually the main large sand dunes in that map were also layered on top of another base 'rolling hills' terrain, and could be done the same way (although I didn't actually use layers for that). You could also use it to non-destructively replace terrain (using a layer in normal mode) or put a layer in subtract mode to conveniently create cracks and depressions on top of base terrain.
gajop wrote:Layered textures remind me of this: https://www.youtube.com/watch?v=wv93lt_wXbQ&t=314 .
That sounds pretty powerful but implementing it would be.. interesting ;)
Yeah that's exactly what I'm talking about. I don't really know how layers normally work either for image editing software, but image editing is basically what you're doing with maps. x.X

That reminds me of something else anarchid and I were discussing, which is being able to paint to more than one map at a time, ie to be able to paint, say, a diffuse tex and and emit tex at the same time and have them lined up properly on the proper maps.
gajop wrote:Basic texture painting needs improving first, textures themselves look pretty ugly as it is.
Hmm, well that shouldn't be complicated. There aren't really that many features necessary to make texture painting work well, although I'll have to see what you've got going there.

Also, I have tons of art stuff that I'd be more than happy to contribute. :P Height brushes, textures, etc, all nice and cleaned up and filtered to make sure the stuff actually looks good, tiles properly and goes well with other things.
gajop wrote:Precisely specifying heightmap can be easily implemented.
Maybe. There are several different ways in which height could be modified though, each of which requires a slightly different implementation to be 'consistent'.
gajop wrote:Smooth transitions are already possible using the smooth tool.
I meant smooth transitions between height textures that are rough or varied. :P It's kind of hard to explain except in terms of image editing though. It would also only work for tileable height textures, which is not something I've really explored yet.
gajop wrote:It's quite likely you didn't pull scened-core correctly, check the instructions here: https://github.com/gajop/Scenario-Editor-Core/ . You probably didn't use --recursive which didn't pick chiliui and other libs, so nothing worked. I think you could fix your current repo with "git submodule init" "git submodule update", but a clean and correct pull might be best.
D'oh. I don't remember how I pulled it before since that was a while ago, but a clean pull would be easiest I think. I'll let you know if I still have any issues. :P
gajop wrote:Thanks for the feedback!
Thanks for the response. :)
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

aeonios wrote: Yeah that's exactly what I'm talking about. I don't really know how layers normally work either for image editing software, but image editing is basically what you're doing with maps. x.X

That reminds me of something else anarchid and I were discussing, which is being able to paint to more than one map at a time, ie to be able to paint, say, a diffuse tex and and emit tex at the same time and have them lined up properly on the proper maps.
Ok, I'll add layer support first and make it as functional as the D:OS's editor* in that regard. Then we'll see how doable it is to paint on specific textures.
Issue: https://github.com/gajop/Scenario-Editor-Core/issues/44
aeonios wrote: Also, I have tons of art stuff that I'd be more than happy to contribute. :P Height brushes, textures, etc, all nice and cleaned up and filtered to make sure the stuff actually looks good, tiles properly and goes well with other things.
That would be an enourmous help. I've just copied some things I found laying around Spring. I'm not a map maker so I've no idea what's commonly used there.
aeonios wrote:
gajop wrote:Smooth transitions are already possible using the smooth tool.
I meant smooth transitions between height textures that are rough or varied. :P It's kind of hard to explain except in terms of image editing though. It would also only work for tileable height textures, which is not something I've really explored yet.
So I take it it's not a critical feature?
aeonios wrote: D'oh. I don't remember how I pulled it before since that was a while ago, but a clean pull would be easiest I think. I'll let you know if I still have any issues. :P
You might need to manually specify the ZK version in the Scenario Editor ZK modinfo.lua. Sadly Spring doesn't support rapid based archive dependencies so I can't just put rapid://zk:stable in it and have it work as ZK gets updates.


*D:OS editor: I have only seen it in videos, but it already gave ideas. If you have any other videos showing a 3D map or scenario editors you like, please share ;)
aeonios
Posts: 202
Joined: 03 Feb 2015, 14:27

Re: Feature requests

Post by aeonios »

gajop wrote:You might need to manually specify the ZK version in the Scenario Editor ZK modinfo.lua. Sadly Spring doesn't support rapid based archive dependencies so I can't just put rapid://zk:stable in it and have it work as ZK gets updates.
Ah, that explains some things. Getting the specified zk version isn't too difficult through zkl though, which is what I did.

I did however have a problem pulling core from git. I got the following error:

Code: Select all

fatal: reference is not a tree: 682e94dcddf..(//too long, not copyable from git bash)
unable to check out '(same long string as above)' in submodule path 'libs/lcs'
Scened-ZK doesn't seem to be working properly either, and I also noticed that when I try to pull scened-core from rapid it's 80MB 11MB, but only 9MB when I pull it from git (and I did use --recursive). Scened-ZK isn't on rapid, and only works with the git version of scened core. :?

(edit: although I could probably hack modinfo for that :P )
gajop wrote:Ok, I'll add layer support first and make it as functional as the D:OS's editor* in that regard. Then we'll see how doable it is to paint on specific textures.
Issue: https://github.com/gajop/Scenario-Editor-Core/issues/44
Cool. :-) I do a lot of work where that would be useful.
gajop wrote:That would be an enourmous help. I've just copied some things I found laying around Spring. I'm not a map maker so I've no idea what's commonly used there.
It varies a lot really. I'll ask around while I'm at it and see if I can incorporate stuff other people are using too.
aeonios wrote:
gajop wrote:Smooth transitions are already possible using the smooth tool.
I meant smooth transitions between height textures that are rough or varied. :P It's kind of hard to explain except in terms of image editing though. It would also only work for tileable height textures, which is not something I've really explored yet.
So I take it it's not a critical feature?[/quote]

Hm, well perhaps not. The real issue is that terrain editing is kind of complicated and it'd take a longer discussion to explain the kinds of things that could be done and how all that would need to work. There's at least 4 different basic ways of applying terrain to the map (ie blend, stamp, multi-stamp and accumulate) each of which can use add, subtract, or set modes. Layers (terrain/texture both) are probably more important and less difficult, so it can certainly wait.
gajop wrote:*D:OS editor: I have only seen it in videos, but it already gave ideas. If you have any other videos showing a 3D map or scenario editors you like, please share ;)
I kind of wish I knew more about that, then maybe I'd have better ideas. :P Model-based cliffs have been a popular topic too, I should open galaxy and figure out how those are typically used (and whether it could be improved upon).
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

aeonios wrote: I did however have a problem pulling core from git. I got the following error:

Code: Select all

fatal: reference is not a tree: 682e94dcddf..(//too long, not copyable from git bash)
unable to check out '(same long string as above)' in submodule path 'libs/lcs'
I think I did some shenanigans with LCS, but should have fixed it now, try again.
Nope still broken... Lemme see
aeonios wrote: Scened-ZK doesn't seem to be working properly either, and I also noticed that when I try to pull scened-core from rapid it's 80MB 11MB, but only 9MB when I pull it from git (and I did use --recursive). Scened-ZK isn't on rapid, and only works with the git version of scened core. :?

(edit: although I could probably hack modinfo for that :P )
Might be best to ignore rapid for now. It's not automatically updated due to rapid limitations with submodules so I don't do releases as often.
aeonios wrote: There's at least 4 different basic ways of applying terrain to the map (ie blend, stamp, multi-stamp and accumulate) each of which can use add, subtract, or set modes
I'm not familiar with this, any examples?
aeonios wrote: Model-based cliffs have been a popular topic too, I should open galaxy and figure out how those are typically used (and whether it could be improved upon).
I think you just take a feature (unit) and put it somewhere. Usually you want more freedom with modifying its XYZ axis, scaling and rotating and maybe even painting so it fits correctly in the terrain.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Feature requests

Post by gajop »

gajop wrote: I think I did some shenanigans with LCS, but should have fixed it now, try again.
Nope still broken... Lemme see
OK, should be usable again now... Sorry about that.
User avatar
enetheru
Posts: 627
Joined: 11 Jun 2010, 07:32

Re: Feature requests

Post by enetheru »

aeonios wrote:I've thought of lots of cool stuff you could do with the map making end too, like layers for heightmaps and texture paint, and lots of different ways to manipulate height. A few examples there would be like being able to have tileable height textures, being able to specify the height scale precisely so you can get consistent/well controlled results when stamping/blending height textures, being able to alpha blend height textures to get smooth transitions and with layer modes create various effects.
Why re-invent the wheel, there are loads of sculpting applications available that do a top quality job of creating height meshes incuding normals etc. More valuable would be a bridge between these programs, or loading a heightmap and info maps from an image on demand as the simplest most robust solution

edit in zbrush -> export to height.png(16bpp) -> switch windows back to already running spring, reload height!
aeonios
Posts: 202
Joined: 03 Feb 2015, 14:27

Re: Feature requests

Post by aeonios »

Ok, so now I have a more or less working copy of scened.

After tinkering a bit I have some thoughts:

First of all, I think things like layers for textures and height and other complicated stuff can wait. The texture/height editing interface is too simplistic for lots of tasks, and height in particular doesn't have enough features for even doing basic stuff. :( It's kind of obvious from looking at it that you've never made a map before, and it seems like you've probably never even used SME.

The way the texture brush looks is very cool. The solid green circle and the feint appearance of the texture overlayed on it looks very good. It seems to only have one fuzzy circle brush though, no size control for the brush, no scale control for the textures (which may or may not be needed, but is nice to have), and no control over blending strength. It also seems to perform well, although with large brushes and large maps all the programs I've used tend to slow down, so who knows.

Also, undo/redo doesn't seem to work for texture paint, and it might even be good to have seperate undo/redo stacks for each mode (ie texture paint, height, unit/feature placing, etc), although that requires having clear modes that you can shift between and know what will be undone/redone.

Height needs way more controls (brush size, height scaling, mode), the ability to use different brush shapes, etc. There's also no way to make cliffs atm (ie no equivalent to 'set' mode in SME). Support for editing metal maps, terrain type maps etc is also important, but should be fairly simple compared to height and texture and none of those require layers or anything else fancy.

Overall I think it's kind of silly to try to implement a program when you don't really know how it will be used. Some of that is much harder to explain than it is to learn simply by doing. There's lots of reasons I'd rather be using scened instead of SME, too, but that's also hard to understand unless you've actually fought with SME and its interface in the context of actually trying to make a map.

I also had it crash several times. :( The worst was under spring 98, which doesn't seem to work for it at all, but I also got a crash under spring 91 when trying to place a wreckage for a mystery unit from ZK. I haven't really used it enough to track down specific problems though.
enetheru wrote:Why re-invent the wheel, there are loads of sculpting applications available that do a top quality job of creating height meshes incuding normals etc. More valuable would be a bridge between these programs, or loading a heightmap and info maps from an image on demand as the simplest most robust solution

edit in zbrush -> export to height.png(16bpp) -> switch windows back to already running spring, reload height!
Well, I can't say I know everything about every program, but there are a few reasons.

First off, programs like blender and zbrush aren't particularly designed for doing terrain and either perform badly or lack features that would be nice for it. Texture paint in blender becomes nearly unusable for large maps, and for maps which have features like mountains. It freezes badly due to the way the brush is applied to the surface (esp when there are large distance differences like the edge of a mountain), and sometimes paints streaks across the map when that was not intended. This is what you get when trying to apply techniques for 3D models to a 2.5D terrain map. Texture layers also don't work in blender currently, or at least I haven't figured out how to make them work.

Height sculpting requires rendering to create a heightmap, the setup for which is more complicated than what I know how to do right now (in blender, and not to mention painfully slow). Overall editing the height map directly as opposed to the mesh is both simpler and more efficient. Other programs may have better features for that, but none of those programs are free AFAIK, or functional enough to be usable with only the trial version (ie terragen, etc). I mostly just use SME, which sucks for all the usual reasons, but it still gets the job done more conveniently than more complicated 3D modelling software. There are also things you could do with height layers that afaik would be impossible using 3D modelling, like applying details to a layer in a pattern, then erasing part of it where you don't want them to show up.

There are other problems and considerations for editing height maps, and some of the stuff I mentioned probably wouldn't work the way I had hoped, but that's beyond what needs to be done right now anyway.

Normals it depends. I haven't had a reason to need to render normals, since I can generate good-enough normals directly from a texture in gimp, and could even make them for an entire map at once. That said, it probably isn't necessary for scened to be able to do that. Specular maps it depends, it might still be easier in some cases just to do those externally but not always. Emit maps though, like being able to paint glowing lava easily with matching diffuse/emit, I don't know of any way of doing it that isn't highly difficult and tedious.

I'd say it's mostly a matter of specialization, and finding the cases where extra convenience and capabilities could be gained and are practical. Being able to hot-plug the various image maps like you can in SME certainly would be useful though. Having to restart the game just to check one stupid change to the map does really suck.
User avatar
enetheru
Posts: 627
Joined: 11 Jun 2010, 07:32

Re: Feature requests

Post by enetheru »

sigh. Have a look at this thread and tell me again that 3d applications like z-brush/mudbox and to a lesser degree blender is not good for terrain...
http://www.polycount.com/forum/showthread.php?t=125857
aeonios wrote:It freezes badly due to the way the brush is applied to the surface (esp when there are large distance differences like the edge of a mountain), and sometimes paints streaks across the map when that was not intended.
This has never been my experience, it handles cases like this easily and paint response is fast. also painting large terrains by hand is a PITA, use procedural materials.
aeonios wrote:Height sculpting requires rendering to create a heightmap, the setup for which is more complicated than what I know how to do right now (in blender, and not to mention painfully slow).
The setup is very simple, and does render fast because it doesn't require bells and whistles. has more control because you an use more than a base grid mesh to create the z-depth pass. for instance rocky mountains need a road? simply extrude a path down a spline and you get a smooth base
aeonios wrote:Normals it depends. I haven't had a reason to need to render normals, since I can generate good-enough normals directly from a texture in gimp, and could even make them for an entire map at once.
Sculpting software uses a combination of dynamic mesh and displacement & normal map painting for finer details. while I haven't found a way to get blender to do this yet, I'm sure its in the pipeline once ptex comes into play.
aeonios wrote:Having to restart the game just to check one stupid change to the map does really suck.
you didnt really read what I said.. load height from file on the fly
enetheru wrote:loading a heightmap and info maps from an image on demand
The premise to build a toolchain with plugable components is more valuable than shoehorning everything into one tool and doing an average job of it.

Find out what the industry vets are doing and do something similar.

Avoid NIH

And so many sighs... I wish I could simply mind meld and get all this back and forth over with.
Post Reply

Return to “SpringBoard”