Share via


List of 6 things that can get you started with Game Design

Getting started with game design is at best confusing.  Should you learn XNA? Yes.  Should you learn XAML? Yes  Should you learn DirectX? Yes

Well that wasn’t very confusing was it?  Let’s take a look at the list of technology and information sources:

  1. DirectX 9, 10 or 11? 

    • With the lack of good tutorials around the DirectX 11 which is included in the Win8 tools, you should focus on DirectX 10 or 9, then expect to figure out how to port your work to DirectX 11.  This is a good idea not only from a let’s get started point of view, but know how to do the transfer or “porting” of the code to DirectX 11 is a good idea.
  2. If you are starting now should you learn Java, C# or C++?

    • Likely, except for the required classes in college, you can skip Java in the real world of Game Design, unless you focusing on Android, then have at it, but if Google has another language learn it.  C# or C++, learn C++ first and then understand C#, both of which, unlike Java, are controlled by international specifications, so these languages will last.  Java is controlled by Oracle.
  3. Find a book that you like on game design, then figure out how to get it to work on Windows 8 Consumer review. 

    • You can keep an eye out on the remaining remainder tables at bookstores, or watch for a sale on Amazon.com.  For some of these books, make sure you get the CD.
    • I am using Frank Luna’s book 3D Game Programming with DirectX 11, but it does require a little tweaking, not much so far, to get started with DirectX 11.  I am also working through some other books as well, but they are older, etc.  These older books often have great ideas, games, etc. but the way that graphics are used are not recommended for new or upgrades.
  4. The XNAMath in earlier version of DirectX and xBox 360 XDK will not be fully supported, to get the full story see these blogs or articles:

  5. Now some code on using DirectX 11 in Windows 8, using the “No Class” Method

    • Of course there are classes, that is why there is namespaces, etc.  Rather it is no class because I wrote it.  Just ask my fellow teammates, I have no class.

    • Code only checked with Visual Studio Ultimate Beta running on Windows 8, let me know if it doesn’t run for you.  Open the Visual Studio 11 Ultimate Beta, select the category: General (to make it easier) and then select the Empty Project, change the name.  Add a “Source” file (that is a file with the extension cpp), it will be a blank sheet.  Then add the code below, you should see a matrix operation on the two vectors.

 

  1.  //Tested on Windows 8 with VS 11 Beta
    
     #include <algorithm>
    
     #include <iostream>
    
     #include <vector>
    
     #include "DirectXMath.h"
    
     #include "DirectXPackedVector.h"
    
     using namespace DirectX; 
    
     using namespace DirectX::PackedVector;
    
      
    
     using namespace std;
    
     // Consider buying Frank Luna's book: 3D Game Programming with DirectX 11
    
     // You will need to do some tweaking to use the book
    
     // Overload the  "<<" operators use cout to 
    
     // output XMVECTOR objects
    
     ostream& operator<<(ostream& os, FXMVECTOR v)
    
     {
    
          XMFLOAT4 dest;
    
          XMStoreFloat4(&dest, v);
    
      
    
          os << "(" << dest.x<< ", " << dest.y << ", " << dest.z <<  ", " << dest.w << ")";
    
          return os;
    
     }
    
    
    
      
    
     int main()
    
     {
    
           XMVECTOR aVector = XMVectorSet(3.0f, 3.0f, 2.0f, 2.0f);
    
           XMVECTOR bVector = XMVectorSet(1.0f, 1.0f, 3.0f, 7.0f);
    
           cout<<"Left vector (aVector) contains (3,3,2,2) "            <<endl;
    
           cout<<"Right vector (bVector) contains (1,1,3,7)"            <<endl;
    
      
    
           cout << "XMVectorPow(aVector, bVector) = " << XMVectorPow(aVector, bVector) << endl;
    
           system("PAUSE");
    
           return 0;
    
     }
    

Comments

  • Anonymous
    April 19, 2012
    I dun see why c# is not controlled by m$ lol. Rolf

  • Anonymous
    April 19, 2012
    Hey F, C# isn't controlled by Microsoft, but Microsoft is still heavily involved.  If you want to create your own IDE you could.

  • Anonymous
    April 22, 2012
    @Surf4Fun - and in Java you couldn't? Sure you could! Everyone seems to be doing a little Java IDE. I don't get that comparison.

  • Anonymous
    April 22, 2012
    Fact of the matter, Microsoft created the language, are still heavily invested into the language, but don't actually control the language and what goes into it - ISO does that. If YOU want, you can submit an idea to the ISO C# specification board, and perhaps have it implemented for the next version of C#, same as Microsoft. Not so with JAVA, it's a language owned by Oracle. They're entirely within their rights to sue your behind off if you use it in a way they feel might reflect poorly upon them.

  • Anonymous
    April 22, 2012
    And you should use OpenGL, since DirectX is controlled by microsoft... !?

  • Anonymous
    April 22, 2012
    and DX only runs on Windows.. too bad.. ms has the resources to build great APIs for all platforms, but it doesn't just to sell its operating system.. this is monopoly.. sorry!

  • Anonymous
    April 22, 2012
    Who cares who controls the spec. The real problem is Java is a sh*t language running on a slow, fragmented and extremely buggy VM.

  • Anonymous
    April 23, 2012
    The comment has been removed

  • Anonymous
    April 23, 2012
    There are some very good links here providing basic information on getting started with DirectX design and games, however there is one thing that I've been having trouble finding references for.   I've found references for basic model creation, lighting, HLSL, and movement/translation/scaling.  What I'd like to see are some more in-depth references about model animation in DX.   My biggest questions in this area are: How should a model object be structured?  

  • A list of frames with all data for each frame?  
  • Different lists of frames based on different animation squences?
  • Should all animation frames be saved within the model or should just key frames be saved and use interpolation between keys? What is the most efficient way of doing animations within a 3D model?
  • Does each frame in the animation require the exact same number of vertices/faces?  
  • Do you replace the position/texture data for each vertex in the model to animate?
  • Should each frame be pre-loaded and just display the appropriate frame within the animation sequence?
  • Anonymous
    April 24, 2012
    Game design using microsoft products, that is a better title.

  • Anonymous
    April 26, 2012
    What does this article have to do with "Game Design"?

  • Anonymous
    May 04, 2012
    The comment has been removed

  • Anonymous
    May 10, 2012
    I think this guy needs to maybe WRITE some games before giving advice to anyone. He clearly knows very little about the game development community.

  • Anonymous
    May 11, 2012
    The comment has been removed