<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3871389540005481353</id><updated>2011-11-27T16:28:00.771-08:00</updated><title type='text'>Development Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-8479188590748697267</id><published>2008-09-24T18:34:00.000-07:00</published><updated>2008-09-24T18:45:16.693-07:00</updated><title type='text'>Still Here</title><content type='html'>Sorry for the delay lately in updates..  I know there are a number of people who check this blog regularly (I have google analytics set up).  I have been busy lately but have managed to work on Drasil a bit at the same time.  In the next couple days I will probably post a VIDEO of drasil on here for all to see some of the cool feature's I've been talking about.  Nothing major has been added in the past few days except&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed a bug that could crash the server if a user runs into the edge of the map&lt;/li&gt;&lt;li&gt;Performance optimization to packet building of server-3dSound effect packet&lt;/li&gt;&lt;li&gt;Moved the close "x" over and down to be better aligned with the various windows of the game.&lt;/li&gt;&lt;li&gt;Slight improvement to the string compression which is applied for chat. (For more info about the compression &lt;a href="http://drasildev.blogspot.com/2008/08/drasil-tech-chat-compression.html"&gt;click here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Anyways, please stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-8479188590748697267?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/8479188590748697267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=8479188590748697267' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8479188590748697267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8479188590748697267'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/still-here.html' title='Still Here'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-4382151377743448689</id><published>2008-09-18T04:15:00.001-07:00</published><updated>2008-09-18T10:23:11.681-07:00</updated><title type='text'>Lots more to do</title><content type='html'>Aside from the bigger features done lately like the skills system becoming fully functional, I've also done a bunch of smaller things like tweaking some graphics related things, fixing up some GUI stuff, adding sounds to menu clicks and window openings and closings etc. to give the game more substance and immersion.  I'm really hoping to get a live Alpha test world up and running soon but it mostly depends on when our project leader can get that set up.&lt;br /&gt;&lt;br /&gt;Next things on the agenda will be pretty big&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Advanced character customization features (custom color of character hair, eyes? ect.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hammering out any bugs that come up with the skills system&lt;/li&gt;&lt;li&gt;Working on some basic foundation to support character class types or special abilities&lt;/li&gt;&lt;li&gt;Item crafting related skills&lt;/li&gt;&lt;li&gt;Buying / Building houses&lt;/li&gt;&lt;li&gt;Guild system&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-4382151377743448689?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/4382151377743448689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=4382151377743448689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4382151377743448689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4382151377743448689'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/lots-more-to-do.html' title='Lots more to do'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-2120371634052742743</id><published>2008-09-18T04:15:00.000-07:00</published><updated>2008-09-18T04:23:31.452-07:00</updated><title type='text'>We have skillz!</title><content type='html'>Well, I finished the skills screen.  There is some debate as to if we'll continue to call them 'skills' or if they will be called something else.  Personally, I've always thought of anything you're able to do as a &lt;span style="font-style: italic;"&gt;skill&lt;/span&gt; or an &lt;span style="font-style: italic;"&gt;ability&lt;/span&gt;, but some of the other people working on Drasil want to possibly change the name.  Anyways, for now they're called skills and here's what your list of skills looks like in game.  Note the bar underneath each skill is the amount of exp. obtained towards that particular skill's next level up:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SNI4-cy1trI/AAAAAAAAATI/ewMggAPqSzo/s1600-h/statsscreendone.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SNI4-cy1trI/AAAAAAAAATI/ewMggAPqSzo/s320/statsscreendone.png" alt="" id="BLOGGER_PHOTO_ID_5247319161372522162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I'd already added skills and the exp needed for skills sometime a few weeks ago it just wasn't being displayed on the client.  Having the skill's level + exp updated on the client cost the server about 8 bytes of bandwidth for every time you swing your weapon/cast a spell, but supports having a skill run up to level ~32000 and exp needed for skills run up to ~2400000000 or so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-2120371634052742743?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/2120371634052742743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=2120371634052742743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2120371634052742743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2120371634052742743'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/we-have-skillz.html' title='We have skillz!'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JY-ifzPhRrM/SNI4-cy1trI/AAAAAAAAATI/ewMggAPqSzo/s72-c/statsscreendone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-5276537511270210198</id><published>2008-09-17T03:20:00.001-07:00</published><updated>2008-09-17T03:23:19.663-07:00</updated><title type='text'>Because the others are lazy xD</title><content type='html'>Well, I have the entire platform hammered out for the skills, but have been lacking a GUI to actually show your skills levels on the screen and such..  Finally I just decided to throw together a skills window myself, this is how it looks.  (Haven't set things up to print your skills into it yet but basically it will be a list)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SNDaZ4Xrm7I/AAAAAAAAATA/MW_yy4kax4g/s1600-h/stat-skill-blank.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SNDaZ4Xrm7I/AAAAAAAAATA/MW_yy4kax4g/s200/stat-skill-blank.png" alt="" id="BLOGGER_PHOTO_ID_5246933704049925042" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-5276537511270210198?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/5276537511270210198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=5276537511270210198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/5276537511270210198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/5276537511270210198'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/because-others-are-lazy-xd.html' title='Because the others are lazy xD'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SNDaZ4Xrm7I/AAAAAAAAATA/MW_yy4kax4g/s72-c/stat-skill-blank.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-8760448929514656836</id><published>2008-09-13T17:29:00.000-07:00</published><updated>2008-09-13T17:48:51.306-07:00</updated><title type='text'>Artist Needed.. Desperately</title><content type='html'>Well, a few people complained about some of the new graphics noting that the 'Lost Soul' looks like the Michelin man or the Marshmallow Man from GhostBusters and the Lava Troll looks like a walking Terd.  But please don't judge from the in-game screenshots as blogger seems to resample my JPEGs and make them lower quality and thus give them a really crappy look, maybe from next time I'll start posting screens as PNGs instead.&lt;br /&gt;&lt;br /&gt;BEFORE and AFTER:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMxdx48BzqI/AAAAAAAAASw/_nd5hvCM2n8/s1600-h/lavatroll.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMxdx48BzqI/AAAAAAAAASw/_nd5hvCM2n8/s200/lavatroll.png" alt="" id="BLOGGER_PHOTO_ID_5245670777658920610" border="0" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMxd_XXzlII/AAAAAAAAAS4/Rhsh7idu2H8/s1600-h/98.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMxd_XXzlII/AAAAAAAAAS4/Rhsh7idu2H8/s200/98.PNG" alt="" id="BLOGGER_PHOTO_ID_5245671009166791810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have come to agree with these statements but rather than give up I edited the graphics a bit, turned down the saturation on the Troll and added more definition so you can actually tell what part is the head, etc.  Perhaps someday we can replace these graphics entirely, and Sandopan (the project manager) is on the lookout for a new graphics artist.  As for finding an artist, I think it's one of those &lt;span style="font-style: italic;"&gt;If you build it, they will come&lt;/span&gt; scenarios - if we show off a great game with mediocre graphics and say we need an enthusiastic graphics artist, we may be able to bring some talented people into the team;  PS - if you're an enthusiastic graphics artist who wants to be a part of a community project like Drasil, make a post on our forum &lt;a href="http://www.drasil.net/community/index.php?s=01299a5b5ebf6e9eb9e805c8bed1fa7f&amp;amp;showforum=20"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On the coding side of things, I worked on the code pretty solidly yesterday for about 3 hours;  Mostly under-the-hood stuff that users wont directly notice but also some important feature updates to make the stats system work better, some tweaks to the chance-to-hit and battle calculations to make them more easily balanced, and some tweaks to a couple of the AI routines including the &lt;span style="font-style: italic;"&gt;Guard&lt;/span&gt; AI and the &lt;span style="font-style: italic;"&gt;Run towards Users and Attack Them&lt;/span&gt; AI routine in particular.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SMxddfZBNfI/AAAAAAAAASo/L25mGj4WZ-o/s1600-h/skeltown.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SMxddfZBNfI/AAAAAAAAASo/L25mGj4WZ-o/s320/skeltown.jpg" alt="" id="BLOGGER_PHOTO_ID_5245670427203810802" border="0" /&gt;&lt;/a&gt;Also added this skeleton dude, which hopefully looks better than the other monsters, I think it looks pretty cool in-game actually.  But it begs for our main sprite-sheet to look less chibi-ish.&lt;br /&gt;&lt;br /&gt;Also, I really need a UI Window made for the skills list before I can finalize the skills system (about 80% done already), Sando if you're reading this please hook me up, but anyone else who likes doing interface graphics and can work with an existing theme please drop a comment here!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-8760448929514656836?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/8760448929514656836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=8760448929514656836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8760448929514656836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8760448929514656836'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/artist-needed-desperately.html' title='Artist Needed.. Desperately'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JY-ifzPhRrM/SMxdx48BzqI/AAAAAAAAASw/_nd5hvCM2n8/s72-c/lavatroll.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-7108279083505360405</id><published>2008-09-11T07:49:00.000-07:00</published><updated>2008-09-11T07:57:50.850-07:00</updated><title type='text'>Trolls and Lost Souls</title><content type='html'>I took a few days vacation from Drasil to have fun out and about in Japan where I'm living.  I also celebrated a birthday (yay me!) but on to the development update...&lt;br /&gt;&lt;br /&gt;Well, we've added a few new monster types to the game and in the course of testing out some of the new stats system and skills and such I've temporarly changed all of the mice and rabbits in the tutorial town into our two newest monsters:  &lt;span style="font-style: italic;"&gt;Lava Trolls&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Lost Soul&lt;/span&gt;s:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMkxMzjwn4I/AAAAAAAAASY/iN0bVouz_GI/s1600-h/battletrolls.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMkxMzjwn4I/AAAAAAAAASY/iN0bVouz_GI/s320/battletrolls.jpg" alt="" id="BLOGGER_PHOTO_ID_5244777337118039938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the same town with their AI turned to non-aggressive:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JY-ifzPhRrM/SMkxiDyw-fI/AAAAAAAAASg/NeQHmPyutSU/s1600-h/new-screeny.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JY-ifzPhRrM/SMkxiDyw-fI/AAAAAAAAASg/NeQHmPyutSU/s320/new-screeny.jpg" alt="" id="BLOGGER_PHOTO_ID_5244777702253197810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I know everyone likes screen shots, but hopefully we'll have the actual game up in the next few weeks.  A lot of things that were on the main to-do list are now complete and it's become more of matter of polishing and squashing bugs and tweaking/balancing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-7108279083505360405?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/7108279083505360405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=7108279083505360405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7108279083505360405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7108279083505360405'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/trolls-and-lost-souls.html' title='Trolls and Lost Souls'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JY-ifzPhRrM/SMkxMzjwn4I/AAAAAAAAASY/iN0bVouz_GI/s72-c/battletrolls.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-3956485411605147380</id><published>2008-09-08T10:00:00.000-07:00</published><updated>2008-09-08T10:13:17.725-07:00</updated><title type='text'>Damage</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMVaou1p73I/AAAAAAAAASQ/vo72k8culSw/s1600-h/battlesim.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 274px; height: 259px;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SMVaou1p73I/AAAAAAAAASQ/vo72k8culSw/s320/battlesim.jpg" alt="" id="BLOGGER_PHOTO_ID_5243696996957155186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Left:  Battle-Simulator dev-app&lt;/span&gt;.&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Lots of work done&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;today on the damage system and defense system.  It still needs some tweaking but it's fairly intricate.  Basically a player's attack skill (the skill related to the weapon they have equipt) is compared to to the weapon's &lt;span style="font-style: italic;"&gt;usability&lt;/span&gt; rating - basically what skill level the weapon bearer needs to obtain a 'max damage' hit with that weapon - and also compared to the target's defense skill to come up with a min-max range of how much damage could be done, also before this is calculated there is a comparison only of the attacker's attack skill and defense skill of the target to determine the probability to hit the target.&lt;br /&gt;&lt;br /&gt;I've developed the battle simulator app (seen in the screenshot) to basically play with the algorithm a bit and iron out any bugs + tweak it.  Special thanks to my long time friend Parker for his input and help in hammering this whole system out.  There will be more detail added to the system (such as the ability to aim for a part of the body to make a more critical hit) as this progresses.&lt;br /&gt;&lt;br /&gt;In other news, I'm hoping to have some up-time with the server soon to try out an early alpha of Drasil 0.4a to see how the mechanics work out and squash any bugs before we move forward.  This server up-time more or lest rests on the shoulders of Sandopan so bug him about it for me if you have the chance xD.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-3956485411605147380?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/3956485411605147380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=3956485411605147380' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3956485411605147380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3956485411605147380'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/damage.html' title='Damage'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JY-ifzPhRrM/SMVaou1p73I/AAAAAAAAASQ/vo72k8culSw/s72-c/battlesim.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-2853726850180841402</id><published>2008-09-03T08:45:00.000-07:00</published><updated>2008-09-03T09:03:21.461-07:00</updated><title type='text'>Input needed!</title><content type='html'>Well, we're at the first road-block.  Not so much a technical difficulty as much as the need for some input and some brainstorming.  I really need to nail down the type of calculation we're going to use to calculate the damage done by &lt;span style="font-style: italic;"&gt;playerA&lt;/span&gt; when they attack &lt;span style="font-style: italic;"&gt;playerB&lt;/span&gt;.  By all means, if you're reading this and have any good ideas, please leave a comment explaining your idea.&lt;br /&gt;&lt;br /&gt;Unlike the stock engine of VBGore, we now have a nice palette of skills and stats.  The big difference being that in stock vbGore, the player has a stat called 'DMG' and 'DEF' that are basically used to roll two dice and the def. of the 'victim' is subtracted from the 'dmg' result of the attacker.  But now, the system has more depth and needs a deeper reaching algorithm.&lt;br /&gt;&lt;br /&gt;So instead, &lt;span style="font-weight: bold;"&gt;each weapon&lt;/span&gt; has a stat called &lt;span style="font-style: italic;"&gt;minHit&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;and &lt;span style="font-style: italic;"&gt;Maxhit &lt;/span&gt;and the player has an associated skill (for example in the case of using &lt;span style="font-style: italic;"&gt;Short Sword&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;the players associated skill might be called &lt;span style="font-style: italic;"&gt;Swordsmenship&lt;/span&gt;, etc.)&lt;br /&gt;&lt;br /&gt;Subsequently the player / npc being attacked has 2 things going for them;  First, they have an associated Defence skill (if being attacked with a sword, this skill might be called &lt;span style="font-style: italic;"&gt;Melee Defence&lt;/span&gt;, if being attacked by a Mage's spell, this skill might be &lt;span style="font-style: italic;"&gt;Magic Defence&lt;/span&gt;, etc.).  Secondly, the defender might be wearing armor, which will give them an '&lt;span style="font-style: italic;"&gt;Armor&lt;/span&gt;' rating.  Furthermore, this armor rating may be broken down into 3 categories;  &lt;span style="font-style: italic;"&gt;Magic Armor Rating / Missle Armor Rating / Melee Armor Rating&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;which would somehow determine what percentage / ratio of damage is actually inflicted onto the wearer and how much is obsorbed/stopped by the armor they wear depending on if the attack is from a melee weapon (sword, axe, etc), missle weapon (bow, crossbow, spear, throwing dagger, etc) or magic weapon (spell, enchanted staff, etc.)&lt;br /&gt;&lt;br /&gt;Basically I need an idea of how to plug these variables in, mix with a bit of a random number/ratio/percentage, and come out with a number that is shaped by each of these factors:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;MinHit&lt;/span&gt; &amp;amp; &lt;span style="font-weight: bold;"&gt;MaxHit&lt;/span&gt; - Currently equipt weapon's minhit &amp;amp; maxhit ratings&lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Skill Rating&lt;/span&gt; - Player's skill level of the skill associated with the weapon (eg. if they are using a sword, this will be a skill called 'sword' skill (just an example).&lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Def. Skill&lt;/span&gt; - Defender's associated defence skill rating (eg. in the case of sword, a skill called 'melee defence'&lt;/li&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Def Armor&lt;/span&gt; - Defender's armor's associated rating&lt;/li&gt;&lt;/ul&gt;Any ideas are welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-2853726850180841402?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/2853726850180841402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=2853726850180841402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2853726850180841402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2853726850180841402'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/input-needed.html' title='Input needed!'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-2870094740882275419</id><published>2008-09-02T05:51:00.000-07:00</published><updated>2008-09-02T05:55:38.906-07:00</updated><title type='text'>screen shot FTW</title><content type='html'>Just thought I'd share a more recent screenshot to show how the UI is comming together.  Nothing is written in stone just yet, but basically the bar along the bottom above the quickbar will be the new experience bar, there are 3 new bars along the top that show food, drink, and sleep i believe (but we're not 100% on how these will be handled).  There is a chance that the health and mana and stamina may be switched to be displayed in the bar along the top.  Anyways, its comming together smoothly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SL03tMGd45I/AAAAAAAAANY/22bXmojQLJY/s1600-h/newerss.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SL03tMGd45I/AAAAAAAAANY/22bXmojQLJY/s320/newerss.jpg" alt="" id="BLOGGER_PHOTO_ID_5241406790811116434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Stats and skills is starting to become more finished (but still a ways off).  I will soon be releasing a 'battle simulator' app to the content development team so they can get a feel for how stats will affect the NPCs they design during combat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-2870094740882275419?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/2870094740882275419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=2870094740882275419' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2870094740882275419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2870094740882275419'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/screen-shot-ftw.html' title='screen shot FTW'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SL03tMGd45I/AAAAAAAAANY/22bXmojQLJY/s72-c/newerss.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-4933241316462731979</id><published>2008-09-02T00:51:00.000-07:00</published><updated>2008-09-02T00:58:38.359-07:00</updated><title type='text'>of updaters and updates</title><content type='html'>We have a saying in Japan - チリも積もればば山となる - &lt;span style="font-style: italic;"&gt;chiri mo tsumoreba yama to naru&lt;/span&gt; - it means basically &lt;span style="font-style: italic;"&gt;Even specs of dust can pile up to become a mountain.&lt;/span&gt;  And this is definately a philosophy to keep in mind when writing a large scale game.  Every day lately has seen steady progress here on the programming side.  Today was no different, except that I am still trying to decide how best to handle the skills system, but I think I have a good idea of how to do it effeciently now.&lt;br /&gt;&lt;br /&gt;Drasil's UI is continuing to get a face-lift, so I think you will find it feeling leaps and bounds different and more polished than ever before come the next release.&lt;br /&gt;&lt;br /&gt;I also spent a few hours today tackling a mini side project that is directly related to drasil and will affect everyone;  I've re-written the Auto Updater platform completely so that it can run off of a standard webserver.  This will mean much much faster download speeds when updating the game, and also mean that when people download updates, it will not affect the gameworld's server's bandwidth or performance in the slightest (unlike before).  Here's a screenshot cuz I know how much everyone loves pictures:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLzyIDYS-4I/AAAAAAAAANQ/x1U6jELWw3I/s1600-h/httpudss.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLzyIDYS-4I/AAAAAAAAANQ/x1U6jELWw3I/s320/httpudss.jpg" alt="" id="BLOGGER_PHOTO_ID_5241330286512503682" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-4933241316462731979?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/4933241316462731979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=4933241316462731979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4933241316462731979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4933241316462731979'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/of-updaters-and-updates.html' title='of updaters and updates'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SLzyIDYS-4I/AAAAAAAAANQ/x1U6jELWw3I/s72-c/httpudss.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-1327060762258442944</id><published>2008-09-01T00:14:00.000-07:00</published><updated>2008-09-01T00:18:04.264-07:00</updated><title type='text'>Back to business</title><content type='html'>Alright, it's Monday here in Japan and I'm just trying to get my bearings straight again.  I've been working on the stats system a little more, and now comes a tricky part where I really need to work on a skills system because the stats system and skills system are so linked.  I find myself facing a kind of programmers' version of the Chicken and the Egg problem (which comes first?).&lt;br /&gt;&lt;br /&gt;I'll keep plucking away.  It's a slow start but I'm sure to get digging through the code again in no time.&lt;br /&gt;&lt;br /&gt;On a positive note, I found 2 more small optimizations, one of which is a case of changing 1 line of code and making a certain commonly used function (part of the packet building engine) about &lt;span style="font-weight: bold;"&gt;20 times&lt;/span&gt; faster than before.  Anyways, more updates to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-1327060762258442944?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/1327060762258442944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=1327060762258442944' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1327060762258442944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1327060762258442944'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/09/back-to-business.html' title='Back to business'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-1241372186405990754</id><published>2008-08-29T21:19:00.000-07:00</published><updated>2008-08-29T21:33:06.321-07:00</updated><title type='text'>New Progress + ScreenShots</title><content type='html'>Well, all is comming along nicely.&lt;br /&gt;&lt;br /&gt;The stats page is complete, and I'm still in the midst of implimenting the abilities to increase stats and skills and pretty much that entire part of the game is comming together at once.  It is about a third functional right now, but looks pretty good, have a peak!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLjLNQxNsyI/AAAAAAAAANA/_EPuV_siNCM/s1600-h/statsprog2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLjLNQxNsyI/AAAAAAAAANA/_EPuV_siNCM/s320/statsprog2.jpg" alt="" id="BLOGGER_PHOTO_ID_5240161595145696034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;Don't mind the 25FPS, I set my frame-limiter super low to 25 because this laptop overheats and is old.  Actually I found out the other day that drasil defaults to Software rendering on my system because it's so outdated.  Without a framecap, it runs at about 70FPS, but uses 100% CPU because of my system running 100% in software mode.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;In my time between tackling this particular problem, I found 3 small optimizations on the server (places where some commonly used packets could be cached and stored in memory instead of built in realtime [uses a few bytes of RAM, saves 10+ CPU cycles])..  Also changed the way server stats are displayed on the server end to be more useful AND use less CPU (it used to update the tooltip text of the server's tray icon whenever anything happened that changed any of the stats, now it only builds a stats string when its really needed, as I've added a stats label to the broadcast message window of the server):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLjMECpCatI/AAAAAAAAANI/v_V7O5v-4S8/s1600-h/readout.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLjMECpCatI/AAAAAAAAANI/v_V7O5v-4S8/s400/readout.jpg" alt="" id="BLOGGER_PHOTO_ID_5240162536246110930" border="0" /&gt;&lt;/a&gt;In case you don't know what the broadcast message thing is, its just a little feature where the server operator can send a world-wide message to all players that pops up an in-game messagebox type of thing to notify the world if the server is going down for maintenance, etc.&lt;br /&gt;&lt;br /&gt;Also note the bandwidth usage for 1 player is on average about 0.2-0.5KB/sec, this is INCLUDING the overhead of the TCP header and the IPv4 header.&lt;br /&gt;&lt;br /&gt;Well, its the weekend so don't expect any more updates until monday.  I'm looking forward to getting back to work on Drasil next week.&lt;br /&gt;Feel free to post comments, it would be nice to hear any feedback from the community.&lt;br /&gt;- Tim&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-1241372186405990754?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/1241372186405990754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=1241372186405990754' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1241372186405990754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1241372186405990754'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/new-progress-screenshots.html' title='New Progress + ScreenShots'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SLjLNQxNsyI/AAAAAAAAANA/_EPuV_siNCM/s72-c/statsprog2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-8775419272615123861</id><published>2008-08-29T13:43:00.001-07:00</published><updated>2008-08-29T14:05:22.185-07:00</updated><title type='text'>Drasil has Leveled Up</title><content type='html'>Well, good progress has been made.  An entirely revamped stats system, spendable exp system (more on this in a second), and skill points system is nearing completion.  The way I am setting things up will put the infrastructure in place so that additional changes to what items do what, what weapons create what amount of damage, etc. will for the most part require no knowledge of the code base by content developers and truly rely on the SQL database to build up the various content and skill systems implemented into Drasil.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spendable Experience&lt;/span&gt;&lt;br /&gt;One thing we have recently decided to change in Drasil is how stats are increased.  In most (albeit not all) RPGs, you grind away and finally hit a 'level up' point after &lt;span style="font-style: italic;"&gt;X&lt;/span&gt; amount of experience is gained, at which time you are generally given some form of 'points' you can apply to increasing your various stats.  But, we have a different approach that will offer more frequent, more finite tweaking of your character that doesn't require finally hitting the big 'level up' point after grinding for 10 hours.  Using a different system, sandopan and myself decided to untie your stats from your level-up event almost completely.  What does this mean?   It means you don't have to wait to 'level up' in order to 'level up' your various stats.  Rather, you will gain experience as normal (and in some ways that you might not of thought of), and then spend those '&lt;span style="font-style: italic;"&gt;experience points&lt;/span&gt;' at any time to level up your various stats, at any time.   For example, from the beginning strength may cost 102 exp. to increase, quickness may cost 84 exp, so as soon as you've gained 84 exp. you can increase your quickness, or you can save that exp. until it reaches 102 and level up strength, etc.   Does this sound familiar?  yes?  no?  It has been done before.&lt;br /&gt;&lt;br /&gt;In this system however, your lowest level skill will generally be the skill that cost the least amount of exp to raise, so in theory you could train Strength and Agility for ages and be a mighty hulk of a warrior, but then suddenly decide to get some magic skills and find that Wisdom and Intelligence are &lt;span style="font-style: italic;"&gt;dirt cheap&lt;/span&gt; to level.  To a less extreme extent this type of mechanic could be interesting, but if left unchecked completely it would lead to characters that are too over-powered in everything and do not need other players assistance, etc.  This is where a class system (or hybrid class system as has been discussed by the Drasil team) could be applied.   A warrior would have a much toughing exp. price to pay for Wisdom and Intelligence right from the beginning, and a mage would enjoy a cheap exp price for those skills but a tough price hike in regards to Strength and Agility. etc.&lt;br /&gt;&lt;br /&gt;When all is completed, this new system should offer a more frequent feeling of progress rather than waiting to touch up the smallest of skills.  Don't be surprised if we start using some big numbers though compared to some other RPGs that have less debth *cough* WoW *cough*.  Bigger numbers that count for less mean smaller incriments.  Essentially the same system, but with more frequent more finite tweaking to keep the game more interesting and give the user more finite control.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-8775419272615123861?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/8775419272615123861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=8775419272615123861' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8775419272615123861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8775419272615123861'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/drasil-has-leveled-up.html' title='Drasil has Leveled Up'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-8642154938978799490</id><published>2008-08-28T09:11:00.001-07:00</published><updated>2008-08-28T09:20:37.826-07:00</updated><title type='text'>Yay -.-</title><content type='html'>Well, not everything can be perfect all of the time.&lt;br /&gt;Sometime between this afternoon and tonight I severely broke / botched up the main drasil client AND server code to the point where trying to create a new character would cause the client to crash with some sort of unknown exception error followed by one of those 'would you like to tell microshaft about this problem' boxes.&lt;br /&gt;&lt;br /&gt;I do however make back-ups at relatively frequent intervals and generally only when I'm confident beyond a doubt in code stability.  So I just rolled back the code to where it was at 1:50pm this afternoon.  Nice and stable, and actually not much is lost.  I had just implimented stats for NPCs and Objects.  There are some new stats for objects, such as ReqSkillLvl which is basically the level of the skill associated with the object/weapon to use the object (for example, some fancy item might be called 'God's Perfect Wood Chizzle' and require Woodworking (the skill used for chizzle) to be at least level 82 before using, or something). &lt;br /&gt;&lt;br /&gt;Sadly though, I did lose some progress on actually going through and implimenting the stats throughout the server and client code.  I do find that re-writing code a second time often leads to better, faster, more robust, more optimized code that breaks less and is more expandable and ready for the future - that is, if you were lucky enough to learn anything the first time you wrote it.&lt;br /&gt;&lt;br /&gt;Well, I'm off to bed now though, so although much of today was wasting, not all is lost, and here's to it comming out better tommorow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-8642154938978799490?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/8642154938978799490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=8642154938978799490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8642154938978799490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/8642154938978799490'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/yay.html' title='Yay -.-'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-1598893193787809746</id><published>2008-08-27T20:51:00.000-07:00</published><updated>2008-08-27T21:08:19.306-07:00</updated><title type='text'>More progress</title><content type='html'>I've been slowly plucking away at setting up all the new stats.  I have been doing it in a way that I can test the code as I go along (as I erase an old stat that was included with the vbGore stock code, I also comment out any code that relied on that stat with a special marker so I can re-impliment the code with the new system after).   I've now gotten around to making the NPCs play nice with the new stats system, but because the new stats system doesn't have direct values like &lt;span style="font-style: italic;"&gt;Damage, Defence, Magic&lt;/span&gt; but rather in-direct values like &lt;span style="font-style: italic;"&gt;Strength, Agility, Quickness, Intelligence, Wisdom &lt;/span&gt;which combine in different ways to affect different skills (most melee attack skills like Sword might be [&lt;span style="font-style: italic;"&gt;Str+Agility / 3&lt;/span&gt;]), the NPC attack features which used to look to a 'damage' rating or 'defence' rating to calculate hits misses and damage, now have to either a) use the same calculations that are used for players (ie if they are using a blade, apply the blade calculation of [&lt;span style="font-style: italic;"&gt;Str+Agility / 3&lt;/span&gt;]) but this requires more processing for the server to do as it would have to look at what weapon the npc is using, the weapon's rating, etc.  For the time being, NPCs probably wont be changing weapons on the fly so much, so I &lt;span style="font-weight: bold; font-style: italic;"&gt;was&lt;/span&gt; going to settle with a system that uses certain stat values to represent attack properties directly explicitly in the case of NPCs, for example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;.BaseStat(SID.Quickness)   '// for npcs, this is melee defence/missle def&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;.BaseStat(SID.Wisdom)      '// for npcs, this is magic def&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;.BaseStat(SID.Intel)       '// for npcs, this is magic attack&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;.BaseStat(SID.Str)         '// for npcs, this is melee/missle attack&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This would avoid any extra server calculations regarding figuring out their range of damage, etc.&lt;br /&gt;But then I thought about the mechanics of the game and how this type of system might limit some of the more advanced features we want to put in to the game down the road, aswell as keep our NPCs kind of dumbed down - and we don't want that, so I will probably have the NPCs attack/defence abilities rely on the stats and weapon ratings in the vary same way a player's does.  I've put a lot of work into optimizing the server's CPU code even above the optimizations implimented in the stock code, so I figure we can afford a few CPU cycles to make the NPCs more realistic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-1598893193787809746?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/1598893193787809746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=1598893193787809746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1598893193787809746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1598893193787809746'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/more-progress.html' title='More progress'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-1692686714835515515</id><published>2008-08-27T07:38:00.001-07:00</published><updated>2008-08-27T08:53:33.863-07:00</updated><title type='text'>Progress</title><content type='html'>Just a quick progress update (wow I hope someone is actually reading this)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Most (perhaps not all) new stats added to the DB, and coded the server to load them from the DB and pass them on to the player(s) when a user logs in, etc. and pass them to the client(s) along with all other stats.&lt;/li&gt;&lt;li&gt;Had to basically temporarly get rid of (read, temporarly comment out) a lot of the spells codes that relied on stats that no longer exist (will have to re-write them to work with current stats).&lt;/li&gt;&lt;li&gt;Set up the new Stats window GUI for the most part.  Took some time because I set it up so adjustments can be made to the layout by changing the skin's config file so we don't have to touch the code more than we need to while developing the UI of the Stats Window (which will probably see some additional changes in the days to come).  I'm hoping its one of those situations where a little extra effort in the short term will make life easier down the road.&lt;/li&gt;&lt;/ul&gt;Will update more as progress is made.  PS to all, I live in Japan so if my updates are at strange hours for you, you know why.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-1692686714835515515?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/1692686714835515515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=1692686714835515515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1692686714835515515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1692686714835515515'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/progress.html' title='Progress'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-7174226449546920422</id><published>2008-08-26T23:24:00.000-07:00</published><updated>2008-08-26T23:41:03.938-07:00</updated><title type='text'>Stats interface</title><content type='html'>Well, all is going steadily and slowly in implementing a new stats system.  These changes will drastically affect everything from how players fight to move to cast spells, gain skills, mining and crafting, etc.  There's still lots to be done, but we have some pics from the GUI side of things.&lt;br /&gt;&lt;br /&gt;Sandopan and I have re-designed the stats window entirely, I'll show sandopan's concept idea for how it will be organized along with the actual GUI panel.&lt;br /&gt;BUT FIRST, For comparison, here is the old/current plan: (which sux0rz)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.drasil.net/stats_explain.PNG"&gt; &lt;img style="cursor: pointer; width: 320px;" src="http://www.drasil.net/stats_explain.PNG" alt="" border="0" /&gt;   &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And now for the new idea, first the actual background texture of the GUI, and Sando's concept of how we will roll the skillsets into the stats page aswell (mind you this is all chop-and-paste for design purposes so it will look much better in-game):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLT1Ou58S4I/AAAAAAAAAME/ptKyeH6y5zk/s1600-h/conceptstat.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SLT1Ou58S4I/AAAAAAAAAME/ptKyeH6y5zk/s400/conceptstat.jpg" alt="" id="BLOGGER_PHOTO_ID_5239081899996760962" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SLT0PjIO8cI/AAAAAAAAAL8/EZerlu2HBdI/s1600-h/115.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SLT0PjIO8cI/AAAAAAAAAL8/EZerlu2HBdI/s400/115.gif" alt="" id="BLOGGER_PHOTO_ID_5239080814503719362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;In game texture shown at right&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.drasil.net/stat_crap.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://www.drasil.net/stat_crap.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is a rough idea of how the skills list etc. will be displayed.  Note there will probably be proper buttons or tabs at the bottom not just text as drawn in MS Paint xD&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-7174226449546920422?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/7174226449546920422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=7174226449546920422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7174226449546920422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7174226449546920422'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/stats-interface.html' title='Stats interface'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SLT1Ou58S4I/AAAAAAAAAME/ptKyeH6y5zk/s72-c/conceptstat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-1733343559967107315</id><published>2008-08-26T22:31:00.000-07:00</published><updated>2008-08-26T22:38:14.994-07:00</updated><title type='text'></title><content type='html'>Well, I'll consider this official day one of re-vamping the stats system in vbGore to fit the needs of drasil.  This has turned out to be a very large task (not so complicated as much as just being a ton of code to keep track of.)&lt;br /&gt;&lt;br /&gt;The following functions all reference the stats system in some way or another (mind you some of them can remain unchanged depending on what stat in particular you are playing with) and need to be modified:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;NPCs.bas -&gt;    NPC_MakeChar&lt;br /&gt;        NPC_MoveChar&lt;br /&gt;        NPC_UpdateModStats&lt;br /&gt;        NPC_AI&lt;br /&gt;        NPC_AttackNPC&lt;br /&gt;        NPC_AttackUser_ApplyDamage&lt;br /&gt;        NPC_AttackUser&lt;br /&gt;        NPC_ChangeMP&lt;br /&gt;        NPC_Heal&lt;br /&gt;        NPC_Damage&lt;br /&gt;        NPC_Kill&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;Users.bas -&gt;    User_Attack&lt;br /&gt;        User_AttackNPC&lt;br /&gt;        User_AttackUser&lt;br /&gt;        User_AttackUser_ApplyDamage&lt;br /&gt;        User_Kill&lt;br /&gt;        User_LookAtTile&lt;br /&gt;        User_MakeChar&lt;br /&gt;        User_MoveChar&lt;br /&gt;        User_RaiseExp&lt;br /&gt;        User_UpdateModStats&lt;br /&gt;        User_UseInvItem&lt;br /&gt;       &lt;br /&gt;Quests.bas -&gt;    Quest_CheckIfComplete&lt;br /&gt;        Group_EXPandGold&lt;br /&gt;&lt;br /&gt;TradeTables -&gt;    TradeTable_Finish&lt;br /&gt;        TradeTable_UpdateSlot&lt;br /&gt;&lt;br /&gt;FileIO -&gt;    Save_NPCs_Temp&lt;br /&gt;        Load_OBJs&lt;br /&gt;        Load_User&lt;br /&gt;        Save_User&lt;br /&gt;&lt;br /&gt;General -&gt;    Server_WriteMail&lt;br /&gt;        User_UpdateFunction&lt;br /&gt;&lt;br /&gt;Skills -&gt;    Skill_SummonBandit_PC&lt;br /&gt;        Skill_Bless_PCtoNPC&lt;br /&gt;        Skill_Protection_NPCtoNPC&lt;br /&gt;        Skill_Strengthen_NPCtoNPC&lt;br /&gt;        Skill_Bless_NPCtoNPC&lt;br /&gt;        Skill_Strengthen_PCtoNPC&lt;br /&gt;        Skill_Protection_PCtoNPC&lt;br /&gt;        Skill_Bless_PCtoPC&lt;br /&gt;        Skill_Strengthen_PCtoPC&lt;br /&gt;        Skill_Protection_PCtoPC&lt;br /&gt;        Skill_Heal_PCtoPC&lt;br /&gt;        Skill_Heal_NPCtoNPC&lt;br /&gt;        Skill_Heal_PCtoNPC&lt;br /&gt;        Skill_SpikeField&lt;br /&gt;        Skill_Warcry_PC&lt;br /&gt;&lt;br /&gt;TCP.bas -&gt;    Data_GM_GiveGold&lt;br /&gt;        Data_User_BaseStat&lt;br /&gt;        Data_User_Bank_Withdraw&lt;br /&gt;        Data_User_Bank_Deposit&lt;br /&gt;        Data_User_Group_Info&lt;br /&gt;        Data_User_StartQuest&lt;br /&gt;        Data_User_Trade_SellToNPC&lt;br /&gt;        Data_User_Trade_BuyFromNPC&lt;br /&gt;        User_ConnectNew&lt;br /&gt;&lt;br /&gt;UserStats.cls -&gt;&lt;br /&gt;        BaseStat [PropertyLet]&lt;br /&gt;        BaseStat [PropertyGet]&lt;br /&gt;        ModStat [PropertyLet]&lt;br /&gt;        ModStat [PropertyGet]&lt;br /&gt;        SendUpdatedStats&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes I &lt;span style="font-style: italic;"&gt;REALLY&lt;/span&gt; hate working with other people's code.  Esspecially vbGore.&lt;br /&gt;For safe measure I've made a special backup of everything before digging into this code and ripping things out of the DB left right and center xD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-1733343559967107315?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/1733343559967107315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=1733343559967107315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1733343559967107315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/1733343559967107315'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/well-ill-consider-this-official-day-one.html' title=''/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-2104471017056319997</id><published>2008-08-25T18:43:00.000-07:00</published><updated>2008-08-25T18:54:01.922-07:00</updated><title type='text'>Done with Small Stuff</title><content type='html'>Well, I'm going to start tackling the bigger coding tasks of the game between today and tomorrow.  Until this point it's been relatively easy small features (except for maybe the lag-proofing mechanics), but I will say the interface feels much more polished than it ever has before.  I especially like being able to move using the mouse instead of the arrow keys or WASD (they are still available though if you prefer them.&lt;br /&gt;&lt;br /&gt;Stand by for updates (might be soon or might be a day or two depending on how implementation goes).  Today's tasks are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Add attributes to weapons: Speed, Damage, Damage type&lt;/li&gt;&lt;li&gt;Add attributes to objects: Weight, Durability&lt;/li&gt;&lt;li&gt;Add attribute to Character Stats:  Burden&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make all Melee / Missle attacks be affected by the weapon being equipt by the user.  Including attack speed and base damage.&lt;/li&gt;&lt;/ul&gt;It's a pain the way objects on the map are stored pretty much exclusively on the server (the client has to query the server if you so much as click on what you think is an object on the map because the client only see's it as a graphics ID and not an object ID)!&lt;br /&gt;So, I might be re-writing some of the client-server framework a bit too, in order to keep information synced up between client and server more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-2104471017056319997?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/2104471017056319997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=2104471017056319997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2104471017056319997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2104471017056319997'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/done-with-small-stuff.html' title='Done with Small Stuff'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-132965200179000562</id><published>2008-08-25T09:47:00.000-07:00</published><updated>2008-08-25T09:54:12.109-07:00</updated><title type='text'>More tooltips</title><content type='html'>Added tooltips that pop up above the (now semi-new) mini menu box.  The tooltips are loaded from the language pack INIs and thus fully support multiple languages.  To add the tooltips to another simply add the following type of entries to the end of the&lt;br /&gt;&lt;language name=""&gt;.ini file found in the "../Data/Messages/" folder:&lt;br /&gt;&lt;ul&gt;&lt;code&gt;&lt;span style="font-size:85%;"&gt;[TOOLTIPS]&lt;br /&gt;1=Open up your Inventory of Items&lt;br /&gt;2=Open up your personal Spell Book&lt;br /&gt;3=Open up your Quest Log&lt;br /&gt;4=Open your Character Stats page&lt;br /&gt;5=Open the Skills Menu&lt;br /&gt;6=View / Change what equiptment you are currently using&lt;br /&gt;7=Change your preferences&lt;br /&gt;8=Leave Drasil&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I figure the least we can do for non-english speakers is having some explanations of the most essential things in their native language. =)&lt;/language&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-132965200179000562?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/132965200179000562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=132965200179000562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/132965200179000562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/132965200179000562'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/more-tooltips.html' title='More tooltips'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-3963165859709048434</id><published>2008-08-25T03:48:00.000-07:00</published><updated>2008-08-25T04:02:20.037-07:00</updated><title type='text'>Assess Window</title><content type='html'>Well, added a few small tweaks like mouse-over name and health/mana display with gradients.  Also added an 'assess item/player/npc' window that pops up when you double click on something and shows various stats depending on what you clicked you.&lt;br /&gt;I know it sounds simple but because of the way it has to pull the data off of the server it was a little bit of work to get it working just properly, nothing too pain-staking though.  See screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JY-ifzPhRrM/SLKQqaIxSuI/AAAAAAAAAL0/nboe3oO5ePs/s1600-h/screen-assess.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_JY-ifzPhRrM/SLKQqaIxSuI/AAAAAAAAAL0/nboe3oO5ePs/s400/screen-assess.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5238408374830320354" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-3963165859709048434?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/3963165859709048434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=3963165859709048434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3963165859709048434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3963165859709048434'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/assess-window.html' title='Assess Window'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JY-ifzPhRrM/SLKQqaIxSuI/AAAAAAAAAL0/nboe3oO5ePs/s72-c/screen-assess.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-6837450002920397023</id><published>2008-08-22T23:01:00.000-07:00</published><updated>2008-08-22T23:04:53.913-07:00</updated><title type='text'>More Tweaks</title><content type='html'>In an attempt to fix some issues with extremely low performance (2-6fps) on some machines running Windows Vista with certain graphics hardware (nVidia 6100GO chipset graphics), I've been conducting some tests with a member of the forums who is experiencing these issues and I've been tweaking some of the rendering and DirectX code and am also adding some advanced settings that will hopefully help people set up the game in a way that runs optimally on their system:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JY-ifzPhRrM/SK-oPijQ5MI/AAAAAAAAALs/XbPZ7lrMedQ/s1600-h/newops.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JY-ifzPhRrM/SK-oPijQ5MI/AAAAAAAAALs/XbPZ7lrMedQ/s320/newops.jpg" alt="" id="BLOGGER_PHOTO_ID_5237589876581393602" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-6837450002920397023?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/6837450002920397023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=6837450002920397023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/6837450002920397023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/6837450002920397023'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/more-tweaks.html' title='More Tweaks'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_JY-ifzPhRrM/SK-oPijQ5MI/AAAAAAAAALs/XbPZ7lrMedQ/s72-c/newops.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-2366644216236311130</id><published>2008-08-21T17:08:00.001-07:00</published><updated>2008-08-21T17:18:29.833-07:00</updated><title type='text'>Control Interface</title><content type='html'>Some minor improvements yesterday that make a huge difference in usability:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added ability to walk around the map using the mouse to either 'right click' on a destination spot OR hold down the right mouse button and your character will walk in that direction. &lt;br /&gt;This is part of an ongoing project to make Drasil more usable without having to use the keyboard so much, but keyboard movement will also remain intact.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Began working on an "Assess Item/NPC/Player" window that will pop up if you double click on an NPC, Item, or other player.  We may add a skill to this called 'Assess' and a counter skill called 'Deceit' which would determine whether you can properly assess other player's skills / equiptment etc. and whether others are able to assess you.&lt;/li&gt;&lt;/ul&gt;Aside from that, today I will be working on some more features, aswell as writing some test software to try to narrow down the cause of some issues such as ultra-low FPS on some vista machines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-2366644216236311130?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/2366644216236311130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=2366644216236311130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2366644216236311130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/2366644216236311130'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/control-interface.html' title='Control Interface'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-7716265898180949136</id><published>2008-08-20T20:25:00.000-07:00</published><updated>2008-08-20T22:07:59.229-07:00</updated><title type='text'>Playing Nice with Lag</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Preface: New method of interpolation and "slack" to minimize "hitching" (suddenly jumping location while walking because of a lag spike.)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Every online gamer at one point or another will experience LAG.  It is sadly a fact of life.&lt;br /&gt;Although I've been busy trying to minimize bandwidth and packet exchange where-ever possible until this point, delays in a network router somewhere between the server and the clients could cause a sudden lack of communication.  If that delay is even half a second, players may notice a "jolt" in their movement as they resynchronize with the server.  This in inevitable playing over a network as large as the internet.&lt;br /&gt;&lt;br /&gt;So I began looking at ways to minimize the effects of this;  and came up with the concept of "movement slack".  Basically, when moving between tiles, the client and server generally don't &lt;span style="font-style: italic;"&gt;have to&lt;/span&gt; agree on the &lt;span style="font-style: italic;"&gt;exact&lt;/span&gt; location of the client at the exact moment.  In fact, even without changing any code, it is impossible to have PERFECT synchronization.  What is important however, is the location where the client is going - &lt;span style="font-style: italic;"&gt;ie&lt;/span&gt;; their destination.&lt;br /&gt;&lt;br /&gt;So, to use this in our advantage I have changed the synchronization routines a little, and it looks something like these 2 flow-charts (click to enlarge):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKz2Ie7t8-I/AAAAAAAAALc/XnEWltgjAhU/s1600-h/dev-chart1.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKz2Ie7t8-I/AAAAAAAAALc/XnEWltgjAhU/s320/dev-chart1.gif" alt="" id="BLOGGER_PHOTO_ID_5236831092327969762" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKz2U6d3BhI/AAAAAAAAALk/Rpv-rMhHdyg/s1600-h/dev-chart2.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKz2U6d3BhI/AAAAAAAAALk/Rpv-rMhHdyg/s320/dev-chart2.gif" alt="" id="BLOGGER_PHOTO_ID_5236831305877358098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see, the server now has a "tollerance" for the client to choose the stop location, but to avoid exploits being made of this, there are a number of guarding factors in place:&lt;br /&gt;&lt;br /&gt;I add speed-hack proofing server side.  So, although it "trusts" the client's "stop location" (the location of your char whenever you let up on the movement keys) within 2 tiles (value can be changed in the INI but 2 is the best), it only trusts  stop-location packets that arrived more than &lt;span style="font-weight: bold; font-style: italic;"&gt;x&lt;/span&gt;ms apart or so.&lt;br /&gt;&lt;br /&gt;to test it out, i actually modified client code to add a "speed hack" and if i remove the check the speed-hack works, by basically bombarding the server with UserPosition+StopAtPos packets (a kind of modified version of the Server_SetUserPosition packet)&lt;br /&gt;&lt;br /&gt;Sure enough, without any checks, the player can zoom around the map at insane speed (illegally)&lt;br /&gt;&lt;br /&gt;So this check is necessary, after applying the speedhack check I tested again; With the checks in place, only legal movements are allowed&lt;br /&gt;&lt;br /&gt;The nice thing about this new feature (the new StopAtPos packet) is it keeps the client + server more synced up, but places trust on the clients location by x tiles (default is 2; loads from Server.ini), but does so in a secure way, AND sometimes saves a packet from being sent when the user lets up on the movement keys.  It is like win-win-win situation&lt;br /&gt;&lt;br /&gt;Also note that it does not add any bandwidth, as the StopAtPos packet is basically just a replacement for the SetUserPosition packet in a specific situation (when the player stands still after moving)&lt;br /&gt;and on client side, when moving, it doesn't "jump" the client around when an update is recieved from the server about location and the client location is less than 2 tiles off, it more fluently remains synced.  To test it, I set the Packet_WaitTime to 600 to simulate a ping of 600+&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-7716265898180949136?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/7716265898180949136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=7716265898180949136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7716265898180949136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/7716265898180949136'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/playing-nice-with-lag.html' title='Playing Nice with Lag'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SKz2Ie7t8-I/AAAAAAAAALc/XnEWltgjAhU/s72-c/dev-chart1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-3179894439725020608</id><published>2008-08-20T02:15:00.001-07:00</published><updated>2008-08-20T03:31:54.178-07:00</updated><title type='text'>Drasil Tech - Chat Compression</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Drasil Tech.&lt;/span&gt;&lt;br /&gt;Welcome to the first post of a section I will call 'Drasil Tech' where we'll explore some technical feature of Drasil.&lt;br /&gt;&lt;br /&gt;As an introduction, I will point out that drasil is based on an increasingly heavily modified version of the &lt;a href="http://www.vbgore.com/"&gt;vbGore engine&lt;/a&gt; - but is quickly beginning to look like it's own unique platform as myself and Tyler (another programmer) re-write entire sections of the engine to fit the needs of Drasil or to optimize performance or stability.&lt;br /&gt;&lt;br /&gt;vbGore is a Visual Basic 6 based game engine, and as such Drasil is primary written in VB6.  However, some performance intensive parts of the game are being ported to C++ (esspeciall server side) and integrated as DLLs, to take advantage of C++'s superior performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Saving Bandwidth&lt;/span&gt; - vbGore's engine does a great job of minimizing bandwidth right out of the box by using an optimized binary based datastream protocal.  There was however, still room for improvment.  For starters a lot of strings (text) are sent from the server during game-play - Player names, Item names, Quest info, NPC chat dialog, Descriptions of game elements or players, Mailbox messages, the MOTD, and of course chat text shared between users.  If we want to have the ability to have global chat, we might end up quickly running up the bandwidth meter / causing network performance issues on the game server if people start to actively engage in chat.  Thus, I designed a compression scheme that is not only fast, but is designed specifically to compress strings of English text using a common dictionary that will be built in to the client.  Now our NPC messages and global (shout) chat don't have to cause potentially lag-inducing spikes in bandwidth.  See a screenshot demonstrating a test of the compression algorithm at work:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKvx7sut-EI/AAAAAAAAALU/AjSh3D0Evfg/s1600-h/compress.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JY-ifzPhRrM/SKvx7sut-EI/AAAAAAAAALU/AjSh3D0Evfg/s320/compress.jpg" alt="" id="BLOGGER_PHOTO_ID_5236544999670020162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Demonstrating compression of example MOTD text&lt;/span&gt; - &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;37 bytes may not seem like much but it adds up when these types of strings are being passed to and from the server many times per second to many different users.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-3179894439725020608?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/3179894439725020608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=3179894439725020608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3179894439725020608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3179894439725020608'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/drasil-tech-chat-compression.html' title='Drasil Tech - Chat Compression'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JY-ifzPhRrM/SKvx7sut-EI/AAAAAAAAALU/AjSh3D0Evfg/s72-c/compress.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-4339830317188990212</id><published>2008-08-20T01:46:00.000-07:00</published><updated>2008-08-20T02:06:24.793-07:00</updated><title type='text'>Features &amp; Bug fixes-some big, some small</title><content type='html'>Yesterday was mostly a day of adding features, testing, and polishing/optimizing.&lt;br /&gt;&lt;br /&gt;I have almost completed the status window which displays the user's health/mp/exp til next level.&lt;br /&gt;Note that as the stats system evolves, this may very well change as Stamina may be&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JY-ifzPhRrM/SKveQBzwCYI/AAAAAAAAALM/tvyhca-uMA4/s1600-h/statbox.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_JY-ifzPhRrM/SKveQBzwCYI/AAAAAAAAALM/tvyhca-uMA4/s400/statbox.gif" alt="" id="BLOGGER_PHOTO_ID_5236523358693099906" border="0" /&gt;&lt;/a&gt;come just as important as Mana (more on this later).  This window is still a work in progress (anyone notice the X and Y being switched around to read 'y   x'?)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another big feature that has been added (and although sounds simple was kind of a pain to code), was a &lt;b&gt;Double Click event&lt;/b&gt;.  So basically now we are able to write code that is triggered when the user double-clicks on something (I know, whoop-tee-doo right? But really this will add a lot more usability to the game).  This will come in extremely handy though as we develop the UI, Items, and stats systems.  For example a small but very useful little feature that was added: when you double-click on your character, your inventory pops up.  This is pretty much the norm for PC based RPGs, so why should Drasil lack this luxury?&lt;br /&gt;&lt;br /&gt;We are completely overhauling the Stats system and the associated user interface.  There are going to be a lot of big changes in this regard. &lt;br /&gt;&lt;br /&gt;Also, double clicking on any Item, Player, or NPC, etc. will bring up an information box giving a quick overview of relative attributes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Big Bug Fixed&lt;/span&gt; - I have found the cause of one of the random "phantom bugs" that plagues the vbGore engine, and fixed it.  If you ever got a &lt;span style="font-style: italic;"&gt;Run Time Error 9 &lt;/span&gt;OR &lt;span style="font-style: italic;"&gt;Run Time Error 91&lt;/span&gt; when trying to use an inventory item such as a potion etc. before, you have seen this bug in action.  It occured seemingly randomly;  none-the-less, it is history now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Optimizations&lt;/span&gt; - I'll overview the optimizations in list form:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Decreased server memory footprint by moving Errcode strings and SQL query strings to external files rather than being hard-coded into the EXE and thus taking up memory when not needed.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Optimized one of the server subroutines that is used to send update info about user stats.&lt;/li&gt;&lt;li&gt;Tweaked some of the client's setting-loading related routines to work a little faster and at the same time reduced the memory footprint of the client.&lt;/li&gt;&lt;li&gt;Misc. tweaks to the graphics.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-4339830317188990212?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/4339830317188990212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=4339830317188990212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4339830317188990212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/4339830317188990212'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/features-bug-fixes-some-big-some-small.html' title='Features &amp; Bug fixes-some big, some small'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JY-ifzPhRrM/SKveQBzwCYI/AAAAAAAAALM/tvyhca-uMA4/s72-c/statbox.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3871389540005481353.post-3933518002195842402</id><published>2008-08-19T05:52:00.000-07:00</published><updated>2008-08-19T19:33:23.858-07:00</updated><title type='text'>Welcome Post</title><content type='html'>Hello all, I've started this development blog to basically keep track of progress.  This blog is as much for my own organization of thoughts and tasks as for your reading enjoyment.  I will try to keep it interesting as much as possible, but I do apologize if it gets dry and technical at times.  Some details may also be censored out if they disclose anything that could affect game security or allow for possible exploits.&lt;br /&gt;&lt;br /&gt;For more about Drasil itself, please visit the official Drasil Website @ &lt;a href="http://www.drasil.net/"&gt;http://www.drasil.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt; Tim&lt;br /&gt;- Lead programmer, Drasil development team.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3871389540005481353-3933518002195842402?l=drasildev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drasildev.blogspot.com/feeds/3933518002195842402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3871389540005481353&amp;postID=3933518002195842402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3933518002195842402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3871389540005481353/posts/default/3933518002195842402'/><link rel='alternate' type='text/html' href='http://drasildev.blogspot.com/2008/08/welcome-post.html' title='Welcome Post'/><author><name>Timothy</name><uri>http://www.blogger.com/profile/13125201875749980007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
