Top Rope Suplex

Learning Life & Programming

XNA Refresh Go!

Huzzah! The XNA update has gone live!

http://msdn2.microsoft.com/en-us/xna/aa937795.aspx

This includes the font update that I’ve been waiting for (as well as a packager for sharing the projects)… looks like it’s back to programming for me! Woohoo (that’s a “woohoo” of genuine excitemet)!

UPDATE:

more complete details here 

April 24, 2007 Posted by Aaron | Programming & Gaming, XNA | | No Comments Yet

Waiting

So the XNA project I’m gearing up for requires font support and XML.  I’ve created my own class for taking care of fonts… but appearantly the April update will include it natively, so I’m waiting for that.  Once I see the enhancements for the April update, I’m hoping to get started back up on programming….

April 2, 2007 Posted by Aaron | XNA | | No Comments Yet

Microsoft’s Programming Community

Say what you will about the big MS, but they support developers not only with great content and tutorials, but with stylish and inviting tools.  In the past few days Microsoft has shown strong support for us budding developers with two sites full of content from which to build upon:

http://msdn.microsoft.com/vstudio/express/beginner/learningpath/ 

http://creators.xna.com/

And prizes and contests for the more experienced:

http://dreambuildplay.com/

 I want to learn JAVA, really I do.  I know I’d have a future at my current workplace as a JAVA developer if I would just buckle down and commit to it.  Curse you Microsoft for being so good at getting the right tools out there to snag us young, learning developers.  You wouldn’t need an employee with an MBA and a touch programming experience, would you Microsoft?

March 5, 2007 Posted by Aaron | Microsoft, Programming & Gaming, XNA | | No Comments Yet

Where Have I Been?

Working on a class to display a font… I’m pretty much done with it, my mother-in-law is coming in this weekend so I’m not sure if I’ll get to wrap it up and put a bow on it…

Any ideas where to host the zipped up file? Anyone know the legality of using fonts/are there any “open-source” fonts I can use?

January 17, 2007 Posted by Aaron | XNA | | No Comments Yet

XNA Screenshots

Shawn Hargreaves has an incredibly nifty and usefull bit of code to allow you to take screenshots of games running on the Xbox:

http://blogs.msdn.com/shawnhar/archive/2007/01/08/capturing-screenshots-from-xbox-xna-games.aspx

When I read things like this I’m just amazed at what people are able to do with XNA and C#.   Programming is problem-solving skills + knowledge of what you can do with the language.  Both of those things come mostly from experience.  I love the fact that there are blogs are over the internet talking about programming and XNA so that I can just learn at the feet of these code masters…  One of these days I hope to meet these guys and just say thanks for all the wisdom they are unknowingly passing down.

January 9, 2007 Posted by Aaron | C#, XNA | | No Comments Yet

Viva Pinata: A Programer’s Prospective

I think I can finally say I’m a programmer. A young, naive one; but a programmer. I finally completed a working program, the newsletter tracker. I’ll do a post-mortem on that some other time.

When I was doing video production full-time, I found myself not able to watch a movie or commercial without thinking about how the scene was cut, how the actors were lit, or how the camera panned away. When you begin to have just a little knowledge of how something might have been done, you begin to digest its products in a different way; when I play video games or use a program, I have begun to see them for their parts, not just their sum.

That said, I think there is one game that every aspiring developer should play while they are trying to learn prgramming:

Viva Pinata.

The game is PERFECT for the concepts of Object Oriented Programming. The game is, from my perspective, an abstract tutorial in programming concepts.

Almost every introduction to programming book I have read uses the something along these lines of understanding for oop:

You have an object; let’s call it an animal.
You have a dog. A dog is an animal, but an animal might not be a dog.
You have a duck; a duck is an animal, but not a dog.
You have four-legged animals. A fourlegged animal is abstract; it’s an animal, but not all animals are four-legged. Dogs are four-legged. Dogs bark. Bark dog, bark.

And so on. So with Viva Pinata, you have, really only a few basic “objects”:

Animal. Plant. Building. Land. Helper.

You have to treat each one different. But they all interface and interact. And certain animals interact with other animals. So, in my mind, it become so simple to view each animal as a class:

class public Snake()
{
int snakeNumber;
String snakeParent1;
String snakeParent2;

bool Romance1
bool Romance2

public void doRomance1() {
//player did something
Romance1 = true;
}
}

And so on. The game really puts a cute, 3D skin on object oriented prgramming in my mind. It really helped me piece together the “aha!” moments of how a game works. So what’s the point?

For all you XNA developers out there who are far beyond me, I have a request:

a Viva Pinata Starter Kit for XNA

I could only image the fun in creating my own animals to romace, setting what skills they need and so on. If anyone from Microsoft stumbles on to this blog… a Viva Pinata Starter Kit is a new revenue stream for you; I love being in the Creator’s Club and getting free stuff like the XNA Racer (once it comes out). Perhaps you could also offer licensed IP starter kits? Maybe they don’t include the right to create a game off the IP, but I’d pay just to fool around and look at the code of Viva Pinata, or a game like it.

So if you’re reading this, and you’re a programmer, you need to purchase Viva Pinata. Today. It is an incredibly fun game and hasn’t sold nearly was it deserves. Viva Pinata makes Object Oriented Progamming fun for the masses.

January 7, 2007 Posted by Aaron | Programming & Gaming, XNA | | 4 Comments

createScale(args)

Here’s a little snippet of code I wrote tonight to be able to scale a sprite dependant upon how far down the triggers were pressed, borrowing heavily from the XNA documentation.  The “float elapsed” comes from “elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;” being in the Update portion of the game class.  I’m not writing anything ground breaking here, but I hadn’t seen anyone scale a sprite off the triggers before, so I figured I’d throw it out there (though, to be sure, everyone who ever wrote a tutorial would know this off-hand.  I mean, I knew how to do it off hand, so I’ll assume you do too, dear reader.  Humor me.)

public void createScale(GraphicsDeviceManager graphics, Texture2D sprite, GamePadState state, float elapsed){

if (Scale * sprite.Width < graphics.GraphicsDevice.Viewport.Width || Scale * closeRight.Height < graphics.GraphicsDevice.Viewport.Height)

{

Scale += state.Triggers.Right * elapsed;

Scale = Scale % 6;

}

if (Scale > 0.001f)

{

Scale -= state.Triggers.Left * elapsed;

Scale = Scale % 6;

}

}

December 14, 2006 Posted by Aaron | XNA | | No Comments Yet

I Want to Tell Stories

Joran Omark is one of the leading people helping the XNA Community learn. He manages the xnatutorial.com site, a site that I used extensively during the first beta, helping me figure out how to put sprites on the screen.

One of his posts from his personal blog hits the nail on the head as to why I’m trying to learn XNA and programming for games:

“By next year, there will be an influx of total beginners, who will want to know how to tell their stories. I propose that the very best stories to come from those future beginners, will be the ones that thoroughly understand the storytelling tools they use. For this, they need help.”

So thanks to everyone involved in all these tutorials, they’re truly helpful. You’re setting the stage for us “young” storytellers.

December 13, 2006 Posted by Aaron | XNA | | 2 Comments

XNA: For Beginners or No?

Dennis, the senior software engineer for Cecropia, makes any interesting analysis of the XNA tools on his blog.

My young programmer mind boils down his post to two things:

1)  He doesn’t like that XNA is a propritary API

2)  He doesn’t like that you have to pay to run the applications on a 360

I understand the concerns about XNA being proprietary.  Me learning XNA is not going to help me learn a whole lot about C++ in order to later code for Nintendo’s systems.  However, me learning XNA is, in fact, helping me learn C# and, to an extent, JAVA.  Giving a geek the opportunity to code for a gaming system, no matter which one, is motivation enough to learn.

Read more »

December 12, 2006 Posted by Aaron | C#, JAVA, Programming & Gaming, XNA | | 3 Comments

It works! XNA on the 360




Aaron on the XBOX 360

Originally uploaded by aaronlinne.

That’s right.

XNA was launched today (msdn.com/xna). I haven’t touched the XNA tools since September, before the second beta went out. I saw all the problems people were having with the transition from alpha to beta, so I didn’t want to get stuck.

Well let me say that XNA rocks.

In about 2 hours I was able to write the neccessary code to place my head on the screen, move it around and, of course, make its mouth open and close. It’s all the first steps of my first real game.

Amidst all the questions of work, career and studies, it was a simply awesome experience to site down for a couple of hours and see something through. And as cool as writing programs on a PC is, there is a huge amount of joy in writing something to run on a video game system.

When I was a young child, my dad tried to learn BASIC in order to make a game for the IntelliVision. He told me once that he was going to make a game for me and my sister. Unfortunately, he never quite got around to it.

But here I am, 20-some years later, and I have the beginning workings of a game. I can wait to see what comes out of XNA not just from myself, but from the whole XNA Community.

December 11, 2006 Posted by Aaron | C#, Programming & Gaming, XNA | | 2 Comments