Managed World

Techno-babble from yet another babbler RSS 2.0
# Wednesday, April 25, 2007

Well, it's official. Beta 3 of Windows Server "Longhorn" has launched. With it, I finally get to release some of the work I've been working on lately.

If you are a developer, I encourage to take a look at "The Top Ways To Light Up Your Apps On Windows Server 'Longhorn'" that was just launched today. It outlines key ways that you, the developer, can leverage all the new and improved enhancements to the Server platform to really make your applications shine in a whole new light.

I encourage any of you with access to Beta 3 to try it out. Windows Server "Longhorn" is quickly shaping up to be the best Server release from Microsoft ever.  

 #       Comments [0]
# Thursday, April 19, 2007

Okay, I admit it, I'm a WoW junkie. I spend WAY too much time in WoW, and not enough time doing the things that actually matter. Well, until recently (hopefully the trend continues). I started diving back into XNA again. Only this time, I'm diving back into it from a 3d perspective, not the 2d route I have always gone before. But why the sudden change?

Two months ago or so, I sent out an idea to an internal XNA discussion list at Microsoft that a bunch of us "hobbyists" should get together every other week just to geek out and do some game development after work. People loved the idea, so a bunch of us have been getting together after work to write some code and show each other what we are doing. Perhaps the coolest part is that since we are doing it in the same building where the XNA team is based out of, several XNA team members have dropped by just to check out what's going on.

In fact, at the first get together, Mitch Walker and others dropped by. Mitch had an idea about doing a month-long game development contest. So, that game development contest just concluded last Tuesday night. Oh MAN, were there some AWESOME games that people worked on. Me, being a total and utter dork, did not have anything to show. Truth be told, I had been writing next to NO XNA code, so there was literally _nothing_ to show. However, seeing some of these great games that were done, I figured it was about time to get back into it again. With how supportive this "user group" (of sorts) has turned out, I look forward to actually participating for a change.

So I'm back diving into XNA again. Instead of doing the usual 2d programming that I've always done in XNA, I figured it was about time for me to get involved in the 3d world. The game I'm going to do uses all the art assets from Spacewars and is going to be a vertical-scrolling shooter (like Ikaruga). Tonight, I decided it was about time to start prototyping the controls out and to make sure I could figure out how to display a 3d model (and show it from the top down).

Here's what the Shox Tonera prototype looks like after this evening:

I know that's not the best resolution, but you can at least see the ship (sort of). When you go left or right, the ship "rolls" to that side. When you go forward or backward, the ship "pitches" towards the direction. This is actually quite easy because the ship is technically in 3d. While the screenshot looks like a 2d game, it's actual 3d with the camera up in the air pointed straight down.

Also, you can see that the playing field is just the middle. I got bounding working so that the ship cannot leave the playing area. That was actually not too hard to do (easier than I thought it would be). I'm using the View and Project matrices to "project" the ship's position in the World into the actual screen coordinates. Then I can used the projected screen coordinates to ensure that the ship will not leave the area the playing area contains.

For those that are familiar with the Spacewars starter kit, I am just reusing the art assets from that in my own game. I will continue to do this for as long as possible. It definitely saves time.

The next thing I would like to do is to create the firing action of the ship using Point Sprits for the visuals. Hopefully either tomorrow night or this weekend I will get around to that. I would also like to do some refactoring to clean up the code. Tonight, I just threw it all in the game class for now to see if I could get it working (quite the departure from my usual behavior as any of my friends can attest to). I just need to be very careful not to get too wrapped up in refactoring and architecture like I usually do, because then I won't make _any_ progress on the game.

So why "Shox Tonera" for the name? Because I'm an unoriginal bastard, that's why. "Shox Tonera" is simply the letters from "XNA Shooter" scrambled up. I personally felt it sounded kind of cool too, so if you disagree, I don't want to hear about it :P.

Posted in Game Development | Programming | XNA
 #       Comments [2]
# Wednesday, April 04, 2007

I recently posted the second screencast in my new "Developer, Meet Server" screencast series. This latest screencast covers using Transactional NTFS in a service-oriented environment via WCF.

Enjoy!

 #       Comments [0]

Andrew recently watched my screencasts and had some great questions that came up around how Transactional NTFS behaves with the file system. So, I figured I would answer them here. So, if you want to see the context around his questions, check out his post.

Here's the paragraph with the questions:

I wonder what happens to files that never get committed - ala a long running transaction. They have to be taking up file space. Jason says not even Windows Explorer knows about them, but they have to exist somewhere. What if they overflow? Is there a way to clean house? If the poop is invisible, does it still stink?

Great observations and questions Andrew! In the case of a long running, open transaction, the files will exist on the disk. Hence, they are certainly taking up space on the disk. If you have 256 MB of free space on your disk, and try to write 257 MB of data to the disk within a transaction, you will get an "out of space" error like you would outside of a transaction.

Is there a way to clean house? Yes, rollback or commit the transaction. On rollback, any changes made within the transaction are rolled back, and then consequently removed form the disk.

But what if my server crashes in the middle of a transaction. Would I have turds floating around the file system? No, you would not. When an NTFS-formatted volume is mounted in Vista or Windows Server "Longhorn", any transactions that are "in-doubt" (the transaction manager is no longer around and we have no clue on the status of the transaction) will be rolled back automatically, effectively removing all the changes from disk. So, in that sense, you would not have any file turds you have to clean up after a system crash (like you would have if you were doing a "temp file -> rename" type of methodology.

Now, as is usual in transaction systems, you have to be _very_ aware and _very_ cautious of long-running transactions as it could cause some long-term problems that you don't want to deal with. So, there certainly are scenarios where Transactional NTFS just is not a good fit. As tends to be the case with all technology, make sure you are using the right tool for the right job :).

 #       Comments [3]

Contact

Email Me Send mail to the author(s)

Calendar

<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

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)