Anthony A. Scott Goblinworks Executive Founder |
I am not sure if this type of thread exists already, but please let me know if it does.
My question is: What should a software developer with a bachelor's degree in computer science focus on if I want to work at Goblinworks?
I am a software developer who is very interested in getting into a company like goblin works. Most of my experience is in web technologies including PHP, C#, Javascript, and html, but I do have a bachelor's of science in computer science. Other languages that I have experience in are C++, Java, and Flash/Flex (Actionscript). I have over 4 years work experience as a web developer making tools and custom software.
I have played and GM'd Pathfinder since beta soft covers were out, and played D&D 3.0 and 3.5 before that. I've been playing MMO's since Ultima Online and am quite excited to see Pathfinder Online on the horizon.
I'm fairly certain that I don't quite have the experience for Goblinworks yet, since the Goblinworks job page says they are looking for developers with experience in the MMO industry. I would, however, like to break into the MMO industry and am curious what skills are necessary. Once I fill out my skill set to be more in line with a typical entry level Goblinworks Developer, I plan to apply to work there.
Any and all advice is appreciated.
MicMan Goblin Squad Member |
Zexcir |
That and the ability to stay productive for 22 hours a day on nothing but root beer.
Root beer?? All the Software Engineers at my job drink Mountain Dew!!! That kick keeps us going!!!
What should a software developer with a bachelor's degree in computer science focus on if I want to work at Goblinworks?
I don't know about MMO, but video games in general the answer is "it depends." There are many positions when creating games. One of major jobs is creating the AI logic, and scripting logic in general. Most of which you should have experience as a Web Developer. IF they are developing their own game engine then it's probably very heavy C++... If they are using an existing engine, which I assume they are; they will choose a scripting language.
Since they have a limited budget, they need the all around programmer. Being able to program a multiplayer game with TCP.. So bleh
Gwenn Reece Goblin Squad Member |
Get some game development experience. That can be as simple as writing an add-on for WoW, a map for StarCraft, or similar type games. You could also download a middleware SDK like Unity, Unreal, or even XNA and start developing on that.
Generally, knowledge of a compiled language ( C, C++) and a scripted language (lua, python, perl). Databases. Math skills involving trig and linear algebra. How to play directly with hardware as well as optimize calls to it without going through APIs. Camera controls, shaders, animation, and 3d graphics. Usually linux platform experience. Networking experience in TCP / IP and UDP protocols. Knowledge of setups for networked games.
You probably don't need all of that for an entry level position, but it doesn't hurt to build up a decent amount of that. Of course, if you want to design classes and content, then you will only need a small fraction of that.
Alexander_Damocles Goblin Squad Member |
Anthony A. Scott Goblinworks Executive Founder |
I really appreciate all the feedback.
Get some game development experience. That can be as simple as writing an add-on for WoW, a map for StarCraft, or similar type games. You could also download a middleware SDK like Unity, Unreal, or even XNA and start developing on that.
I will likely start looking into StarCraft or WoW right away since I already have access to these. I will likely look into creating things with other middleware once I've gotten my feet wet. Are there any specific areas I should explore with these middlewares to demonstrate proficiency with learning and integrating into those systems?
Generally, knowledge of a compiled language ( C, C++) and a scripted language (lua, python, perl). Databases. Math skills involving trig and linear algebra. How to play directly with hardware as well as optimize calls to it without going through APIs. Camera controls, shaders, animation, and 3d graphics. Usually linux platform experience. Networking experience in TCP / IP and UDP protocols. Knowledge of setups for networked games.
Where would I start with hardware play? Hardware is something I've never jumped into.
Gwenn Reece Goblin Squad Member |
brock |
You are coming at this from the wrong angle. It's been discussed above just how broad a field computer game design is, and that's not covering the non-CS related stuff - motion capture, art, dialogue, sound, etc. What specifically are you good at doing in the field of software? What catches your imagination enough for you to pursue it until mastery? That's what you should attempt to sell to a developer to get your first job in the field.
Don't at this stage take something you have no experience in (e.g. hardware above) and try and make that your entry point. You won't stand out against the other candidates. Make your first job about something you can already excel at.
For example, although I'm a professional software engineer, my first degrees were in physics and mathematics. So I've targeted physics modelling and procedural texturing and 3d graphics jobs when I've interviewed in the game industry. Apart from a job writing special effects code, I've never actually taken a job offer in the industry as the pay has never been worth the crushing hours expected.
If you want to pursue game design/coding in general, google Andre Lamoth. That should give you enough fun projects to keep you occupied for a while :)
Gwenn Reece Goblin Squad Member |
Don't at this stage take something you have no experience in (e.g. hardware above) and try and make that your entry point. You won't stand out against the other candidates. Make your first job about something you can already excel at.
Yeah, my experience is class and race coding on a MUD. Lately, we've been taking apart a lot of 90s game concepts and code and bringing it up to more modern tech. I geek out about class design and UI design when dealing with the more modern games.
However, the first paragraph from my original response still holds. If you want in the industry, then get into the industry in whatever ways are already open to you. Write an app, web utility, mod, script, level, addon, Firefox extension, program, TCG, something to get some experience. Also, follow Brock's advice and pick something that overlaps your existing skillset. Going from web forms to procedural texturing would likely be a hard learning curve.
If you want to do more of the high concept stuff like class, economy, and such then start a blog and analyze current systems in other games pointing out strengths, flaws, and giving your take on some ways you would or improve upon it. Level design, then play with the world and event creation tools available with some games as well as writing up essentially RPG modules. For these things just study games from an academic view to see various conventions (hey, look, an exit! You can tell by the pair of guards flanking it.) and trends (MMOs moving from grind to story driven).
Find your in and show you are interested through your dedication to it. Or luck into it by buying Mr Dancey some drinks at PaizoCon.... Lots of drinks.
Anthony A. Scott Goblinworks Executive Founder |
Based on the advice presented from Gregg Reece I was planning on jumping into C++ building games from scratch. I have already built a few games in flash for Facebook and am not unfamiliar with the concept. I'm already involved in an RPG app project to get more experience with mobile application development. Through the Star Craft editors, I planned to create a few scenarios that I thought would be fun to play through, which should give me some scripting experience in a real game engine. I by no means am going to explore every avenue you mentioned to mastery, but I don't think it hurts terribly to dabble a little in each. The thing I have to keep in mind is making sure my dabbling doesn't detract from my main focus of game design and coding.
I appreciate the advice from both Gregg and Brock, as it helps give me an idea of my options moving forward. I will definitely look up Andre Lamoth .