I’ve been teaching game development at the University level for a little over 4 years. As a generalist, I’ve taught a pretty wide variety of classes, from Level Design, to Scripting, to VR Design, to Project Management.
During the summers I often run summer camps for high school students, and during those camps I teach the full pipeline - concerting and iteration, sketching and planning, creating art assets (modeling, texturing, rigging, animating), world building, scripting, and integrating art/sound/VFX.
I remember my college days where I was told being a generalist was a bad idea, and that if I wanted to be successful I needed to choose an area to focus. Although most of my jobs have not utilized all of my skills, I have never struggled to find work in the game industry, and many of my employers have appreciated my ability to jump seamlessly into other roles when needed.
At my current University, the topic often comes up in discussion among faculty of how to get our students to focus, to keep them from becoming generalists.
Here’s my two cents - if you can code, you will always have that to fall back on, there will always be someone who will pay you to write code.
If you can make art, you will always be able to bring your ideas to life. There may be times when it will be hard to find someone to pay for your art, that comes with the territory, but that shouldn’t keep you from creating great things.
If you can lead a team, you will find ways to do so, even if you are not formally given positions of authority.
Don’t shy away from being a generalist, if you are passionate about many different things, lean into that passion and become great.
On the other hand, if you have strong skills in one area and no interest in strengthening the other areas, then by all means specialize. Being a generalist is not for everyone, and many game studios rely on having very specialized skills on their team.
A place where I write my experiences, musings, and technical challenges/solutions along my journey as a game developer.
Showing posts with label indiedev. Show all posts
Showing posts with label indiedev. Show all posts
Thursday, October 10, 2019
Wednesday, October 26, 2016
Interface Design and Unusual Platforms, Part 2
This is a continuation of part 1, and I would recommend reading that first for some background info.
My last post left off with the Wii Fit Balance Board and Kinect for a game played on hoverboards battling giant robot spiders. How can I possibly top that?
Well, up next is the Leap Motion (not to be confused for AR company Magic LEAP) - it bears some similarity to the Kinect in terms of hardware, but it is used to track your hands with great detail...every movement of every finger mapped to a skeleton!
I entered a Leap Motion Game Jam to get a free Leap Motion (one of the best ways to get free hardware!). As always I started with the question of "what makes this hardware unique and what can I do with it that I couldn't do with any other hardware?"
Other games have tried to simulate gardening and farming, but their shortcoming is that growing plants really involves working with your hands, something hard to replicate in video games using a keyboard or controller. The Leap Motion is unique in that it allows you to use your hands with the full range of dexterity we have in real life. So I made a garden simulator. It’s important to remember though that digital experiences do not need to perfectly match their real-world inspiration, sometimes it can be more fun to do something weird. So I took a weird twist on gardening - the player's interaction is to literally pinch and pull the plant upward to make it grow. Then you can dip your hand in a water bucket to sprinkle the plant with water to make it bloom. But beware! If you pull the plant to quickly you will pull it right out of the ground!
I ended up making this game in about 24 hours, because I procrastinated until the very last moment to get started. Here is a gameplay video. This one you can also download from itch.io if you have a Leap Motion and want to test it out!
Okay, so now we can finally get to Virtual Reality, I'm sure that's what you're all here for. I'd like to take this opportunity to draw a distinction between Head-Mounted Display (HMD), Head Tracking, and full VR headsets.
A Head-Mounted Display is like a monitor attached to your face - it's pretty cool that it lets you get up close and personal, but the limitations without head-tracking means you are looking at a fairly stationary display.
Head-tracking is similar to other forms of motion tracking (hand-tracking, body-tracking, motion-tracked controllers...). Head-tracking does what you'd expect - it tracks the motion of your head and then uses that data for something useful in the experience. zSpace, which I mentioned earlier, utilizes head-tracking to create the illusion of a holographic display, though the glasses are clear so you are still seeing the real world when you look through.
A full VR headset combines head-tracking with a head-mounted display to allow you to move your head around and experience a virtual world as if you were embedded in it.
VR offers a similar solution for navigation, where we previously used a mouse and WASD to navigate a space, now we can use our head and body, which is a much more intuitive translation.
In part 3 of this segment I will get into the meat of my presentation - how can we stop thinking about the mouse and keyboard when we design for mobile and VR (and mobile VR)?
Continue to part 3.
My last post left off with the Wii Fit Balance Board and Kinect for a game played on hoverboards battling giant robot spiders. How can I possibly top that?
Well, up next is the Leap Motion (not to be confused for AR company Magic LEAP) - it bears some similarity to the Kinect in terms of hardware, but it is used to track your hands with great detail...every movement of every finger mapped to a skeleton!
I entered a Leap Motion Game Jam to get a free Leap Motion (one of the best ways to get free hardware!). As always I started with the question of "what makes this hardware unique and what can I do with it that I couldn't do with any other hardware?"
Other games have tried to simulate gardening and farming, but their shortcoming is that growing plants really involves working with your hands, something hard to replicate in video games using a keyboard or controller. The Leap Motion is unique in that it allows you to use your hands with the full range of dexterity we have in real life. So I made a garden simulator. It’s important to remember though that digital experiences do not need to perfectly match their real-world inspiration, sometimes it can be more fun to do something weird. So I took a weird twist on gardening - the player's interaction is to literally pinch and pull the plant upward to make it grow. Then you can dip your hand in a water bucket to sprinkle the plant with water to make it bloom. But beware! If you pull the plant to quickly you will pull it right out of the ground!
I ended up making this game in about 24 hours, because I procrastinated until the very last moment to get started. Here is a gameplay video. This one you can also download from itch.io if you have a Leap Motion and want to test it out!
Of course I'm going to get to Virtual Reality, but one more thing before I do - Augmented Reality. I haven't actually made anything for Augmented Reality yet, but this stuff is crazy cool. It basically covers any way hardware can be used to alter your experience of real physical space, including overlays with AR glasses, digital displays on top of real-world camera usually using a phone, and of course projections like this one:
This is a height-map projector, it projects a different color based on how close the surface is to the projector. I had a chance to play with one of these recently, and it's great - you can play with the sand with your hands and build mountains and valleys and lakes, and the colors update in real time as you play.
AR Games very commonly refer to two different types of games - Augmented Reality, which I was just explaining as being digitally overlayed on the real world, and Alternate Reality - which is like a parallel universe with the same global coordinates as our universe, but is instead inhabited by Pokemon.
A Head-Mounted Display is like a monitor attached to your face - it's pretty cool that it lets you get up close and personal, but the limitations without head-tracking means you are looking at a fairly stationary display.
Head-tracking is similar to other forms of motion tracking (hand-tracking, body-tracking, motion-tracked controllers...). Head-tracking does what you'd expect - it tracks the motion of your head and then uses that data for something useful in the experience. zSpace, which I mentioned earlier, utilizes head-tracking to create the illusion of a holographic display, though the glasses are clear so you are still seeing the real world when you look through.
A full VR headset combines head-tracking with a head-mounted display to allow you to move your head around and experience a virtual world as if you were embedded in it.
Virtual Reality offers some pretty amazing opportunities for developers, because it is very unique from the traditional gaming experience. Moving your head around in physical space is so completely different from using a mouse to pan your view on a 2D monitor, and stepping forward with your feet (in room-scale VR) is quite different from using WASD to update your position in the digital space.
In some sense we should be thinking about the interface for VR the way we think about the interface for mobile.
It took a while for developers to realize some amazing things about the touch-screen interface. In the early days people thought about touch-screens in terms of mouse-and-keyboard controls, where buttons on the screen would be clicked on with a mouse they would instead be "tapped" on with a finger for the touch screen. But touch-screens offered a really incredible advantage over mouse-and-keyboard, which we discovered when we learned that toddlers could intuitively interact with a touch-screen, long before they could use a mouse. Part of this obviously comes from dexterity, but I think there is another key reason for this in that moving a mouse has a disconnect between your action and the result you see - you move a physical object around on a surface, and then you see a result happen on a separate physical object which is the computer screen. With a touch-screen there is not disconnect, the thing you are touching is the thing that displays the result of your touch, so it is much more intuitive to understand the relation between your action and the result.
In some sense we should be thinking about the interface for VR the way we think about the interface for mobile.
It took a while for developers to realize some amazing things about the touch-screen interface. In the early days people thought about touch-screens in terms of mouse-and-keyboard controls, where buttons on the screen would be clicked on with a mouse they would instead be "tapped" on with a finger for the touch screen. But touch-screens offered a really incredible advantage over mouse-and-keyboard, which we discovered when we learned that toddlers could intuitively interact with a touch-screen, long before they could use a mouse. Part of this obviously comes from dexterity, but I think there is another key reason for this in that moving a mouse has a disconnect between your action and the result you see - you move a physical object around on a surface, and then you see a result happen on a separate physical object which is the computer screen. With a touch-screen there is not disconnect, the thing you are touching is the thing that displays the result of your touch, so it is much more intuitive to understand the relation between your action and the result.
VR offers a similar solution for navigation, where we previously used a mouse and WASD to navigate a space, now we can use our head and body, which is a much more intuitive translation.
In part 3 of this segment I will get into the meat of my presentation - how can we stop thinking about the mouse and keyboard when we design for mobile and VR (and mobile VR)?
Continue to part 3.
Labels:
AR Games,
ARG,
Augmented Reality,
design,
game design,
gameplay,
hardware,
indiedev,
interface,
interface design,
mobile games,
platforms,
ui,
user experience,
user interface,
ux,
virtual reality
Wednesday, October 19, 2016
IndieCade Festival
Over the weekend I had the fantastic opportunity to hang out at the IndieCade Festival for Independent Game Developers. IndieCade is one of my favorite game dev events because it is really focused on Indies - it showcases the best indie games in development (or recently released), it offers indie devs a chance to network with each other and with potential publishers, and it has a great lineup of talks targeting the most useful information for development as an indie studio.
There were four talks I found particularly useful - the first was called "So you want to start a game company? Corporate Formation and IP Strategy" and was led by Jonathan Pearce. I've been operating Astire Games as a Sole Proprietor with a DBA (I hope...), but I have run into some limiting factors by not being incorporated (most notably I've been trying to become a Sony developer, and as far as I can tell you need confirmation of your corporate entity). Anyway, I've had a lot of concerns and questions about forming an LLC versus an Inc, issues with IP and with paying employees (or offering rev share), the potential for incorporating in a different state, and deep-seated fears about legal issues arising in my entrepreneurial endeavors. Jonathan's talk was both inspiring and informative, and laid to rest some of my biggest concerns, though I still have some more decisions to make - I am completely on-the-fence about what state to incorporate in.
The second talk I attended was actually a workshop called "Paper Prototyping" and was run by several experienced educators, one of whom I spent some time talking to - Michael Annetta (sadly I do not recall the names of the others involved). This two-hour session took us on the ins and outs of developing a game idea from scratch, and although a lot of it was stuff I already knew, it was awesome to see it from a new perspective and it gave me some great ideas for better ways to teach design and prototyping (as you know, I teach level design, UI design, and rapid prototyping at the Art Institute). This workshop was also very active and I made some new friends that I continued to see throughout the rest of the festival.
On the second day I finally ended up at a VR talk called "Non Photoreal VR" about the visual design side of VR, dealing with performance issues, and tricks for making an environment feel "more 3D" using parallax, lighting, and fog.
The last talk I attended was by a friend of mine - Chris DeLeon (@ChrisDeLeon) - called "Starting Meetups that Make Games." In his talk, Chris gave some background on his experience running several different game developer meetups/clubs where participants would form teams and create and publish games in their spare time (often either students or folks working in a non-game field, or game developers who want to try a different discipline outside of their normal job). Two of the biggest problems facing game dev students when they graduate are 1.) not having a shipped title and 2.) not having experience working in a cross-discipline team. As we learned in this talk, a game dev meetup can help solve both of these problems.
I was inspired by Chris' talk to set into motion something I have been considering for a while - I want to give my students at the Art Institute (as well as students at the other colleges in Austin) a chance to get some hands-on work in an interdisciplinary group on a game that will ship. This is now one of my top-most priorities - I have always been passionate about the idea of improving education, and now here is something very tangible that I am very capable of contributing.
Aside from the four fabulous talks, IndieCade also offered me one other tremendous opportunity. IndieXChange (one of the IndieCade tracks) offers something called "Speed Dating" where developers get five minutes to meet with a publisher and pitch their idea, then can follow up afterward with those publishers. I was lucky enough to get to meet with reps from Sony and a rep from Oculus, and discuss my VR project Sundown Arcadia. It was an exhilarating experience - I always love an opportunity to talk up my games, and having an avid audience of publishers listening was quite thrilling.
One of the best parts about IndieCade, in my opinion, is the quality of the connections being made. At your average game dev conference you walk away with a big stack of business cards of people you are probable not going to contact. I left IndieCade with just seven business cards, but I have a very specific follow-up email for each one of them.
Between the superb talks, the phenomenal pitch opportunity, and the unique networking connection, I would call my IndieCade experience a success!
There were four talks I found particularly useful - the first was called "So you want to start a game company? Corporate Formation and IP Strategy" and was led by Jonathan Pearce. I've been operating Astire Games as a Sole Proprietor with a DBA (I hope...), but I have run into some limiting factors by not being incorporated (most notably I've been trying to become a Sony developer, and as far as I can tell you need confirmation of your corporate entity). Anyway, I've had a lot of concerns and questions about forming an LLC versus an Inc, issues with IP and with paying employees (or offering rev share), the potential for incorporating in a different state, and deep-seated fears about legal issues arising in my entrepreneurial endeavors. Jonathan's talk was both inspiring and informative, and laid to rest some of my biggest concerns, though I still have some more decisions to make - I am completely on-the-fence about what state to incorporate in.
The second talk I attended was actually a workshop called "Paper Prototyping" and was run by several experienced educators, one of whom I spent some time talking to - Michael Annetta (sadly I do not recall the names of the others involved). This two-hour session took us on the ins and outs of developing a game idea from scratch, and although a lot of it was stuff I already knew, it was awesome to see it from a new perspective and it gave me some great ideas for better ways to teach design and prototyping (as you know, I teach level design, UI design, and rapid prototyping at the Art Institute). This workshop was also very active and I made some new friends that I continued to see throughout the rest of the festival.
On the second day I finally ended up at a VR talk called "Non Photoreal VR" about the visual design side of VR, dealing with performance issues, and tricks for making an environment feel "more 3D" using parallax, lighting, and fog.
The last talk I attended was by a friend of mine - Chris DeLeon (@ChrisDeLeon) - called "Starting Meetups that Make Games." In his talk, Chris gave some background on his experience running several different game developer meetups/clubs where participants would form teams and create and publish games in their spare time (often either students or folks working in a non-game field, or game developers who want to try a different discipline outside of their normal job). Two of the biggest problems facing game dev students when they graduate are 1.) not having a shipped title and 2.) not having experience working in a cross-discipline team. As we learned in this talk, a game dev meetup can help solve both of these problems.
I was inspired by Chris' talk to set into motion something I have been considering for a while - I want to give my students at the Art Institute (as well as students at the other colleges in Austin) a chance to get some hands-on work in an interdisciplinary group on a game that will ship. This is now one of my top-most priorities - I have always been passionate about the idea of improving education, and now here is something very tangible that I am very capable of contributing.
Aside from the four fabulous talks, IndieCade also offered me one other tremendous opportunity. IndieXChange (one of the IndieCade tracks) offers something called "Speed Dating" where developers get five minutes to meet with a publisher and pitch their idea, then can follow up afterward with those publishers. I was lucky enough to get to meet with reps from Sony and a rep from Oculus, and discuss my VR project Sundown Arcadia. It was an exhilarating experience - I always love an opportunity to talk up my games, and having an avid audience of publishers listening was quite thrilling.
One of the best parts about IndieCade, in my opinion, is the quality of the connections being made. At your average game dev conference you walk away with a big stack of business cards of people you are probable not going to contact. I left IndieCade with just seven business cards, but I have a very specific follow-up email for each one of them.
Between the superb talks, the phenomenal pitch opportunity, and the unique networking connection, I would call my IndieCade experience a success!
Tuesday, April 26, 2016
Marketing vs Promoting
In my opinion, the biggest difference between an indie developer and a large game company is the marketing budget. Most indie developers cannot afford to distribute ads the way Blizzard or Riot can. So how do indies get the word out?
While talking to a fellow developer recently, I asked him how he promoted his game and he said "I didn't. We didn't run any ads or anything." This was an interesting break in communication for me, because in my mind if you don't promote your game at all you get 0 downloads...to me, promoting a game doesn't just mean running ads, it means all of the little things you do to make your game known to the world. Every Facebook or Twitter post, every friend you tell, every developer forum you post in for help or advice, and ESPECIALLY everyone you ask to beta test your game - all of those things are how you promote a game without penny in your marketing budget.
So what can you do to maximize your promotion without investing in marketing? That seems to be the big question these days. I can't go more than a few days without seeing a Twitter post about "HERE IS THE KEY YOU NEED SO YOU CAN DO SELF PROMOTION RIGHT" followed by a link to buy some book or online course. Well I'm here to tell you there is no "key" to self promotion.
I heard someone say recently that the reason big AAA games are sometimes "canned" right at the end of 3 years of a development cycle is because the cost of marketing is equal to or greater than the cost of development. That's pretty crazy. So if you are making a game by yourself, your development has no cost except the time you are investing in it, and you obviously don't have a AAA budget for marketing, what is there to do? If we compare to the AAA model where the marketing budget is equal to the development budget, it makes sense then that the correlation for indie dev is a time investment. You invest an equal amount of time in promotion that you invest in development. That may seem like a staggering amount of time, but think of all the things you can do with that time.
Some self-promotion strategies:
While talking to a fellow developer recently, I asked him how he promoted his game and he said "I didn't. We didn't run any ads or anything." This was an interesting break in communication for me, because in my mind if you don't promote your game at all you get 0 downloads...to me, promoting a game doesn't just mean running ads, it means all of the little things you do to make your game known to the world. Every Facebook or Twitter post, every friend you tell, every developer forum you post in for help or advice, and ESPECIALLY everyone you ask to beta test your game - all of those things are how you promote a game without penny in your marketing budget.
So what can you do to maximize your promotion without investing in marketing? That seems to be the big question these days. I can't go more than a few days without seeing a Twitter post about "HERE IS THE KEY YOU NEED SO YOU CAN DO SELF PROMOTION RIGHT" followed by a link to buy some book or online course. Well I'm here to tell you there is no "key" to self promotion.
I heard someone say recently that the reason big AAA games are sometimes "canned" right at the end of 3 years of a development cycle is because the cost of marketing is equal to or greater than the cost of development. That's pretty crazy. So if you are making a game by yourself, your development has no cost except the time you are investing in it, and you obviously don't have a AAA budget for marketing, what is there to do? If we compare to the AAA model where the marketing budget is equal to the development budget, it makes sense then that the correlation for indie dev is a time investment. You invest an equal amount of time in promotion that you invest in development. That may seem like a staggering amount of time, but think of all the things you can do with that time.
Some self-promotion strategies:
- Start a dev log describing your development process, challenges you overcome, advice for new-comers
- Start a dev stream where you record your development sessions to share with the world
- Become active on Social Media - leverage Twitter and Facebook to get a following of people interested in your ideas and your progress, a support system that is prepared to give you feedback and cheer on your success
- Connect with streamers and reviewers and try to find some that may be interested in reviewing your game
- Become active on a relevant subreddit (in the reddit community, self-promotion is frowned upon unless you are an active contributor who is genuinely interested in the conversation)
- Run a beta test - there is probably no better way to get people interested in your game before release than to ask them to play it before it is available
Subscribe to:
Posts (Atom)