Friday, March 25, 2011

Appfabric Caching Admin Client

http://mdcadmintool.codeplex.com/Been doing some work with appfabric. One of the things I don't like about it, is the lack of a way to mange the cache with a GUI. Currently, you can only manage your cache and clusters with powershell. One thing that I haven't been able to do is visualize the items inside the cache. But I did find a great solution to this.

http://mdcadmintool.codeplex.com/

The client seems pretty stable, although there are still some issues with it. I hope that the guy that wrote it continues to improve it. Maybe in the future MS will provide a easy to use client but until then, this will have to do.

Saturday, March 12, 2011

DotNetFish - We've got MVVM

Just a quick status update. Implemented MVVM pattern for the TileBuilder Project. It was the most time consuming of the WPF projects to do. The other ones should fall quickly now. Won't be able to work on it this weekend, as I am going to do some research(IE real fishing). Real fish taste better anyways.

Sunday, March 6, 2011

DotNetFish .01 and .02 Road Map

.01 roadmap major tasks left to complete
  1.  Refactor the WPF projects to use the MVVM pattern (http://msdn.microsoft.com/en-us/magazine/dd419663.aspx) Damn you Billy, and your insistence that I learn patterns!
  2. Complete the processing of Error tiles in the level designer
  3. Implement the ability to set a spawn location on the level
  4. Create the WPF Game client
  5. Integrate the Physics engine into the project
  6. Get Boat movement working
.02 roadmap major tasks
  1. Improve the performance of the level designer
  2. Implement the fish and fish related behavior
  3. Implement Lake Depth
  4. Implement the first fishing method: Casting

This should give you an idea of what I plan to tackle first. Improving performance of the level designer will probably be the most challenging part of .02. Then again, when you are building stuff that doesn't have any sort of reference, it always takes longer than you think. 


DotNetFish - Horseshoes and Hand Grenades

I've been able to make a little progress this weekend. To start with, I changed the datatype of the edge points from a Point, to a list of bytes. This was necessary because eventually you might see tiles that have mroe than two edge points, and it was also needed for the next change I made, which was the edge tile will now check the surrounding tiles to see if they have any edges it needs to line up with.

This change makes the map look quite a bit better, as most of the tiles connect properly. However, I still have quite a few tiles that are showing up as an error tile. This is where the old saying that close only counts in horseshoes and hand grenades. I'm close, but that's not good enough for me. I really would like to have 99.999% of the tiles be correct. This calls for me to implement one final feature of the generator process, and that is pathfinding.  Here is what I plan to do


  1. Go to the next error tile
  2. Check to see if this error tile is actually an edge tile, if not then set it to water or land
  3. If it is an edge tile, find a path from the edge connector around it to the closest edge tile that has an open edge. 
  4. Convert the tiles along the path into edge tiles 

Before                           After


Orange Tiles are Edge Tiles, Red lines are edge connection points


I ran a test this morning, and I think that this is the last large change I need to make in order to get the map looking good.

I also sat down for a few minutes, and thought a bit about the road map for release .01 and release .02. I made a significant change to .01, in that I moved the ability to cast for fish into .02. I did this because there is a whole host of logic that needs to be implemented related to casting, such as fish and their behavior, lake depth, etc. I'd rather be able to get .01 out without those features.

Tuesday, March 1, 2011

DotNetFish - Quick Update

Got the color matching to work now, so the correct tile should be selected in that regard. Next on my list is working on getting the rest of the tiles to line up properly.

Sunday, February 27, 2011

DotNetFish - Status Update

I was able to get some work done with DotNetFish over the weekend. This was the first weekend in almost a month that I was able to work on the project. If you remember from my last post, I had a short bucket list of items that I needed to implement. First on the list is getting the edge tiles land/water orientation to be correct. Here is how I planned to implement this.

  • Each map graphics tile would need to know if its edge was water/land or contains both.
  • when determining which tile to place, I need to check the edges to determine a match
Its funny how something that seems simple, takes so much longer. After modifying the client to accept the new graphics tile I needed to re-write the .csv file to inclued the edge type information. This proved to be an repetitive task. After fiddling with it for a bit, I decided that using an xml file would work much better. After thinking about it even more, I decided that having a program generate the xml file would work even better. So, I wrote a new application called maptilebuilder that processes a .png file. It steps through each tile in the image and allows you to manually set the edge points as well as the edge type. A future improvement would be to have it generate the xml file with minimal input, but that can wait.

So, even though I only got step 1a finished, it still is progress. I've got all of the changes in place for the second step, I just need to finish the code that chooses based on the edge type. 


Thursday, February 10, 2011

DotNetFish - When Progress Hurts

Spent some time working on the project recently. I was able to implement the following features

  • Level editor now displays the map properly
  • You can use the arrow keys to scroll around the map
Its great to be able to finally visualize how the map actually looks. The downside, is that now I know how bad the map actually looks. Being able to view the tiles has brought several problems to my attention. Here are the things I need to get fixed.
  • Need to get the land/water on the edge tiles to orientate properly.
  • Need to figure out why the tiles don't match the area I selected
  • Need to improve the tile selection process
Those are the three pressing issues. Hopefully next time progress wont hurt so much!

You can grab the latest from https://github.com/aaronmell/DotNetFish/