Making a thingy that jumps! (Part 1)

To begin, this post is for my favorite married brother-in-law, Gentry.

In this post I answer the following questions and hopefully cover some basic programming principles. I really believe in learning the fundamentals and building from there. The whole crawl-walk-run paradigm, if you will.

  1. What is the XNA Framework?
  2. What is C#?
  3. What are the prerequisites to make a thingy jump using C# and the XNA Framework?

What is the XNA Framework?

The XNA Framework is a freeware project by Microsoft (yes it is proprietary!). The goal of XNA is to allow developers to create multi-(Microsoft)-platform games. Microsoft accomplishes this goal with the many tools and managed environment of XNA. You are probably thinking, “Yeah-yeah I can Google that…”, so what this means to you is that game development no longer requires a degree in Computer Science. XNA has simplified many aspects of developing a game so that YOU can focus on the game!

To learn more start here, Microsoft XNA (yes it is Wikipedia, but the article is pretty accurate)

What is C#?

C# is an Object-Oriented Programming language similar to Java. As a member of the .NET Framework (XNA is built on .NET) C# is a language you can use to code games running on the XNA Framework.

Wait…what is Object-Oriented Programming?

Think of Object-Oriented Programming (OOP) as a model for thinking about programming. No this is not a red pill, blue pill situation. OOP is actually an intuitive way to think about programming. As per its name OOP is based around the concept of objects. Objects as they relate to OOP are representations of your code. For example, in the program we will write in this series, an object could be the thingy. Just like all the objects around you, the thingy has certain attributes and can perform certain functions (or methods). In OOP these are referred to as members of the object thingy. Our thingy object can have the attributes of color, size, and location and the methods of jump, move left, and move right. Like I said, intuitive…

In C# (as most other OOP languages) objects are defined by classes. A class is the document containing the implementation of your objects methods and the variables corresponding to your objects attributes. In other words, this is where you define your object. This is where you code.

To learn more start here, Object-Oriented Programming (C# and Visual Basic)

What are the prerequisites make a thingy jump using C# and the XNA Framework?

This question is a little more in-depth or more difficult to make into a “fun-sized” package. As such I will be covering the required steps to get set up for making a thingy jump using C# and the XNA Framework. Then breaking for part 2!

The steps:

1. Get an Integrated Development Environment (IDE)

An IDE is program to help you program, no… no red-blue pill stuff. There are a lot available out there in the interwebs. Some you have to pay for some you don’t. For use with C# and XNA I prefer Visual Studio. To user Visual Studio and the XNA Framework you will need to install XNA Game Studio. You can use whatever IDE you would like that supports both C# and XNA. You can find Visual Studio 2013 Community addition here, Visual Studio Community 2013.

2. Get XNA Game Studio

Now to start coding games you will need the extension for XNA in VS 2013. Don’t worry, it isn’t too hard. Just go here: XNA Game Studio 4.0, and follow the directions!

I won’t insult your intelligence and just assume you will follow the on-site instructions for download and installation.

Conclusion

So far we have determined that the XNA Framework is Microsoft’s freeware to bring game development (on Microsoft platforms, i.e. Windows and Xbox 360) to the masses. C# is an Object-Oriented Programming language and is used with the XNA Framework to build cool games. And that we need an IDE capable of utilizing the XNA Framework to go any further. Get your IDE installed and started up then join me in Part 2!

Leave a Reply

Your email address will not be published. Required fields are marked *