Archived

This topic is now archived and is closed to further replies.

gamedever

What to put in a killer demo?

Recommended Posts

Hi guys. I was just wondering: I am interested in game engine programming. I was wondering what should I put in a killer demo? I know: Visual C++ .NET DirectX Math Vectors/Matrixes 3D Model loading and display I need to make a killer demo for an upcoming interview! Any suggestions? Mark Sumerix

Share this post


Link to post
Share on other sites
well, game engine programming is actually pretty vague. do you want physics, graphics, sound, ai, pipeline, or something else? those could all be technically considered part of the "game engine". typically engineers will specialize in some sub-component of the game engine. once you decide which of those to specialize in coming up with ideas for a "killer demo" should be pretty straight forward. if you're just going for a junior engineer position companies tend to like generalists who perhaps have a strength in one of the engine sub-divisions.

the demo i went with (junior engineer position) was a relatively full featured but bare boned game. i could fly a ship around (3D able to switch between 1st and 3rd person views). i had a rudimentary physics engine running with decent hierarchical collision detection/handling. had a fairly robust AI system in there with a couple different entity types that behaved dramatically different from each other (i felt most comfortable with AI so made that system the most complete). had some pretty cool looking terrain, a basic 3D sound system (openAL) and some basic game mechanics for a metaverse type game (optional control set that allowed mouse picking of objects and using objects, etc). all in all it wasn't really a complete game but it demonstrated that i had a decent technical understanding of a lot of systems with a really good understanding of one (was AI for me).

the point of a demo for a junior programmer is to show that you're not retarded, can learn new things, have TONS of ideas for how to improve everything and can write understandable code (and be able to explain anything they ask about). if you already have the interview, the biggest hurdle is already behind you so congratulations. what made the difference for me, i think, (beyond just being able to answer all the technical questions & brain teasers) was being able to talk forever giving an answer to the following question:

"If you had 18 months and an unlimited CPU budget to do whatever you wanted with an AI system for a RTS game what would you do and how would you implement it?"

-me

[edited by - Palidine on May 19, 2004 1:55:51 PM]

Share this post


Link to post
Share on other sites
Actually, .NET/DirectX may not be what you want. Research whichever company you are applying for, and find out what their engines uses. From your post, I'm guessing you are new to 3D graphics, so take look around in the Graphics section, DirectX section, OpenGL section. Pick a tutorial that fits your experience level, and add something too it.


[edited by - Onemind on May 19, 2004 5:28:37 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Onemind
Actually, .NET/DirectX may not be what you want.


really? i'd say that 90% of PC games companies use the .NET IDE (.NET IDE != .NET language) primarily developing in C++, and DirectX seems to be the API of choice in the industry (id software is the only one i can offhand think of that uses openGL). any console game company will most likely use an internal and propritary graphics engine/API so he wouldn't have access to it. XBOX, i believe, uses something very very close to DirectX (maybe actually directX), so i'd say his choice of language/API is pretty much spot on for the vast majority of games companies.

-me



[edited by - Palidine on May 19, 2004 2:09:53 PM]

Share this post


Link to post
Share on other sites
The demo that got me a job was rather simple, but it showed several key aspects of 3D *game* programming, I put emphasis on game because it actually feels somewhat like a game, and not just a tech demo.

The key features that it showed were rendering (of course), animation and collision detection. It also helped that I had sound, which made the demo more immersive, and some particle systems that I used for a bit of ambiance.

If you want to see the demo I did go to: this page

I think that showing that you understand and can work with the different parts that make up a game is more important than showing off a great demo of one great rendering technique.

Ultimately, A demo is better than no demo, so if all you have is a demo of a particular thing, go with that.

Oh, and some advice, I''ve made this mistake in the past, and I see other programmers do it all the time (I still do it myself sometimes, it''s hard not to). When showing your demo to people, don''t talk about any bugs, or things that don''t look right, chances are the person looking at your demo wouldn''t have noticed it if you hadn''t called his/her attention to it. Focus only on the good things, if a bug happens, pretend that it wasn''t there and keep going. Unless they ask you about it, in which case, try to be brief about it so that you can move on. Finally, don''t talk about the features that you intended to put in, but didn''t have time, it does more harm than good.


Visual
visual@spheregames.com
http://www.spheregames.com


Share this post


Link to post
Share on other sites
I almost forgot Flipcode.com has some nice tutorials too.

As for Palidine's advice, .NET dev-tools are widley used, and if you are more comfortable with .NET/DirectX then use that for your demo. If you are more comfortable with OpenGL/Non .NET, use that. Please no more flames concerning .NET!

[edited by - Onemind on May 19, 2004 5:35:36 PM]

Share this post


Link to post
Share on other sites