Tuesday, May 12, 2009

Day Two

TurboSquid doesn't suck as much as I thought! Years ago I was turned off of TS, but they have a cool set of models there that Richard sent and TS will convert them for free to a usable format.  Groovy.

Also, good armor models $50 over at the3dstudio.


Of course, upgrading to VS2008 broke Evidyon on some computers since it now uses v9.0 of the CRT, and the installer only added v8.0 to users' computers.  Re-compiled installer and uploaded new version.

Added MD5 password hashing to passwords last night.  Temporarily disabled since the DB will have to change.  Or will it?  I could send password as a MD5 string and store the string in the DB...32 characters = 32 bytes as opposed to 32 hexs = 16 bytes.   *sigh*  I guess that's ok.


Added names to trade screen.  Serializer code I wrote yesterday is **fantastic**--normally it would have taken 10-15 minutes to make the change just because editing network messages used to be a huge pain.  New system took 30 seconds.

I noticed that the fastsync gets fuxed for 1 cycle when a client logs off since the type counter goes OBO (noticeable behavior: XP bar flashes full).  Changed some stuff that might fix that.

I must say that upgading to VS2008 was a great idea--the debug mode is substantially faster than in 2005.  I can run two clients and server all from the debugger without lag.  Doing just client/server was enough to bring down 2005's debugger.


Fixed problem with items disappearing too quickly from ground.  I'm now convinced that I should sit on a problem for a little while and let my mind work out the background stuff.  I had thought it was a very difficult thing to fix up-front that would require rewriting the item removal system.  Turns out it took about 5 lines of code doing it a way I hadn't initially considered.  Solutions just seem to pop into my head sometimes.

Added list labels to all screens that were missing them (inventory, storage, geoling, use item, cast spell)

Added "name:" label on create character screen, cleaned up some memory leaks (see VLD post :D)-< )

Removed "Lacertus" spell from knights.  Not sure why it's not working, but better not to have dangling features.   Added button sounds, they work beautifully.  Added footstep sounds, they're also great!  Forgot that removing a spell screws up all the key indices.  Key bindings are reset.  Upgrading to version 2.14 and releasing.



Read an article on Cuckoo Hashing.  Pretty nifty way to have a hash table with no linked lists.  Basic idea is to have a hash table for which each possible member generates two distinct hashes, and can be at either location in the table.   Should one spot be filled, it can take the other.  Should both be filled, it replaces one and that one is re-inserted (hopefully into its other--blank--hash location).

Single-player level design is also a good article (Gamasutra).

I'm trying to import meshes into fragMOTION and link them to the character models.  It seems to work OK, so the armor meshes I'm about to buy should look great.


Right-click now splits a stack of items in half.  Fixed bug where picking up a stackable item doesn't immediately update the stack's size on the client.  Clicking on a stackable item in inventory (which normally equips an item) re-stacks the item first so you can assemble stacks easily.  Items are now consumed in last-first order when triggered by a key binding.

No comments: