How I got started in technical evangelism, Pt. 1

TechnicalEvangelist

This is a question that I get asked pretty often, so I thought I’d write it down to make it easier to share. I’ve also asked some of my peers for their story as well, since they all have unique backgrounds and this is definitely an interesting role with many paths to get to it.

I plan on doing a few of these over the next couple of weeks, so that I can put some detail into these posts. I wanted to share my story so that others who want to get into this field, or those who do not have technical backgrounds, can understand that a path exists.

Education

For starters, I don’t have an engineering  or computer science background. I went to a small state school on New York (SUNY Oneonta) and studied communications. After I graduated in 2009, I went back to NYIT, where I began my college career, and completed the first year of my MBA in Management of Information Systems. It wasn’t until the tail-end of college that I even discovered you could study computers.

I tried doing one year of computer science when I started my MBA, but as a graduate student I had to take math courses designed with freshmen, and I couldn’t pass any of those. (I had a solid 65 average in Math in high school). There goes that dream. At the same time, the economy collapsed, and nobody was hiring. I realized it wasn’t the best time to be in school, and my student loan debt was growing to nearly $40k. Most of that came from graduate school, which I never finished.

The takeaway:

If you go to school, be sure that this is what you want to study. That student loan debt will stick with you for the rest of your life. That’s a big investment for something you are thinking “Maybe I want to do this?”

Keep on Keepin’ On

Joe Dirt said it best: “Life’s a garden — dig it.” And I did. I went back into construction and did that in NYC for about 5 years. I hated that job. The hours were abysmal, the commute from Long Island to Manhattan was insane, and the work just didn’t interest me. It took me 2 hours each way — that’s 4 hour each day, on top of working at least 8 hours. I was often just sweeping floors or demolishing walls, so it wasn’t until later that I actually learned any sort of carpentry or project management skills on the job.

I had always loved video games as a child, but never knew how to get into the industry, but one day during lunch I had seen an ad for GDC, the annual Game Developer Conference in San Francisco, and realized that it was a good place to start. With that said, I booked a flight and hotel during that lunch, and bought an expo pass for $350. I was poor, living at my mom’s house, and barely making enough to pay off my student loans, but I saw this as an opportunity to get into something that interested me. I didn’t quite realize how much that trip would change the course of my life until years later.

The takeaway:

Invest in yourself. It cost me ~$2k for my trip, and I was already poor and drowning in student loan debt, but this was a chance I was willing to take to invest in my future. Still, this was way cheaper than college.

GDC 2010

Not knowing anyone made the event somewhat lonely for me. I ate all of my meals alone and sat silently for the few free talks that were given on the expo floor. Still, I learned so much, and when sitting in for a demo of Crytek’s CryEngine, I realized that I didn’t understand a word of what they were saying, but took vigorous notes and promised myself that when I came back the next year that I would know what all of those terms meant. Textures, materials, phong shaders? You might as well be speaking Klingon as far as I was concerned, because I had no idea of what was going on.

On my way out, I grabbed two massive books from book store at GDC – Mastering Unreal Technology I and II. After that, I was hooked. I downloaded Epic’s newly released Unreal Development Kit (UDK), which was the free version of their game engine, as soon as I got home and cranked through those books. I read every single page (more than 1,000 in total) and did every tutorial, some of which more than once. One of the authors, Zak Parrish, would later go on to work at Epic, but he also put together several videos on how to do 3D modeling and build scenes in the engine, and I am forever grateful for how thorough they were. Without those, I would have given up long ago.

The takeaway:

Learn to be uncomfortable. I was lonely, on the other side of the country and learning something new every minute.

Blogging

Along the way, I started to keep a log of my work on WordPress, and used their free web servers to write about the projects I was building. I would blog about useful tutorials I stumbled across, but also post my own tutorials on things I was learning, as well as images of works in progress. The first thing I did on my own was try to create Bubble Man’s stage from Mega Man 2 inside of UDK. You can read about that here.

Shortly into this, I came to understand that I would actually need to know how to program to get more functionality out of the characters. I had nearly all of the environment modeled and painted, but I needed to know how to program to have my character shoot and really start to interact with other characters. I taught myself 3DS Max from tutorials on 3DBuzz.com and Photoshop from various sites across the web. I started by reading some other tutorials, and again, writing my own, using Epic’s scripting language, Unreal Script. I had no clue of how to read code, but I could piece together some bits here and there, based on what I saw others do. The comments in the code helped, too. This is a large reason why I comment my code so thoroughly — to help others.

All of that blogging paid off, because someone at Packt Publishing discovered it, and asked if I wanted to write a book about Unreal Engine gameplay programming. Not one to turn down a challenge, I said yes, and worried about learning to code later. I figured I could pick it up along the way.

The takeaway:

Blogging works. Seriously. It got my three jobs in the short span of my career, and started countless friendships.

Writing a book

5565OT_Cover_PreFinal

For the next three months, in the fall of 2012, I voraciously read as much as I could get my hands on to learn to program. During my commute into Manhattan every day I would read blogs about programming and Unreal Script, then when I got home from work, I would write the tutorials for the book. For the last 6 weeks or so, I locked myself in the public library and cranked out code. After 3 months of work, I had a finished book. This helped build my confidence around the idea that I could learn new things quickly

The takeaway:

Don’t be afraid to challenge yourself. Give yourself a difficult goal, and stick to it.

Writing about games

The week that I got back from GDC, I posted a message in the Joystiq (a video game blog, now owned by Engadget) fan Facebook group that I’d like to start a blog about video games, and asked if others would like to join. Within hours, there were a flurry of responses, and I decided to work with the first 4 people who responded. This would later become Armless Octopus, a blog covering Xbox Live Indie Games (XBLIG) more than anything else, but would later move onto indie games as a whole.

The XBLIG angle was courtesy of Mike Wall, who is now one of my  closest friends, and was also the EIC of the blog. I had never heard of XBLIG before this, as it was still relatively new and hidden in an obscure corner of the Xbox 360 marketplace, but he was a fan of many of the games, and was able to uncover many of the gems. The team started a podcast and made a point to cover the new releases each week. Many of those games would go on to other, larger platforms, but we also discovered that this niche was actually something that the larger outlets (IGN, GameSpot, Joystiq) wanted coverage of as well. We were helping to satisfy this niche by covering the games and the developers behind them, and the larger outlets would pick up on it, thereby driving traffic to our site. Win-win for everyone involved!

I learned a lot from this experience, including how to podcast, interact with other writers and see things from their angle, as well as how the industry as a whole worked. Most importantly though, I learned to accept criticism. We would all proofread one-another’s work before it went live and offer constructive criticism. Mike is a fantastic writer and always improved on whatever it was I was attempting to get across. A large part of my limited writing ability is courtesy of him, and this pays dividends for me today.

The takeaway:

Learn to accept criticism. Working with others allowed me to see things from their perspective, but also enabled their critique of my work, which improved my ability to reach a wider audience.

Actually learning to program

Xbox-Live-Indie-Games-logo

XBLIG was already alive and well before I got there, with MVPs (Most Important Professionals — Microsoft’s way of acknowledging individuals who go above-and-beyond to help others), and a vibrant sea of talented developers. Still, much of their work was hidden within the storefront and behind many of the quirky and absurd titles. XNA, the C# framework Microsoft crafted to allow developers to post their games on the Xbox 360 is what drove this community, and I used it as an example to really learn to code. I had just written that Unreal book, but the language behind it was only used by that tool. With C#, I could hit a multitude of platforms.

I gave myself 3 months to learn C# and publish my first game, and I did exactly that. I started in March 2012, and created a Pong clone, called Piz-ong, based on Ian Stocker’s (Magical Time Bean, of Escape Goat fame) recommendation to start with Pong, as it was so simple and taught me the basics. Many of the community members along the way helped coach me and answer forum questions whenever I got stuck, and it was Jim Perry in particular, a former XNA MVP and is now one of our first ID@Xbox MVPS, who coached me through it all and was extremely patient with me, even stepping through my builds each evening, which we would send back-and-forth via email as a .zip.

We had a great community and I had my first game released on a console, but it was time to kick things up a notch, and I wanted to give back to the community who gave so much to me.

The takeaway:

Find a mentor, then pay it forward. For me, it was Jim Perry, who I have yet to meet in person, but who sacrificed so much of personal time to help a peon like myself learn to program.

-----------------------


subscribe-to-youtube

5 thoughts on “How I got started in technical evangelism, Pt. 1

  1. Hello Dave,

    It was nice to read about your experiences in your career. I can connect myself to your experiences.
    I worked as freelance web developer for 2 years. But later I decided to work in making games which I always wanted to do deeper inside my heart. I came to know about Unreal Engine 4 through a friend of mine and found that making games will be an interesting experience.

    From last 3 months I have been working in Unreal Engine 4 and made myself familiar to blueprint scripting. As it was my first step into game making I decided to make a blog to write about topics which I felt will help beginners in Unreal Engine 4 (hosted at http://www.unrealenginetutorials.com).

    During this time I found that making games require a vast array of skills of which programming is just a part. It sometimes leads to confusion about what to focus on most. Here I feel need of guidance from some experienced people in gaming industry. But as I am new to gaming domain it is hard to connect with experienced people here.

    When it comes to my skills, I have worked in Java, C++ , PHP , WordPress, HTML, CSS but when I think about their relevance in gaming , concepts like Object Oriented Programming and basic programming fundamentals helps me. Now from past 3 months I am comforatble with Blueprint Scripting too.

    Currently I am not doing any job and I am using my savings to invest on my skills. I want to get to a situation where I can make some money to pay my bills and rent using my income from my work in gaming. I am not expecting anything for one year and just want to cherish my skills by using my savings.

    I am ready to work any amount of hours daily but sometimes lack of experience just make me feel that I am working hard for nothing. Can you please guide me that what should be my approach for next one year to efficiently use this time so that I could do something useful in gaming industry? Where I can look for mentors who can help me in providing right directions?

    Thanks if you read it all. Hoping to get a reply from you.

    Amol

    • Hello Amol,

      You have a geat blog. Tons of content there, and all of your tutorials are concicse and clear. Keep doing that! Not everyone has the ability to create clear educational content, so you have a lot of value right there.

      To answer your question, I would suggest reaching out to as many online communities as you possible can. Be active in the UE4 or Reddit/r/gamedev forums. There are tons of Facebook groups for UE4 developers and independent developers — join those and be a part of the discussion. I’ve made tons of friends that way.

      It also extends to the real world. Meeting face-to-face is far easier once you’ve already broken the ice online. Stay active on twitter, too. Follow along with what the UE4 and Epic Games community is doing. Comment on their work, and post on their blogs, similar to what you did here.

      Finally, get active in your local community. Reach out to developers in your area by participating in game jams and hackathons. If there isn’t one in your area, start one!

  2. I’ve been wanting to write an article like this, basically documenting all of the game development that I have done throughout my life, starting with the first game that I wrote in QBasic back in 1995. I just haven’t had the time to write much lately with all of the game projects that I have that need to be finished. By the way, have you seen the Mega Man clone that I have been developing called Giga Guy? I started it a couple of years ago, but I completely redeveloped it this month using Unity and Playmaker. Your Bubble Man stage in UDK sounds really similar to what I am developing, but I’m just focusing on the boss battles right now. I’ve been keeping a developer commentary video log ( https://youtu.be/2wKVzth2Zd4?list=PLYaphcg34XTl6Xqk1dfzM7IpMSgaiQLL1 ).

    • Someoen was re-doing Mega Man in Unity and GameMaker? I’ll have to look into this right now. I know that there was a 2-player version being done with MonoGame, where you can play Snake Man’s stage, but I haven’t seen an update to it in at least a year.

      It’s hard to put projects to the side sometimes, right? I run into the same problem, where I have ten different things going on at once and need to focus. I’ve found that writing about projects as I’m building them forces me to really focus. Have you tried that too?

      smart idea to keep a developer video log. Your 6502 Assembly tutorial is great, so I love that you keep a video blog going! Let me look at his latest video now.

Leave a Reply