1. Hey Guest! If you're more than just a WildStar fan and want to keep up on the latest MMO news, reviews and opinion pieces then I'd like to suggest you visit our sister site MMO Central

Lets talk about Addons :: API and Scope

Discussion in 'WildStar General' started by Lemon King, Apr 18, 2013.

  1. Lemon King

    Lemon King New Cupcake

    Joined:
    Apr 16, 2013
    Likes Received:
    9
    Trophy Points:
    3
    I've been writing Addons for games for a few years now.
    But I'm interested in driving some discussion about the API and Scope used by addons themselves.

    To start off I'm going to use WoW's 1.x API as an example of too much power where Authors could write Addons controlling Player Movement, Spell Casts, and Macros.
    Now I'm going to expect Carbine has proper control over the API to prevent events like this from happening. :p

    Again I'm looking at WoW, its LUA Environment is what I'd like to call a Blob with all Global Variables mixed into a large pool with no component separation.
    That can be a pain to work with if you're conflicting with another Addon or Official UI Component, sure you can modify the behavior of another Addon. But it also brings in alot of work and added security on top of it (see WoW's Security and Tainting Scripts).
    With a proper Scope an addon would have its own Global Environment without interfering with other addons or even the official UI.
    Then you may want a function to remove any other component or transfer data between environments.

    Firefall (my most recent set of addon development) has all UI Components in their own Scope, libraries and additional lua files are loaded with require calls.
    Its a wonderful environment to work with without any Official Addon Support right now.


    So if there are any other Addon Authors here, how do you feel about WoW's LUA Environment being in one blob and how do you feel Carbine should handle Wildstar's LUA Environment?
    Zilvoran, Lethality, Crybone and 3 others like this.
  2. TehTic

    TehTic Cupcake

    Joined:
    Apr 1, 2013
    Likes Received:
    27
    Trophy Points:
    18
    Location:
    Colorado
    Lemon King I've used a few of your add-ons from Firefall thank you, and wanted to welcome you to the Wildstar Community. I don't know of anything being released by carbine as to the specifics of add-ons and if it can even be discussed currently. I think this would be a great question for Wildstar Wednesday though.
  3. Lemon King

    Lemon King New Cupcake

    Joined:
    Apr 16, 2013
    Likes Received:
    9
    Trophy Points:
    3
  4. TehTic

    TehTic Cupcake

    Joined:
    Apr 1, 2013
    Likes Received:
    27
    Trophy Points:
    18
    Location:
    Colorado
  5. Lemon King

    Lemon King New Cupcake

    Joined:
    Apr 16, 2013
    Likes Received:
    9
    Trophy Points:
    3
    Its the first one where they mention Curse. ;)
  6. Brezals

    Brezals Cupcake

    Joined:
    Apr 14, 2013
    Likes Received:
    16
    Trophy Points:
    8
    Location:
    Sweden
    HI! :roflamo:
    Zepherion and Alondaar like this.
  7. Lemon King

    Lemon King New Cupcake

    Joined:
    Apr 16, 2013
    Likes Received:
    9
    Trophy Points:
    3
    Hallo!
    Zepherion and Alondaar like this.
  8. serenedream

    serenedream Cupcake

    Joined:
    Apr 16, 2013
    Likes Received:
    3
    Trophy Points:
    8
    Location:
    Virginia
    :coffee:
  9. Nekofest

    Nekofest Cupcake-About-Town

    Joined:
    Mar 27, 2013
    Likes Received:
    117
    Trophy Points:
    43
    can't wait to see what kind of shenanigans Lemon King comes up with when he gets into the beta

    hopefully I'll be in with him so I can read the beta forum posts about it
  10. crowsong

    crowsong Cupcake-About-Town

    Joined:
    Apr 11, 2013
    Likes Received:
    89
    Trophy Points:
    28
    Location:
    Seattle, WA
    <offtopic>How would one begin to learn to make Addons?</offtopic>
  11. TehTic

    TehTic Cupcake

    Joined:
    Apr 1, 2013
    Likes Received:
    27
    Trophy Points:
    18
    Location:
    Colorado
    crowsong and SiegaPlays like this.
  12. Crow

    Crow Cupcake

    Joined:
    Apr 12, 2013
    Likes Received:
    32
    Trophy Points:
    18
    Location:
    Hungary
    I prefer the "blob". I want anything and everything in the official UI up for grabs. :)
  13. Kasabian

    Kasabian Cupcake-About-Town

    Joined:
    Aug 11, 2011
    Likes Received:
    46
    Trophy Points:
    28
    Location:
    Earth
    Compared to many other programming languages, scripting languages like Lua and Python are a bit easier to grasp for somebody who is new to programming. It takes a very short amount of time for someone to get something running, especially if the API is well documented. After that it's experimentation, learning good practice, and mastery.

    I haven't done much modding for WoW, but what I did look at it, it seemed fairly messy. I'm assuming it's because of them taking out the stuff from 1.x versions and adding in new stuff throughout the years. I could definitely see myself getting into modding for WildStar if there is good documentation and segregation/scope.
  14. TehTic

    TehTic Cupcake

    Joined:
    Apr 1, 2013
    Likes Received:
    27
    Trophy Points:
    18
    Location:
    Colorado
    I guess I have a poor opinion of World of Warcraft because it seems like the standard was spaghetti code. :)
  15. Crybone

    Crybone Cupcake-About-Town

    Joined:
    Dec 10, 2011
    Likes Received:
    49
    Trophy Points:
    28
    Location:
    Norway
    This is interesting! Welcome!
  16. MrBushido

    MrBushido Cupcake

    Joined:
    Jun 17, 2012
    Likes Received:
    39
    Trophy Points:
    18
    Are there any Wildstar related modding communities yet? I guess its a little early since the game is under NDA, but it'd be nice to chat on a forum/irc channel of like-minded people and keep up to speed on addon related developments.
  17. Dragnog

    Dragnog Cupcake-About-Town

    Joined:
    Feb 11, 2013
    Likes Received:
    149
    Trophy Points:
    43
    As I never did add-ons in WoW (you were all doing such an awesome job - why would I bother :up:) was this a work around or actual function calls?

    Whenever I hear Global I immediately think it is a bad thing in regards to any type of programming and I think that the same thing applies here. It just becomes too hard to read and if you are not developingon your own (which I assume you wouldn't be on large add-ons) it is just going to make it harder.

    Is this why the ace3 add-on was created?
  18. SituationSoap

    SituationSoap Cupcake-About-Town

    Joined:
    Apr 16, 2013
    Likes Received:
    88
    Trophy Points:
    28
    While I recognize that the likelihood is high that we'll see Lua as the designated Addon language due to its easy embed-ability, I would honestly prefer to see something a little bit more common like JavaScript move to the forefront of UI scripting. I would really love to see Ruby, but sadly my love for Ruby isn't shared by much of the programming community (especially on the games front, because it's so slow).
  19. MrBushido

    MrBushido Cupcake

    Joined:
    Jun 17, 2012
    Likes Received:
    39
    Trophy Points:
    18
    Yeah, V8 is definitely making its rounds in the game development community due to its speed (as fast as LuaJIT in some cases) and outstanding documentation but mainly because the popularity of javascript as a whole (most webdevs know at least a little JS). I think there are even a few commercial games that have used it (recent sim city i think).

    Wildstar is definitely Lua-based though, and changing it to something else at this point is probably out of the question. :<

    Been practising my lua in anticipation, indexes starting at 1 and the verbosity of lua's OO approach (metatables make me cry) make me long for javascript (never thought I'd hear myself say that)!
  20. SiegaPlays

    SiegaPlays "That" Cupcake

    Joined:
    Sep 14, 2011
    Likes Received:
    454
    Trophy Points:
    83
    Location:
    Denmark
    In case you guys missed this message on another thread:

Share This Page