Page 1 of 1

Lua Grass GL4

Posted: 23 Apr 2021, 11:57
by Beherith
Grass can now be nice :)

Animated and placeable (more like only size adjustable for now) ingame:

Requires VAO/VBO/DrawArraysInstanced support in spring_bar_{BAR}104.0.1-1856-g80beb10 and up.

See it in action:

https://www.youtube.com/watch?v=Ghw-SNiHPTo

Image

Thanks to 0 A.D. for the grass blade texture.

Re: Lua Grass GL4

Posted: 23 Apr 2021, 14:10
by Silentwings
Please tell me that fleas can now hide in the long grass, this would make the first 2 minutes of 1v1 so much fun...

Re: Lua Grass GL4

Posted: 23 Apr 2021, 14:31
by Beherith
Seeing as you can make the grass as tall as you wish, even AK's could hide.

Count the fleas in the image below:

Image

But more seriously, due to LOD, and best visibility, the grass fades out gradually when zoomed out.

Edit: since this is using engine grassmap, which is synced, one could toggle engine cloaking or visibility with it too.

Edit2: Added pymapconv support for 8 bit grass maps

Re: Lua Grass GL4

Posted: 23 Apr 2021, 23:54
by very_bad_soldier
Wow, looks awesome :shock:

Re: Lua Grass GL4

Posted: 01 Aug 2021, 07:54
by Ares
I notice you are releasing Spring widgets under CC-BY-NC-ND 4.0 now, which is not a free software license. Please release under a free software license like GPL3 so other mods can modify and use this LUA. https://github.com/beyond-all-reason/Be ... ss_gl4.lua.

BA forks are GPL3 and widgets are open source. This looks like you are taking Spring private to raise donations for BAR.

Re: Lua Grass GL4

Posted: 02 Aug 2021, 12:57
by Beherith
No. Any other game that would like to use this, please contact me.

It has been much improved since these initial screenshots.

Re: Lua Grass GL4

Posted: 02 Aug 2021, 13:17
by Ares
What next, you will hijack the engine too and take it private?

Re: Lua Grass GL4

Posted: 02 Aug 2021, 13:34
by Beherith
Your crusade against anyone accepting donations (servers don't grow on trees) is completely misguided. You realize that the Spring Engine hosting services also accept and receive donations?

The only person hijacking anything in the Spring ecosystem is you hijacking BA.

Re: Lua Grass GL4

Posted: 02 Aug 2021, 13:42
by Ares
If we can't trust you to treat the community equally, how can we trust you to develop the engine in a manner that is considerate of everyone? Targetting games out of spite is what I have always objected to.

It's not about the money, BA and its forks are GPLv3 and all widgets are GPLv3.

Re: Lua Grass GL4

Posted: 02 Aug 2021, 16:02
by Beherith
If its not about the money, then why are you ceaselessly harping on about it?

Re: Lua Grass GL4

Posted: 02 Aug 2021, 16:41
by Ares
BA isn't about the money that is why it is GPL and its widgets and code have benefited the whole Spring ecosystem.

When money starts getting involved people stop sharing and working together and start thinking about how they can make more donations. They start acting selfishly, for example by shutting down balanceannihilation.com and redirecting it to generate more pageviews.

I know you weren't involved with that decision and you have always helped BA in the past, so why would you want to remove GPL and put a license that doesn't allow modification or derivatives?

Re: Lua Grass GL4

Posted: 02 Aug 2021, 21:05
by raaar
They're not hijacking anything Ares, just making stuff for their game.

It's the first time i see a widget for a spring game that uses a proprietary license.

I vaguely remember an old discussion about whether widgets/gadgets needed be GPL compatible, was it conclusive?

Short answer is probably "no".

Re: Lua Grass GL4

Posted: 02 Aug 2021, 21:38
by very_bad_soldier
Back then this applied:

"Official stance on how the engine's license affects content"
viewtopic.php?t=17847
We believe generally all LUA, COB, BOS scripts are "linking" to the engine, to speak in the terms of the GPL again. In practice this means many LUA, COB and BOS scripts need to be licensed under the terms of the GNU GPL.
But as far as I know it is not even up to the engine devs to decide whats wrong or what is right legally. GPL terms apply here and the crucial part is if Lua code is considered to be "linking" to engine or not.
Probably the same topic as linking GPL'ed shared objects to your closed-source executable. I think the consensus is to not do it because it is a legal grey area. I am not aware of any court decisions about that stuff yet. But I am not an expert there anyway.

Re: Lua Grass GL4

Posted: 03 Aug 2021, 07:00
by Silentwings
Yeah afaik too this is a legally untested part of the GPL.

My best guess - which comes from the wiki page I wrote after discussions with devs of the time, and tried to clarify the quote above when we realized that the status of "procedurally generated art" was unclear - is:
https://springrts.com/wiki/Licenses_Forking_Mutators wrote:We generally view code that is necessarily read/executed by the Spring engine, as linking to the engine. As a result, since the engine is licensed under GPL, we think that such code requires a GPL compatible license. This typically applies to widgets, gadgets, scripts, shaders, CEGs, unit defs, etc.

All other content that you create, such as artwork, can be licensed however you wish. That said, we encourage you to use open source copyleft licenses, and make your content free for anyone to use and modify.
So, afaics a shader or generic lua lib, or model generation framework, etc (that is not compiled into the engine) that could in principle be used outside of Spring (say, with minor modification, in another 3d engine with a similar graphics pipeline) can be viewed as not linking to the engine - so basically artwork - and licensed however the author wished. But the lua code that handles the api interaction of a shader with the Spring engine, should be viewed as linking to Spring.

Re: Lua Grass GL4

Posted: 03 Aug 2021, 08:59
by Beherith
I changed the Lua part of it to GPL, but the shader code remains CC BY NC ND for now.

This is not the first time I have not put my shader code under GPL, this was exactly the case with deferred lighting about a decade ago. I wanted deferred lighting for BA:R, and as the maintainer of BA and developer of BA:R at the time, this was my choice to make, as it didnt perform well enough.

I find it concerning how I build you countless worlds and forges, free to use and compatible with all, yet you want my chisel too. Yet you (ares) cant be bothered to even try to make a sane commit on git, and continue your childish crusade to try and force others to bend your way.
Ares wrote:I know you weren't involved with that decision and you have always helped BA in the past, so why would you want to remove GPL and put a license that doesn't allow modification or derivatives?
To put it bluntly, your ceaseless harassment of me personally, and all other developers on this board is why I will no longer offer you (ares) anything. I have absolutely no beef with BA, or anyone else involved with it.

Re: Lua Grass GL4

Posted: 03 Aug 2021, 11:57
by Ares
It's not personal, I take this issue seriously and have always respected your ability as a developer and map creator. I admit your skills are much better than mine and the reason I posted is because I value your contributions.

I am aware you make maps and software for free. Spring and BA are also free software licensed under GPL and it is thanks to this freedom to modify and create derivatives the creation of new works such as BAR are possible.