Wednesday, June 30, 2010

Focus Testing and Different Iterations

So I watched this video on 1UP today, mostly because I am extremely excited for the return of NBA Jam. I wasn't the type of person that played it for hours in the arcade, but I had a pretty good relationship with it on the SNES and played quite a bit of it there. As odd as it sounds, the game was actually a big inspiration when I started developing my Superhero game. Not in terms of play or concept, but more for the general "feel" and tone that NBA Jam had in the arcades. Just Loud, Fast, and Fun. Explosions and crowds and just a lot of big, flashy moments. At least that's how I remember it.

The reason I posted it, and what I found most interesting, was the portions where they show the earliest iterations of the game. Seeing the game's initial prototype was inspiring and makes me excited to start building up my game, but I'm trying not to get ahead of myself. I'm still pretty early in my studies, but within the next week I should be where I start building the book's practice games. I think that if I keep up this pace, I should be able to tinker with some basic level design and movement by next month. I'll probably start working together some thumbnails for the different Player Character animations so that I can get the "feel" right.

Right now I'm sketching out various "civilian" characters for the game. I'll probably post one of them in the next couple of days to show my process for turning them into sprites.

Sunday, June 27, 2010

Chapter 7...Ugh

Wow, what a beating this one gave me. Starting to put sounds into code. Wasn't having any problems with sound effects being played by hitting the face buttons, but once I started the "play" and "pause" functions, things got all wonky. Basically, the program looks to see if the music is already playing or not. Well, there was a missing piece of code (at least in how it was explained to me) that you use to get the instance of the sound: CreateInstance.

Quintinon, on the forums, was nice enough to help me with the code and post some examples. Kind of embarrassing: he tells me the solution, I try it, and nothing happens. So I post on the forum thanking the guy for his help but telling him he was wrong. I tried it again and it worked. Had to go back and apologizing for thinking he was wrong.

Well, didn't solve all of the problems with sound, but I feel like I have a strong enough foundation to where I can move to the next chapter: Creating a Timer. I'm hoping that one won't have any snags, as the last 2 have proven worrisome.

I can't wait till the day that I can answer questions for people, but I will settle for having a firmer grasp on C#.

Thursday, June 24, 2010

Chapter 6 Snag

I knew I was on way too much of a roll. Ran into a snag on Chapter 6: Creating a Multiplayer game. Everything was going fine until I started adding in multiple buttons to register on screen as they were pressed. Well, I narrowed it down to the "if (pad1.IsConnected)" function. When I delete it, they all show up on screen. I downloaded the script from the website and the author's version didn't have any of the problems. Can't quite figure out what I did wrong. Posted on the XNA Forum to see if someone can help me out.

In happier news, I'm really jazzed that Futurama is back tonight. I was one of those people that really only had a passing interest during it's network run, but grew to love it as the DVD box sets came out. Nice to see a show, with such fan support, make it all the way back to television. Now if we could do the same with "Firefly."

UPDATE: Steve Hazen at the forum was able to help me. Turns out I redeclared "pad1" in the code. Apparently that limited its scope to the Update method rather than the entire class. Big "Ups" to Steve.

Wednesday, June 23, 2010

"Hello World" Chapter 5 Completed

After taking a disgustingly long nap, I decided I should make up for lost time by jumping into the next chapter. Basically, it described how to load fonts into the program, edit their attributes in their XML file, and get it to auto update from the clock feature. Also interesting was the construction of loops that also worked to create some depth to the text characters and even achieve a "blur" effect from repeating some transparent layers.

This one went pretty well, but I have a feeling I may have to go back and repeat some of these chapters. I'm understanding everything, but I don't feel like it is all getting ingrained into my memory. Maybe that is the nature of the game and that I should just accept having reference material by me at all times. I know that when I first started using "Adobe After Effects," nothing seemed to stick. I would keep little notes with keyboard short cuts all over the place and peek at them constantly. Now I'm pretty comfortable with the program and hardly use them at all. I'm hoping XNA is the same way.

Out With the Old, In With the New

Finally beat Red Dead Redemption this week. I put probably 22 hours into it and, looking back, it feels like it took forever. Not in a bad way, but with work and other obligations, I feel like I've been with that game for a long time. All in all, it was a pretty incredible play through and it made me really start looking forward to "L.A. Noire". I've always had an affinity for classic detective stories and film noire, so this looks to hit the spot. Red Dead was amazing, but I'm still calling Mass Effect 2 my game of the year.
Also, last night I started "Alan Wake." They are definitely hitting the "Steven King" tone hard and mentioning him pretty blatantly. The game sets a nice tone, but I'm catching myself being overly critical of the character animation (probably because I just came off of Red Dead). Usually I'm not such a stickler for that sort of thing (at least in a technical way), but the mouth animations and facial work is pretty horrendous. Long stretches of dialogue come out of these characters with just a few mouth flaps to represent them.

I'm looking forward to playing more and have decided to try and limit my play time to a "Chapter" a night. I waited to get the game on sale do to its reported short play time, and I think this might help me appreciate it more.

I'm also hoping to finish the next chapter of my XNA book tonight, I'll post after I do.

Sunday, June 20, 2010

Chapter 4 Defeated

I like to act like these are bigger triumphs than they are, but I will take victories where I can get them. Got up early and decided to get through Chapter 4 today, "Displaying Images." It basically showed how to add sprites to the content manager, place them in the scene, resize them, and adjust their location. Pretty cool considering it is my first foray into "spriteBatch."

I'd like to jump into the next chapter ("Displaying Text") later on today, but the rest of my schedule is pretty full. I also need to work on a drawing for a friend of mine that I keep forgetting to do. Might try and knock that out tonight.

And before I forget, Happy Father's Day!

Thursday, June 17, 2010

Chapter 3 Done!

Finished up chapter 3, I'm on quite a roll! Well, to be honest it was a pretty easy one. Whole thing took me about an hour. It dealt mostly with sending information from the gamepad and vibration data back to it. Think I got a pretty good handle on it, but I'm noticing that I'm forgetting certain vocabulary between my sessions with the book. Each chapter has a short quiz that I may brush over on the days I can't study so that I can keep them fresh in my mind.

Next up is the second section of the book: "Images, Sound, and Text" which sounds way more intimidating than "Getting Started." Guess I'll have to push up my sleeves.

Also, just finished with my week of "Obsessively Following E3." Surprising that I was most impressed with Nintendo this year. I haven't bought a hand held system since my very used Game Boy Advance (and it wasn't even one of the clam shell ones), but the glasses-free 3D intrigues me. That plus a return to Donkey Kong Country and a brilliantly conceived Kirby game and I may have to blow the dust off of my Wii. Epic Mickey also looked really good, but I don't know if its the gameplay or the presentation/marketing I'm more obsessed with. I'll probably have to seriously consider it once I have a better handle on exactly what it is they are making.

In closing, the image above is a rough sketch I did a month ago after reading through an old EC comic. I wanted to blow it up and flesh it out but haven't gotten around to it yet. Hopefully I can make time for it soon.

Sunday, June 13, 2010

Chapter 2 Finished!

You'd never think that "Chapter 2" of anything would be hard, but holy crap was I having trouble! I downloaded the chapter examples off of the website and closely compared my examples withe the book's. I think a lot of my errors were simple bracket and syntax things and I corrected the codes.

I have to admit that correcting those mistakes did a lot to help me understand why certain things go where they do. So I finished the silly mood lighting tutorials and played with some variables. Next up is chapter 3, where I get to start working with "Getting Player Input."

In other news (that is only exciting to me), I fixed a problem I was having with one of my test sprites. Once I decided that I would be going for a more "retro" look to my game, I started toying with shrinking down my artwork. I took an early draft of the main character and dropped the height to 100 pixels. The problem I was having dealt with the softening of the edges of the artwork. I was afraid that it would blend too much with the game backgrounds and be counteractive to the aesthetic I was going for. Not fun at all.

Through help on the forum and my own toying around, I realized that my problem was not having the art on a transparent background. My character was still surrounded by a white background on the same layer and it was blending with the edges. I gave the whole thing another shot and it works fine, though I am still toying with the final sprite size of my character. Luckily, it looks like each frame of animation shouldn't be more than 3 or 4 bytes. As I've said before, I'm still early in my studies, but I don't think my file sizes should be a problem.

Well, I'm excited for E3 tomorrow. Last year I went into a media black out (no email or internet) during the day so I could record and experience it live. Worked out pretty well and that is the game plan for tomorrow. Hopefully I can jump into Chapter 3 in the next couple of days.

Thursday, June 10, 2010

Quick Update on book

So I jumped back into the book to try and power through the problems I was having the other night. I'm definitely grasping the concepts much better this time around. I'll chalk the other evening's problems to starting while a little sleepy.

Apparently I'm not out of the woods yet. While I'm pretty sure I'm copying all of the code into the appropriate places, and I'm typing verbatim, I'm still coming across errors. Visual Studio is catching most of them, but there are a few left that are lingering.

I've decided to download the example codes off of the website to use as a point of reference to see where I'm going wrong. My real fear is that the book is wrong or that some of these problems are the result of the book being written for 3.0 and I'm working with 3.1. I doesn't seem likely, but who know. I'm going to try and continue tomorrow if not Sunday.

Wednesday, June 9, 2010

Getting the Ball Rolling

Kind of wild how a month just flew. Life got real busy there for a while (video commission, logo, vacation), but now my schedule has opened up so that I can begin some serious work on learning XNA and C#. Seems that as excited as I am, I'm also scared to stretch so far out of my comfort zone. Luckily, "outside of my comfort zone" worked out pretty good for me last year and I'm hoping I have similar results with this.

Last night I began really delving in to C# with the book, "Microsoft XNA Game Studio 3.0: Learn Programming Now!" and am really enjoying it. I ran into a little trouble with one of the tutorials (sadly chapter 2) and I think that I was just jumping in to late in the day. I'm grasping the "why" you are writing the code, but the "where" to put the code is throwing me a bit. Either way, I'm going to start the chapter over again and correct my mistakes. Also, I'm working with XNA Game Studio 3.1 while the book is 3.0. I don't think that should be too big of a problem, but I may need to look into any changes there might be.
On the art side, I really started thinking about how much I want going on in the screen and am pretty close to deciding on more of an arcade look than a high def display. I think this drop in resolution may help me keep frame rates up, but I haven't gotten far enough in my studies to know if this is a concern yet. All I know is that I shrunk down some of the art and really liked how it looked. I went back to look at a few games that I remembered had "hand drawn/scanned" art from the SNES era and was amazed to see how small the sprites really were. Mine will probably be about 100 x 100 pixels which is 2 to 4 times bigger than the SNES ones were.

Maybe its because I was playing a lot of Metal Slug on the Wii, but something about the look just struck a cord with me. It reminded me of a time when Arcade games seemed loud and spectacular, namely around the time that NBA Jam was huge and the Capcom X-Men fighting games were coming out. Just a lot of flashing lights and displays on the screen. My game will ultimately have a very simple play mechanic, but I'd light to add some spectacle to it.

Now, I am well aware of how this sounds. I've also thought that I was getting in way over my head, but I'm approaching this like I would any other project: I break it down into building blocks. Each problem/obstacle will be solved by itself as I get the core of the game created. Then I go in and add to it.

Also, I remembered seeing a few inspirational videos on Nick Campbell's ( side site, The sad part is that I could never find time to watch these and they are quite literally about better organizing your time. I'm going to make a point to watch these really...I am.

Well, that's it for now. I'm going to continue on with the book and hopefully post more often with my progress.