[Education] Game Art | Map of Constraints

edited in General
tl;dr: I'm running a game art course. If you're interested, give me a shout.

I've been pretty critical of game-related education in the past, and have in return been criticised for my criticisms. The essence of it has been, "Well, what are you doing about it?" So I sent out some feelers and got a very positive response -- enough to think about this more seriously.

As it is, I've got enough students to start a short game art course. There's one more space in the current class I think (a class has 5-6 people), but if there are enough people, I might start up a second one.

One of the biggest art fallacies I've noticed is how many people seem to think that making 3D art for games is just like making 3D art for offline-rendering; that the only difference is lower numbers of polys and smaller texture sizes. This is a gross misunderstanding of the technology and the constraints under which game artists work. So, what I'd like to do is to have this course cover these differences in every part of the pipeline. We'll learn a (very simplified) model of how a real-time renderer works, and use that knowledge to adjust the way we understand and approach 3D game art assets. We'll learn about how the nature of 3D games from a design point of view requires different approaches to asset creation. We'll learn about the various art roles in a game studio, and build a better picture of where we fit in as artists. We'll apply the knowledge and techniques in the form of game props and environment set pieces, with the goal of having art that you can be proud to put in your portfolio: work that is both visually appealing and technically sound.

The nature of the content means that for you to have the most benefit, you should already be quite proficient with working with some 3D package. You should also already be familiar with how to create 3D models, unwrap them, and paint textures. Having some kind of formal art education is also helpful; I can then focus more on the theory, and not get bogged down trying to teach art fundamentals.

What I really like about doing this privately is that the students and I can build a course that covers what they want to know as well as what I feel that need to know based on my experience. There is no certificate, no qualification, no criteria for passing. There's just the sharing of knowledge, and the creation of art portfolio pieces. Another benefit is that I get to keep the fees really low. Just high enough that people are committed and value my time (so I don't go preparing lectures and have people just not show up); low enough that you'd easily be able to pay for it with high school pocket money. I don't want anyone not to be able to join because of financial constraints. The course the way I've planned it would be around 6 weeks, 2 hours a week, split pretty evenly between the theory and its application. I haven't done this kind of lecturing before though, so it's hard for me to make an estimate.

At the moment, probably the biggest problem is venue. The theory I can quite easily cover with a projector or whiteboard, but ideally every student would also be able to work on their own computer/laptop, so that I can see them working when it comes to the more practical stuff, and correct bad habits or suggest faster ways of doing things. If you can suggest a venue, please let me know. Otherwise, it'll probably be over a large table in my house, and lugging laptops and computers around isn't ideal.

If you're interested in taking part or have questions, please post here, or drop me a mail at <my forum handle> at Gmail.

I also get the impression that there are also several people who have art experience (traditional media, graphic design, etc.) who want to transition into being able to create 3D assets. I'm more hesitant to cover something like learning 3D from scratch, mainly because of the sheer amount of work that would need to be covered, and how students seem to grasp these concepts at wildly different speeds. Also because, for the most part, I think quite a few schools do offer basic courses that cover these things. That said, if there's a large enough demand for that (again, let me know!), I'll think about putting one together for that.

[edit] The theory is software agnostic. I have professional experience using Softimage and Max, but you should be able to work in any 3d modelling app, including Maya, Blender and modo. I just may not be able to help you if you get stuck with one of those.


  • This is badass beyond belief. Get everyone in the course to sign up here (if they haven't already) and post what they're learning!
  • This sounds like a really good idea! Finally someone who has professional experience making game art is teaching it. Some podcasts I have come across recently (even though its a few months old and you may have seen it aleady): http://gim.acanaday.com/ They have alot of interesting information/opinions about breaking into the game industry and putting a portfolio together, really helpful :)
    Good luck with the course.
  • edited
    @dislekcia: Absolutely! Two of the biggest reasons I see to post what they learn and artwork on forums are: (1) to learn not to be precious about their work. You have to be totally okay with people seeing your work no matter what part of the process you're in. Every time you get all defensive and want to climb into your hole to finish something before showing it off to the rest of your team is a much greater chance of having to redo work. And (2) learning to take crit, being both humble and assertive.

    @chaos: I listened to all of them before I started at Luma. :D Saw that I missed the recent ones though (they come out so irregularly that I forget to check), so I'll give them a listen too. (Oooo, indie game dev interview!) Thanks!

    Side note: There's a pretty good chance that the theory will be covered in a (series of) Dev.Mag article(s) or something, so people elsewhere can learn too.
  • Hey guys!

    I've got a second class with two spaces open. Lemme know if you're keen! :)
  • Wow, this is really taking off :)
  • I've been a traditional 2D artist for yonks, and I've always held that 3D is too much work for me - Ever since I left varsity, given the choice to do 3D, I always thought I'd rather not learn to create how to create a really nice flower in someone else's movie. But either I was completely wrong or the times have changed so much that I kinda regret not delving into 3D.

    I would absolutely take this on if it weren't obviously too advanced for me - that conversion course that you're talking about would mean a TON for me.

    But I wonder if I'm not the minority here :)
  • @Tuism: If you don't have 3D experience, perhaps you could just come to the first class or so, where the vast majority of the content is theory. Then, at least, if you're to pick up 3D later on, you've got a good idea of the context, and hopefully a better understanding of what to focus your efforts on, what to look out for.

    I've got a student cap partly because of space, and partly because I don't want to split my attention too much (because then everyone loses out). The first class is very talky though (slides, video, examples), so I don't mind a larger class than in the following weeks. :)
  • That sounds like a great idea! BUT! Is this in CT or Jozi? I'm in Jozi!

    I've been absorbing a lot of theory lately (including split-merge and big o notation, omg my head), the more the merrier :)
  • edited
    I'm in Joburg. But you know that. I'm Jane's "cousin". :P
  • Email sent! Only hoping I can make the grade :/
  • @Tuism speaks lightly of himself, he does this sort of stuff for fun.
  • I've seen his work before. Really awesome stuff. I remember he offered me a job once before, but I didn't want to work on something that wasn't a game... >_<
  • OMG I DIDN'T CLICK AT ALL LOL :p (there was a vague nagging feeling that I've seen that avatar before somewhere but no, no click. Till now :p)

    Hey Jonathan! This is also why I generally dislike nickname usage. Cos one name is hard enough to remember :p

    @dislekcia thanks for the punt :) graphic is graphic, (and that thing is soooo underupdated, I've kinda stopped it due to time that I've been spending on other stuff (and Westeros is taking way too long)) now I wanna make 'em do things :) I'm a noob in here parts :)
  • Oh dude more power to you, Stick with what you love! I love too many things, and only started looking at this a tad late, but I'm here to learn the shit outta it :)
  • @Elyaradine Did you check with Paul to see if you could use Luma as a venue?
  • @AngryMoose: I haven't. I thought it'd be rather a dodgy case with people needing to use computers. (It's one thing to teach using one of the computers there, as they do with the Wits animation students; I think it's an entirely different thing if the students are actually allowed to use the computers themselves, with all the NDA stuff that may or may not be accessible there.)

    I asked before whether the AnimationSA sketch group might be able to meet there, and he took a long time to think about it (and I didn't get an answer in the end). And while I'd vouch for all the people in the sketch group, I can't do that with the students, one or two of whom I've never actually met/only met once, so I think the response could only be worse. :P
  • Just bumping this for the guys in one of my classes, and anyone who wants to follow along. :)

    Week 1, we talked a while about the context in which game artists find themselves: how they're production artists, not (necessarily) fine artists and therefore need to be able to work in an environment that requires regular critique, consistency in art style, deadlines and time estimates, and working intimately with people outside of one's field. About teamwork and morale, about working hard, being passionate about making games as well as playing tem, about being the kind of person people would actually want to work with.

    We talked about the importance of planning, and how vital this is so that later on when the production work takes place, all of the effort is focused and effort is well-used, so that there's a smaller chance of having to redo work.

    We talked about the basic structure of a renderer: how it's ultimately just about manipulating data into a form that can be displayed on screen. About the different stages: application preparation, vertex manipulation and pixel manipulation; and about how each of these stages have optimizations that occur in order to achieve 30-60fps. And then, how each of these optimizations affect how we approach asset creation.

    We talked about occlusion and frustum culling, and using LODs; about vertex splits, how vertices are what we want to keep low (as opposed to triangles/polygons), and different things that increase your vertex count; about mipmaps, and how beautiful textures (and artwork in general) is beautiful even before details are added; about transparency and overdraw.

    We also talked about bottlenecks; how all of the above need to be balanced against one another; how sometimes you want to add more verts, or add more geometry, or do other counter-intuitive things in order to save performance in another part of the rendering pipeline.

    (Assignment: Find photo reference, concept art, for the kind of environment you want to work on. Make sketches of the layout of your environment for silhouette, and paint/gather references of the kinds of textures your environment would require.)
  • edited
    Double post ftw! :P

    Week 2 (today!), we talked about draw calls, and about how a modular workflow is really awesome for keeping draw calls down, and for being able to cram more work/detail into smaller pieces, and have these carry over into massive, intricate passageways, without necessarily having to create any new art assets.

    We talked about planning, and about how it's important to have a good idea of the environment you want to make, but that any kind of reference helps. If you need to use a sketch, then use a sketch; if your sketch is something that already exists in concept art or a photo, then the sketch is superfluous.

    We talked about two ways of approaching an asset: how you can model-unwrap-texture, or texture-model-unwrap, and how each is useful for different situations. (The prior is arguably better for unique ("hero") assets, characters; the latter is better for keeping your texture count low, and for getting stuff to share the same textures, even though it requires much better planning.)

    We talked about UVs, and creative use of UVs. About tiling and sharing UVs. About how verts that don't add to optimization, to silhouette, to deformation, or to UVs, are verts that should be removed. About ways of using very few textures to create many complex variations. About colouring vertices to get more mileage and variation out of simpler textures.

    We talked about making tiling textures, and ways of fixing up seams and making things tile. And planning, before asset creation, the scale, the folder structure (for easily finding stuff when working in a team), the size of modular pieces, and placement of pivots.

    (Assignment: Look at which pieces of your environment you can break down to use the same textures. Create your textures, using painting and/or photo reference, and try and get things that just look good, comparing with your reference images. Post your stuff on MGSA or polycount, email me if you get stuck. Don't be afraid of critique; better to fix things early than to redo hours/days/weeks of work!)

    Also, must read these links:

    That's all I remember... for now... :P A more formal list of stuff, with explanations and such, is being compiled too. I'm finding that preparing for the courses takes about the same (or more) time as giving the actual class, although it's a little easier now that we're moving onto more practical stuff.

    I... don't really expect anyone to remember all the stuff. It's partly a giant info-dump to get people into the mindset of 3D game art being very different to advertising/film. But, as we create our environment pieces, we'll have to apply almost all of the above at some point, and we'll go over things as we get to them.

    Also, I've been asking around for people to help at the end with critique. I have artists at Luma Arcade and at Free Lives who're happy to help with crit. I contacted Tasty Poison too (albeit via their contact form on their website), but haven't heard back... if there are other studios with senior/lead game artists that are happy to crit, and who might be in a position to be employing game artists in the next couple of years, I'd love to get more involvement there too. :) The crit needn't be super detailed; just so students leave the course with a 2nd/3rd/4th opinion on what I've been telling them during the course, and so that they can have an indication of what their weaknesses are, and how likely it might be for them to get a game art job if that is a career path they want to pursue.

    I've asked them to post work up here as they go along. Please feel free to crit them on anything, whether it's art or tech. And you don't need to be nice or pull any punches. (Although they're also free to ignore what you say if you're just being silly. :P)
  • Hey all, I don't quite feel ready to post these but I thought it would be a good idea to at least show something. If I have time I will try and refine them otherwise I need to spend some time on understanding how to texture for next weeks assignment.

    I chose a hallway with a circular door. I'm still deciding if the door is a good idea in terms of modularity. I may be able to add the door piece at the end of a couple of modules to add interest and potential entry into another section of a level.

    I've identified sections in screenshot 2 so far which could use the same textures. Crit welcome :)
    600 x 400 - 30K
    600 x 400 - 47K
  • edited
    Hey. :) You'd probably want your floor to tile too. Your light beam things in the middle would also probably share textures.

    Also, you've got some hatching type texture around the circular door, and in a couple of other places. Remember that you can place just a strip of that on one of your textures, and unwrap your UVs in such a way that it curves around your doorway, so you can get those to share too. (This doesn't always work all that well, as it requires more geometry. But here I think work, and it'd be cool as to practise some less conventional ways of doing UVs.)

    Looking forward to seeing more. :)
  • I don't have much time but if I can be of assistance in any way gimmie a shout! :)
  • Thanks! :D I'll definitely be asking you to give us crit when we have some more to show. :)
  • edited
    Update: So I created my first texture in photoshop using the first quadrant of a 1024 x 1024 pixel document. I don't know if this is the best practice? I thought I would be adding other textures to the document for different parts of my environment. Is this referred to as a texture atlas??

    I wanted to see how this would actually display on some geometry so I created a plane in maya and piped in the psd.

    This is for the orange roof sections of my environment. I tried to get a beveled in look for the rectangular parts but I'm not getting the depth I would like out of it.
    800 x 473 - 43K
    800 x 528 - 60K
  • me after deciding not to take this and after reading this thread http://gifrific.com/wp-content/uploads/2012/07/I-immediately-regret-this-decision-anchorman.gif

    (tho in honesty, I wouldn't have signed up: I'm not proficient with a 3D modeling... well anything and I'm writing a thesis atm, just wanted to express how awesomely bad-ass this course is looking ^_^)
  • edited
    @Tachyon: Cool! :D You may want to drag a few copies of that plane around and snap them together to see how your texture tiles, and to see if the tiling is obvious. (e.g. some of the dirt in there might look bad if they appear in the same place on every plane. Might be okay. Would have to experiment and see. :) )

    Regarding putting textures in an atlas, this is one of the great ways to get things to share textures, so it's really great that you're experimenting with that! :) The advantage of keeping stuff like your wall/floor texture on its own though, is that you can then tile it as much as you like in your UVs if you have to. (e.g. you could use a plane that's 4mx1m, and have your UVs going from 0-4 in the U-axis, and you'd get a longer wall with the same number of verts, but with the texture repeating four times. By making the texture as a part of a larger atlas, you limit yourself to having to use a full plane for each tile. (So for the same length of wall as in the example, you'd need four separate planes, as opposed to one longer one.) Either method can be better, depending on the situation and what your bottleneck. I personally prefer keeping these larger pieces separate though for the flexibility, unless I'm draw-call bound.

    Hope that makes sense. :)

    @raxter: Hope you learn a lot from this anyway! :)
  • Hi guys,

    I am one of the many lucky people to be training under the eye of Elyaradine, I have proudly done my first texture that i'll be hopefully using as a floor texture for my main hall of a horror sci-fi game, Please if you have some time let me know what you think i'm open for suggestions. Will be working on the wall textures soon to try and tie it into the look and feel of the floor.
    1024 x 1024 - 66K
  • edited
    That's a pretty awesome texture and I have a good feeling that it will tile well.
    Here's my first thoughts:
    Test it on planes in 3d.
    It doesn't have that much variety that justifies the pixel count. You could make those grids one because they look so similar, that way saving pixel space. In truth you could save 3/4s of the space with the use of mirroring, the top and bottom look the same and the left and right look very similar, so similar that it might be worth mirroring over the x axis. The unwrapping of your U'Vs gets to be very interesting when doing it that way, but it will maximize pixel resolution on your textures :P
    Good start peeps! look forward to seeing this thread grow.
  • edited
    @IR_Chipmunk: Woot! Just a couple of art-related things I'd look at now: the first is that I don't think the border to the tile makes sense. It seems there's a middle piece (like a walkway), and two side pieces that form some kind of grill -- and that's great. :) But the border seems to go around both in the same way. I'm not sure that's what you intended...? Otherwise, I'd just map it to a plane, and tile the plane several times, and see if the tiling looks strange, too-obviously-repeated, or out-of-place. :)

    The second is that texture you've got over the grill. That also doesn't make sense to me in that parts of the light grey texture are going into the black areas, which I assumed were holes. :P But also I'm not sure that texture fits anyway. Maybe think some more about what grating looks like and how it's constructed. Maybe some of the strips appear over others (in which case, how would you show that)? What kind of texture would realistically appear there? How could you mask and blend that texture in so that it fits better with what you'd expect to see in the "real world"? Dig up some photo reference! :)

    (But also, it may be better for you not to think too much about this one, and do the wall and ceiling pieces too, just so you can pull them into a quick scene and see how they look when combined with each other.)

    Would also be cool to post that image (or a link to that image) you're basing your environment off of so that people get an idea of the context. :)

    [edit] @Pomb's got a great point there too. :) We can chat about it on Saturday if you get stuck.
  • Hi guys, Thanks a stack for those comments :D keep em coming its nice to get solid feedback that'll help me progress :D
  • edited
    Week 3

    Talked about different ways to create the textures we aim to make. Creating specular and normal maps from a diffuse. Creating ao/cavity maps from height/normal. About using a bake from a high to low poly for the broad details, and using 2D ("faked") pieces for the details.

    Showed a quick example of baking normals from a high poly, and showed a couple of the difficulties that pop up.

    Talked about balancing tiling textures, with numbers of verts, with ease-of-use. (e.g. sometimes, saving the texture space, especially for a modular piece, results in way more vertices; a modular piece that is reused a whole lot, like on walls, floors, may do better to save on verts than on texture space, depending on your bottleneck.)

    Talked about using a given scale and sticking to it. About creating mesh pieces that have easy integer sizes to make spotting rounding errors and drifting much easier in Unity (especially after snapping several modular duplicates). Talked about pivot placement on corners to make rotation easier.

    Talked about storing information in vertex colours, and potentially using those to add variation to your game models without increasing the number of textures/materials/draw calls.

    Oh, in a previous week we also talked about folder structure, and keeping things organised. I feel that one of the simplest (but still effective) ways of working is to keep a "work in progress" folder structure that's an exact duplicate of the project folder. Your project folder may be updated much more frequently to your version control, whereas your working files (which are usually much bigger, and also iterated on much more often) can be backed up/committed less frequently.

    (Assignment: Set up your folder structure nicely. Create a new Unity project. Create the planes/pieces that your textures will use, and export your textures and meshes to Unity. Create materials, select an appropriate shader, and lay out your modular pieces to form corridors, rooms, and other pieces that you could use to flesh out a larger environment. [You can use a game engine other than Unity if you wish, though I can't help you if something goes wrong...])

    Further reading:

    From here on out, it'll be mostly practical stuff that re-enforces the theory. So... probably won't be as much new stuff to report, so much as work we'd actually do.

    Also still working on compiling all the info we've covered into an uber-doc. Sitting on 10 pages atm. :)
  • Hi guys

    Ok here is the stuff i've been working on so far, i've even given a render of what it'll look like with just a standard omni light just smacked in the middle just to show the textures...

    I'll be attempting to figure out unity this week to get to the exciting stuff :D

    Feedback would be greatly appretiated :D

    thanks guys! :D

    1024 x 1024 - 701K
    1024 x 1024 - 698K
    1024 x 184 - 91K
    3000 x 2250 - 403K
  • ahh damn :D and wall texture here :D sorry
    1024 x 1024 - 381K
  • Hey! :) I think just check out how to get these on simple planes in Unity to see how they tile, and how they fit together compared to that reference image of yours. It'll probably help you to see them working in context. :) (There's stuff you could fix now, but maybe it'll be more obvious when you can see them in a game engine.)
  • Week 4

    We slowed down this week to do more critique. Some stuff that was covered included: looking at the real world for inspiration, visual cues, and design ideas; making textures that made sense.

    We also started placing things in Unity, assigning our tiling textures to planes, working with snapping, units and scale.

    I've been documenting some of the things I've been talking about.

    It's still really rough, and I need to go through it, cut out the rambling, refine some stuff that's hard to understand, and add some style and make it more interesting to read. Also, needs lots of images and examples...

    ...but here's an early draft for those who're interested. :) In particular, if there's anything you don't understand, don't agree with, or believe is actually wrong (especially the tech-related stuff), please let me know. I'm assuming the reader is has working knowledge of offline-rendered 3D.


    I just want to emphasise that if I had to make up a value, I'd say that the stuff in that doc is only, like, 30% of what it is to be a game artist. The other 70% is just having really good art fundamentals. And that's stuff I don't believe you can really teach in a short course.
  • Hi all, I wanted to post an update of some of my experimentation today. Been super busy at work these last couple weeks so am a bit behind. Nothing special in the texturing.. have just been trying out some modelling ideas, learning to work with the UV editor and understanding workflows between photoshop, maya and unity :)
    800 x 449 - 64K
  • edited
    Hey! :)

    I'd suggest avoiding putting black in your textures -- or, at least, using them sparingly. Blacks and whites are super powerful; once you've reached there, you can't go any further. So, although a hint of darkness can be nice for exaggerating detail (e.g. in terms of ao/cavity bakes), I think the outlines of your blocks on the ceiling are coming out too dominant. What are they supposed to be? It may be better to model them, and let the highlights and shadows fall more naturally. :)

    I look forward to seeing more stuff! :D

    I've actually been suggesting moving across to the UDK instead. Not being able to have any global illumination in your light bakes is a horrible, horrible limitation of the free Unity for 3D art. :(
  • edited
    Week 5

    We looked at various ways in which games "cheat" to create cool effects. Creative use of shaders and transparent planes and cones to fake volumetric light. The use of particle systems. Spritesheets and scrolling textures.

    We looked at some of the work done in the UDK map that won the BRAWL contest, and how some of those textures/shaders worked. I really wish we could do that stuff on mobile... :D
  • Hey guys~! Here are some wip shots from my level \:D/ Lighting has been my toughest challenge so far ><
    1868 x 952 - 119K
    1868 x 952 - 132K
  • Nice 1 dude! Could you elaborate a bit more on your lighting process in unity?

    That focal light in the left screenshot looks over saturated to me.
  • Hmmm, I usually start with a directional light, which I move around testing various shadow options. If I get a feel I like I do a quick light bake and see if I like the result, if not I move the directional light around again. I repeat this until I am happy. I then add various point lights for extra lighting information plus fog for a hazy feel. Camera effects such as bloom and DOF can also be added. I'll tone the light down a bit and reup some time :)
Sign In or Register to comment.