Archive for the ‘Flash’ Category

Riot Games is an amazing company!

Friday, January 7th, 2011

Hello everyone! So in a previous post I said I would talk more about getting hired by Riot Games.

It all started way back with the League of Legends beta release. I got in and played the hell out of the game. I was obsessed, just like I used to be with DotA. So when I went to volunteer at GDC last year, I decided to run a League of Legends tournament for all of the CAs. I contacted Jeff Jew at Riot Games to see if any of the Riot guys would be willing to visit and if they had any schwag I could use as prizes.

Well, not only did Jeff Jew show up, but ELEVEN OTHER RIOT GUYS CAME! Holy crap! It was like a dream come true for so many people. We had laptops set up everywhere and there were at least 40 people playing LoL at any given time. We had a huge 5v5 Riot VS CAs match. All in all the event was a blast, and as thanks for preparing it they invited me to their recruitment party.

While there, I met many Riot employees and they discovered that I did Flash programming. I had no idea that Flash coders could even get a job in anything but the casual/kids section of the game industry, but apparently almost all of the triple-AAA studios use a 3rd party solution called ScaleformGFX for their user interface solution. The way Scaleform works is that you can code the entire UI in Flash using the IDE as well as Actionscript code, and then the Scaleform player runs during your game simulating the way a Flash player behaves in a browser. The unfortunate part is that Scaleform currently only supports Actionscript 2.0, which is a horrible language for most developers. But, to make a long story a little shorter, that is the reason I now work for Riot Games. They needed a Flash developer to take over the UI coding, and I was at the right place at the right time and proved my passion for the game by spending my spare time running a huge tournament to show my support.

This just goes to show that networking is the absolute 100% most vital aspect to getting a job in the game industry. I had met Jeff Jew and played in-game with him once, and he remembered me because while I was in school another Riot employee, Steve Snow, used to come speak at our school and I mentioned that fact. As a result, when I decided to run the tournament, I was able to use my previous networking and send Jeff an email and that resulted in the entire chain of events that eventually led to my employment.

And I have to say, this is the happiest I’ve ever been in my life. Riot Games is the most incredible company I’ve ever worked for. If you add up how happy and fulfilled I was at every job I’ve ever had in the past, it would be a fraction of how happy and fulfilled I am at Riot after just 6 months on the job. Despite tackling immensely difficult problems the likes of which I’ve never seen before, I don’t feel like I’ve “worked” a single day here. I look forward to going in and seeing my awesome and amazingly talented co-workers, and I face satisfying challenges every day! I am the kind of person whereby, in a job, if I don’t get copious amounts of extremely difficult to solve problems and challenges on a daily basis, I get bored very easily. Keep the hard work piling in on me and I’m happy as a kid in a playground. The best part is that the design department is extremely open about including non-design department employees as participants in their discussions. I love game design, but I was hired as a programmer, so that’s my first responsibility. But everyone is encouraged to submit champion ideas (of which I’ve submitted 4 already), provide feedback on any aspect of the game including balance, and play in the play tests that we run every single day to do a massive crowd-sourced QA and design/balance sweep of the game. Since we’re running the game as a service that updates every 2 weeks, the latter is the most important part of the puzzle.

Anyway, this post is turning into a novel. To conclude, I will say to anyone who is interested in working at Riot Games, we have quite possibly the best company the game industry has ever seen. We only hire strong, talented, alpha personality people who check their egos at the door, and I’ve never worked with a more cohesive and impressive group of individuals. The company is very demanding of time and effort, but they are also very generous and recognize those efforts on a regular basis. The leadership is also extremely transparent – you know exactly where you stand at all times, and I have yet to experience any sort of politics. Everyone in the company is treated as an equal, from the QA interns to the programmers to the CEO & President.

I love Riot Games! :)

Flash Tracer not working? Do a Flash Player Version Test!

Wednesday, January 7th, 2009

For those of you who don’t know what Flash Tracer is, it’s a Firefox plug-in created by Alessandro Crugnola that lets you see the output of any trace() statements hidden in the Flash code. Very useful! You can get the plug-in by visiting the following link:

https://addons.mozilla.org/en-US/firefox/addon/3469

I recently ran into some trouble with Flash Tracer, namely that it wasn’t working at all. I consulted the online help and went through the checklist:

  • Flash Debug Player? – Check! I’ve had that for a while.
  • Output file pointing to the right text file on my system? – Check! I reset it manually just in case. (And FYI, the path on a windows machine should be “C:\Documents and Settings\{User}\Application Data\Macromedia\Flash Player\Logs\flashlog.txt” – obviously replace {User} with your username)
  • Make sure Flash Tracer is not paused? – Check!

Why wasn’t it working? It drove me absolutely batty, until my friend Scottae pointed me to this web page to verify I had the right version of Flash Debug Player installed:

http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15507

Looks like I was a little too hasty with my first check mark. The website revealed to me that I did NOT have Flash Debug Player installed for Firefox. Apparently, way back when I first installed it, I accidentally installed the IE ActiveX control, not the Netscape enabled one. Most Flash developers of any accomplishment will probably snicker at my mistake… However, for you newbies out there who aren’t able to get Flash Tracer to work, do yourself a favor and use that handy little link to make sure you actually do have Flash Debug Player for Firefox installed. Lesson learned!

Oh, and Alessandro has explicit instructions to get your plug-in to work here: http://www.sephiroth.it/firefox/flashtracer/

- George

Casa Lib Open Source Flash

Monday, January 5th, 2009

I was recently introduced to CASA Lib by my friend and fellow Flash developer, Scottae, and I have to say I’m quite amazed. This extensive library is jam-packed full of things that I’ll be using over and over to make my life a lot easier. It’s stuff like this that you’d think would be native to Flash anyway, but isn’t. In my years programming games, I’ve started to move towards coding like this anyway, but the guys who developed this library do it FAR more efficiently and elegantly than I ever would have. Go ahead and dig into the source code – it’s all there and it’s beautifully executed. The documentation is thorough and detailed as well. The only complaint I have is that I wish there were even more concrete examples buried in the documentation (like Adobe’s documentation). Here’s a few of the features I am particularly fond of:

  • Any object that can dispatch events can now be created extending RemovableEventDispatcher which tracks all those pesky event listeners automatically and gives you easy, convenient methods for cleaning them up in one line
  • The commonly used display objects are recreated (CasaSprite, CasaMovieclip, etc) with a destroy() method, giving you a neat and tidy way of doing everything to make them immediately available for garbage collection
  • An inactivity monitor to easily integrate code that needs to run when the user sits there idle (perfect for games)
  • A class that can register for and respond to key combinations being pressed at the same time or in a specific order (again, perfect for games)
  • A plethora of new utilities that address situations where we have all said at one point “man, I wish there were something built in to Flash that can [insert common process here]” – too many to list here

I’ve only been through about half of the classes so far, so I’m sure there are a ton of other really nifty things that I haven’t even discovered yet. Mega kudos to Aaron Clinger and Mike Creighton for spearheading and managing this library. I can’t say enough good things about it! This has been a godsend for my game programming and I’m looking forward to incorporating these new classes into my projects.

OFFICIAL SITE: http://casalib.org/

Enjoy!

- George