Managed World

Techno-babble from yet another babbler RSS 2.0
# Tuesday, October 03, 2006

Well, today was my second day in XNA land working on Stones (my Bejeweled clone and my first XNA game (and also a subtle play off of Jason Mauer's Bouncing Balls demo)). Once this game is finished, I'll be using it as a vehicle to do a series of game development screencasts on XNA (most likely it will also be in tutorial form that will be included with the video in the download).

I'm still just psyched how good XNA is. Maybe once I come down from "Cloud 9," I'll be able to come up with some constructive criticism. But until then, I'm going to just enjoy the ride. So, here's what Stones looks like today after Day 2:

I have navigation between the Title Screen and the Play Screen working. Of course, that only took all of about two minutes. Above, you can see the play screen. That's a generic background image I'm drawing (I just grabbed it out of my Sample Pictures directory). The playing grid you see is actually a superimposed texture using alpha blending. The playing grid image is actually shades of gray so that I can tint it according to the color pallette of the background image.

Next, I'm going to make some stone images and see what they look like with the board filled up. After that, I will make PlayingField a GameComponent that I can simply add to the GameComponentCollection that I have encapsulated in the TitleScreen. Once the PlayingField is finished, I'll move on to the business rules and scoring. When tackling the scoring system, I'll probably also tackle what the scoreboard looks like there on the left.

 The "Play Screen" text you see on the screen is actually being displayed by a VisualDebuggerComponent that I have built. The VisualDebuggerComponent publishes a IVisualDebuggerService that can be pulled and used anywhere in the game using Game.GameServices.GetService(). Eventually, I plan on extending the VisualDebugger to include a debugging console that will drop down from the top that can be used for debug logging as well as actual visual debugging of things like bounding box visualization and stuff like that. It should be pretty cool :).

Of course, all these components and such I'm building into a Harvest Game Library that I'm building. Currently, Harvest Game Library will mostly be for my personal use as I build several games, but I'm hoping to release it in the future so everyone can enjoy it.

Now I can't wait until tomorrow night when I get to work on it again :).

Posted in Game Development | Programming | XNA
 #       Comments [3]
# Monday, October 02, 2006

You know, when I read George's opinion last week, I was still skeptical. But I figured that I would tune in and watch it tonight. Oh... My... Goodness!!!! George was right, this show kicks total buttay. I just can't get enough of it. After an hour, I was pissed that it was over and I have to wait another week (ANOTHER WEEK!) to see the next one.

please, Please, PLEASE let the network not cancel this show. This is one of the best TV shows I've seen in a while (although now I don't know whether I like this or Eureka better). Man, between Eureka and Heroes, I'm in TV heaven right now.

Posted in Personal
 #       Comments [0]
# Sunday, October 01, 2006

Hey folks. After a good amount of time away, I have decided to come back to game development land. This time, I will continue work on my game Spaceballs (a Geometry Wars clone), only using XNA this time around. I can't believe I'm going to admit this, but to give myself time to do this, I have even canceled my World of Warcraft account (again). I just have way too much stuff on my plate, and if I want to get back into game development, something has to go (thanks go to Chris and George for encouraging me to do so simply by reading their posts).

So, I've started "porting" Spaceballs to XNA. Maybe not so much porting, as re-writing (as I want the game architecture to reflect the new XNA environment and framework). My first impressions of XNA? Oh boy, does it kick butt. As a guy into design patterns and such, some of the first things I notice are the architecture of a framework I'm working with. And, truth be told, the XNA framework is one of the first frameworks (not including the .NET Framework) that I have just LOVED the architecture of. The separation of GameComponents from GameServices from the Game itself is fantastic. The way that the GameServices collection in the Game serves as a ServiceLocator of sorts is just fantastic. I'm so used to having the "why did they do this? This is crap! Oooo, that's ugly" kind of thoughts with other frameworks, I'm just so pleasantly surprised to not be having those thoughts with XNA (quite the opposite actually).

Now, if you're not too familiar with a Services (ServiceLocator) pattern, then I can see how the distinction between GameComponents and GameServices might be confusing. I hope to shed some light on that in the future as I will be planning to resurrect the tutorials from before (perhaps this time in Screencast form).

I have found that when working with the XNA framework, I have noticed a good amount of my old code from Spaceballs simply disappearing because the Framework is handling what I need it to handle. That's a feeling I like to have. Not only that, if used properly, you truly start to build re-usable components that you can use in various games since you're encouraged to think about GameComponents and GameServices.

One of the other things I'm looking forward to is that we, as game developers, can finally stop talking about "the perfect game loop" and those sorts of conversations, and start talking about the cool GameComponents we are building and such. I think the XNA framework could be a huge step forward in providing us a way to share patterns and practices with each other. Not only sharing patterns and practices in a "word of mouth" sort of way, but by actually sharing the GameComponents themselves with everyone. Man, there are exciting times ahead of us as hobbyist game developers.

At the rate I'm going though, it might not actually take that long for me to get back to where I was when the GWB game development contest finished. Hopefully then I'll crank through the tutorials/Screencasts. I'm currently shooting for sometime around Christmas time, but it might be afterwards.

I would like to give one shout out right now. David Weller and team, GREAT JOB. You guys did such a good job developing this product for us. If it was just for PCs, I would still brag about how cool it is. But considering it will be XBox capable as well? You guys truly are amazing. Keep up the great work!

 #       Comments [0]
# Friday, September 29, 2006

Hello everyone, and welcome back to  the “Feature Of The Week” newsletter. In this week’s newsletter, we will continue on the “Transactions Bandwagon” by discussing the Transactional Registry. This newsletter will be short and sweet as, truth be told, this feature still needs to have a bit more documentation than it has today.

So, sit back, relax, and enjoy the Longhorn Server Feature Of The Week!

What is the Transactional Registry? The Transactional Registry (TxR) is an enhancement to the Registry that allows all registry operations to be performed within the scope of a transaction. This is made possible by a new transaction infrastructure in the kernel that allows operating system services to participate in transactions via the new Kernel Transaction Manager.

What scenarios does this enable? The Transactional Registry (TxR) is also fully capable of communicating with the MS Distributed Transaction Coordinator, meaning that TxR operations can participate in transactions that are leveraging any other Resource Manager that DTC is capable of working with. What does this mean to you? It means that you can now have an application that not only encompasses database calls, operations to the file system, as well as operations to the Registry.

Preview: Next week we will take a look at the technology that makes the Transactional NTFS and Registry possible: the Kernel Transaction Manager. Stay stuned!

 #       Comments [0]
# Monday, September 25, 2006

Why Shaun, Why?!?!? Why did you have to be on the cover of Madden this year? Yes folks, the Madden Curse strikes again. The Madden Curse has been going strong since 2001, and it appears the trend has continued.

Tonight, it was accounced that Shaun Alexander would be out "indefinitely" with a broken foot. What a surprise. I suppose those of us that knew about the Madden Curse knew that it was a matter of "when", not "if." Damn. It's a good thing the Seahawks have a good backup running back like Maurice Morris (former UofO stand-out).

Oy!

Posted in Personal
 #       Comments [0]

Yay, I can finally talk about this. For those of you that haven't heard yet, the incomparable Rory Blyth, the smartest man, is joining the C9 team.

Rory is going to make a GREAT addition to the C9 team and I expect to see some great stuff coming from him in the future. Of course, I'm also psyched because it means that he will most likely be working just one or two hallways away from me :).

Congrats Rory!

Posted in Personal
 #       Comments [0]

Contact

Email Me Send mail to the author(s)

Calendar

<October 2006>
SunMonTueWedThuFriSat
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

About this site

Jason Olson's thoughts on Programming, Games, Music and Life in General

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Jason Olson

Sign In
All Content © 2008, Jason Olson
Theme based on 'Business' created by Christoph De Baene (delarou)