How does League of Legends program its hero abilities.

neoseasar··1 votes·11 views

I am a Game programming student, and I have a question for some of the League of Legends programmers, and Game Designers. How do you program abilities in the game. I am writing a game at the moment that has abilities in it, and I was curious how you script or program your abilities in game,

  1. What systems do you have in place

  2. How much of it is data driven,

  3. For every new champion do you have to add to an existing code base, or does each character have very little new coding for them.

  4. Do you use a scripting language for there abilities or are you able to create all abilities without writing any code.

    I am truly curious about this, and any hints you could give me would be appreciated on how to write a proper system for this. If you could give me an example of how a particular character was programmed that would be really helpful.

5 Comments

Drunk Old Man1 votes

Having worked on servers for games like this, it's usually a set of methods that can be extended simply with some algorithms for deciding who gets hit. From my experience, drawing the effects in the client was usually more annoying than actually making them work on the server side of things. And, yes, remember that the server decides who gets hit, not the client.

neoseasar1 votes

I was more talking along the line of how you define what an ability does, not so much ow it works when it comes to the networking and such.

Drunk Old Man1 votes

In my experience, you usually just have a set amount of variables (Base damage; armor/magic penetration; scale amount; Size; Distance; Target coordinates; etc) and a function you pass that too. Depending on how their engine works, they may use something like Lua for it.

neoseasar1 votes

I am using Unity with C#, and it is a game more analogous to Final Fantasy, but for a creating systems were my designers can create spells without the need for a programmer is what has me baffled, like for example one ability is heal all character on your own team for X% of your health, now the first few parts are not hard _targetType = "Team", _targetSize = "All" and use a heal function which knows to find all players on your team and heal them, but my problem comes from how to i tell it to look a the character health and health for a percentage of that, and still have this function work for a heal that simply heals for a set amount when i want it to, without say writing two functions that primary so the same thing just with one difference.

Drunk Old Man1 votes

Hmm.. I'd definitely say go with something like Lua, that's your best bet. Making things friendly for people who aren't programmers can be pretty difficult, and making something like that from scratch can be hell.

I think what RIOT does, is they have their designers write up specs and descriptions for what the spells do, and the developers translate that into code for the game. At least, that's what most companies do. But, having a way for the designers to directly create and/or tweak their own skills would be great, and I'm sure the designers would really appreciate it.

More from [ARCHIVED] Miscellaneous