Quote:
Originally Posted by Anymeese
@WhattayaBrian
I know if I send you a friend request itll be auto declined from a full list, so if by some miracle you would like to honor me and chat it up, please add me  Like I said in the OP, id love to talk about anything programming, riot, league, etc. When do you normally play?
You too @RiotSchmick
And thank yall so much for taking the time to reply to all of us!
|
Unfortunately we are limited by the same friends list max as everyone else, so we can't add when our lists are maxed out. : \ The best way to continue this discussion is on the forums. Personally, I think that's pretty neat because then everyone gets to benefit, participate, and contribute.
I play mostly at night, but sometimes at lunch I'll do a community ARAM. I often post in PlayWithRiot when I start ARAM games. I always call the game RiotSchmick's ARAM, so you can look for that, too.
Quote:
Originally Posted by buckley183
How did you learn to teach yourself any new languages? I've tried reading and watching tutorials but idk nothing sticks. I've wanted to program for gaming companies all my life but my school doesn't offer anything related to programming besides math and im taking best I can.
|
Whenever I've had to learn a new language, I start with the official website for the language, reading documentation and using tutorials or examples given there. In addition, if I have co-workers who already know the language, I will ask them to refer me to any resources they found useful. The more languages you know, the easier it becomes to learn new ones, as you can draw on existing knowledge and language commonalities.
If you really want to get into programming and you are at a college that doesn't offer CS, you might want to consider transferring to a school with a stronger program. That being said, it isn't impossible. My degree was in Psychology and Linguistics.
Quote:
Originally Posted by john
i have a question as well
if any of you are long-time riot programmers (i.e. you were there before season 1) can you tell me about any difficulties you may have come across due to the game's rapidly exploding popularity, and how you effectively dealt with them? anything from scalability issues to security problems to software design in general.
thanks 
|
I have only been here since May of last year, so I can't speak specifically to what Riot ran into. In general, though, rapidly exploding popularity is something you always try to be prepared for, and something that you are never really are prepared for fully. For scalability, you architect a system that has no single bottleneck, with components that can be horizontally scaled as needed. You ensure your database interaction is optimized, indexed, use caches effectively and efficiently where possible, etc. However, as your CCU goes up, there is that inevitable part of the system that is slowing things down, and then you have to think creatively about how to modify the now live system with minimum downtime and no loss of data. You move carefully toward bigger changes with smaller incremental changes, to ensure that you don't make things worse or break your live system. Load testing is of course key at every stage.
Security is also one of those things that you are always thinking about, plan for ahead of time, but inevitably have to make corrections for as you gain users. The more popular you are, the more people try to hack you or even non-maliciously tap into your data. Just as with scalability, you come up with solutions to solve the problems that arise as you go.
Sorry I can't speak specifically to the Riot case, but hopefully that was useful.
Quote:
Originally Posted by Xenîth
I found my new favorite Red. 
|
To be fair, I'm not the only Rioter who would give that answer. : )
Quote:
Originally Posted by Chaugh
i also have a few question (my programming knowledge is limited to 1st yr undergrad):
1. since lol is such a big game (im guessing ~10k+ lines of code?) im sure u guys have to read/edit other programmers code. do u guys ever get pissed off due to poor documentation or bad style of the code?
2. being the master programmers u are, do u still get compile or exception errors when u code?
|
1. Every team I have worked on at any job has had to deal with this problem. Usually we just decide as a team what our coding standards are going to be. That doesn't mean that everyone just happens to agree, but that we discuss and compromise and come up with what we will use as a team. Everyone then sticks to that, new team members are educated on it, and then these sorts of conflicts are lessened. The same goes for documentation. We agree on what we will document, where, and how. There are sometimes people who don't adhere to the coding style or documentation agreements, but the team tends to police that and bring people into line. If you have really stubborn people who just refuse and aren't team players, then there is probably a bigger problem with that person anyway.
2. Of course we do. No one is perfect. Using an IDE makes it so that one rarely has compilation errors when building or deploying code, as the IDE informs you as you type the code if it isn't compilable. Everyone will get run time errors in their code sometimes, though, as we are all human and make mistakes. Writing test cases is the best way to cover all of your bases (i.e., code) and ensure that these errors won't be found after you commit by QA or, worse, in your live code.
Quote:
Originally Posted by xtwizted
Our matchmaking is most likely going to be a simulator based on random profiles generated using the elo rating tier that was introduced in the end of S2.
The algorithms we are going to create for matchmaking is going to factor in elo/match hisotry/level/queue time priority and we will test how 'successful' we are by using probability and statistics that we can gather from how the elo system works (I believe it was something along the lines of 400 elo over someone = chances of winning is increased by 10x).
The database would be used to hold the generated profiles and to manage the net gain/loss of elo and display players that are currently in game/queue/online/idle/etc.
We're not quite sure if we need to actually use SQL to manage the database of generated profiles or if we are able to do it within the java/c codes, or how we would put it all together in the end.
Would really love to have a discussion over this via league client or skype instead of having to f5 all day lol
|
Elo, level, and queue time are all factors I would also take into account. What do you mean by match history? Do you mean number of games played? If not, that's a factor I might throw into the mix as well.
How do you plan on doing actual match making? In other words, you have all of these factors, but how do they fit together? Which are the most important? Do they change in importance over time? How do different values determine who is matched together? How are the comparisons done? How do you keep track of who you will match as you're doing individual comparisons or are will you be doing group comparisons of some kind? Will you support people queuing in groups? If so, how will the values for your factors be calculated for groups? Will you be reading data from the database for every comparison or match you do? I'll leave you with those questions to start. : )
Quote:
Originally Posted by Laserturkey
<--Indy Game developer and Computer Science student(Interned at IBM) question for you guys, when I worked at IBM I got to do development on an agile development team not going to go into too much detail, I'm just curious as to what you guys do in terms of development strategies, do you use agile methodologies and such and any SCM solutions, automation for regression testing etc?
|
It depends on the team. Agile methodologies are pretty popular here, but each team makes their own decision about what works for them. Agile methodologies are often modified or combined to create a process that works better. Testing of all kinds is highly valued, and automating it wherever possible is a win. As for SCM, the specific tools and processes used again varies by team.
Quote:
Originally Posted by Ryster
Do you guys have a lot of web developers? Because it seems like your website has been nearly the same for a while. Also, other simple things like avatars and profiles aren't even here. Is that because you guys don't have the people to do so, or is that something lower on the chain of things to do?
I am taking a web programming class right now as well as my software engineering and computer architecture. And I just was learning about how easy some web programming can be in comparison with other coding. Just curious about how many web programmers are there? Or do some other coders work on the website in the downtime since it is a simpler coding process (in some peoples opinions).
|
We do have dedicated web developers and they work on various things. The tribunal, the forums, the
www.leagueoflegends.com website, the esports / tournaments websites, promo sites (like Shadow Isles, Snowdown Showdown), and other things I don't even know about are all worked on by web developers. Rest assured that whatever the various teams are working on is awesome, is intended to bring awesome directly to you guys, and has been determined to be the best way to bring awesome to you out of all the possible initiatives they could be working on.
Quote:
Originally Posted by RiotTantram
O hi thar.
|
Taaaaaantraaaaaaaam!
Okay, I hope I didn't mess any of that up. That was the longest response I've ever done. It took me awhile to respond to all of those. There may have been more posts made since I started typing this. I will try to get another round of responses in after work today.