Advertisement

Tech demos vs games for a portfolio

Started by August 22, 2011 03:33 PM
22 comments, last by _mark_ 13 years, 2 months ago

[quote name='Ravyne' timestamp='1314050532' post='4852538']
It wouldn't count against you to have a completed game -- especially if the company were seeking more of an "entry-level" or "generalist" -- someone competent in many areas, rather than specializing in one or two. (Ideally, one should have at least 2 "specialties" and be rounded enough to be competent in many or all problem areas).

Anyhow, this "stick-to-it-iveness" you describe can be equally well demonstrated by having *complete* technical demos -- One's which are both accurate and performant, ones which solve most, or all, off the odd corner cases and which don't explode when the moon is in retrograde. Additional polish will also be appreciated -- for example, having a workable UI to adjust all the interesting parameters of the demo.

This is really a question of resource allocation and time management -- The question is not "is it better to have a full game or a technical demo" -- the question is "How many interesting, polished technical demos can I complete in the time it would take to complete a game? How many can I complete in the time it would take to complete a *polished* game?"


My argument pro demo rather than full game is a bit stronger than yours. I believe a demo is better than a full game. If I am interviewing a candidate, there's a good chance I will download a tech demo to play with it, and maybe even peek at the code. It's much more unlikely that I would download a whole game and play through it looking for signs of interesting features. No one has the time to go through the source code of an entire game looking for interesting code.

Imagine if you were hiring a plumber and he said, "Behold! The house that I built with my bare hands!" You'd say "Okay, that's nice, congratulations.. but I kind of just want to see if you're a good plumber. We already have carpenters and electricians."
[/quote]

I should have been more clear. A 'game' in my initial post would be, as you say, a completed tech demo. That's all I had when I started, it was a "part" of a game but it had sound, graphics, animation, ui, input etc. There was not any real game play, just a complete usable front end without much in the way of AI or "game". I had a bunch of little testbeds with various ideas I'd not put into the base game.

The idea being that I went in showing desire, some ability and flexibility etc. At that time, it was 2.5D stuff using DirectDraw (D3D wasn't out yet and a 3DFx board was still too expensive). Hence why I mention keeping it simple.

[quote name='AllEightUp' timestamp='1314051556' post='4852548']
You take this out of context. For a "NEW" programmer just out of school these are the types of things I look for. For old hands, if they are specialized that's fine, but I still like to know they are broadening their horizons so a hobby renderer and possibly some goofy stuff they've tried helps.


But why do you prefer a full game to a few interesting demos showing mastery over a few interesting problems?
[/quote]

Mostly, it's a level of detail and where/how I would hire someone. If you come straight from school with a nothing more than a rendering engine I'm unlikely to hire you other than as a very junior graphics programmer. This may be exactly what you want but that is a highly sought after position and you will be up against very specialized folks. Having "other" demo's is critical since otherwise you are vying for a highly limited slot with little other consideration. My intention was to say "show some more coverage" instead of a focus and also show you can complete things.
Advertisement
When I interview people I like it if they have contributed to a useful FOSS project and can point me to their github commit history. If they have made a game (or app, whatever) on their own and pushed it all the way, especially if they've made money, it's pretty impressive.

Demos, meh. Maybe if they are really really good I guess?

When I interview people I like it if they have contributed to a useful FOSS project and can point me to their github commit history. If they have made a game (or app, whatever) on their own and pushed it all the way, especially if they've made money, it's pretty impressive.

Demos, meh. Maybe if they are really really good I guess?


Why does it matter if a program they've contributed to is FOSS? Are your projects FOSS or something?

And why are you impressed by pushing a game or app "all the way", especially if they've made money? This shows a supreme misunderstanding of the industry, in my opinion. First of all, a game making money and a game containing quality programming are in no way correlated. So.. you're hiring good marketers as programmers? Or, you're hiring good designers as programmers?

Secondly, unless you're hiring someone to be personally in charge of starting and finishing a game by himself, what exactly is valuable about that skill to you?

In general, what's the logic, if any, behind your hiring criteria?

When I interview people I like it if they have contributed to a useful FOSS project and can point me to their github commit history. If they have made a game (or app, whatever) on their own and pushed it all the way, especially if they've made money, it's pretty impressive.

Demos, meh. Maybe if they are really really good I guess?


Good points. How about we turn this on it's head a bit, what is looked for in a potential hire:

1. Absolutely the most important thing in my book, can't be an asshole or hard to work with. Contributing to an open source project lends the initial thinking to say "probably" not a primadona asshole. I refuse to work with people like this and have taken second best many times in favor of preserving team unity instead of getting some primadona.
2. Demo's, simple games, with more than just fancy graphics you can copy out of any number of books. Or, better stated, you may have copied a bunch of stuff but you put it together into something "complete" including sound, ui etc. Show some depth. Any piece of a completed game can usually be tracked back to an article somewhere, putting at least some of the bits and pieces together and making it work takes a lot more effort than a single demo of say graphics.
3. Prior games are a gold star item, even if very simple like say breakout if they include more range than just one thing. I'm talking about nubes here, folks with a couple years in the buisness get an automatic gold star "IF" they were at the company at point of ship. (Leaving before ship, I don't much like that unless there are good reasons. There are MANY good reasons, just be clear about them and don't beat about the bush.)
4. Specialists in the non-common areas (not graphics/sound/networking). AI is a good example of where you don't get many dedicated applicants, if they don't know sound and such, oh well, they are usually competing in a VERY small pond of applicants. (NOTE: I will never hire a fresh AI person from school to lead an AI project, they still need training to convert from "school" programmer to "real" programmer.)

Hmph, lots of other stuff I only touch on or avoid completely.
Automatic gold star if they were at a company at point of ship? That's arbitrary and not an indicator of a person's skill in any way.

I don't know. Maybe I would hire for a different type of person than you guys would be looking for? Call me crazy, but I would be looking for someone who's a great programmer, good communication skills, and who can demonstrate his ability to solve non-trivial problems by showing me something non-trivial. And writing a Breakout clone does not count as non-trivial. Writing a breakout clone counts as a big load of trivial programming.

This whole "learn how to program games" movement is ridiculous, in my opinion. There are good programmers, and there are bad programmers. There are creative programmers and there are dull programmers. There are intelligent programmers and there are dumb programmers. There are clean programmers and there are messy programmers.

But a guy who "learned game programming" by "programming a game" isn't necessarily a good programmer. I'd take someone who could show me a hardcore, nontrivial embedded systems project, for example, over some kid that worked for three years to complete a shitty looking FPS by reading web tutorials.

I think you'll find that the more intelligent the lead engineers at a company, the less they will care about whether you made purty pictures move.
Advertisement

Automatic gold star if they were at a company at point of ship? That's arbitrary and not an indicator of a person's skill in any way.

I don't know. Maybe I would hire for a different type of person than you guys would be looking for? Call me crazy, but I would be looking for someone who's a great programmer, good communication skills, and who can demonstrate his ability to solve non-trivial problems by showing me something non-trivial. And writing a Breakout clone does not count as non-trivial. Writing a breakout clone counts as a big load of trivial programming.

This whole "learn how to program games" movement is ridiculous, in my opinion. There are good programmers, and there are bad programmers. There are creative programmers and there are dull programmers. There are intelligent programmers and there are dumb programmers. There are clean programmers and there are messy programmers.

But a guy who "learned game programming" by "programming a game" isn't necessarily a good programmer. I'd take someone who could show me a hardcore, nontrivial embedded systems project, for example, over some kid that worked for three years to complete a shitty looking FPS by reading web tutorials.

I think you'll find that the more intelligent the lead engineers at a company, the less they will care about whether you made purty pictures move.


I wonder if you are being contrary on purpose or not. You are coming across as exactly the type I will not hire. I made suggestions about how I look at things and all the specifics are picked apart. I don't mind being questioned yet I do mind being called unreasonable. Somewhere you have a problem with my comments but nothing here makes any sense to me. Everything is personal feel, you don't like my feel then don't interview with me, all done. Bitching about it, that's not a good indication of someone I want to work with.

I wonder if you are being contrary on purpose or not. You are coming across as exactly the type I will not hire. I made suggestions about how I look at things and all the specifics are picked apart. I don't mind being questioned yet I do mind being called unreasonable. Somewhere you have a problem with my comments but nothing here makes any sense to me. Everything is personal feel, you don't like my feel then don't interview with me, all done. Bitching about it, that's not a good indication of someone I want to work with.


I wasn't looking for a job :)

We disagree. What's the big deal? Do you always get so upset when someone disagrees with you? I'm not telling you what to do or who to hire.

[quote name='AllEightUp' timestamp='1314068668' post='4852623']
I wonder if you are being contrary on purpose or not. You are coming across as exactly the type I will not hire. I made suggestions about how I look at things and all the specifics are picked apart. I don't mind being questioned yet I do mind being called unreasonable. Somewhere you have a problem with my comments but nothing here makes any sense to me. Everything is personal feel, you don't like my feel then don't interview with me, all done. Bitching about it, that's not a good indication of someone I want to work with.


I wasn't looking for a job :)

We disagree. What's the big deal? Do you always get so upset when someone disagrees with you? I'm not telling you what to do or who to hire.
[/quote]

Not upset or even frustrated, just trying to figure out what the problem is. At this point we are completely off topic, I suggest direct contact from here on out. This thread doesn't need our further comments.
There are a lot of good replies here. I'm much more confident in what I should add to my portfolio now. Time to brush up on my math skills more and create some fast but stable demos. Now it makes sense for most to just focus on what you're good on and what you like to do specifically in programming. I can create a game but since character art isn't one of my fortes it will have to be about a rolling ball, for now. As for games being trivial- it depends on how much time you spent on it. And from what I've seen, "generalist" programmers aren't a position too great in demand except for really small shops. But if I'm poised to create the next Super Meat Boy, it will serve my interests better to create a business model around it and ride on my newfound reputation to create and promote more games.

Brain in a Vat probably meant that MOST portfolio games are trivial, since they don't focus too deeply on a particular subject. I can make my game more trivial if I wanted too... for instance, I can forgo PSSM and not use any shadow mapping whatsoever. I can hardcode my levels instead of implementing an interesting level editor to do my work. However, because graphical rendering techniques greatly interest me, I'd progress further if "branch off" my rendering code from my game and create something that can stand well on its own.

Contributing to a FOSS project isn't something I have done. I can see how others see the value in it- it gets you better at understanding how other people code and shows that you can adhere to the coding conventions (if any) of a particular project. Me, I'll probably use GitHub to host my own projects and have them to show for convenience sake. It would be easy to show that as coding samples.
Electronic Meteor - My experiences with XNA and game development

This topic is closed to new replies.

Advertisement