• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

At which extent will LUA deprecate Jass?

Status
Not open for further replies.
Level 1
Joined
May 27, 2019
Messages
1
Hello,

I'm a newcomer to the modder community, and unaware about the current and possible future use of LUA in Warcraft 3.

With the coming native support of LUA on 1.31, at which extent will it replace vJass or Wurst?
I saw fancy interfaces, but i don't know if everything will be do-able in LUA, and if it will be better to do so, or not.

As a newcomer , i started to learn and use Wurst as it seemed the best for me, but i'm unsure if this is the correct timing for that.
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,464
Hello,

I'm a newcomer to the modder community, and unaware about the current and possible future use of LUA in Warcraft 3.

With the coming native support of LUA on 1.31, at which extent will it replace vJass or Wurst?
I saw fancy interfaces, but i don't know if everything will be do-able in LUA, and if it will be better to do so, or not.

As a newcomer , i started to learn and use Wurst as it seemed the best for me, but i'm unsure if this is the correct timing for that.

The built-in languages are JASS, vJass, Zinc and now Lua. I don't know much about Wurst; for that you can talk to someone like @Cokemonkey11 and find out about compatibility and plans for the future.

Lua isn't going to deprecate JASS as it's meant to coexist with it. However, Lua will have a very difficult time gaining a foothold as long as preexisting maps are unable to use the language. I was able to convert Unit Indexer to Lua just to tinker around with it, but it was a waste of time in the end as I couldn't import that new script into any other map.
 

Cokemonkey11

Spell Reviewer
Level 29
Joined
May 9, 2006
Messages
3,534
> I'm a newcomer to the modder community, and unaware about the current and possible future use of LUA in Warcraft 3.

LUA in warcraft3 adds a new front-end editor experience. The intention is to provide the same back-end API (aka "natives", from common.j)

> With the coming native support of LUA on 1.31, at which extent will it replace vJass or Wurst?

vJass is a preprocessor, and wurst is a compiled language.

vJass is (new) natively supported by the world editor, because blizzard hired people from the community to maintain that tooling.

That being said, all the vJass preprocessor implementations that I know of are closed-source, whereas wurst is an open-source project.

- LUA is unlikely to truly replace vJass as long as maps can only support one or the other backend (LUA *or* JASS), because vJass cannot/will not be made to preprocess to LUA, unless someone does an enormous amount of work for very little value (rewrite jasshelper).

- Wurst is a high-level programming language that compiles to JASS. There is already work being done to enable wurst to compile to LUA as an alternate back-end. This is likely to be very valuable, because the LUA runtime has a more powerful feature-set (such as map datastructures).

In summary, my guess is that we will see in future 3 main groups:

- vJass legacy maps, and vJass maps made by existing vJass users who don't want to change
- LUA maps, made by people who already know LUA and can easily interact with common.j in a language they already have operational knowledge about
- Wurst maps compiled to LUA, for people who want more powerful features from wurst that are impractical to use with JASS as a backend.

> I saw fancy interfaces, but i don't know if everything will be do-able in LUA, and if it will be better to do so, or not.

It will take time. There are only two wurst compiler experts, and neither is working on wurst full-time. The LUA backend is real, but no one is using it yet in production maps.

> As a newcomer , i started to learn and use Wurst as it seemed the best for me, but i'm unsure if this is the correct timing for that.

If you're familiar with programming already, wurst is by far the most powerful language, and the only compiler that is actively maintained by the community.

> The built-in languages are JASS, vJass, Zinc and now Lua.

It's not quite true - just worldeditor added native support for using preprocessors, in particular the vJass and zinc ones. Only JASS and LUA are executed by warcraft3.

> Lua isn't going to deprecate JASS as it's meant to coexist with it.

They aren't doing a very good job of that so far. LUA and JASS cannot be executed in the same mapfile. (as you've already said)

---

If you want to get into wurst, the fastest way is to join #inwc.de-maps on Quakenet (IRC)
 
Status
Not open for further replies.
Top