@Riot: Where are all the programmers? :,(

First Riot Post
Comment below rating threshold, click here to show it.

Xengre

Senior Member

02-01-2013

Quote:
Originally Posted by Mennonite Monk View Post
How do I go from being a self-taught successful full time lamp web developer to a programmer in the gaming industry without accruing a http://bit.ly/VyRskD in debt?
Go back a few pages (early or mid 20s) and I made a post detailing most of the resources and areas you need to cover to get you started. The rest will depend on personal projects you complete for portfolio sake in order to sell yourself and potentially any experiences you have.

Quote:
Originally Posted by WhattayaBrian View Post
Linear algebra's pretty important, but the good news is that 99% of what you'll need will be taught in the first few weeks.

Dot product.
Cross product.

Know those two guys and you can do just about anything. And not just their equations, but what they actually mean.



Boolean Algebra is important in theory, but reducing boolean expressions to their simplest form isn't required in almost every situation, and can sometimes make code harder to follow. The most important thing to grasp is just what truth tables AND, OR, NOT, XOR, XNOR, NAND, and NOR have, which are all easy.
I second this... Dot and Cross product are a CORE fundamental that needs to be understood. This means not simply just knowing how to use it, but an actual understanding. It has uses in physics, AI, and graphics programming.

Most of the other math you need can be gathered from the first 2-4 chapters in a given game programming book (they often have primers in DirectX/Game Physics books) to read up on. I do suggest taking calculus and if you are heavily interested in AI then discreet math as well. Discreet math has uses in other areas as well, but I have seen the most potential use in AI fields.


Comment below rating threshold, click here to show it.

Wake Up The Sun

Junior Member

02-01-2013

When are you going to replace the adobe air client with something that doesn't constantly crash/hog memory/suck?


Comment below rating threshold, click here to show it.

UglyDoge

Senior Member

02-01-2013

Glad I found this thread. Thanks for taking the time to share with us.


Comment below rating threshold, click here to show it.

MrGrimm999

The Council

02-01-2013

Quote:
Originally Posted by WhattayaBrian View Post
You know one language, you know them all. If you really know C++, you can pick up any other language very quickly. What's most important is being able to program well and prove that you can. You should try to feel as comfortable as you can with:
I don't know if I agree with this. I would restate it to say, "You know a particular paradigm of programming, you know that particular paradigm"

It is true that nowadays, we use imperative languages (You tell the computer a line of code and it does it line by line). This generally emphasizes changes in state.

These are C, C++, C#, Java etc.

But there are many different paradigms.

Declarative - the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations. This would be a language like Prolog.

Functional - treats computation as the evaluation of mathematical functions and avoids state and mutable data. This would be something like Lisp or OCaml

The point I am trying to make is that each of these types of languages is good at some things and bad at others. Certain problems are solved much easier in one type of language than another.

I have written a C program in 500 lines. I then wrote this exact same program in Prolog and it was something like 60 lines. The more tools you have in your toolbox, the better prepared you are to solve different types of problems.

If the only thing you have is a hammer (the C language), then everything looks like a nail (A problem best solved by C). This is not always the case.


Comment below rating threshold, click here to show it.

RiotSchmick

This user has referred a friend to League of Legends, click for more information

Software Engineer

Follow RiotSchmick on Twitter

02-01-2013
56 of 73 Riot Posts

Quote:
Originally Posted by MisoSowee View Post
These threads are by far my favorite threads of all! Even though I'm not planning on pursuing heavy coding much (Chem engineering woot! If i get accepted D:..) it's still awesome to read all this information, especially since my sister is halfway through her comp sci degree :]

It's always possible I could flip flop though.... this 120 wpm has to get to good use somehow... fufufufufu

Speaking of which how is your guys' typing speed? My sister was maybe 70 wpm before she started her 4 year comp sci degree and in just under two years she's almost at my speed (and probably more accurate too!)
Apparently my typing speed is around 105 wpm. I hadn't measured it since 8th grade typing and I don't remember what it was then, so I don't know if it went up. I do know that my co-workers at most every job I've had have commented on how fast I type. I use a mechanical keyboard, too, so it makes a lot of noise. :P

Quote:
Originally Posted by SpiritHacker View Post
Wonderful thread so far. Thanks to all you awesome Rioters for taking the time to answer our questions!

I have a double interest, programming and IT security. I've pursued both on-and-off as hobbies for the past several years, learning VB6 and dabbling in C++/Java on the programming side and hunting/analyzing malware on the ITsec side. I honestly don't know where I eventually want to end up career-wise, and that's messing with my plans since my course selection is starting to be decided by my major.

Could you guys give me an idea of what to expect in each position, and maybe some advice for choosing one over the other (or should I try a double major and postpone the ultimate decision until after college?)

Thank you!
I can't tell you what to expect in IT security, since that's never been my job. As for what's involved in the software engineering job, go back and read the various Riot posts on this thread to see a sampling from some of us that posted here.

If you are still in college, you certainly have plenty of time to decide. Taking a double major would give you a better idea of each field and help you make the decision. Whether you take a double major or not, you can use the rest of your time in college to research and explore where your interests lie.

Quote:
Originally Posted by Eva Unīt 02 View Post
Thanks again for all the replies. You have made yourself in my top Rioters list now, probably number one. If you ever find space on your friend list on league you should add me! (alt + 651 = ī)

I would love to travel as part of a job in gaming or as a permanent place as well so it shouldnt be an issue. I'd love to work with JRPGs and JMMO's coming to the US, so an inbetween company ideally.

That ... or my other job field is Astrophysics lol...

Then again working for a game company like riot and with league would also be a great job.

I like the idea of being able to do what you're doing right now. Helping the community on you're own time and still working a great job.
Thank you, I appreciate that. It's gratifying to hear that you are getting something out of it. : )

Quote:
Originally Posted by Chamenas View Post
I have a question:

Do you think that software engineering (programming) is underserved in our grade-schools? I remember in High School taking a dip in trying to formalize my interest in programming with a comp sci class. By the middle of the term I was making a text-based game where one walked on a coordinate grid and randomly engaged in battles with monsters. Meanwhile, the rest of my class was making tic tac toe.

I wanted to do more after that class, but it simply wasn't offered. Without that sort of environment to keep me on track, my interests deviated elsewhere...

In the end, I've found that I definitely dislike reading others' code and debugging, two major things to programming. So, it may not have turned out to be a good fit for me anyways. Or, I might have learned to deal with both of them better had my education in the field been stronger. I was simply never offered that opportunity.

When I got to college, I found kids in the comp sci program that had MUCH better high school education on the matter. Considering I grew up in Massachusetts, it's not like I was attending backwards schools, but, at least, in this area, there just isn't enough of a national standard which is a shame.
I am not an expert on the education system, but my guess is that it's not always easy to effect change in such a bureaucratic system. Computer science is a *relatively* new field, compared to say math, science, history, etc., so not all schools have caught up to the times.

Furthermore, while computer literacy is basic skill that anyone in this day and age should have in order to compete, or even get the most out of life, Computer Science is arguably a career specialty.

The goal of primary and secondary education, at least in the U.S., is to teach hard skills, soft skills, socialization, shared cultural knowledge, and the like without going into career specialization, which is the goal of higher education. I'm assuming it's this line of thinking that keeps more advanced Computer Science classes out of most high schools.

Quote:
Originally Posted by Pun Fiend View Post
@RiotSchmick

What are other popular/in demand openings in the game industry right now? In a general outline what are all the teams that really get to work on the game and make it their baby. (I know there can be a lot, just curious about the different overall aspects that might be overlooked)

I'm personally enjoying the tiny bit of programming (c++) I know so far so I'm going to head the programming route I believe but I also am in love with writing and trying my hand at art.

Also, you are one of my favorite rioters alongside Ironstylus. Would love to play a game with you sometime.
Honestly, I couldn't tell you what the in demand jobs are in the game industry outside of programming. I could refer you to the Riot Games Jobs page for a sampling of what kinds of positions we have available, but I don't know if those are in-demand across the game industry at large.

The answer to your second question depends a bit on where you draw the line for working on the game. There are a *lot* of aspects to League besides the actual game content, client, and server. If you mean only that, though, then I guess that would include folks that work on design and balance, art, UI, game client, game server, and QA. I may also be overlooking some aspects, as I don't work directly on the game myself.

Quote:
Originally Posted by xXCrazyBarksXx View Post
1)I meant like what other degree's and such tied in with programming so if I can't take up programming as a job for whatever reason, I can still have a degree for something similar. What is available? I know I definitely want to do something to do with maths/science/computers/engineering.
(I'm not really sure how college degree's and etc work, but we will be taught about it soon)

2)I'm gonna freaking love programming

Other Question
I'm going to be doing work experience soon, and I have no idea of what to apply to. What do you recommend/what did you do? (keep in mind I'm in Australia)

Thank you again
What do you mean by work experience? Is that like an internship? If so, I didn't personally do any internships, but if you can get one, it's great experience to have on your resume when you graduate. I would recommend that you find several positions that sound interesting to you in whatever field you are thinking about going into and apply to them all. If your university has a career services office, then enlist their help. They can help you find positions to apply for, as well as offer lots of advice on building your resume, cover letters, the application and interview process, and more.

Quote:
Originally Posted by Mennonite Monk View Post
How do I go from being a self-taught successful full time lamp web developer to a programmer in the gaming industry without accruing a http://bit.ly/VyRskD in debt?
Well, personally I think your best bet is to get a degree, and it doesn't cost $100K to get an undergraduate degree. Even if it did, you can get loans, and once you are a rock star programmer, you can pay it off. The investment would be worth it.

If you don't want to get a degree, there have been numerous resources posted by Rioters and other posters on this thread for learning various languages. Teach yourself everything you can, get some books on game programming, do some programming side projects that are relevant to gaming. Your proven initiative and interest in learning will go a long way when you do get an interview.

Quote:
Originally Posted by DaOwnage View Post
is there any way i could intern for you guys??? im a CS major and i have been playing this game for about 2-3 years i would love to do what you guys do for a living....ill work like a dog for free i swear just to learn from you all and be a part of a game that i spend most of my time ( and money lol) on
If you want to intern, then apply! http://www.riotgames.com/internships

Quote:
Originally Posted by Eaglechopper View Post
Hey to all you Rioters on this forum, lucky I had randomly found this forum because I have just recently got into a course into a "Bachelor of software engineering" though
I am having doubts if its the right path for me. I don't really know much about what software engineering do on a typical day, in my own opinion I see it as a job where you work fairly long hours and
work at a computer desk most of the day. Whilst I do love Information technology I have also been considering network engineering as its seems a more practical career. If you would be able to give me i
nsight into what constitutes a typical day of a software engineer that would be great advice in order to help me decide... Thanks
You do spend a lot of hours sitting in front of a computer - writing code, reading and writing emails, reading documentation or books. Depending on where you work, the culture, and the development methodologies used, you may spend a fair bit of time in meetings, but if you are lucky, you will be writing code for a majority of your time.

Whether or not you work long hours also depends on where you work. I've been extremely lucky in my career in that I've never worked anywhere that imposed a crunch time of more than a few weeks a year. Crunch time is a term for when the team works 10 or more hours a day for an extended period of time to reach a deadline. Game companies (or perhaps all companies in general) are emphasizing work/life balance a lot more these days. A burnt-out employee will be less productive over time than a happy, healthy one. Companies tend to focus more now on making the culture great so that people are motivated and always putting in their best effort, rather than demanding longer hours. I do tend to spend more than 8 hours a day at work, but that's because I like being here, and I'm not spending all of the 10-11 hours that I'm here working. The culture here is just amazing and the people here are my friends, so I like to be here, socialize, play games, and work hard, and so do other Rioters. : )


Comment below rating threshold, click here to show it.

SalvaXr

Member

02-01-2013

Hi!, I'm studying Information Systems Engineering, and I also have many questions!

My career is focused on developing systems (duh), and they only teach me Java, but I want to be a games developer so im going to learn C++, do you have any piece of advise about where to start with games development?
Second, is there a place at riot for somebody with the title I hope I'll get someday, or should I start learning new things (which I will anyway) if I want a job at riot?
And the last question for the moment being, Im from Argentina, and I'm willing to move to USA, is that possible?

Anything else you might want to add that hasnt been said in the 60 red posts so far?

Thank you so much!

PD: if there is any other way of contacting you to ask further questions please let me know!


Comment below rating threshold, click here to show it.

KevinGregg

This user has referred a friend to League of Legends, click for more information

Senior Member

02-01-2013

I am working towards completing a cmpt sci degree, and i have a question.

Why does it seem so hard to be a programmer? for example, here is a bug people are reporting: http://na.leagueoflegends.com/board/...3070225&page=2

After winning a ranked game, the end game screen says +0 LP but their profile correctly updates with +10 LP. Seems like a relatively simple operation to have the end game screen display the same value that the profile updates with. How does an oversight like this occur?


Comment below rating threshold, click here to show it.

Anymeese

Member

02-01-2013

Hey guys quick question! Long story short, I want to take an open source Android (Java) app and convert it into an iPhone (objective c) app for my teammates that don't see the beauty in Android. I've never used Objective C but I know basic C++. Are they close enough that I can teach myself the gap? And if so, what's a good compiler to use on Windows? I personally dont like Apple, but apparently Objective C is mostly associated with apple products hehe

Once again, thanks!

EDIT: And PS, if you like this sort of thing, come hang out with a bunch of us Robotics people!


Comment below rating threshold, click here to show it.

SpiritHacker

Senior Member

02-01-2013

@KevinGregg, a simple bug like that is the kind of thing that, as you mentioned, simply gets overlooked. I can't speak for how Riot does their bugchecking, but in my own programs I tend to focus heavily on major stuff (crashes and stuff) and sometimes that means I simply won't see a smaller bug until a user points it out. A typo-like bug like the one you mention would be even easier to overlook, since unless you carefully look at the end-of-game screen you might not realize what happened. You'd just see the acct was credited with LP properly and move on.

@RiotSchmick, thanks for the advice! I still have a lot of deciding to do, but every bit of knowledge helps with it.


Comment below rating threshold, click here to show it.

WhattayaBrian

Engineer

02-01-2013
57 of 73 Riot Posts

Quote:
Originally Posted by KevinGregg View Post
I am working towards completing a cmpt sci degree, and i have a question.

Why does it seem so hard to be a programmer? for example, here is a bug people are reporting: http://na.leagueoflegends.com/board/...3070225&page=2

After winning a ranked game, the end game screen says +0 LP but their profile correctly updates with +10 LP. Seems like a relatively simple operation to have the end game screen display the same value that the profile updates with. How does an oversight like this occur?
While I don't know the context behind this particular bug, what you need to understand is that this is actually not a very simple thing. Whenever you talk about networking (like for example the Platform talking to the Air Client), you introduce a huge amount of complexity that doesn't exist in solo applications.

Not to mention that we simply don't have a way to test what happens when we such a huge amount of people use a new feature. We have load tests, but they're just simulations, internally we've got a few hundred people, and PBE's some thousands of people I think, which is not even remotely comparable to our live servers.

Networking and race conditions make simple things hard. This is something you'll come to understand if you continue your studies.