PDC and Windows 7 Hype..
It seems as though Microsoft is putting a lot of work into Windows 7. Much more than we (the public) ever thought. And it also seems that they have been working on a lot of the details which is a VERY good thing. Among the new UI functionality and look, I find this to be one of the coolest additions: Color Hot Tracking. It extracts color information from the icon and moves the glow around based on your mouse position. As a UI guy, this gets my blood pumping. As a consumer, it is nice to see they are changing the taskbar finally.
However, I must say that I love my current taskbar. I wish I could have the new graphical features with the current style: text and small icon. Why? Because I am dependent on knowing where each Window is on the taskbar and getting feedback by quickly reading the text. If I have multiple Messenger windows open, it is nice to be able to quickly scan them rather than having to use a grouping mechanism which requires 2 (or more) clicks.
Anyways, Windows 7 has been really exciting for me. Aside from Visual Studio 2010, W7 is starting to be the most exciting software release ever for me. I just hope Microsoft follows through on this one…
Fable II Review
I have decided that I should give my opinion about the game. Why? Because this is the internet and if I don’t, who will? This review will not give out a score and is not going to simply list the pros and cons of the game. Rather I am going to give reasons why the game is good or bad and then argue with myself.
What’s good about Fable II?
- Simplicity
- For: For those that know me, it is no surprise to hear that I am not a huge RPG fan. I never actually completed Fable I and the only other RPG games I have played include Diablo II, KOTOR and Oblivion. Thus I thoroughly enjoy the simplicity of Fable II. The controls were very easy to pick up and the aiming for combat is incredibly easy. Just point, slash, dash and bash! But the simplicity doesn’t stop there: the best part is the quest trail. I hate games that just expect you to know where to go and Fable II fixes that with a dotted trail that shows you the way.
- Against: I am going to have to disagree. Although the simplicity of controls is good, the fighting leaves a lot to be desired. I wish games would employ both simplicity and depth. Allow those who want to spend time learning controls do so by giving them advanced moves via combos. But the lack of depth and complexity doesn’t always have to be about fighting. The lack of any sort of mini map is incredibly frustrating. The lack of a more complex potion setup is also very painful. Because the game picks potions for you, you could end up munching on fatty foods that suprise suprise, make you fat!
- Short But Sweet
- For: The game has a perfect length without having to resort to tons of fetch-it quests. The worst thing about modern RPGs is in the name of providing an open atmosphere they just include tons of extra side quests that turn out to be nothing more than walking across the world to get an item for someone. The best part about the questing in Fable II? Some of the side quests fit in with the story and make sense. The second bad thing about modern RPGs is fetch-it quests that just do not make any sense.
- Against: You couldn’t be more wrong! Fable II is the shortest RPG ever made and it is so short it is actually painful. You know a game is bad when you can spend more time mucking about in town than you do finishing the main story. Furthermore, I do not believe a game has to resort to fetch-it quests at all. Fable II makes good use of interesting quests with side stories that are awkward, funny, and even a bit frightening. They should have spent a litle more time extending it!
What sucks?
- Glitches!
- For: There is no excuse for game ending glitches whether it is joining a coop game of someone who hasn’t made it to the main game or not being able to get out of dialog. I will go as far as saying that anything dealing with the A button is glitchy. It doesn’t matter, even putting away your weapon doesn’t work sometimes!
- Against: Yep, no excuse and no argument here!
- Lack of depth
- For: Why are there so few weapons? So few clothes? So few spots to discover? The world is small, the clothes are boring, there is no armor and there are no weapons to really find except for the legendary ones. Fable II pales in comparison to games like Diablo II where there are almost endless possibilities.
- Against: Why do you need so much depth? It made sense for Diablo II because the game was about farming. It was a hack and slash where you played just to get better items. Fable II is not about that; it is about the story! If there were more weapons, it isn’t as if you would be using them. You would just get the best and that would be it.
- For 2: That is true! Perhaps they should try making multiple types of weapons with different looks that all do the same damage or have the same attributes. That way players can at least customize their looks. A game like Fable II needs to support gamers’ desires for being unique.
Fable II is NUTSO
I am having so much fun with the game whether it is spending money on hookers, beer or scaring the townsfolk. That’s right, I went evil with my first character…

New Theme Leads to Photoshop Problem
I was working in Photoshop CS2 tonight on a theme for a website and discovered a problem. When I uploaded the image to the web and opened it in Google Chrome and IE8, I noticed a significant problem with the colors.
If anyone understands what is going on here, please let me know. I know it has to do with the Color profiles of the image. When I change the profile to “Dell 2408″ in CS2, they are the same. But this begs the question: what will it look like on other peoples’ computers?
Fall Cycling
I love cycling in the fall.. next time I am probably going to bring my real camera to get some good shots of the area.
Today I went for a nice 16 mile ride just for fun. I almost forgot how much fun and relaxing cycling could be because of the work I have been doing for next year’s racing season. I am also in love with my arm warmers; they feel so amazing. Cycling is also a good time to think. I generally ponder about the current projects I am working on, today about Vodka and Thrust. It is nice how easy problems become when you aren’t forcing yourself to think about them.
Helicopters, Firemen and 2AM OH MY!
So a helicopter definitely just landed at the highschool that is through my backyard. I drove over and there is like no one there except a firetruck. I am assuming it is some test for an emergency landing at the highschool but WHY AT TWO IN THE MORNING. On a Sunday night no less…
Reference Counting in Managed Code
Today, while coding Galactic Wars v2.0, I stumbled upon a problem I have been having with content since I started working with XNA. The following diagram shows how easy it is to create the problem and how devastating it can be to any application. In my case, I have two (or more) menus that are referencing a piece of content.
Each menu references the same managed object which is really a wrapper for a second managed object (Texture2D in this case). The second object is a managed wrapper for the underlying unmanaged data, again in this case it is texture data. The problem is when one menu is being phased out (unloaded) and another is being phased in (loaded). The menu being loaded grabs a reference to the content before the other menu can unload it. The ordering is done this way to ensure that a menu actually loads its content before the current menu is unloaded.
After the menu is done loading content, the second menu is unloaded which drops the content and releases the unmanaged memory. Aha! The problem stems from the last point: I am trying to manage unmanaged memory when I should just let the GC take care of it. The reason I do this is for performance reasons, primarily on the Zune. Instead of letting textures just sit around, I release them when they are no longer needed to avoid piling up the garbage.
So what is the solution?
- Dereference the Managed Object
I would love to do this but unfortunately it introduces a second problem. If every menu (object using the content) dereferences the asset, it still will not be collected by the GC. The AssetManager still holds a reference which is now being unused and thus memory is wasted. The upside to this is that I do not need to implement the second option…
- Reference Counting!
By implementing a counter on the asset itself and asking developers to always call Unload or Unload(ILoadable) on the AssetManager, I can guarantee that no Asset will be disposed while another object is using it. The downside is that it is an ugly implementation of something that is done in the GC anyways. The major upside is that even if developers use the previous method, the GC will still eventually catch the wasted memory.
So now Thrust’s AssetManager and IAsset require (and implement) reference counting to avoid the problem described above. And it works wonderfully.
FL (Fruity Loops) Studio…
I was introduced to Fruity Loops Studio recently by someone in the #xna IRC channel. I knew this software existed but only quickly glanced over it because I figured that I wouldn’t be able to do anything worthwhile. Although that is still true, I decided to actually give the demo a run for its money.
Although what I produced is pretty bad by any standard, I at least know that with some time invested into learning music theory, I could actually learn to use this program and start writing some music for my own games. Here is a little track I wrote for the intro screen in my games.








