Wednesday, May 13, 2009

Day Three

Still sick.  Final test in Entrepreneurship tomorrow.  That reminds me, I really need to register Unseen Studios as a company asap.

Read the Game Developer magazine that came this morning.  It has an interesting article on asynchronous resource loading using fibers.  Cool idea because fibers stay within a thread, so that works around the problem of both concurrent resource access and DX's hatred of multithreaded apps.  There was also an ad for Intel's Graphics Performance Analyzer that seemed particularly interesting.  I signed up and downloaded it (327 MB!)

I hope to get the Bazaar finished today, but we'll see how it goes with my head feeling like it's stuffed with cotton...


The Intel GPA tool is really interesting!  I managed to get it working on my machine, and it lets me just snap frames of data and analyze exactly what's going on with them at some later date.  Even better, I can modify the current state and see what happens to rendering times and such.  Very cool.  One thing I tried was to enable lighting on the skeleton meshes to see what was screwing them up.  ...and now, all of a sudden, lighting works again!  Wtf!  Before, it was causing the skeleton meshes to lose a limb when rendering.  Now it's perfect.  *sigh*  Lighting does look cool though.

I also found another nifty tool for redirecting inter-module Win32 function calls created by Microsoft Research.  It's called Detours.  It should really be called Hijacks.  Or perhaps Highway Robberies...you can pretty much do anything to any program with it.  I'm surprised they provide this tool, it seems like they're doing a virus hacker's work for them.


Bazaar is going very well.  Mostly done with server-side interface, about to start coding DB stuff.  Not quite sure how to do commission at the moment--i.e. should it just be yoinked from the player, or should they be able to see how much it costs?  Probably the latter.  I want to base it on how many items they player's already listed, though--that way we don't have to institute max # of items listed, just have a really high price for listing more than a few items (so high that almost nobody will pay it).


Bazaar server-side (client interface, database, network messages, request processing) almost finished.   Cool way of handling more items than a single screen:  just have the server cache items on a screen and rotate them every few minutes.  That way, not only does the bazaar look "active", it also reduces server load since the bigger DB queries are very spread out.  Other nifty side effect: you can watch other players buy items, since they're just marked "sold" in the cache and still sent out to players browsing a given category.

Now that I have long blocks of time to devote, I can completely focus on spending an extra hour teasing out all the nuances of designing new code.  As a result, the bazaar's design is rock solid.


There's no way to describe how freeing it is to code when there's nothing else on my mind.  I haven't had this luxury in a very long time.  It's going to be a good summer.

No comments: