Teaching Game Development To Fine Arts Students?
jkavalier writes "I've been asked to prepare a short course (50 hours) of video game development to Fine Arts students. That means people with little-to-no technical skills, and hopefully, highly creative individuals. By the end of it, I would like to have finished 1-3 very basic minigames. I'm considering Unity 3D, Processing, and even Scratch. How would you approach teaching such a course? What do you think is the best tool/engine/environment for such a task?"
Alice is a pretty simple way to introduce newbies to game/3D-environment development. I used to use it in an introductory programming class and the kids loved it. Gives you a real sense for how game development and programming work without being heavy-handed about it (or requiring students to jump right into hand-coding, without so much as flowers and dinner first). Here is the text I used for the course.
SJW: Someone who has run out of real oppression, and has to fake it.
and nobody seems to understand it - you shouldn't teach programs, you should teach techniques and principals to be applied in lab sessions. I don't know what arts students are doing in game development. If anything, the only thing they should be developing is artwork.
You can use anything to teach them how to design something, I would suggest Blender (since it's free and they are ART students) or if they are technically adept enough (which they aren't), you can let them use the Sauerbraten engine and I believe you can get the Unreal engine free as an educational institution. If you have to get really simplistic and only teach them how their art works out in games, use HTML5 or *shudder* Flash, for something bigger you can use the Doom engine (very simple to design for) and let them make some artwork for it.
Custom electronics and digital signage for your business: www.evcircuits.com
Have you looked at using a stupidly high level framework such as Dark Basic or Blitz3D?
google "Game Maker" and head to the yoyo games site. Without programming experience, there are few options.
Stupid art hippies and their dreams! Zeek40 and me, we don't cotton to their kind round here!
SJW: Someone who has run out of real oppression, and has to fake it.
A good way to start them out is making 3d models and creating maps for games using Unreal or Source.
For such an illiterate students, Flash Animations is the best tool.
Depending on the "Arts" involved, you'd probably want to spend less time making a game from scratch and more time teaching them mapmaking (eg UnrealED) or scripting (eg neverwinter nights). Or maybe some other artistic asset creation like character modelling.
...ugh, I think maybe you shouldn't be teaching them?
What a fine teacher you would make. :(
There are other aspects to game development than just programming, you know. Think BioWare would be anywhere if they don't have top notch writers? What about the graphic artists, 3D modelers, texture artists, and level designers that are indispensable in any game studio?
My postings are informational and does not constitute legal advice. Act on it at your risk.
Ah, no. Most of the labor cost in modern games is actually for artwork: building 3D models and textures. You need both good code and good art to succeed.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Clearly the goal isn't to turn some art student into the next Carmack. But development teams need artists, and don't you think giving those artists some basic understanding of how 3D games are built would help them do their jobs?
The Blender Game Engine is actually quite suitable for an introductory game design course, and it has two completely free books written for learning it, plus a huge number of example games and scripts. Almost all of the logic can be scripted with 'logic bricks' (a minor amount of simple python scripts are needed for some typical behaviours).
http://download.blender.org/documentation/gamekit2/
http://download.blender.org/documentation/gamekit1/
Also see Yo Frankie - which shows what a team can accomplish in a short time
http://www.yofrankie.org/
http://www.youtube.com/watch?v=c7RRaEvWqJc
Blender itself is now quite easy to create game assets in, and works well as a level editor.
The Game Engine is not exactly cutting edge, but then cutting edge isn't of much benefit for learning game design.
Stick with the broader aspects of game design such as: story development, character development, gameplay, flow. I would be hesitant to throw "fine-arts" students into programming. If you must, however, I have no advice.
I think the teaching languages mentioned are not really appropriate for a 50-hour class of adults.
I think the best route really would be to teach them a real programming language like python. If you want to integrate game design right off the bat, try using something like pygame. I bet you can get them listening for kepresses and moving sprites around in no time
as for 3d, i still like python, pygame has some decent utilities to get you into a 3d window quick and easy. I think it's a lot more important that the students get a real grasp on the basics than that they do cool-looking things with a less-useful language. get them to program a ball bouncing around a cube, have them code up a 3d model loader, get them doing some basic animations or 3d simulations, give them some experience with simple scene graphs and graphics engines. A lot of these examples can be implemented as simple games, and for the sake of beginners, it's not a bad idea to do some of the work for them and let them fill in the blanks. That can give them an opportunity to see the whole application in a real programming language without having to comprehend it all.
Depending on the focus of the class, maybe some 3d design (blender/maya/etc) would be in order. Design a model in blender, texture paint it, write a loader in pygame.
I think starting with some fundamentals of programming is going to be critical otherwise the whole thing will just be magic to your pupils and they'll come away with little useful knowlege
who else read the headline and thought the game development community was imposing punitive penalties on art students?
You could try Gamemaker 8.0 it had drag and drop and a new student can put together a game in 3 hours (albeit very simple) it also has a coiding languge for when you want to gompore advanced
So your target audience here isn't graphic designers, nor is it developers. I think you have to cater to them by breaking down the basics: code, graphic design, level design. Kind of give an overall impression.
I think another comment in this article says how you shouldn't try to teach them development, and I agree with that to a point. I think you should try to stay higher up, but (personally) I find it really hard to relate if I don't see some hard evidence of how to do it. As such, you should definitely mock up a really small demo right in front of them, so they can see how to make something in whatever studio you're planning to use.
I know I'm gonna be modded to hell over this next statement, but uh, what about XNA? On any platform, even mobile, it's fairly easy to get going and mock up a quick demo. Alright, that was it. I know what's coming, you mods. DO IT.
Give them ncurses or pdcurses and have them make roguelikes!
Have your fine artists team up with 3rd year CS students. Then you teach them to model 3D using Maya/3DSMax + ZBrush/Sculptris(free alternative to ZBrush) and rig models for use in games.
To be fair, many of them may have highly developed technical skills. But their tools may be paint brushes, pianos, or their own bodies.
It's probably more accurate to say they don't have much computer technical skills.
Check out Kodu. It's a visual programming language that runs on Xbox or PC that allows users to create and share games using only their game controller. No typing necessary, or the overhead of learning a full-fledged programming language. The PC version support mouse/keyboard input as well as the wired xbox controller. PC version is free. Download it here: http://fuse.microsoft.com/project/kodu.aspx
I think Unity3D would be a good idea. Do their platformer tutorial yourself using all their stand-in content. Modify the end result for your purposes. Break the students up into groups, where each group gets to make their own platformer game. Have them all use your code, and let them make their own story-line, models, animations, textures, levels, music, etc.
The course's aim is to let art students have a glimpse of the interactive and expressive possibilities that videogames have. It's not about training them to become EA employess, but to inspire them and burst a little flame of curiosity for interactive art and art games.
My first games were mazes I custom made and sold to my friends for a dime each. It's the most basic game you can start with. Start small work your way up. The best games are essentially board games, or have board game rules. Make a variant of checkers or chess. Dissect some of their favorite games so they understand the fundamentals before they run into programming.
...
What?!? You really didn't think you'd post a topic like this on Slashdot and think you were getting away unscathed, did you?!?
Bwahahahahahahahahaahahaa *cough* *cough* *cough**cough**cough*
Shit, I'm get'in too old for this shit.
RIP America
July 4, 1776 - September 11, 2001
As the lead developer over at http://nova-initia.com/ I applaud this effort and offer this advice:
Fine Arts students are going to have a knack for the story telling portion of this project. Those musically inclined will grasp the programming concepts quickest, and there will be an artist or two in the bunch. Authors will be used to organization of time lines, so thing project managers there. Most of all, write up a survey for them early on for hints on what they're interested or already talented in.
As far as the language / engine portion goes, my suggestion is to team up with a free / open source project. The underlying engine doesn't matter as much as the core concepts. A good team will have a bug tracking system divided out into a helpful group of areas for you to cover. Having the class take on bugs from the projects as study work will help to reach into the deep technical areas without overreaching each student's comfort area. For those who do show ability in the deeper technical aspects, have them relate in their own terms how the problem was solved, and the team will grow.
Last, but definitely not least, do not forgo the project management and business aspects of game development. Deadlines, project scope, and performance limitations are just as integral in a game's development as the original idea team. Placing reasonable limits on resources and time will inspire creativity among the team. Giving your students the opportunity to be involved with a project that stands every chance of being played in real life will motivate them more than anything else. Game development covers a broad range of talent and experience, find the blend that fits the class.
Where genius and insanity become confused true wisdom is found
I go to a liberal arts college.
A film student friend of mine built video games for his thesis project.
I think you guys are under the impression that the art students are going to want to make Halo or something.
You (generally) don't major in fine arts because you want to design billboards.
Teaching Blender is DUMB - 3d modelling class.
Teaching level design is dumb.
Teaching "storytelling" is dumb.
I would use Processing and at the end of the course expose them to methods for packaging their games for distribution/exposition (iphone, projection). Maybe you could have them explore what "games" are and what "play" is. I think the main things to get across are games as art and the computer as a canvas.
You guys would be surprised by the games a creative person can come up with if you show them how to make an object move to where you click on the screen.
http://www.creativeapplications.net/iphone/we-sliders-iphone/ for instance.
Personally, I think Unity would be a little much for beginners but you could tell them about it and the more techy/ambitious or people who've done a little 3d modelling could use it for their final projects.
I once was a fine arts student and had completed a project that was made in unity3d uning sketchup and blender for modeling all of the texturing was Photoshop based and since unity is all js it's a very easy language to get into especialy because of unitys great community and their stack exchange site I would suggest starting with a very basic concept in unity making something that is first or third person and have the students run through the corresponding tutorial there is also a fantastic set of video casts from noesis interactive that may be of some help for unity
First of all, to really know what and how to teach on this subject I'd need to know what the course requires. For example, are you required that the course cover technical aspects such as code/script writing, or the process of figuring out the logic involved in the mechanics of the game or how the AI is going to work. If there is not technical requirements, then don't try to take them there.
The Game Design job marketplace used to require a handful of techie nerds spending long hours together making a game to be burned to a cartridge, but those days are long gone. Now the job market requires manager types, human resources types, fine musicians to create game music, sound effect artists, fine artists (in many different flavors such as concept artists, texture artists, environment artists, etc.), story boarding artists, digital 3D sculpting artists, and the list goes on and on and I've yet to mention anyone who writes code and puts things together in a game engine.
So, if there isn't any requirement that you make the class technical, then teach them how painting a wall of bricks is different then making a seamless tiling texture file that will make a surface look like bricks, how their skills would apply to story boarding, 2D concept art sketches or paintings, 3D character texture files and how the parts of the model's texture have to fit the UV file, or detailed 3D sculpting using tools like ZBrush, etc. Keep your class focused on how their fine art skills are tweaked to fit a technical industry rather than on how ill-suited they are to doing the technical stuff in the industry.
You keep using that word.
I do not think it means what you think it means.
I'm pleased to be in the beta for Stencyl (http://www.stencyl.com/) and it's an excellent program that works well for people of all experience levels. I'd say I'm a moderate novice when it comes to programming (it's not my job, just a hobby) and Stencyl is powerful enough that it doesn't hold me back with simplistic expectations of what I'll want/be able to do.
Patience is a virtue, but haste is my life.
Art students can easily make salable games by working with, say, Ren'Py.
And in going to a bit more minigaming-style work, Game Maker.
Really, if you want to teach game design don't just focus on the bigger 3d engines, there's a LOT of room for creativity in the 2d scene and non-techie artists can actually be quite successful at it with some work.
So a BFA might actually be able to get a job out of college? Lies...
Game development is all about limits. Texture limits, vertex/poly limits, limits in flexibility of animation systems, limits in complexity of shaders, limits in number of light emitters, limits in number of objects, limits in drawing distances, limits in lighting and shading models, limits to how you can use transparent surfaces, etc. These limits are pushed for every generation, but they're still there.
Belief is the currency of delusion.
Find another class at the same time that's teaching programming.. pair some of the art students with a programmer to come up with a design for a simple mini-game. Have the art students come up with what they are good at, namely the art assets, "story", and plan with the programmer on the rewards. Have them discuss the logic of the game with the programmer and have the programmer implement the game using what the artist can provide.
It should help the understand the interactions they will face in the real world better.
I put on my robe and wizard hat..
Hi there,
I'm a correspondent with National Public Radio. I follow the development of video games and I'd be really interested in knowing more about the course you plan to teach and where you will be teaching it. Get in touch if you have a moment. I'm at LSydell@npr.org.
Best,
Laura Sydell
It would certainly beat what I am learning now (C#).
I'm not an expert by any means, but I'll attempt to make a couple of hopefully useful suggestions.
I believe there are two important lessons to take home regarding game design:
Get either of those wrong, you lose suspension of disbelief, and have a bad game. You want to look at the "Game Design" section here: www.gamedev.net/reference
Now, as to how to teach this.. Perhaps you can ask them to produce short design documents, with justifications about their choices and require them to script something very simple (I take it they are already quite confident doing graphics.). Perhaps they could work in teams, using something like AGS (Adventure Game Studio -- adventuregamestudio.co.uk) to create small 2D point-and-click adventure games (in the style of Monkey Island and Indiana Jones and the Fate of Atlantis -- see youtube) with branching storylines.
Wow. I can't believe all these people in this thread saying not to teach programming to "Fine Arts Students," whatever the scare quotes are meant to imply.
Fine Arts Students (notice I don't use the scare quotes) can completely benefit from learning some simple programming skills. Programming teaches how to break a problem down into manageable pieces, put together strategies to solve those pieces and then assemble those solutions together to solve the overall problem.
I'm a CS person but I also paint and the skills from programming are VERY useful when doing art.
There's no reason in the world not to introduce Fine Arts Students to simple programming languages that let them express themselves by creating an interactive thing. In fact, a lot of really cool stuff is being exhibited all over the place using things like Arduinos, electromechanical parts and interactive programs.
My suggestion is to take something like python + pygame, create a framework in advance for the students to use and then teach them to make games within that framework. Set some boundaries on what they do, pick a flexible game type anyone can do (say a shooter to avoid physics or a platformer if you don't mind some physics), teach them the basics of working with python and let them have at it.
http://www.python.org
http://www.pygame.org
Fine Arts Students are often, in my opinion, much more intelligent than they're being given credit for here.
(And, frankly, a lot more fun to hang out with because they don't seem to spend as much time telling you how you're wrong about everything.)
I'm not familiar with game development tools, so I can't make specific suggestions, but as someone who straddles technology and the visual arts, I'd suggest that the more visually-oriented they are, the better. Point and click and drag and drop. A troll suggested Flash, but that's actually not a bad idea: the similarity to the UI of Photoshop (which most fine-arts students these days have at least experienced) can help them get working with it, and the ability to start doing things with very little code is a good way to ease into more complex procedural programming. Most fine-artists are very good at processing information and ideas visually, so use that: flowcharts will be better then text, demonstrations are much better than lectures. If there's information that has to be presented verbally, give it to them in writing. On the other hand, don't be surprised if some of them turn out to be ace coders.
http://alternatives.rzero.com/
It's going to be a challenge. I thought a game design course a couple of years ago, taking over the course from a friend. The course was based in the media studies department and pretty much the entire class majored in media except for one student who was studying design.
Our platform was Flash, using Actionscript 2. I'd say this is the easiest platform available because the basics are so simple and require little coding. Artwork was done in Illustrator and Photoshop and even that required some instruction. We were pretty much starting from scratch. We began with simple things like mouse clicks using buttons. I also got into keyboard and mouse control and basic collision detection. But ultimately it wasn't so much them absorbing anything from me as it was me simply providing them with snippets of completed code. You're going to have a hard time getting them to learn the basics, let alone being able to build a game out of it.
My course was more about the process of game design. But because it involved actually going through the process the bulk of the course was spent on simply learning how to accomplish this. If I had continued with the course I would have changed the curriculum quite heavily. I would have based the entire class around a single project with everything working towards that. I'd provide the code and give them a few options for game types. They would then spend the semester, planning out the game first, then creating the assets, then building it with my guidance.
There are a few important things I took away from the experience:
1) Keep things extremely simple. People who haven't programmed before are going to have a hard time understanding it. Be prepared to spend entire classes just going from student to student helping with issues they're having. I had 8 or 9 students in my class and still it was a challenge to help everyone out. Granted my class met once a week and was 2.5 hours long.
2) Anyone who misses even a class or two is going to fall dramatically behind.
3) Some students tend to be overly ambitious and take on way more than they can handle. It's your responsibility to rein them in.
4) Don't put them in groups for actual projects. But a big problem I found with them working together on a final project was that I'd have one student doing all the coding and everyone else watching. The others were supposed to create assets but of course they'd rush through that. Then they'd spend the rest of the time talking or chatting with friends on IM.
Each student should be responsible for their own project. I had the idea of grouping them for the conceptual phase. They would work together on coming up with an idea for a game, and then each building their own interpretation of that concept.
You're in a more fortunate position that you're working with fine arts students. So ideally you've got a class that's creative and has access to the resources needed to create the art for these games. So I'd have them create those assets as homework and then spend class time doing development. Like I said, they wont be able to get very far on their own.
I don't know enough about the platforms you're proposing. But from the quick look I've taken those don't look particularly easy to pick up for someone who doesn't have any background in this stuff. At least Flash is heavily used in the design community so there's something to take away from this. And you can actually build something without requiring much coding.
Throwing programming at people with "little-to-none technical skills" is a bad idea period. Have them develop games or game concepts and then help them apply those to programming. Or take an existing classic game and describe the challenges of making it digital (such as card shuffling).
I taught a Flash ActionScript class at an art school once.
Tell them to save their creativity for their artwork, and not their variable names.
They are going to be overwhelmed, both by the left brained and "only one right answer" discipline required to get code to run properly.
I would keep it VERY simple. More than you think is necessary.
You might just lose some students entirely. It's been said that programmers do for love what others wouldn't do for money. You will soon find out just how true this is.
At the end of my class, the students really did seem to appreciate it and had learned a lot. However, you are not going to turn them into professional programmers in this amount of time. I would focus on just giving them a sampler platter of the kinds of things they would need to consider if they were working on a project like this with a programmer, especially as it pertains to art.
The best you can hope for is that it will spark someone's interest and they'll want to find out more outside of class.
To be a successful artist in game development you need a sturdy technical foundation. No need to be a engineer, but you definitly need to be a geek and have a strong passion for games.
I have been a game developing 3d-artist for many years, and i'd rather hire a geek that became an artist than a "fine artist" that learned to do 3d.
Being a 3D artist with a fine arts background, if you are trying to teach artist basic elements of game design, I think it would be best to pair an artist with a comp sci major. The comp sci major can handle many of the technicalities of getting content into a game. Most artists who lack a technical background are going to be intimidated just by the process of creating assets and learning how to use the software necessary and the various requirements of doing so. The benefit for the comp sci major is insight in to how to communicate with artist. If they go into gaming they WILL be frustrated by the flakey, flighty artists. Understanding how to cope with them in a future professional environment will be very useful.
I wouldn't necessarily focus on finishing actual games. Focus on finishing assets. You'll be surprised at how excited these artists will be just seeing the helmet, gun or whatever they made show up in a level that will cement their interest in game content creation and will be a much better focus for a 50 hour course. I would also recommend the Unreal 3 engine if possible. That way, they are more likely to continue learning from what you taught them well after the class is over. They can skin a head for a game they have at home. Geeking out is an understatement regarding what their reaction will be to that. "That's mine, and it's in the game engine used for Gears of War!"
After that they'll have an interest and incentive to take it further and more technical, things like scripting, etc.
I'm not sure what the students' other courses are, but I'm wondering if, instead of teaching them general programming in a very basic, very not-usable-in-any-real-job way, it wouldn't be more practical, instead, of teaching them specifically how to create content, artwork, for somebody else's game, using real-world, or close to real-world (since you need free) tools.
You're obviously not going to make them into game developers. Would it maybe be better to make them into semi-credible artwork guys ? Maybe develop a basic game yourself, and ask them to do the artwork ?
Then again, if they already have these kind of courses, by all means do teach them game dev as best you can, it will be useful for them, too.
The Cloud - because you don't care if your apps and data are up in the air.
Might be worth asking around on some forums frequented by CG artists.... polycount.net jumps to mind.
It's fine arts. require them to submit a sample portfolio of games they have already made. like every other fine arts program does.
IMHO one of the best games in terms of artwork is Broken Sword 1. The scenes are handpainted and the character animations are very detailed. In the meantime ScummVM was developed which is a free software game engine which is able to play the data files of Broken Sword as well. ScummVM is not recommended for developing new games though. Maybe somebody nows a more modern engine with similar capabilities?
Get them to design a board game or a collectible card game. They are already familiar with almost all the skills it'd take to make one. If you're going to try and squeeze a bunch of computer programming stuff in there then good luck.
the tools are somewhat primitive, but it allows some amazing creativity to be expressed.
Are these people aiming for jobs within the mainstream game industry, aiming to become independent game developers, or interested in game design as an art form? If they're looking for jobs then yes, give them time with Unity and talk a lot about the limits of 3d and how to balance speed and beauty. If they want to sell their own games, step away from Unity and look into simpler game builders that can be highly customised by people with artistic talent. Even RPG Maker would do for that (look at Rainblood for an example of an artist-driven RPG Maker game). RenPy or one of the adventure game toolkits, also. If they're not very techie but they want to create games, you want to give them tools that make the basic game-making easy, and then let them go wild exploring how different they can make the results. If you want to explore weird experimental/conceptual game design stuff, then along with the 3d give them some simple flexible 2d tools that they can prototype wild concepts with.
I've gotcher 'Women In Gaming' RIGHT HERE!
Try using the source engine maybe? With Garry's Mod, you have a relative freedom of the FPS genre, and there's a huge knowledge base for it, it's still relevant, and really simple. /2cents
Even NPR trolls on /.
Body says 5,000, not 50,000...
I teach game design in the Art and Computer Science departments at Williams College, and wrote a book for these students: http://graphics.cs.williams.edu/creatinggames
I've been looking for a new engine all year. After talking to other teachers and game developers and trying many engines myself, I went with Unity 3D. It has the depth for students who really want to take it far, but is easy enough to get art students into quickly. Unity3D also targets platforms they care about, like the Web and iPhone, although there's no way they'll do iPhone development in their first course.
Alice is a good alternative. It lacks the tools, depth, and polish of Unity 3D but is easier to get into initially and is more tailored for education.
I haven't seen Processing deliver well for a games course. I think it lacks the tools and game-specific support to get students moving soon. Andrew Glassner has a very nice new book out called Processing for Visual Artists that I would recommend if you do use Processing, however.
Morgan
The title pretty much says it all. People in art don't program games at all. They instead get hired to do levels and art for them. I'd just take a basic game that's well understood and have them make their own custom levels for it.
It sounds like you want to teach computer game programming to me. If you really want to just teach game development maybe you should develop a pen & paper game. They can write the rule book. Otherwise you're teaching two things and maybe nobody will learn much of either.
It is absolutely shocking to see how many folks do not understand the first thing about a Fine arts program here.
In answer to the question, while it's useful to get into toolkits, if your students are anything like the people I went to university with, they're going to chafe at being delivered into a constrictive set of tools. Take a sampling of the tools you've mentioned and that have been mentioned by other commenters, maybe add RPG Maker on top of it, but at the end of the day it's just as well to let them loose to do their own interactive medium experiments. Maybe someone will do an internet forum game or a simple website-based interactive experience. Someone else might take it down the road of a surrealist adventure using a text RPG engine. Very likely at least one person is going to try something in an augmented reality vein. If you've done a course in performance art, that might be the best starting point - everyone is going to have their own notion of what the core element is, and all you can do is throw some simple starter projects at them; they'll do all the work if they're serious about art.
My university's computer science dept.along with film and media arts dept. has an interdisciplinary degree that teaches game development to arts students. You should check it out and see what they teach in entry-level course for arts students in this discipline. You can reach them here: http://www.eae.utah.edu/
I've found the LOVE game engine to be pretty good. (http://www.love2d.org) It uses Lua which is easy for beginners.
Inform.
Wrapping up game development into 50 hours is a recipe for a life long nightmare for someone. Imagine if some of your students actually will really LOVE making games. Are you going to be the one that tells them that being that they are "Fine Arts" major, there are not likely to ever get anywhere close to game authoring and at best can only find a job as a 3D graphic artists and only that after getting another degree! What you are doing is a SHAM.
We're going to take 100 programmers with no musical background whatsoever and teach them to play piano. In 50 hours there will be a performance. It will be terrible and everyone will know it. A waste of time? no, A good use of time? Probably not. OK NOW Wait a Minute! These people aren't going to be programmers. Re-title the course "Programmer Appreciation" and make them code C++ and memorize git man pages. You're a genius!
Flash... Definitely flash if you're teaching to artists. As much as I detest and despise flash (as a guy who prefers C++ and Linux), it is probably the best way to teach game development theory to artists. It's familiar, has a built in pipeline, and although the compiler sucks, Actionscript is fuckeasy to pick up.
Boredom is bliss.
I started back in the dos days... and on macs, c64s, atari computers etc...
Been doing graphics for a long time from a teen, to mid 30s.
The one thing that really has become apparent is that in order to be a good artist with modern computer graphics tools, you must be a very well rounded traditional artist as well. I started out years ago as a kid fascinated with comic book art, and as a teen I tried to learn anatomy from books, but never understood what those books were fully teaching until I saw a real live, breathing traditional sketch artist explain to me the entire thing all over again. Only then did the techniques in the books start to make sense. Only then could I see forms fully in my mind before paper. It changed my world in how I understand something and communicate it back visually.
In other words, to be a good artist, you have to be a smart artist. drawing, animating... those are just tools of communication, but you can not communicate what you do not understand in total.
I think the best way to teach fine art students about videogame developement, is to simply teach them that just because the tools are foreign, the art should already be familiar to them.
I can teach anyone to use Zbrush... I can explain polygons, and 3D coordinates to just about anyone... but getting someone to understand the human body and its form from inside out... well that takes a life time of work. It doesnt matter if you started on paper, or on a computer... the personal journey of an artist is the same. The traditional artists education is a must, be it formal or personally learned. I've been trying to for years and I'm finally at a point where I can say... I knew nothing then, what I know now. And I'm still always learning...
The technical stuff may be scary, but if you know how to see form, express stories, define space, color, scale... create moods, compose shots, understand line, rythyms... etc Those things are important. The technical crap really isnt much of anything.
Its like saying "Here's a hammer... you hit things with it". Thats easy. Your fineart students should already be capable and well versed enough to hit things with whatever hammer you give them. What is really important in all of this, is how you see the world and being able to communicate it back with whatever tools you have.
I started when computer graphics courses had virtually no connection to traditional art. Its sad that it was taught that way for a while, but those days are long gone now. Everyone I know, or see, from beginner to pro... has gone back to basics because the great renaissance artists figured it all out already. In our industry many "artists" were hired because of their expertise in computers, but early on those artists were nothing more than computer users. However those computer users replaced a lot of traditional artists working in the field of special fx for example. Often those traditional artists were FAR better than many of those computer artists taking their jobs... Those days are over. Traditional artists who learn the tools of computer graphics.... are a deadly threat to anyone not willing to do the hard work.
Having all the tools in the world, just make you a tool collector.
Actually I graduated with a music degree and I just released my first xbox 360 game :) This should be done. Game development is the art of the 21rst century.
All well and good, but since they don't hire programmers to be their graphic artists, graphic artists to be their writers, and writers to be their programmers, why the HELL would you dick around teaching Art majors to code, even in toys like Alice?
It depends on what you're trying to accomplish.
If the students are going to be competent game artists they need to know some technical jargon, the purpose of each department, and overall lifecycle, so that they can communicate effectively with their bosses/co-workers.
If the students want to be lead designers they need to understand some basic principles of coding, but they'd be better off popping out some diagrams and structured English for programmers to turn into code.
I'd suggest setting a pre-req of system design and/or introductory programming. The course should focus on game development life-cycle, examples of good and poor design, play balancing, stuff like that. On the technical side you could teach them to draw diagrams in MS Visio.
If you want to be evil you could set a group project of designing a simple game and then give it to some programming students to turn into a real game, teaching the technical people to work with artists.
Walking through the art building at RIT, I see a lot of what look like pretty shiny labs. Large format printers & scanners, all sorts of fancy graphics
Well, it *is* RI*T*.
That's a thing about college in general though - since you do undergrad only once, it's hard to compare your school to others
I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
I say we show 'em where they can stick their fines and boycott these Teaching Game Development guys.
I personally think that you're on the right track by choosing Unity.
With VERY little programming background I was able to make fully functioning games within my first few days. You can explain the basics in less that 5 hours and let them have at it creating, leaning, and most importantly enjoying game design.
It's very easy to start learning by using UnityScript, which is basically their version of Javascript.
The engine itself is very powerful and once they start getting the hang of UnityScript if you wanted to introduce a more rigid programming language you could do so with C# which is also supported by Unity.
Unity has been released for FREE so you should have no problem supplying it to your student. The Pro version has its pluses especially for stereoscopic stuff, but I don't think you'll be introducing that very early on. The free version will most certainly be enough for beginners and even intermediate students.
Did I mention the huge amount of resources available online for it:
http://unity3d.com/support/documentation/Manual/Tutorials.html
The community is also incredibly helpful! I know because I've received plenty of help and guidance.
It's ideal for rapid prototyping which is what I tend to use it for, however it can serve as an excellent resource for learning game design and even programming without getting bogged down with the low level stuff.
Good Luck!
You can teach them most aspects of game development without making them write a single line of code. My recommendation to you is to use Atmosphir for your project which allows users to make their own virtual worlds and levels very easily using a simple, yet very flexible design tool. In that site i've seen creations by 12 yo kids that would blow your mind.
I recommend Unity3d. I teach video game programming to High School students using it, and my 3-man indie video game company uses it.
Conceptually, things are very simple. Everything (the artist cares about) is a Game Object, and every Game Object can have zero or many Components, which make it do stuff. Components are lights, cameras, scripts, meshes... everything.
The asset pipeline was easy for me to get working right away, and has remained painless. To put something into the scene I drag it from my Dekstop to Unity's window, then from the project pane into the scene. Works every time.
The major thing Unity3d is missing is GUI-based scripting. In the video game industry there seems to be growing focus on tools that let artists create scripted events on their own... and Unity3d lacks this capability. However, the text-based scripting is as simple as you could ask (uses JavaScript's syntax, clear documentation, helpful community).
If you can find an engine that shares Unity's strengths but has something similar to (say) UDK's Kismet, then use it (and let us know about it). Failing that, artists learning about how programmer's do their job is not a bad thing (nor is the reverse!), but I would liberally help them with any scripting difficulties. Realistically, that is not the problem set they will need to know how to solve.
All told, Unity offers the most transparent medium to teach practical experience alongside "techniques and principles". As others have pointed out, your class should not be about how to use Unity, or even how to program, but how to learn how to use an engine to do what you want it to. What concrete experience they have with Unity (which is free-as-in-beer btw) is not without value, but ultimately secondary to the ability to learn.
Good luck!
PS: This class sounds like it is targeted at freshmen, and my advice assumes this.
That kind of collaboration is the biggest connection to the real world, and how to make it better. Don't think about how to try to get them to program. Think about how to get them to design in a video game environment.
I actually think this is the biggest problem with open source apps - they don't know how to involve designers in the process. It's not just games that can benefit from quality design. Compare just about any application that comes out of Cupertino with just about any open source app. If you pick the worst of Apple and the best of open source, you get a pretty even comparison. Any other combination and Apple trounces the open source world. That's not necessarily the big bucks Apple brings to the picture, it's the fact that designers are an integral part of the process there. In the open source world, the UI is often driven by programmers, if not actually created entirely by programmers.
My $.02
Could help!
Forget teaching programming entirely. If they are asking for game design and you teach programming, you have done them a disservice. Programming isn't game design. It's what you do after the game designer tells you what the design does.
Go look at Ian Schreiber's work at http://teachingdesign.blogspot.com/ and http://gamedesignconcepts.wordpress.com/. Especially the second one - its actually a free online course he taught last summer on game design. That should cover all the bases you need, and doesn't require any programming skills at all.
Now, if your Fine Art students DO have 3D cg skills, which they will if the school has those classes, then you need to figure out the range of their technical abilities. If none of the students are adept at even rudimentary programming or scripting, then you shouldn't focus on game making so much as the game art pipeline. I'd say you need at least 1 student in 7-10 who will be solely focused on the programming/scripting side of making a game, or no game, even simple game will happen. These people have to be very interested in doing that job for the project, even if they work on the project in other ways as well. Even the simplest of game engines will require scripting to get your game in a playable state. If you do end up going for making a complete game, keep the class size small (no more than 20!) and do no more than ONE LEVEL on ONE GAME project for the full 50 hour class. Do it as a class project, NOT individual projects--working in a group is ESSENTIAL in the industry. Spend the first part of the class teaching about game art pipeline (see below) while your students begin design brainstorming/conceptualizing game. They should be prototyping the game in engine as soon as they possibly can, and get things to a simple playable state (with placeholder art) as soon as possible, so that game design can be iterated upon, and art can have context. Ideally, you should have a prototype of some sort in a month, depending on how much time your students have working on your class. That says that the game design should be ultra simple. Let them try new design variations out if they wish, but it's likely they'll get the best results if they stick to tried and true designs and genres. Just not enough time for a single class to do anything but simple (but possible if students didn't have other obligations of time, such as other classes...)
Anyway, the MOST important thing you could teach art students (apart from what they should be getting from their other classes!) is about working with game art assets and a game engine/editor. Texture Artists need to learn how to texture for game assets (normal mapping, texture atlases, compression, texture restrictions, etc.), Modellers need to know how to work with low-poly objects and high-detail normal mapping, animators on how to work with simpler rigs/skinning and loops, etc. Luckily none of this stuff requires an actual game design: simply fire up the engine and fly around levels constructed by your class. You could work on a portfolio of levels and really learn how to work with a game engine. Artists need to be able to work in whatever editor for the engine their company uses, and they need to know how to create good looking assets that perform well and look good. Make sure your students are working with concept art in the pipeline as well, it's definitely something employers want to see, whether its their own or someone else's.
As for engines that would be good to use. UDK (Unreal Engine) is a great choice for more serious game projects, even if the UDK Editor has a huge learning curve compared to others. It's quite powerful, and will serve any artist that can work with it well. If you've got the technical expertise on your team, I would recommend UDK, otherwise, something else.
I've fiddled with Unity, and it looks very slick. Requires less technical know-how, and way easy to use. Great for first-timers to game engines, but really mostly
If the course is about 50 hours, I recommend using paper prototypes etc. as exercises. Check Bratwaite and Scheiber's book "Challenges for Game Designers: Non-Digital Exercises for Video Game Designers".
I can agree that you can't be a technophobe if you want to be a game artist but I've met quite a few game artists who were by no means geeks in the sense that the average slashdotter would describe a geek. Sure, they had weird hobbies and interests and slightly above-average tech know-how but their main strength was on the artistic side of things. A lot of times what is really needed is that these individuals get a solid and comprehensive education on how all the parts fit together, both in terms of the basic steps required to create a character or environment for a game as well as the concepts and mechanics of a typical game, what the limitations of the technology are and what is a good workflow.
Hell, there are plenty of geeks who can code circles around me who don't know that the "normal" way to create a game character is concept sketch -> model -> map -> texture -> rig -> animate, not to mention that they often have no idea how to perform even one or two of these steps. Maybe I'm just bitter because I've seen a few too many geeks who have written neat software to generate "pretty pictures" for them which is technically impressive but they get upset when I (and others) point out that the pictures aren't particularly aesthetically appealing (for some reason a lot of geeks seem to be obsessed with a stereotypical "sci-fi look", colored glow, otherworldly-looking shiny metal and a general H.R. Giger feel which I have a tendency to associate with teenage gamers).
Greylisting is to SMTP as NAT is to IPv4
Grab ioquake3 and GtkRadiant.
I'll try to provide some useful advice. I have been teaching 3D graphics and game development for 12 years, and most of the major game studios (including EA, Ubisoft, Blizzard, and more) now employ at least one of my students.
Students of mine have had great success using UDK. I highly recommend it. There are plenty of tutorials on the main site student can watch to quickly learn how to use it. The learning curve is quite easy. Students of mine have been able to create nice looking content on the same day they were introduced to the software.
In particular, what's great about UDK is that it allows non programmers to create Gameplay logic, because of its visual scripting system. Many of my more artistically minded students now use UDK to create their demo reels since UDK is capable of such high visual quality.
Unity3D is also a viable choice, however, it is much more work to get a high-end game up and running because most of the gameplay programming has to be written from scratch. At the moment it is also lagging very far behind UDK's visual ability. Unity has nothing that comes close to the "lightmass" global illumination system in UDK, which can be used to create fantastic looking levels.
UDK's weakness is that for gameplay development, it is quite hard to make a game totally different from the sample game it ships with. ("UdkGame") Programming for UDK is much more difficult and programming for Unity or most other systems. This is mostly because the UDK API is poorly documented by comparison, and UDK isn't supported in the same way as the full Unreal Engine.
If you are looking for an open source or linux based program, Blender can be used. The newest beta version is actually quite powerful. Blender has a game engine built in and it allows students to create visual "logic bricks" but also to program their game using python. (Of all the languages I have taught, students new to programming consistently pick up Python the fastest.) The Blender game engine Python API is well documented and easy to work with in my experience, though it does have some limitations, such as not being able to create new logic bricks on the fly, or being able to get a reference to a logic brick that is not "connected" to the currently running script. Fortunately, Blender is open source, so you could fix these issues yourself if you needed to.
Also, as another pieces of advice, you should decide on whether you want your students to focus on gameplay or graphics (or if you want to be able to give them the choice). Either one is a valid choice, but tudents tend to specialize in one or the other, and most students don't have enough time to get really both at both.
If you would like to discuss anything further, please contact me, I'll do my best to help.
You can read more about my teaching at: http://www.teaching3d.com/wp/?page_id=210
Inform 7 might be of interest. It's a tool for creating interactive fiction (otherwise known as text adventures). It uses a natural language syntax, and it's dead easy to learn the basics, making it ideal for non-techy types.
Text games might not be the kind of thing you initially had in mind, but this could be a useful way to teach topics like storytelling, characterisation, dialogue trees and so on. As an added bonus, your students can have a prototype game up and running in no time, with the accompanying sense of satisfaction, rather than having to spend weeks learning complex tools first.
It's useful to have some knowledge of neighboring specialties, so you can talk to colleagues without them thinking you're an idiot.
For example, if you work in sales it's nice if you at least understand the fundamentals of accounting.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
You should use ZZT for DOS to teach them. It looks odd at first, but is very versatile. I have entered games i made in zzt in our schools creative competitions before and placed.
if you fail to consider flash then you shouldn't be doing your job at all.
seriously, wtf are you doing mate?
If you post a question like this, provide essential information like: how old are your students?
I guess the problem is that you have not put enough thought into that issue. "A glimpse of the expressive possibilities that videogames have"? "A little flame of curiosity for interactive art and art games"? Sounds cool but shaky to me.
So first put more thoughts into your syllabus. What are the goals? What should they learn? What are *your" skills? *Then* find a tool.
Mobile computing is on the rise, and gaming is a strong component of it. There is a toolkit that will let you program in LUA (fairly common in game engines these days) and it will generate programs for both iPhone / iPad and Android at the same time. Programming is simple and the new game engine employs physics and other gizmos.
See game release: http://blog.anscamobile.com/2010/09/theyre-here-corona-sdk-and-corona-game-edition/
Video: http://www.youtube.com/watch?v=0e4p_5J_bZY
Game Maker is a pretty nice tool that let's you get into making games without heavy programming: http://www.yoyogames.com/make Also, you might consider mobile game development. I'm a professional Android developer, but I haven't looked at App Inventor yet. I'm not sure how amenable it is for building games, though I'd guess it would work pretty well for simple ones: http://appinventor.googlelabs.com/about/
I have taken a computer art course before. I have a masters in fine art (painting) and I have been a software developer for more than 15 years, so I have some familiarity with artists and technology. Here are some of my thoughts. I suspect you will get a mixed bag of technical (computer) skills. You should be prepared for some very novice level individuals. My first suggestion is to try to come up with collaborative projects. Then techincally sophisticated can group with the less sophisticated. They can learn from each other. You should suggest that technically savvy students team up with beginners. You might ask some questions to help people decide what group they are in and give you a sense of where the group is as whole. The projects should be very open ended. You might want to offer a choice of projects at each step. The ability to be creative with projects will be a great motivator. From what I have seen, many creative people find tightly defined assignments and work constraining and demotivating. Conversly they will invest extra energy and effort if they can and explore and shape the result. Just like the posts above, the individual students probably have very different ideas about what the course will be teaching. They also probably know what they themselves are interested in pursuing. Provide them avenues for exploring what the want with flexible projects. Do teach them as much about structure and rules as you can. Students will need to learn the basic of game design. Teach them everything you know in a structed and simple manner. Creative people will have no trouble pushing the boundaries. However, they need a framework to build on. For example, maybe they are interested in a game in which decision alter the properties and capabilities of the character. They would need a strong backing in more traditional game mechanics to have any hope of pulling off a self evolving game. Maybe they just want to work on some novel visual style. Then they would need some kind of basic gameplay to make an integrated result. For tools, use those that hold you by the hand the most. Anything you can do to help them produce something fun, especially at the beginning of the course would be great. I am not familiar with this area so I don't have any specific suggestions. Flash or similar is not a such a bad idea. Something that can start with animating simple shapes and then move into some of the concepts of develpment might work. I am assuming that by fine arts students you mean visual arts. If not, starting with graphical tools would not be such a good idea.
I would suggest XNA Game Studio: http://creators.xna.com/en-US/
There are plenty of examples for you to tear apart and modify with the class. Everyone could create their own alien ships to destroy or something.
Programming, however, might be a but much for art students. If I were you, I'd go for texture implementations like model skinning (both world objects and character animation), 2d textures for menus, and sprite effects - how transparency comes into play, 3D space and z-order, and post processing effects like lights and such.
They you go.
-Mike
GameMaker is similar to GameSalad (but older and more mature), but Windows only. It has a free (beer) version, and a cheap ($30 or so) pro version.
I did it twice. First time I used Flash and we did a game in one week. They learned princples of programming in ActionScript this way. Too complicated to mee, it worked, though. They used Flash afterward. Second time I used Processing. It was great to introduce them to basic programming skills, but it's not so easy to create meaningful game. Even pong is kind of advanced logic for many. These days I am really considering Scratch. I think you should be aware of a goal. My goal is usually to give to students access to easy, free tool, which can be used for many purposes (games, interactive screen based work, interactive installations, networked artworks etc...), that's why we like Processing. I need to investigate Scratch whether it's easy to use it for other purposes then game development. You can also focus on game as a medium, in that case it is good to prepare functional blocks of code - students don't learn so much about coding, but they learn about game development principles, interactivity etc... I think it's hard to achieve both - knowledge about games and knowledge about programming - in 50 hours
Petr Svarovsky
Fine art students not only lack the technical skills, they have no interest in acquiring them.
Instead of bringing them into foreign territory, why not encourage them to hone their skills to suit the digital market, ie. teach them how to be technical artists.
Expecting an artist to jump in and accept a non-visual/creative environment usually ends in tears and frustration. My experience in working with fine artists and concept/environment artists in the video game industry is that it's frustrating that they seem to be unable to draw within the square, much less know about low polygon counts and dpi. (I had to keep returning a piece of artwork back to an artist because they can't seem to grasp the concept of drawing within a 16x16 pixel square.)
If none of the above works, try flash. Flash was originally made specifically for art students to create interactive portfolios.
She is 10 years old and took a game development course at ID Tech Camp:
http://www.internaldrive.com/
At the end of a week, she had a couple simple video games designed and running.
I was pleased and proud because she's a complete computer novice.
The games she created were base on Clickteam Multimedia Fusion 2 Developer with Photoshop to tweak the art.
Older and more advanced kids used more advanced tools. The tools used in all the courses are listed here:
http://www.internaldrive.com/courses-programs/tech-products-used-at-our-summer-computer-camps/
Processing is a great tool for the basics of programming and visual elements. It's fairly hard to write a fully functional game in 50 hours - especially given the students may not have any programming knowledge. I would stick to creating code skeletons at first, and then introducing the students slowly to gaming and graphics concepts. Have them prototype games on a physical level first, and then introduce the computers later. There's no use in forcing the students to code games before they understand what they're even building. Once that's done, I might suggest setting up a code skeleton of a basic game, and letting them figure out the overall structure and then make the game their own.
they're art majors, try LittleBigPlanet
Although there is a lot of value in giving your students a technical foundation and having them make simple games in some sort of easy-to-use framework, if they have no technical background I wouldn't start there. If you do, you're going to be teaching them two things simultaneously: how to make a game, and how to program.
Start with analog games. Have them make board games, card games, tabletop games - things they can make with their hands. Once they have the basics of game design down, THEN you can start laying on the digital side of things. When it comes to game design as an academic field of study, there's just as much to be learned from making and studying analog games as digital ones.
If the people your are teaching this to don't already know programming and logic and your are dead set on electronic games then your are going to need a drag and drop style interface for your coding task. You are also going to need integrated physics,some sort of simple ai manipulation, integrated controller input management, some sort of asset management pipeline. This will allow them to focus on the actual design and iterate on a design. I suggest a 2 course approach. 1st course is real game design research and instruction. This course would be about brainstorming, studying what makes certain types of games fun, categorizing games etc. Rulesets, writing, game mechanics, level design etc. This class is not tied to programming it is about designing a game. During this course you may want to prime the pump by having them do independent research on programming languages and game engines in preperation for course 2 but the course it self is not about software. Course 2 is about software,scale and development and trade offs etc that are associated to electronic game development. Its about frustration and things not working right the first time. it is about iteration on a product. The finished project should come out of this process. You will have provide some sort of game engine, project control/versioning system for assets and such. You will be pushing whoever takes these classes because the task of developing games is multi discipline. The part that makes the project a game is going to be off discipline for your art majors. Good luck