# Game Creation with XNA/Programming/Visual Studio

Visual Studio, created and providing by Microsoft, is an IDE for developers who want to evolve different applications based on Windows and the .NET platforms. It supports developers/programmer with a widespread accumulation of development programs for generating different kinds of applications e.g. Windows applications, ASP.NET applications or Web services. Professional programmers as well as free coders like to use Visual Studio for developing because the IDE supports many different programming languages: Visual Basic, C, C++, C++/CLI, C# and F#.
We are going to use Visual Studio throughout our exercise course, to create a small 3D game. To develop those games we apply Visual Studio including the XNA framework.
An instruction on how to install Visual Studio including XNA is covered on Setup.

## Fields of Applications

Visual Studio offers the possibility to develop different applications … :
| Application | Description |
| Console Application | Program to use as a command-line appliance |
| Windows forms application | Used to build a graphical user interface |
| Windows services | Program that works back-cloth as a self executable statement |
| ASP.NET applications + web services | Web applications based on the Microsoft .NET Framework |
| Windows Mobile/Phone applications | Used to build appliances for mobile devices(Windows Mobile or Windows Phone) with the [[w:.NET Compact Framework|.NET Compact Framework]. |
| MFC/ATL/Win32 applications | Applications for Windows (desktop). |
| Visual Studio add-ins | Programs that are used within Visual Studio to extend the functionality of Visual Studio. |
| Microsoft Store applications | Used to build apps specifically for the Microsoft Store from Windows 8 onwards. |

## Features

Visual Studio supports the developer with helpful features which are useful in every development step.

### The Code Editor

Visual Studio allocates a useful code editor which supports the user during writing the source code by highlighting the syntax and suggesting code complements. The code editor tries to complete methods and functions. It is also useful when the developer wants to have quick access to his defined variables e.g. by entering the first letter, the code editor proposes all variables beginning with it.

### Designers

Visual Studio offers different visual designer which help the coder during developing their applications:

#### Web designer/development

    Visual Studio offers another editor for creating and designing web pages. The Web designer supports the user during the development of an ASP.NET application.

#### Windows Forms Designer

    This designer can be used to add control devices to a form and code the specific functions behind it.

#### WPF Designer

    The WPF (Windows Presentation Foundation) Designer also behaves like the Forms Designer but is used to build WPF control devices and applications.

#### Class designer

    The Class designer is a tool that makes it possible to model a class diagram of the developed application. The Class Designer models the connection and structure of it. It is not only used for classes but also for structures, delegates and interfaces.

#### Mapping designer

    This designer maps the classes and the database schemas that seal the data.

### Debugging

Visual Studio comes along with its own debugger. The debugger supports by securing that the application operates in a logical way and as you want it to operate. It makes it possible to stop on different code positions to check the building.

### Expandability

The developer using Visual Studio has the chance to expand the functions of the standard Visual Studio.

### Browser and Explorer
#### Object Browser

    The Object Browser makes it possible to appraise the available symbols for use in Visual Studio. The Browser uses three panes: the Objects pane, the Members Pane and the Description pane.

#### Open Tabs Browser

    The Open Tabs Browser displays also open tabs and switches between them.

#### Properties Editor

    Used to see all available properties for all objects and other items. Furthermore it is used to edit them.

#### Solution Explorer

    The Solution Explorer is used for the arrangement of item management tasks in a project/solution. It is possible to handle with items outside a project.

#### Data Explorer

    The Data Explorer is used to administrate databases. The administration provides the creation and creation and modification of database tables.

#### Team Explorer

    The Team Explorer accesses the Team Foundation Server and the revision control.

#### Server Explorer

    The Server Explorer establish the connection to the server. It offers the task to edit the resources.

#### Text Generation Framework

    The Text Generation Framework, also called t4, is a code generator which uses textfiles from templates.

## Version history

| Product | Launched .NET Framework version | Release date | Editions |
| Visual Studio | N/A | Spring 1995 | Professional, Enterprise |
| Visual Studio 97 | N/A | 1997 | Professional, Enterprise |
| Visual Studio 6.0 | N/A | 1998-06 | Professional, Enterprise |
| Visual Studio .NET (2002) | 1.0 | 2002-02-13 | Academic, Professional, Enterprise Developer, and Enterprise Architect |
| Visual Studio .NET 2003 | 1.1 | 2003-04-24 | Academic, Professional, Enterprise Developer, and Enterprise Architect |
| Visual Studio 2005 | 2.0 | 2005-11-07 | Express, Standard, Professional and Team System |
| Visual Studio 2008 | 3.5 | 2007-11-19 | Express, Standard, Professional and Team System |
| Visual Studio 2010 | 4.0 | 2010-04-12 | Express, Professional, Premium, Ultimate and Test Professional |
| Visual Studio 2012 | 4.5 | 2012-09-12 | Express, Professional, Premium, Ultimate and Test Professional |
| Visual Studio 2013 | 4.5.1 | 2013-10-17 | Express, Professional, Premium, Ultimate, Community, Test Professional |
| Visual Studio 2015 | 4.6 | 2015-06-20 | Express, Community, Professional, Enterprise |
| Visual Studio 2017 | 4.7 | 2017-07-03 | Community, Professional, Enterprise |

### Windows versions on which it runs⁴

| Product History | Windows 95/98/Me | Windows NT 4 | Windows 2000 | Windows XP | Windows Vista | Windows 7 | Windows 8 | Windows 8.1 | Windows 10 |
| Visual Studio | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 97 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 6 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio .Net 2002 | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio .Net 2003 | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 2005 | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 2008 | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 2010 | No | No | No | Most¹ | Yes | Yes | Yes | Yes | Yes |
| Visual Studio 2012 | No | No | No | No | No³ | Desktop only² | Yes | Yes | Yes |
| Visual Studio 2013 | No | No | No | No | No³ | Desktop only | Yes | Yes | Yes |
| Visual Studio 2015 | No | No | No | No | No | Desktop only | Yes | Yes | Yes |
| Visual Studio 2017 | No | No | No | No | No | Desktop only | Yes | Yes | Yes |
¹ - Windows Phone 7 applications cannot be developed in Windows XP.
² - Windows 8 required to create and develop Windows Store apps.
³ - Even through Visual Studio 2012 and higher will not run on Windows Vista, the latest version of NET Framework works on Windows Vista however. This means that even through you cannot develop programs using Visual Studio 2012 in Windows Vista, you can run them on Windows Vista using the default configuration. However, to do this in Windows XP, the application must be specifically targeted to run that version.
⁴ - For server based versions of Windows, use the corresponding client Windows version for reference.

### Supported default languages/tools(available by default)⁵

| Product version | Visual Basic | Visual C# | Visual C++ | Visual F# | Visual J++ | Visual J#⁶ | Visual FoxPro | Visual SourceSafe | Visual InterDev | ASP.NET | Windows Mobile | Windows Phone | Windows Store apps⁹ |
| Visual Studio | Yes | No | Yes | No | No | No | Yes | Yes | No | No | No | No | No |
| Visual Studio 97 | Yes | No | Yes | No | Yes | No | Yes | Yes | Yes | No | No | No | No |
| Visual Studio 6 | Yes | No | Yes | No | Yes | No | Yes | Yes | Yes | No | No | No | No |
| Visual Studio NET 2002 | Yes | Yes | Yes | No | No | Yes | Yes⁷ | No | No | Yes | Partial⁸ | No | No |
| Visual Studio NET 2003 | Yes | Yes | Yes | No | No | Yes | Yes | No | No | Yes | Partial⁸ | No | No |
| Visual Studio 2005 | Yes | Yes | Yes | No | No | Yes | Yes | No | No | Yes | Yes | No | No |
| Visual Studio 2008 | Yes | Yes | Yes | No | No | No | Yes | No | No | Yes | Yes | No | No |
| Visual Studio 2010 | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | Version 7.x only | No |
| Visual Studio 2012 | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | Yes | Yes |
| Visual Studio 2013 | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | Yes | Yes |
| Visual Studio 2015 | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | Yes | Yes |
| Visual Studio 2017 | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | Yes | Yes |
⁵ - Languages beginning from Visual Studio NET 2002 use the NET Framework as their language base.
⁶ - It is the NET Framework version of Visual J++. It can only target the NET Framework, not the Java Virtual Machines which others target.
⁷ - From this version, it follows its own development cycle.
⁸ - Full support was available only with Visual Studio 2005, including a full emulator.
⁹ - Windows Store apps can be developed only in Windows 8 and higher.

## Authors

* Cobra_w

## References

Microsoft Visual Studio on Wikipedia

## External links

* Visual Studio Website