Subject line says it all. It would be somewhat of a pain rewriting add-on’s, but the end result would be wondrous and fairly quick, I’d imagine. I can see dedicating a core or two to JIT compilation and feeding a pipeline of instructions to a main thread, and we wouldn’t have to worry about all the array BS. Whatcha think?
What?
Did you find a mumbo jumbo generator online for this sentence?
If u don’t understand what I’m discussing here, maybe you should do a bit of research. JIT is “Just In Time,” real-time processing and compilation (tokenizing) of interpreted languages.
Two cores cranking on things at the same time is known as parallel programming, with each thread on each individual processor (core) working in unison, taking things such as branch prediction and such in mind. One thread has to be the overseer of these interactions, and feeding a stream of information to a processor is known as a pipeline, be it internal to a processor or an exterior process.
Know what the hell u are talking about before making such remarks. Being rude has no place in these forums.
As someone very knowledgeable once told me, the entire Blizzard UI is one big add-on. It’s just stored inside the program code and not in the addons directory.
There would need to be a very compelling reason for Blizz to switch from lua to python to justify all the work needed in rewriting their ui code. Like some major vulnerability was found in lua that couldn’t be fixed or ignored for legal reasons.
And supporting two different scripting languages comes with all sorts of complications.
Well, I can see that, for sure. I was just wondering if Blizzard would consider such an endeavor in a future patch or expansion. You know – keeping up with the times and such. (Shrug.)
I don’t see any practical benefit to switching. Definitely not enough to justify the cost.
@Tinkerrific:
Well, I can see multiple, compelling reasons. First and foremost, the language is quite popular and easily learned, so Blizzard would have a good selection of programmers to select from. Also, AI these days is leaning toward using a python package called “PyBrain.” It’s quite popular, and they could use it to detect hacking and cheating (amongst other things), the way I see things. (Shrug.)
Admittedly, I can see why Blizzard chose the language to begin with, for sure. The language was created from the ground up to be used in a real-time environment. OTOH, with the increase of technology and overall availability of Python, and also being able to use parallel programming in such endeavors – with the added functionality of being popular with the AI crowd – I see it as a win-win situation.
Let’s also not forget about having really intelligent bosses and NPCs that can learn from experience. If they get too good at killing folks, they can always dumb the things down. The important thing to note here is that it would always be challenging, so that point would be removed as a complaint.
I can guarantee you one thing: If Blizzard doesn’t step up to the plate and implement something like this soon, others will, and they’ll happily walk to the bank doing so.
Now, I’m not saying that lua is a piss-poor language – it isn’t. What I will say is that, since it’s an array-based language, it’s a pain in the butt to program in – and then some
. Of course the reason they do things this way is the added advantage of indexing to speed things up via offsets, but it’s still a pain
.
I don’ t know. Maybe this subject is too esoteric for discussion here or something. I’ll crawl back under my rock or go see if I can get the Karrok mounts on my horde and ally toons
.
and here i thought that was called multi-threading. lua has coroutines if your code requires multiple concurrent threads
pot meet kettle…
the game is the thing that matters, not the addon language. you learn whatever the game gives you. if you cant then others will.
its not really. the blizzard API might not be the nicest of things to use but that has nothing to do with the language being used.
so blizzard are supposed to use the AI to detect botting - and the AI crowd that will supposedly love it are supposed to do what with it exactly? not botting…
and here i thought that was called multi-threading. lua has coroutines if your code requires multiple concurrent threads
Actually, it is also known as multi-threading, but at a lower hierarchical location in the chain of doing things. That is, the hierarchy would be: pipeline and then multi-threading. This is more of a hardware thing, so I wouldn’t expect you software-only people to understand such things.
pot meet kettle…
Arrogance meet narcissism.
the game is the thing that matters, not the addon language. you learn whatever the game gives you. if you cant then others will.
Who ever said I didn’t know how to program in lua? I just said it’s a pain in the butt, and it is, quite frankly.
its not really. the blizzard API might not be the nicest of things to use but that has nothing to do with the language being used.
Lua is non-intuitive, plain and simple. It was written for real-time applications, and it does it quite well. Blizzard using global variables so add-on’s can share data wasn’t well thought out. This should have been done via IPC, yet, as things stand, if one add-on trashes the global space, everything starts blowing up, and now we have to worry about which add-on is causing issues and making others not function properly. Issues really start getting bad if library routines – which are used by multiple add-on’s, mind u – get trashed because of a buffer overrun. How nice.
so blizzard [is] supposed to use the AI to detect botting - and the AI crowd that will supposedly love it are supposed to do what with it exactly? not botting…
Actually, it would quite easy to create expert systems — “bots” to the uneducated – that could play wow (when trained) better than humans – and then some. The key issue here is that Python is the language that is most used in the world of AI – look it up.
So, what we have here is a language that is well suited for the future of gaming that is easily learned, well suited for detection of cheating and abuse, which can also be used to give NPC’s the ability to improve themselves, should the situation arise or is warranted.
It will be very, very interesting to watch Google Gaming bring this technology to the forefront of computing and gaming, and I’m going to come back to this forum and laugh in your face when that happens. Blizzard better step up to the plate, or it’s going to be left in the proverbial dust if it doesn’t.
The part of the game that uses lua is not intended to allow smarts that play the game for you.
Blizzard have been working diligently over the years to make that not happen in addons.
The part of the game that runs bosses and NPCs etc. probably isn’t written in lua.
As to the value of replacing the lua bits with Python in a profitable 15 year old game that was presumably build on a backpack, I couldn’t possibly begin to fathom… but I’m clearly uneducated because I used “smarts”.
Man, I can’t believe I have to spell this stuff out for you people. Could Python be used to create “bots?” Sure it could, and damn good ones at that, which could easily circumvent things such as a players dungeon location and so forth --but there is a catch. Python, via pybrain, can also be used to detect expert systems as well. This could all be done server side, mind you.
Another thing to note is that Python could be used server side to control NPC characters. “Attack this player, followed by this player, and cast this spell when a multitude of players are at low health.” As matter of fact, a well-trained, deep-learning neural network would easily wipe the floor with any group of players, given enough iterations to train the network. The main issue here would be to tell the network to go this far and no further to keep things challenging. “They beat this level? Well, let’s just step things up a tad and see what happens.”
The top raid guilds would no longer be bored to death and have to wait for a new expansion to get their wow fix. They can run the raid again, after they’ve beaten normal mythic, and continue to go further and further, really showing the rest of the raid community how much better they are than others. Life is about competition, after all, and I see no reason why it shouldn’t be continued in gaming.
Also note that this would be along the same lines as mythic-plus afixes, but only better, as the AI would constantly improve. What’s to hate about this, is what my mind keeps screaming.
Also note that doing things this way would promote raiding e-sports, and we all know how big e-sports is going to become in the not-too-distant future. The NFL will be totally jealous – that’s for sure!
What the hell is with all of this negative attitude with you people? I was hoping to find learned, like-minded people in these forums, and all I seem to find are folks that are more interested in trashing ideas rather than embracing them. I was hoping to find folks that would actually think things through to their conclusion, but evidently that’s asking too much. Speaking of too much, there seems to be too much “not invented here” crap and “let me see if I can take this person down a few notches and make myself look good at his expense” going on in these forums. Good luck with that BS. Not happening. How sad, and I really, really feel sorry for you people. I mean that sincerely.
None of this has anything to do with replacing Lua as the addon scripting language.
For all we know Blizz already has systems like this in place for 9.0, in whatever language they feel is best for the job.
Ëtna started off things poorly but they’re clearly not a regular on the forums, as demonstrated by their 25 post count. You took their vitriol and ran with it for every subsequent reply on this thread. As a result, you come across as combative and overbearing rather than someone who’s looking for an open and positive discussion on a subject. This is why the tone of the responses is what it is.
None of this has anything to do with replacing Lua as the addon scripting language.
Au contraire. Scroll up, and you’ll read about somebody saying that they don’t see any added advantage in using Python, and I then had to spell things out for those not willing to contemplate things and read between the lines on this subject.
For all we know Blizz already has systems like this in place for 9.0, in whatever language they feel is best for the job.
After this thread, I’m sure it will probably be Python. You’re welcome, Blizzard. OTOH, they seem to be a C++ shop, and although neural networks can and are done in C++, they’d be mentally retarded not taking advantage of Python. My not-so-humble opinion, of course
.
Ëtna started off things poorly but they’re clearly not a regular on the forums, as demonstrated by their 25 post count. You took their vitriol and ran with it for every subsequent reply on this thread. As a result, you come across as combative and overbearing rather than someone who’s looking for an open and positive discussion on a subject. This is why the tone of the responses is what it is.
Well, I’m a direct reflection of how I’m being treated, and if i see negative flows and people just trashing what I have to say without actually thinking things through, I’m going to toss crap back at them, come hell or high water. Remember: they started this tone – not me.
The game itself is entirely separate from addons.
Addons use Lua to hook APIs, passing information back and forth with the base client.
Python would not offer any significant advantages over Lua in terms of real functionality, because addon functionality is not determined by the language, it is determined by the APIs made available by Blizzard. It would probably be easier to learn and use for novice addon developers, but would require existing addons to be rewritten for no practical benefit for the end user. Hundreds of abandonware addons that continue to work fine (because they have a narrow scope, because the APIs they hook haven’t changed in ages, etc) would be completely and irrevocably broken.
Who would such a change be for, how would it benefit them, and how would it save Blizzard money and/or generate additional revenue? If you can’t answer those questions, a massive change like this is unlikely to go anywhere.
Absolutely hilarious that you seem to think Blizzard apparently have never used Python. I am positive their developers have used it before, even if the engine (the 15+ year old engine, btw, which isn’t likely to be rewritten unless they move to WoW 2) isn’t written in Python.
A bit over the top here.
A little humility would go a long way to having some productive conversation.
Food for thought.
Can we close this thread, replacing Lua with Python for the UI and addons is a good point for debate but as it is now it’s just rambling
I think the post is vague and self serving and never going to garner the reaction it was intended thereby setting the tone for what comes after.
If the subject said it all, what came after said nothing pertinent about it. Failure to even acknowledge that the current implementation WoW lua is not the full or even latest version of the language or the goals that Blizzard are trying to achieve with addons using any language opens up the thread to the sort of goal post manipulation your subsequent additions went through.
If all you want is a “you’re so awesome brilliant” this probably isn’t the forum for it. If you actually want to start a reasonable discussion on lua v Python in WoW it will take more than a couple of off-the-cuff sentences and a “Whatcha think?”.
well the game is software based so whats the point?
do love the arrogance in your posts though, makes people really go above and beyond just being civil.
i didnt say you didnt, i just said you have to learn whats given to you, if you dont want to learn that, or you think its too hard (a pain in the butt), then there are plenty of other people out there that will learn it, and not find it a pain in the butt.
you do seem to have a habit of adding in words and sentences that dont exist into other peoples posts, then reply back angrily to the stuff that isnt there.
blizzard dont want bots - look it up
ok, you do that. in the mean time you can toddle off to some other forums and rant there. im sure we’d all enjoy that. you can come back and laugh at us later.
bye bye.
Guys let’s try to keep it civil.
At this point, we should just agree to disagree and drop it.