Difference between revisions of "Game Programming Class1"

esse quam videri
Jump to: navigation, search
(What is XNA?)
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Discuss Syllabus==
+
GitHuib URL https://github.com/dsp56001/GameProgramming
<b>Software</b>
 
  
*Visual Studio 2010 available from MSDN
+
test
*XNA 4.0 http://create.msdn.com/en-us/home/getting_started
 
**requirements http://msdn.microsoft.com/en-us/library/bb203925.aspx
 
*DirectX SDK http://msdn.microsoft.com/en-us/directx/aa937788.aspx
 
  
==What is XNA?==
+
==Mono Game==
Discussion<br>
+
*http://www.monogame.net/
 +
*MonoGame is a current path to managed games in windows 10 and XboxOne
 +
**http://blogs.msdn.com/b/bobfamiliar/archive/2012/08/01/windows-8-xna-and-monogame-part-1-overview.aspx
 +
*Also a path from XNA to iOS, Android, Sony PS4, XboxOne, Linux, raspberry pi etc..
  
[[XNA Overview]]
+
==What is DirectX?==
 +
show c++ examples
  
Why do we need it?
+
[http://creators.xna.com/en-US/create_detail quick start guide - create]
  
Why not use c++?
+
* DirectX 8.1 http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fsessions%2fbuild%2f2013%2f3-187.pptx
 +
** Game Sections http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fsessions%2fbuild%2f2013%2f3-187.pptx
  
Major changes in XNA 4
+
* Middleware http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fsessions%2fbuild%2f2013%2f3-187.pptx
* What's new http://msdn.microsoft.com/en-us/library/bb417503.aspx
 
* Graphics Profiles
 
**Reach HLSL 2.0
 
**HiDef HLSL 3.0 platform showcase features
 
  
==What is DirectX?==
+
watch Accelerating Windows Store Game Development with Middleware http://channel9.msdn.com/Events/Build/2013/3-187
show c++ examples
 
  
[http://creators.xna.com/en-US/create_detail quick start guide - create]
+
==Hello World==
  
==Hello World==
+
[[Hello World in Monogame using spritefont]]. We'll revisit the spriteFont when we build the console/debug class
  
[[Hello World in XNA 4.0 using spritefont]]. We'll revisit the spriteFont when we build the console/debug class
+
==Hello Monogame with texture==
 +
Simple monogame project that draws a pacman sprite
 +
*Start a new Monogame Project (For all the example in this class I will use Monogame Windows)
 +
[[File:NewMonogameProjectWindowGL.PNG]]
  
==Hello XNA with texture==
 
Simple xna project that draws a pacman sprite
 
*Start a new XNA Project
 
 
Add two variable declarations at the top of the class
 
Add two variable declarations at the top of the class
<csharp>
+
<syntaxhighlight lang="csharp">
 
              
 
              
             Texture2D PacMan;
+
             Texture2D PacMan;   //Texture2D to hold pacman texture
             Vector2 PacManLoc;
+
             Vector2 PacManLoc; //Vector location to draw pacman texture
</csharp>
+
</syntaxhighlight>
 
In the <code>LoadContent</code> Function add the following code to initialize the two variables declared above
 
In the <code>LoadContent</code> Function add the following code to initialize the two variables declared above
<csharp>
+
<syntaxhighlight lang="csharp">
 
         protected override void LoadContent()
 
         protected override void LoadContent()
 
         {
 
         {
Line 53: Line 49:
 
             PacManLoc = new Vector2(graphics.GraphicsDevice.Viewport.Width / 2, graphics.GraphicsDevice.Viewport.Height / 2);
 
             PacManLoc = new Vector2(graphics.GraphicsDevice.Viewport.Width / 2, graphics.GraphicsDevice.Viewport.Height / 2);
 
         }
 
         }
</csharp>
+
</syntaxhighlight>
 
*Add the following code to the Draw Method to Draw the texture
 
*Add the following code to the Draw Method to Draw the texture
<csharp>
+
<syntaxhighlight lang="csharp">
 
protected override void Draw(GameTime gameTime)
 
protected override void Draw(GameTime gameTime)
 
         {
 
         {
Line 67: Line 63:
 
             base.Draw(gameTime);
 
             base.Draw(gameTime);
 
         }
 
         }
</csharp>
+
</syntaxhighlight>
 
pacman image is availble here: [[Image:PacmanSingle.png]]
 
pacman image is availble here: [[Image:PacmanSingle.png]]
  
Line 73: Line 69:
 
the full game1.cs file should look like
 
the full game1.cs file should look like
  
[http://brookfield.rice.iit.edu/jmeyers/gbrowser.php?file=/ITM496-595/ClassSource/Projects/IntroSimpleSpriteWindows/IntroSimpleSpriteWindows/Game1.cs
+
TODO ADD URL
IntroSimpleSpriteWindows/Game1.cs]
 
  
 
the build of the game will look like
 
the build of the game will look like
Line 82: Line 77:
 
<p>Simple 2D texture example with update</p>
 
<p>Simple 2D texture example with update</p>
  
==HomeWork==
+
==Demos==
 
 
Create an XNA Picture. The picture needs to have at least
 
*1 SpriteFont
 
*3 Textures
 
 
 
Make a folder in your pub called XNA. Create an index for this folder and link the zipped VS2008 project here. Also please post a screen shot of your project running.
 
 
 
You can take a screen shot using teh snip tool. Start run snip in vista or 7. Or you can just press the Print Screen key on the keyboard.
 
 
 
*Read Chapter 1 of XNA 3.0
 
  
* Listen to .NET rocks XNA podcast
+
[[Monogame Overview]]
http://www.dotnetrocks.com/default.aspx?showNum=501
 
  
subscribe to .NET rocks podcast
+
MonoGameDemos\IntroFonts https://iam.colum.edu:8443/!/#GPMonogame3/view/head/trunk/jeff/IntroFonts zip file!!!

Latest revision as of 14:30, 9 April 2018

GitHuib URL https://github.com/dsp56001/GameProgramming

test

Mono Game

What is DirectX?

show c++ examples

quick start guide - create

watch Accelerating Windows Store Game Development with Middleware http://channel9.msdn.com/Events/Build/2013/3-187

Hello World

Hello World in Monogame using spritefont. We'll revisit the spriteFont when we build the console/debug class

Hello Monogame with texture

Simple monogame project that draws a pacman sprite

  • Start a new Monogame Project (For all the example in this class I will use Monogame Windows)

NewMonogameProjectWindowGL.PNG

Add two variable declarations at the top of the class

            
            Texture2D PacMan;   //Texture2D to hold pacman texture
            Vector2 PacManLoc;  //Vector location to draw pacman texture

In the LoadContent Function add the following code to initialize the two variables declared above

        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            //load PacMan image
            PacMan = Content.Load<texture2d>("pacmanSingle");
            //Center PacMan image
            PacManLoc = new Vector2(graphics.GraphicsDevice.Viewport.Width / 2, graphics.GraphicsDevice.Viewport.Height / 2);
        }
  • Add the following code to the Draw Method to Draw the texture
	protected override void Draw(GameTime gameTime)
        {
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

            // TODO: Add your drawing code here
            spriteBatch.Begin();
            spriteBatch.Draw(PacMan, PacManLoc, Color.White);
            spriteBatch.End();

            base.Draw(gameTime);
        }

pacman image is availble here: PacmanSingle.png


the full game1.cs file should look like

TODO ADD URL

the build of the game will look like IntroSimpleSpriteWindows.png


Simple 2D texture example with update

Demos

Monogame Overview

MonoGameDemos\IntroFonts https://iam.colum.edu:8443/!/#GPMonogame3/view/head/trunk/jeff/IntroFonts zip file!!!