Current topics in game development

Discussion in 'Game Development (Technical)' started by Mudflap, Jan 23, 2007.

  1. Mudflap

    Mudflap New Member

    Joined:
    Jul 7, 2006
    Messages:
    5
    Likes Received:
    0
    Hi,

    I'm teaching a class on game development that meets once a week. We'll be using XNA and C#. I'd like to give my students topics that they can research during the week so that they can be discussed and implemented during the class.

    What general topics are important to game developers these days? I've got a few. Please add to this list (or question why something is in the list).

    Your help would be greatly appreciated.
    Mudflap

    Topics:
    C# Scripting (using C# as a scripting language in a game)
    Model shaders
    2D with shaders
    Post process shaders
    3D Animation importing and playing
    AI (various topics please help me elaborate)
    Efficient scene graphs
    Particles
    Collision detection
    Collision response
    Physics
    UI Design
    Polish (what kinds of polish do you find in games today)
     
  2. GBGames

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    1,255
    Likes Received:
    0
    If the class meets once a week, and it is about general game development, do you really want to focus so much on shaders?

    As for AI, you can talk about finite state machines and neural nets.

    Also, maybe I don't know much about C#, but why use it as a scripting language in a course on general game development? Why not a general scripting language such as Lua? It is much more general-purpose and is usable outside of XNA/Windows/etc.

    I have a pet peeve that "general" game development tutorials/books/courses almost always use technologies available only to a subset of desktop computer users. Yes, Windows/DirectX is on a majority of computers, but SDL/OpenGL runs on ALL of them, so that argument isn't very persuasive. Obviously it's your course, and your skills are going to be what you teach. I'm just bitter that I am always expected to translate Win32/DirectX code and concepts in order to learn anything. B-\
     
  3. mpolzin

    mpolzin New Member

    Joined:
    Nov 20, 2006
    Messages:
    27
    Likes Received:
    0
    Well, I guess my real question would be, what is the background of your students. Are they already expected to know C# and be proficient? Is this a college level course?

    I was previously a teacher at the college level (technical college actually), and constantly ran into the issue of having people in my class at all different levels of knowledge. My suggestion, start with the basics.

    -Displaying a Sprite
    -Animating a Sprite & Input Classes

    Then have them build that into an OOP model with a basic Game Object, from which you derive a sprite class, and then create a animation class so that you can attach multiple animations to a sprite (walking left, walking right, etc.)

    Then get into collision detection.

    After that get into XACT a little bit, and have them build a sound component to add to their collection.

    Once you are through that, have them load a model and roatate it, and go from there into some of the more advanced topics.

    Give them the building blocks to create something. The topics you list are cool, but really complicated stuff to just jump into for a non-game developer.
     
  4. cliffski

    Moderator Original Member

    Joined:
    Jul 27, 2004
    Messages:
    3,897
    Likes Received:
    0
    Indeed. I've managed to make all my games without shaders. What are shaders?
    I'd teach some STL. flipping essential to me. Or does C# not need that?
    What's C#?
     
  5. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Like Java, but not as good ;) And yes, it comes with it's own libraries that are rather better than STL.

    Cas :)
     
  6. Mudflap

    Mudflap New Member

    Joined:
    Jul 7, 2006
    Messages:
    5
    Likes Received:
    0
    I will be teaching them about general game development, but there's only so much you can throw into a couple of hours. So, the first few classes will be going pretty slow. Explaining and implementing sprites, game loop, assets, engine development, etc. When we have a solid framework to build off of, the class will run much faster.

    I chose C# as a scripting language because we're already developing in C# and I remember a DirectX SDK sample where they used C# as a scripting language.

    I want them to have self-directed homework so that they have something of interest to them that they can talk about and consider implementing.
     
  7. Mudflap

    Mudflap New Member

    Joined:
    Jul 7, 2006
    Messages:
    5
    Likes Received:
    0
    I have the same issues in my class. I have some graduate level students who are professional business app coders, a group of students that just code-and-fixed their way through an IGF student submission, and a couple of people who have regular college level code (ie. not very useful).

    We're definately going to start with the basics. I still want the higher-level coders to find the class useful though so there will be a lot of self-directed projects after the base engine is done. I also want to start slow because I don't want to automatically wash out the inexperienced coders. I want them to find out for themselves whether they can do it.
     
  8. Mudflap

    Mudflap New Member

    Joined:
    Jul 7, 2006
    Messages:
    5
    Likes Received:
    0
    Shaders is a hot buzzword in non-indie circles. I've already been asked if we were going to get into it.

    C# has a built-in collection library. It's about equivalent to STL, but when you throw in C# delegates, you can do some cool things that aren't as easy with STL. They'll still get to user their collections and iterators.
     
  9. PeterM

    Original Member

    Joined:
    Aug 5, 2004
    Messages:
    343
    Likes Received:
    0
    Hmm, what about teaching them different game loop patterns?

    You could include things like how to transition between game screens (switch on state id, run and return successor etc etc), managing and sharing resources between screens and so on.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer