<?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-4238726274491709714</id><updated>2011-10-17T18:29:05.970-07:00</updated><category term='Cryptband'/><category term='FOV'/><category term='User Interface'/><category term='Stealth'/><category term='Performance'/><category term='Release'/><category term='Multiplayer'/><category term='C'/><category term='Errors'/><category term='Fountains'/><category term='Code Snippet'/><category term='Paprika'/><category term='Lazarus'/><category term='Memories'/><category term='UI'/><category term='Ghosts'/><category term='Wine'/><category term='Display'/><category term='Skills'/><category term='Nlarn'/><category term='Reflections'/><category term='ASP.NET'/><category term='Story'/><category term='Brogue.'/><category term='Code'/><category term='Rewrite'/><category term='Graphics'/><category term='AI'/><category term='ASCII Dreams'/><category term='Questions'/><category term='Dungeons'/><category term='License'/><category term='Delphi'/><category term='Shops'/><category term='Persistance'/><category term='Crawl'/><category term='Hiatus'/><category term='JADE'/><category term='#rgrd'/><category term='Events'/><category term='Ideas'/><category term='Monsters'/><category term='Preview'/><category term='Video'/><category term='Procs'/><category term='Status'/><category term='Everquest 2'/><category term='Combat'/><category term='Subversion'/><category term='BugFixes'/><category term='Localisation'/><category term='Libtcod'/><category term='Design'/><category term='Nethermost Wanderings'/><category term='MageGuild'/><category term='Language Wars'/><category term='Refactoring'/><category term='Character Creation'/><category term='GPL'/><category term='Development'/><category term='Classes'/><category term='QuantumRogue'/><category term='DoomRL'/><category term='Cross-Platform'/><category term='Mouse'/><category term='Cosmology'/><category term='Legend of Saladir'/><category term='Potions'/><category term='Special Effects'/><category term='Dnd'/><category term='Lighting'/><category term='MMORPGs'/><category term='7DRL'/><category term='Stairs'/><category term='Serialisation'/><category term='MnemonicRL'/><category term='World of Warcraft'/><category term='Powers'/><category term='SaveScumming'/><category term='Review'/><category term='SQLLite'/><category term='NPCs'/><category term='Philosophy'/><category term='Advocacy'/><category term='New Roguelike'/><category term='Wizard Mode'/><category term='Interface'/><category term='Progress'/><category term='Corpses'/><category term='Daemon'/><category term='Characters'/><category term='Psychology'/><category term='C++'/><category term='Todo'/><category term='Martin&apos;s Dungeon Bash'/><category term='Items'/><category term='Old Kharne'/><category term='Nethack'/><category term='Gruesome'/><category term='Inventory'/><category term='Stats'/><category term='Roadmap'/><category term='Bane of the Living'/><category term='Cheating'/><category term='Food'/><category term='Uniques'/><category term='Software'/><category term='Abura Tan'/><category term='LambdaRogue'/><category term='Kharne'/><category term='Magic'/><category term='Permadeath'/><category term='Town'/><category term='Unangband'/><category term='Ranged Combat'/><category term='Scrolls'/><category term='Versions'/><category term='Incursion'/><category term='Tasks'/><category term='Music'/><category term='Fonts'/><category term='ASCII'/><category term='Stygia'/><category term='Vault'/><category term='Thievery'/><category term='Optimisation'/><category term='Metaplot'/><category term='Dungeon Generation'/><category term='RNG'/><category term='Humour'/><category term='Gameplay Ideas'/><category term='Open Source'/><category term='Prelude'/><category term='C#'/><category term='Angband'/><category term='Economy'/><category term='Autoexplore'/><category term='Overland Maps'/><category term='Stashes'/><category term='Googlecode'/><category term='Item Creation'/><category term='Poisons'/><category term='Linux'/><category term='Scoring'/><category term='Anniversary'/><category term='Dweller'/><category term='Achievements'/><category term='Reputation'/><category term='AARP'/><category term='Death'/><category term='Newsgroup'/><category term='Pascal'/><category term='Factions'/><title type='text'>Kharne</title><subtitle type='html'>Roguelike Development in the 21st Century</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default?start-index=101&amp;max-results=100'/><author><name>Dave</name><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>294</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8900273518550024938</id><published>2011-10-17T18:17:00.001-07:00</published><updated>2011-10-17T18:29:06.085-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='Daemon'/><title type='text'>Magic in DAEMON Part 3</title><content type='html'>&lt;div style="text-align: justify;"&gt;This is an early screenshot of the Spirit Details page from DAEMON. Ignore the details for now, they're still being worked on in terms of creating the algorithms for the details of the various powers of the spirits. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://1.bp.blogspot.com/-vP-IJmGufUU/TpzT6UUJYBI/AAAAAAAAB_w/_CNbCIq4CZg/s400/seals.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5664635430164324370" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 251px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But each spirit controlled by the character has a power (a castable &lt;i&gt;effect&lt;/i&gt;, like a spell in other roguelikes), and this has four parameters:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Proc&lt;/b&gt;: the % chance of this power being triggered each turn. &lt;b&gt;This use does not modify the recharge time &lt;/b&gt;so powers can be both passive (proc-based) and active (on-use). Can be modified by environmental factors, target availability, items and so on. Also thinking of allowing the random proc effect to be suppressed under certain circumstances.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Effect: &lt;/b&gt;for damaging powers, the damage dealt. For non-damaging powers, the extent.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Duration: &lt;/b&gt;the duration of the power for non-instant powers in turns, for instant-powers, the length of a HoT/DoT effect applied.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;b&gt;Recharge: &lt;/b&gt;the time to recharge the on-use version of the power.&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;All these figures are/will be modified by factors such as the Spirit Power Level/Sphere/Current Tolerance and Character Spirit/Mind/Summoning Skill and so on. Also I want enviromental and transient effects to play a role too.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&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/4238726274491709714-8900273518550024938?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8900273518550024938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8900273518550024938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8900273518550024938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8900273518550024938'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/10/magic-in-daemon-part-3.html' title='Magic in DAEMON Part 3'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-vP-IJmGufUU/TpzT6UUJYBI/AAAAAAAAB_w/_CNbCIq4CZg/s72-c/seals.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-5395816633294646671</id><published>2011-10-11T17:14:00.000-07:00</published><updated>2011-10-11T17:25:11.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='Daemon'/><title type='text'>Magic in DAEMON Part 2</title><content type='html'>&lt;div style="text-align: justify;"&gt;In DAEMON, each spirit you summon will have its own unique &lt;a href="http://www.fromoldbooks.org/Mathers-Goetia/index6.html"&gt;seal&lt;/a&gt;. A "&lt;a href="http://www.fromoldbooks.org/Mathers-Goetia/pages/043-Seal-of-Sabnock/250x250-q100.html"&gt;genuine&lt;/a&gt;" seal from the &lt;i&gt;Ars Goetia&lt;/i&gt; is given below:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-F5KqFj8kq74/TpTdF2IanOI/AAAAAAAABxg/LGc_iEdbO6A/s1600/043-Seal-of-Sabnock-q100-250x250.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-F5KqFj8kq74/TpTdF2IanOI/AAAAAAAABxg/LGc_iEdbO6A/s400/043-Seal-of-Sabnock-q100-250x250.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5662393724011453666" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 250px; height: 250px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've written code to procedurally generate similar-looking seals, given names and colours which as passed in as parameters:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-QnFxW_NGB6Q/TpTdjWyr6UI/AAAAAAAABxs/mB3YjmDWNEU/s1600/tellytubbies-big.bmp" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://3.bp.blogspot.com/-QnFxW_NGB6Q/TpTdjWyr6UI/AAAAAAAABxs/mB3YjmDWNEU/s400/tellytubbies-big.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5662394230994889026" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 180px; height: 188px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rendered on screen using Libtcod's functions the above seal appears as (actual size):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-aKvL11x9gp0/TpTeEUzTY5I/AAAAAAAABx4/_eNLYGCV55o/s1600/tellytubbiestxt.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://3.bp.blogspot.com/-aKvL11x9gp0/TpTeEUzTY5I/AAAAAAAABx4/_eNLYGCV55o/s400/tellytubbiestxt.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5662394797396288402" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 376px; height: 378px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;What's the point of all this? None actually, from a strictly game-play point of view, but I think it increases the atmosphere quite a lot.&lt;/div&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/4238726274491709714-5395816633294646671?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5395816633294646671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5395816633294646671' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5395816633294646671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5395816633294646671'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/10/magic-in-daemon-part-2.html' title='Magic in DAEMON Part 2'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-F5KqFj8kq74/TpTdF2IanOI/AAAAAAAABxg/LGc_iEdbO6A/s72-c/043-Seal-of-Sabnock-q100-250x250.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-4975948067947833317</id><published>2011-10-10T15:45:00.000-07:00</published><updated>2011-10-10T16:17:42.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='Unangband'/><category scheme='http://www.blogger.com/atom/ns#' term='Daemon'/><category scheme='http://www.blogger.com/atom/ns#' term='Crawl'/><title type='text'>Magic in DAEMON Part 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;I thought I'd write a little bit more about the Magic system in Daemon. Its very heavily (well, more like ripped-straight-off from) two real-world occult systems: the medieval grimoire &lt;a href="http://www.sacred-texts.com/grim/lks/index.htm"&gt;Ars Goetia&lt;/a&gt; (also known as the &lt;i&gt;Lesser Key of Solomon&lt;/i&gt;), and the &lt;a href="http://www.thelemapedia.org/index.php/Qabalah"&gt;Kabbalah&lt;/a&gt; (Tree of Life) of the &lt;i&gt;Western Mystery Tradition&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-Ly-VerNXwpU/TpN4_yRkNnI/AAAAAAAABuU/GivOzfSgIpE/s1600/26.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/-Ly-VerNXwpU/TpN4_yRkNnI/AAAAAAAABuU/GivOzfSgIpE/s400/26.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5662002193757386354" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 320px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;The Real "Tree of Life"&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I intend gameplay to metaphorically simulate the path of the &lt;i&gt;&lt;a href="http://heru-ra-ha.tripod.com/topics/goetia.html"&gt;Goetic&lt;/a&gt; &lt;/i&gt;(one who summons spirits) ascending the &lt;i&gt;Sephiroth&lt;/i&gt; (Spheres of Tree of Life) whilst battling the evil forces of the inverse of the Sephiroth, the &lt;a href="http://www.thelemapedia.org/index.php/Tree_of_Life:Infernals"&gt;Qliphoth&lt;/a&gt; as one descends dungeon levels. Thus the spirits the Character can summon to assist him/her have thematic powers appropriate to the corresponding Qliphoth, foes will also be based upon said qliphoths, and the Sephiroth themselves will influence both the environment and also other powers that the Character may have.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For example, the dungeon levels corresponding to Geburah/Golachab (named &lt;i&gt;Golachag &lt;/i&gt;in the game) will have enemies themed with destruction/burnings and ruins (in real-world occult lore, the qliphoth Golachab means "Burners with Fire" whereas the sephira Geburah embodies Strength), but the level itself will perhaps filled with martial armouries, great demonic captains or the remains of a dead god of war and so on.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The fluff in the game for Golachag states that:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;"Spirits of Golachag are those who burn to do destruction - even onto themselves. They are known for inspiring in mortals unbridled radicalism and tyranny that brooks no opposition, and executes all its opponents.When manifested their bodies are forever consumed with an unburning liquid fire."&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-ZfxrBZQ5hZI/TpN1yJyP2uI/AAAAAAAABuI/aNdk6mbkLXA/s1600/ql.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/-ZfxrBZQ5hZI/TpN1yJyP2uI/AAAAAAAABuI/aNdk6mbkLXA/s400/ql.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5661998661015427810" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 246px; height: 400px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Summoning and using Spirits will cost the Character &lt;i&gt;corruption&lt;/i&gt; and &lt;i&gt;degeneration&lt;/i&gt; points, which will however, in return make summoning and using spirits &lt;i&gt;easier&lt;/i&gt;. There will be ways to reduce both, although I've not finished designing these, but I suspect they will operate much like piety in &lt;a href="http://crawl.develz.org/wordpress/"&gt;Crawl&lt;/a&gt; does, although aligned upon Kabbalistic premises.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For example, in the screenshot above, it is possible to attempt to summon one of ten ranks of spirits, from the least, &lt;i&gt;Soldier&lt;/i&gt;, to the greatest, &lt;i&gt;King &lt;/i&gt;(as per the Ars Goetia).&lt;i&gt; &lt;/i&gt;The more powerful a spirit summoned, the greater the powers available to the Character, but the more risks are involved.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Characters can summon and control three spirits at a time, and have access to the powers of the spirits (for example, in the above sphere, Neremoth (Fear), spirits will be able to frighten enemies, reducing their effectiveness or even preventing them from attacking altogether for a short period of time). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;However, accessing their powers will reduce the spirit's life-force - represented by a &lt;i&gt;hunger&lt;/i&gt; level. If the hunger level gets too low, then bad things (tm) could happen. I am still designing the consequences of what happens if this occurs. Perhaps the spirit could break free and attack the Character?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm also intending for environmental effects to play a big part in the game, akin to &lt;a href="http://unangband.blogspot.com/"&gt;Unangband&lt;/a&gt; for example. These could make summoned spirits more or less effective, or easier to summon, and so on.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My aim is to make magic, and in fact, entire game-play a much more two-edged sword than in any previous roguelike, simulating some of the character progression in RPGs such as &lt;i&gt;Kult &lt;/i&gt;(which is another influence).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Note that the names of the Spheres/Qliphoths have been altered slightly from their real-world equivalents and all spirits will have randomly generated names as to avoid harming any innocent spirits.&lt;/i&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/4238726274491709714-4975948067947833317?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4975948067947833317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4975948067947833317' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4975948067947833317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4975948067947833317'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/10/magic-in-daemon-part-1.html' title='Magic in DAEMON Part 1'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-Ly-VerNXwpU/TpN4_yRkNnI/AAAAAAAABuU/GivOzfSgIpE/s72-c/26.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3933387244400563111</id><published>2011-10-08T14:39:00.001-07:00</published><updated>2011-10-08T14:43:30.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='Daemon'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Daemon</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've scrapped the idea of rewriting Kharne. I'm currently coding the occult-themed roguelike as a new game called Daemon using C# and the libtcod.NET library.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm aiming to get a first version out (under the GPL) by the end of the month or so. It will be a complete game with save/load and a win condition, as I've largely used the framework I wrote for my 7DRL, &lt;i&gt;Stygia&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Have some gratuitous screenshots:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-LExhfOTTpok/TpDDFMGZOYI/AAAAAAAABoI/dtx9zOyFez4/s1600/ss1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-LExhfOTTpok/TpDDFMGZOYI/AAAAAAAABoI/dtx9zOyFez4/s400/ss1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5661239225519520130" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 251px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RMMfUE-TZcE/TpDDKBWNvMI/AAAAAAAABoQ/syfGRCQkCNM/s1600/ss2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-RMMfUE-TZcE/TpDDKBWNvMI/AAAAAAAABoQ/syfGRCQkCNM/s400/ss2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5661239308532432066" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 251px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/-fh9Ullz5SHM/TpDDOOTnM0I/AAAAAAAABoY/MVcAWQXXyG8/s1600/ss3.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 251px;" src="http://2.bp.blogspot.com/-fh9Ullz5SHM/TpDDOOTnM0I/AAAAAAAABoY/MVcAWQXXyG8/s400/ss3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5661239380730655554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OlN3Do0YCRw/TpDDSLPOmTI/AAAAAAAABog/20zutKSUd10/s1600/ss4.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/-OlN3Do0YCRw/TpDDSLPOmTI/AAAAAAAABog/20zutKSUd10/s400/ss4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5661239448626436402" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 251px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&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/4238726274491709714-3933387244400563111?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3933387244400563111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3933387244400563111' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3933387244400563111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3933387244400563111'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/10/daemon.html' title='Daemon'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-LExhfOTTpok/TpDDFMGZOYI/AAAAAAAABoI/dtx9zOyFez4/s72-c/ss1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1415092163175410255</id><published>2011-09-24T14:18:00.000-07:00</published><updated>2011-09-24T14:20:16.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><title type='text'>Enochian</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-1KcQ30OwWBg/Tn5JV8Kio2I/AAAAAAAABQY/jo4k5lpqevI/s1600/encoh.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 64px;" src="http://2.bp.blogspot.com/-1KcQ30OwWBg/Tn5JV8Kio2I/AAAAAAAABQY/jo4k5lpqevI/s400/encoh.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5656038823300342626" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Well, that's a function for rendering _Enochian_ on the fly using Libtcod.NET completed. I'm using Enonchian as a general purpose magical language to add atmosphere and mystique.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-1415092163175410255?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1415092163175410255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1415092163175410255' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1415092163175410255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1415092163175410255'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/09/enochian.html' title='Enochian'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-1KcQ30OwWBg/Tn5JV8Kio2I/AAAAAAAABQY/jo4k5lpqevI/s72-c/encoh.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-7898192317605296123</id><published>2011-09-18T00:01:00.000-07:00</published><updated>2011-09-18T00:01:01.970-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Welcome Kharne v3</title><content type='html'>&lt;div&gt;&lt;div style="text-align: justify; "&gt;So, I've decided to take my existing 7DRL, &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php/Stygia"&gt;Stygia&lt;/a&gt; (which is a complete game) and use it as a framework to commence an &lt;b&gt;in-parallel &lt;/b&gt;(and much less ambitious) rewrite of Kharne, using C# and &lt;a href="http://doryen.eptalys.net/libtcod/"&gt;Libtcod.NET&lt;/a&gt;. This one will have a slightly darker, less generic theme (with a magical system based entirely on &lt;a href="http://en.wikipedia.org/wiki/Goetia"&gt;Goetic magick&lt;/a&gt;) and will focus more on atmosphere and personal horror.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;No doubt there will be extra-dimensional tentacles involved somewhere.&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;Don't worry, there will be another release of the existing Kharne (Alpha 24) shortly.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;And this mysterious text below? Why the big bad himself, that you will have to defeat. Kudos and a hug to the first person to recognise the language.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-viQs9tRksGc/TnU8uBaz5ZI/AAAAAAAABK4/svEUZzEhb7s/s1600/new3.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 105px; " src="http://3.bp.blogspot.com/-viQs9tRksGc/TnU8uBaz5ZI/AAAAAAAABK4/svEUZzEhb7s/s400/new3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5653491668586063250" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7898192317605296123?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7898192317605296123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7898192317605296123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7898192317605296123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7898192317605296123'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/09/welcome-kharne-v3.html' title='Welcome Kharne v3'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-viQs9tRksGc/TnU8uBaz5ZI/AAAAAAAABK4/svEUZzEhb7s/s72-c/new3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-335076822517639553</id><published>2011-09-17T17:22:00.000-07:00</published><updated>2011-09-17T17:27:30.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Rewrite'/><title type='text'>A new beginning?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-mAkGpr41nv8/TnU6tNA4vOI/AAAAAAAABKw/9TvStR0yW-8/s1600/new2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-JISlEw1uSrY/TnU6nFxtvbI/AAAAAAAABKo/XkXjNY9S-Lg/s1600/new1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 251px;" src="http://1.bp.blogspot.com/-JISlEw1uSrY/TnU6nFxtvbI/AAAAAAAABKo/XkXjNY9S-Lg/s400/new1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5653489350473530802" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/-mAkGpr41nv8/TnU6tNA4vOI/AAAAAAAABKw/9TvStR0yW-8/s400/new2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5653489455495429346" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 251px; " /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-335076822517639553?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/335076822517639553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=335076822517639553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/335076822517639553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/335076822517639553'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/09/new-beginning.html' title='A new beginning?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-JISlEw1uSrY/TnU6nFxtvbI/AAAAAAAABKo/XkXjNY9S-Lg/s72-c/new1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-2802087115214904659</id><published>2011-09-09T13:04:00.000-07:00</published><updated>2011-09-09T13:10:22.274-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Magic Systems based upon the Goetia.</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 14px; line-height: 15px; "&gt;So today I'm thinking about magic systems, or more importantly &lt;i&gt;implementable&lt;/i&gt; magic systems for roguelikes. I haven't yet got around to implementing magic in Kharne, and I want to make sure the system I do choose works.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;I'm tempted to implement a magic system modelled upon the &lt;a href="http://heru-ra-ha.tripod.com/topics/goetia.html"&gt;Goetia&lt;/a&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 153, 153); font-family: 'Times New Roman'; background-color: rgb(0, 0, 0); font-size: medium; "&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The interaction between the magician and the summoned spirits in Goetic magick is quite unique.  Whereas in some traditions, spirits are prayed to or asked for guidance and wisdom, the spirits and demons of Goetia are bound and commanded by the magician to act as his servants.  In such an interaction, it is highly important for the magician to be aware that he is calling upon these spirits to perform an action, rather than do it himself, because many of these beings are more powerful than him.  Therefore, compelling the spirits to obey is a major concern.  For protection, the magician employs elaborate circles and&lt;br /&gt;rotes to confine the spirit.  Once confined, the spirit must be forced to act in accordance with the will of the magician.  Many different methods are employed to compel the spirits; lesser spirits can often be coerced, threatened or fooled into compliance, whereas more powerful spirits can be more difficult to control.&lt;/p&gt;&lt;p&gt;Common methods of control include threats, particularly in the form of the vibration of divine names, which tells the demon or spirit that the magician speaks with the authority and power of the god whose name he intoning.  Some magicians will try to persuade the spirit, sometimes resorting to begging and bootlicking.  In many cases, the magician may try to bargain with the spirit, to which it will most likely happily agree, exchanging service for sacrifice of some kind.&lt;/p&gt;&lt;p&gt;The various Goetic demons and beings are often very specialized.  Grimoires list long catalogues of spirits, their specific powers, and how they may be summoned by the use of different seals, incantations, sacrifices and incenses.  Before conjuration, the magician must carefully consult these catalogues and select the single spirit best suited for the task.&lt;/p&gt;&lt;p&gt;The Goetic spirits are not well suited to conversation, as are the Enochian angels.  The lesser spirits are often stupid and are not known for their honesty.  Summoning of the demons for the purpose of gaining information is generally a waste of time, unless perhaps the being is specifically ordered to spy or seek out information for the magician.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;i..e magic is essentially summoning creatures to do your will, and which creature you summon and bind depends on what effect you wish to create; also, summoning will have a cost. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;In other words, instead of _yet another fireball spell_, you summon a creature of fire at a specific location for a certain period of time. The effectiveness of this (how long the spirit stays, how effective it is and so on) could depend on your reputation with the bosses/factions of the fire spirits/how much you've sacrificed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;It seems sufficiently orthogonal to conventional DnD-based magic systems that it may make for an interesting twist on roguelike gameplay.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 15px; "&gt;Thoughts?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2802087115214904659?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2802087115214904659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2802087115214904659' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2802087115214904659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2802087115214904659'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/09/magic-systems-based-upon-goetia.html' title='Magic Systems based upon the Goetia.'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1665054857883879525</id><published>2011-09-07T15:53:00.000-07:00</published><updated>2011-09-07T15:55:29.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Lighting'/><title type='text'>Multiple Light Sources</title><content type='html'>&lt;div style="text-align: justify;"&gt;So I'm wondering just how one handles multiple light sources? The alpha-blending of the various light-intensity values for a particular map cell is easily understandable, but how does one store (potentially near-infinite) multiple-overlapping light sources and their separate light intensities?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&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/4238726274491709714-1665054857883879525?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1665054857883879525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1665054857883879525' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1665054857883879525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1665054857883879525'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/09/multiple-light-sources.html' title='Multiple Light Sources'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-634776346899222449</id><published>2011-08-25T16:17:00.001-07:00</published><updated>2011-08-25T16:17:43.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Hmmmm</title><content type='html'>I'm really tempted to start rewriting Kharne in C# using Libtcod.NET&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-634776346899222449?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/634776346899222449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=634776346899222449' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/634776346899222449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/634776346899222449'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/08/hmmmm.html' title='Hmmmm'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-1083862122949512110</id><published>2011-07-19T07:52:00.000-07:00</published><updated>2011-07-19T08:03:45.506-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Fonts'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>New Fonts?</title><content type='html'>&lt;div style="text-align: justify;"&gt;As part of a general overhaul of the UI, I'm experimenting with using Angband fonts:&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-kIBWSCeGTB8/TiWbF_TqDwI/AAAAAAAAARU/OohJrgytiyU/s400/fonts.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 327px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5631077436292206338" /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To be honest, I think it improves the look of the game dramatically. Due to their slightly larger size however, I'm going to have to move the equipped items out of the inventory items view and into a new view of their own (like Angband!), but I think I'll only do that when I implement proper keyboard-equipping and removing items.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I do have a query though before going ahead with this in the next Alpha Release, which I've been unable to find the answer anywhere on the web: &lt;b&gt;am I legally allowed to use the fonts that come with Angband in an MPL project?&lt;/b&gt; If so, what license are they under? If they are GPL, then I &lt;a href="http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses"&gt;think&lt;/a&gt; I can distribute them solely as GPL and include them in my MPL program and &lt;i&gt;then get a sore head due to all these mad license incompatibility&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&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/4238726274491709714-1083862122949512110?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1083862122949512110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1083862122949512110' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1083862122949512110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1083862122949512110'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/new-fonts.html' title='New Fonts?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-kIBWSCeGTB8/TiWbF_TqDwI/AAAAAAAAARU/OohJrgytiyU/s72-c/fonts.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-4480298497108162153</id><published>2011-07-15T15:42:00.001-07:00</published><updated>2011-07-15T15:47:23.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne Alpha 23 now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;b&gt;(note: I've moved to a new numbering system for Alpha releases - this is effectively 0.06b in the old system; the change was made because I don't feel right giving an incomplete game a proper version number - the Roguelike world is filled with too many v0.01s and v0.001s and so on as is).&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;A new version of Kharne (Alpha 23) is now &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne-Alpha-23%20%280.06b%29.zip&amp;amp;can=2&amp;amp;q="&gt;available&lt;/a&gt; (source also available &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne-Alpha-23-src.zip&amp;amp;can=2&amp;amp;q="&gt;here&lt;/a&gt; as a download, and browsable &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;here&lt;/a&gt;, and released under the MPL). This is mainly a bugfix version superseding the previous version, although I've made a few other additional changes:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Moved to a new Versioning System.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Status Conditions are now displayed at the bottom of the main display.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;The '@' symbol is coloured according to the current health of the Player Character.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Added four more types of potions to cover Elemental Resistances, which add 40% to their respective resistances.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Trying to drink a potion or reading a scroll whilst not being able to will now exit the inventory properly.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Potions of Healing and Extra-Healing now cure poisons.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Potions of Extra-Healing cure the Paralysis, Blinded, Confusion and Drained conditions.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;A message is generated whenever a level containing a Unique is entered.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Wearing Heavy or Medium armour reduces stealth.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Thieves now learn Stealth skills quicker.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Warriors now learn Defense &amp;amp; Heavy Armour skills quicker.&lt;/i&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Stealth rolls are modified by the distance to Monsters.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I intend this to be the last version before magic, end-game/win conditions and the monster overhaul are implemented. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Comments, bug reports and queries most welcome of course.&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/4238726274491709714-4480298497108162153?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4480298497108162153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4480298497108162153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4480298497108162153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4480298497108162153'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/kharne-alpha-23-now-available.html' title='Kharne Alpha 23 now available'/><author><name>Dave</name><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-4238726274491709714.post-4866506400750053399</id><published>2011-07-14T00:01:00.000-07:00</published><updated>2011-07-14T00:01:04.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Status'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Status Effects</title><content type='html'>&lt;div style="text-align: justify;"&gt;In the version of the code checked into the &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;Repository&lt;/a&gt; this evening (which will eventually become either .06b or .07), Status Effects are now displayed at the bottom of the main display, with positive effects (for example, &lt;i&gt;Fire Resistance&lt;/i&gt; and &lt;i&gt;Free Action&lt;/i&gt;) on the left, and negative effects (in the screenshot below, &lt;i&gt;Confusion&lt;/i&gt;) on the right:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;img src="http://4.bp.blogspot.com/--jTOy1eIoeM/Th4Vpe0-YAI/AAAAAAAAAO8/QLGTUvK56MI/s400/status.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 132px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5628960386653773826" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Though should I also display the number of turns left for each one as well? e.g. &lt;i&gt;Conf [10]&lt;/i&gt;? Or is that too much information? Maybe only limit it to positive effects?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-4866506400750053399?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4866506400750053399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4866506400750053399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4866506400750053399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4866506400750053399'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/status-effects.html' title='Status Effects'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/--jTOy1eIoeM/Th4Vpe0-YAI/AAAAAAAAAO8/QLGTUvK56MI/s72-c/status.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8877159668276674422</id><published>2011-07-13T00:42:00.000-07:00</published><updated>2011-07-13T00:42:00.529-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><title type='text'>Monster Flags</title><content type='html'>&lt;div style="text-align: justify;"&gt;I now have decided on the following list of monster flags:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;ALIGNMENT_EVIL&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_BERSERK&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_COWARDLY&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_FLEE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_GREEDY&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_IGNORE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_RANGED&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BREED_MULTIPLY&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DOOR_BASH&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DOOR_OPEN&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_CASH&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_CORPSE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_ITEMS_ARTEFACT&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_ITEMS_COMMON&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_ITEMS_EPIC&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_ITEMS_SUPERB&lt;/li&gt;&lt;li style="text-align: justify;"&gt;DROP_ITEMS_UNCOMMON&lt;/li&gt;&lt;li style="text-align: justify;"&gt;GENDER_FEMALE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;GENDER_MALE &lt;/li&gt;&lt;li style="text-align: justify;"&gt;GOT_ESCORT&lt;/li&gt;&lt;li style="text-align: justify;"&gt;GOT_ESCORTS&lt;/li&gt;&lt;li style="text-align: justify;"&gt;GOT_FRIEND&lt;/li&gt;&lt;li style="text-align: justify;"&gt;GOT_FRIENDS&lt;/li&gt;&lt;li style="text-align: justify;"&gt;IMMUNE_AIR&lt;/li&gt;&lt;li style="text-align: justify;"&gt;IMMUNE_EARTH&lt;/li&gt;&lt;li style="text-align: justify;"&gt;IMMUNE_FIRE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;IMMUNE_WATER&lt;/li&gt;&lt;li style="text-align: justify;"&gt;INVISIBLE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;NEVER_MOVE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;POISONOUS&lt;/li&gt;&lt;li style="text-align: justify;"&gt;REGENERATE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;RESIST_AIR&lt;/li&gt;&lt;li style="text-align: justify;"&gt;RESIST_EARTH&lt;/li&gt;&lt;li style="text-align: justify;"&gt;RESIST_FIRE&lt;/li&gt;&lt;li style="text-align: justify;"&gt;RESIST_WATER&lt;/li&gt;&lt;li style="text-align: justify;"&gt;TELEPORT&lt;/li&gt;&lt;li style="text-align: justify;"&gt;TELEPORT_AWAY&lt;/li&gt;&lt;li style="text-align: justify;"&gt;TELEPORT_BLINK&lt;/li&gt;&lt;li style="text-align: justify;"&gt;TELEPORT_TO&lt;/li&gt;&lt;li style="text-align: justify;"&gt;WALL_KILL&lt;/li&gt;&lt;li style="text-align: justify;"&gt;WALL_PASS&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Most of these do what they say on the tin, although the Behaviour Flags are worth noting in greater detail:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_BERSERK: This flag means the creature will do increased damage at low health.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_COWARDLY: Creatures having this flag will run away when hurt, and use ranged combat where possible, although their priority is to keep moving away from the @.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_FLEE: Creatures having this flag will flee when hurt badly.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_GREEDY: Creatures featuring this will actively prefer to pick up equipment as opposed to engaging the @ where possible.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_IGNORE: These creatures will not attack unless attacked first.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;BEHAVE_RANGED:  These creatures will attempt to stay at range and attack from a distance where possible.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;If there are any more options and flags you think should be used, feel free to say so in the comments!&lt;/div&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/4238726274491709714-8877159668276674422?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8877159668276674422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8877159668276674422' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8877159668276674422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8877159668276674422'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/monster-flags.html' title='Monster Flags'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-7500810098971618685</id><published>2011-07-12T17:37:00.000-07:00</published><updated>2011-07-12T17:42:00.908-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Crawl'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>Source-diving</title><content type='html'>&lt;div style="text-align: justify;"&gt;I now have the Angband &lt;a href="https://github.com/angband/angband"&gt;source&lt;/a&gt; for a deep perusal, which will help with implementation of magic and better monster AI. I think I'm moving away from a Crawl-inspired game towards an Angband inspired game, although I think there are many wonderful features in Crawl worth stealing^H^H^H^H^H^H^Hborrowing. Both are excellent games though.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7500810098971618685?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7500810098971618685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7500810098971618685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7500810098971618685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7500810098971618685'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/source-diving.html' title='Source-diving'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-7069851855823481329</id><published>2011-07-11T00:01:00.000-07:00</published><updated>2011-07-11T00:01:02.449-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLLite'/><title type='text'>More on Edit Files</title><content type='html'>&lt;div style="text-align: justify;"&gt;Following up on &lt;a href="http://kharne-rl.blogspot.com/2011/07/moving-to-edit-files.html"&gt;this&lt;/a&gt; post, I've had to resort to an Excel spreadsheet to extract the data from the SQLLite database and get it into a suitable format. At least it will save me the hassle of retyping all the monster stats in (there are currently 120 different creatures).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7069851855823481329?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7069851855823481329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7069851855823481329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7069851855823481329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7069851855823481329'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/more-on-edit-files.html' title='More on Edit Files'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-64931207731346093</id><published>2011-07-10T09:36:00.000-07:00</published><updated>2011-07-10T09:39:10.969-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Refactoring again</title><content type='html'>&lt;div style="text-align: justify;"&gt;Anyone remember the &lt;a href="http://kharne-rl.blogspot.com/2009/10/refactoring-completed.html"&gt;Great Code Refactor&lt;/a&gt; of 2009? I suspect there will be a sequel - the Great Code Refactor of 2011, Son of the Great Code Refactor. Looking at a lot of the code for combat, as I implement better monster AI and spells, I'm going to have to rewrite and refactor it. Still, its all good, I have plenty of ideas on how to do this, and it will cut down strongly on code size and complexity.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-64931207731346093?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/64931207731346093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=64931207731346093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/64931207731346093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/64931207731346093'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/refactoring-again.html' title='Refactoring again'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6506356490802636998</id><published>2011-07-09T00:38:00.000-07:00</published><updated>2011-07-09T00:38:00.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>Moving to Edit Files</title><content type='html'>Following much thought, I've decided to move to Edit Files to store at least the Monster Definitions, instead of in an SQLLite Database. The main reason is actually flexibility.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The model I've chosen is something similar to the Angband edit file, with a few modifications. Here is the template:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# Each creature has an individual entry in the following format:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;#&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# N: ID : singlular name : plural name&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# L: Creature Level : Rarity : Uniqable?&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# E: Ecology : Type: Pickup Items?&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# G: Display Character : Display Colour&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# I: Hit Dice : Armour Class : Evasion : Speed&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# V: Initial Alertness Level&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# A: Action Frequency : Action Text &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# S: Speech Frequency : Speech Text &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# B: Attack Method : Attack Effect : Damage&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# M: Spell | Spell | Spell | etc&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# F: Flag | Flag | Flag | etc&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# C: Class | Class | etc&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;# D: Description&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Anyone familiar with the Angband source should recognise most of these options, although I've enhanced a couple, and added a few additional sections. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Below I give a couple of excerpts of 2 creatures already in Kharne translated over to the new format:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;N: 2 : Kobold : Kobolds&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;L: 1 : Common : Yes&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;E: Fortress: Goblinoid: Yes&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;G: k: $004080&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;I: 1: 5: 11: 12&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;V: 255&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;A: 10: "picks a chunk of rotten meat from its teeth"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;A: 10: "yips noisily"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;S: 20: "I'm gonna kill you! Yip yip!"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;B: HIT: HURT: 1d6 &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;B: SHOOT: HURT: 1d6&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: COWARDLY | FLEE | OPEN_DOOR | GREEDY&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: EVIL | POISONOUS | CORPSES&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: DROP_ITEMS_POOR | DROP_CASH &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;C: Commando | Archer | Lurker&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;D: "Kobolds are short, ugly goblinoid humanoids."&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;D: "They are known to have cowardly and sadistic tendencies."&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;N: 23 : Ogre Mage : Ogre Magi&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;L: 4 : Rare : Yes&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;E: Fortress: Giant : Yes&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;G: O: $FF00FF&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;I: 4: 6: 12: 12&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;V: 255&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;A: 10: "waves a magic stick"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;A: 10: "yells a magic word"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;S: 20: "dis two and dat two make four, right?"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;B: HIT: SLAM: 1d6&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;M: MAGIC_MISSILE | HEAL | HOLD | TELEPORT&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: RANGED | BESERK | OPEN_DOOR | GREEDY&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: EVIL | CORPSES&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;F: DROP_ITEMS_POOR | DROP_ITEMS_GOOD | DROP_CASH &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;D: "Ogre Magi are hideous and deformed ogres wrapped in deathly black robes"&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;D: "They are known to be cruel and masters of deadly arcane magics."&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&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/4238726274491709714-6506356490802636998?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6506356490802636998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6506356490802636998' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6506356490802636998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6506356490802636998'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/moving-to-edit-files.html' title='Moving to Edit Files'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6667053366821355418</id><published>2011-07-08T00:45:00.000-07:00</published><updated>2011-07-08T00:45:00.093-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Todo'/><title type='text'>In the next version....</title><content type='html'>I have a master list of items that comprise my "todo list". There are currently 138 items on it, comprising probably several hundred hours of development work. I'm currently combing through them, looking for &lt;b&gt;achievable&lt;/b&gt; items to include in the next release.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far, I have (typos, poor grammar and all):&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "&gt;&lt;span class="Apple-style-span"  &gt;&lt;b&gt;&lt;i&gt;Implement First level spells - have an array of ints to represent turns left for each spell effect&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "&gt;&lt;span class="Apple-style-span"  &gt;&lt;i&gt;Change item generation so monsters drop more items and less are generated on the floor.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Corpses - some creatures drop corpses that can or cannot be chopped for food. Mainly humanoid or goblinoid or animal, or giant, but some are poisonous.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Reading a scroll or normal fighting or &lt;span class="Apple-style-span"&gt;digging and opening doors &lt;/span&gt;produces noise - awakens any monsters within sight. Even ones out of visibility range e.g. "Something stirs in the darkness" a&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Stealth bonus to stealth skill is reduced by wearing heavy or medium armour. Also thieves get class bonus&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Add bonus to character stealth roll based upon distance to monster.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Monsters attacking makes noise&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Monster morale? Some monsters flee if overpowered. Make an alert message to say this.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Thieves learn sneak much much quicker than other classes&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;&lt;i&gt;Update item descriptions to make more grammatical sense. .&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;Add Elemental invasion gates. That occasionally pump out more creatures every one hundred turns or so so eventually the levels get filled up. Keep a count of the number of creatures killed - if none then allow the gate to be destroyed. Add count to dungeon object to keep track of this.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;For monster pathing, if monster is weaker then set path to go through, and then swap them with message for pushing past -  set other monster squares for pathfinding algorithim to small values equal to uncontested terrain.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); "  &gt;&lt;i&gt;When there is a unique present on the level, add a level feeling message like "a voice in the distance yells 'who disturbs the domain of blah the bleh'" - randomise the message slightly.&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&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/4238726274491709714-6667053366821355418?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6667053366821355418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6667053366821355418' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6667053366821355418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6667053366821355418'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/in-next-version.html' title='In the next version....'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3040036492251464612</id><published>2011-07-07T00:31:00.000-07:00</published><updated>2011-07-06T16:34:21.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humour'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>If this is your idea of safe, I'd hate to see your idea of dangerous....</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-VOxnW6SMmAA/ThMue_WdYVI/AAAAAAAAALs/UCYLKtBYKxk/s1600/safe.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 197px;" src="http://2.bp.blogspot.com/-VOxnW6SMmAA/ThMue_WdYVI/AAAAAAAAALs/UCYLKtBYKxk/s400/safe.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5625891469452468562" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3040036492251464612?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3040036492251464612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3040036492251464612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3040036492251464612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3040036492251464612'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/if-this-is-your-idea-of-safe-id-hate-to.html' title='If this is your idea of safe, I&apos;d hate to see your idea of dangerous....'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-VOxnW6SMmAA/ThMue_WdYVI/AAAAAAAAALs/UCYLKtBYKxk/s72-c/safe.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-2353507547318277375</id><published>2011-07-06T16:34:00.000-07:00</published><updated>2011-07-06T16:38:12.278-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.06a now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-size: 13px; line-height: 20px; "&gt;A new version of Kharne (v0.0.6a) is now &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne006a.zip&amp;amp;can=2&amp;amp;q="&gt;available&lt;/a&gt; (source also available &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne006a-src.zip&amp;amp;can=2&amp;amp;q="&gt;here&lt;/a&gt; and released under the MPL). This is mainly a bugfix version superceding v0.0.6, although I've made some other additional changes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-size: 13px; line-height: 20px; "&gt; Changes to this version are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;pre style="font-size: 12px; white-space: pre-wrap; max-width: 80em; padding-left: 0.7em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Potions can now be drunk when confused or blind.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Some monsters can now pickup selected items from the dungeon floor.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Monster Breath Attacks are now represented graphically by a 'beam'.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Dungeon features (e.g. growths, piles of bones etc) are no longer passable by default and must be 'T'unnelled through to pass.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Added tooltips for Background Dungeon features.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Whenever the Player Character enters or leaves a Background Dungeon feature, an appropriate message is displayed in the Message Log.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Stair descriptions are now more thematically appropriate.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Changed the glyph for an open door from \ to '.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Magical items have been increased in power.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Fixed an issue with certain dungeon features not appearing whilst in steath or enraged.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Trying to drink a potion or read a scroll whilst unable to do so will no longer consume the potion or scroll.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Potions of See Invisible and Combat Mastery now have correct expiration messages.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Scrolls of Enchant Weapon will no longer enchant Shields.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Fixed an issue with not displaying the unidentified name of Potions of Might.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Potions of Might now triple the character's bonus damage, not their strength.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Potions can now be identified properly by using Scrolls of Identify.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;When IDing a Scroll by using it, the Scroll Type will now be displayed in the Message Log.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Cursed items are now significantly worse in effect.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Monster Tooltips now indicate if the Monster is unaware of the Player Character.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Monster appearance messages now check for Player Character Stealth properly.&lt;/li&gt;&lt;/ul&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2353507547318277375?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2353507547318277375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2353507547318277375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2353507547318277375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2353507547318277375'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/kharne-006a-now-available.html' title='Kharne 0.06a now available'/><author><name>Dave</name><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-4238726274491709714.post-8411194681015834726</id><published>2011-07-05T00:05:00.000-07:00</published><updated>2011-07-05T00:05:00.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Special Effects'/><title type='text'>Beam and other Spell Graphics coming soon..</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-dXgEeCACWtI/ThIrWKy5KQI/AAAAAAAAALQ/WbKOTFBivvc/s1600/beams.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 394px; height: 400px;" src="http://2.bp.blogspot.com/-dXgEeCACWtI/ThIrWKy5KQI/AAAAAAAAALQ/WbKOTFBivvc/s400/beams.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5625606544394103042" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8411194681015834726?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8411194681015834726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8411194681015834726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8411194681015834726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8411194681015834726'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/beam-and-other-spell-graphics-coming.html' title='Beam and other Spell Graphics coming soon..'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-dXgEeCACWtI/ThIrWKy5KQI/AAAAAAAAALQ/WbKOTFBivvc/s72-c/beams.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3373625264361784318</id><published>2011-07-04T05:26:00.000-07:00</published><updated>2011-07-04T05:31:19.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrolls'/><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='BugFixes'/><title type='text'>Upcoming Bug Fixes</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've identified the following issues with potions and scrolls, which I will be fixing in a bug-fix version (0.06a) which hopefully will be released soon (in the next couple of days):&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Some potions aren't identified after use when they should be.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;New occurrences of some potions that have been previously identified are thereafter wrongly generated as unidentified.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;The text to indicate that a Potion of Combat Mastery's effects have ended is wrong. &lt;/li&gt;&lt;li style="text-align: justify;"&gt;Rage potions are not named properly.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Enchant Weapon scrolls shouldn't enchant a wielded shield.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Some scrolls aren't being identified after use properly.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;When raging, and trying to consume potions, even though you get the "you can't do that right now", the potion is still consumed.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Apologies if any of these bugs have disrupted gameplay.&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/4238726274491709714-3373625264361784318?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3373625264361784318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3373625264361784318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3373625264361784318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3373625264361784318'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/upcoming-bug-fixes.html' title='Upcoming Bug Fixes'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3847536035775314153</id><published>2011-07-03T14:15:00.001-07:00</published><updated>2011-07-03T14:18:21.166-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>"Overconfidence will be your weakness...."</title><content type='html'>Boo! OOD 11-headed hydras + overconfidence = dead @. Still, it was a most enjoyable run whilst it lasted, and I've come away with more ideas for Kharne (the last version of Angband I played before this was 2.7!)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Angband 3.2.0 Character Dump]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Name   Berta                                    Self  RB  CB  EB   Best&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Sex    Female       Age             25   STR:  18/68  +4  +5  +4 18/198&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Race   Half-Troll   Height          85   INT:     13  -4  -2  +0      7&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Class  Warrior      Weight         220   WIS:     12  -2  -2  +3     11&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Title  Commando     Social       Known   DEX:  18/57  -4  +2  +0  18/37&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; HP     -11/575      Maximize         Y   CON:  18/80  +3  +2  +0 18/130&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; SP     0/0                               CHR:     16  -6  -1  +3     12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Level               32   Armor    [37,+59]     Saving Throw         43%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Cur Exp         180931   Fight   (+20,+17)     Stealth             Fair&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Max Exp         180931   Melee   (+32,+29)     Fighting       Legendary&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Adv Exp         240000   Shoot   (+38,+11)     Shooting          Heroic&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; MaxDepth   1800' (L36)   Blows    2.3/turn     Disarming            51%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Game Turns      589895   Shots      2/turn     Magic Device          32&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Standard Turns   91367   Infra       30 ft     Perception       1 in 43&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Resting Turns      746   Speed           7     Searching            13%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Gold             30817   Burden  203.7 lbs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Your father was a Water-Troll Warrior.  You have blue-bloodshot eyes,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; oily dark purple hair, and white scabby skin.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rAcid:....+.+...... rConf:.........+...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rElec:*.....+.+.... Sound:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rFire:......+...... Shard:.......+.....&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rCold:......+...... Nexus:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rPois:............. Nethr:......+......&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rFear:............+ Chaos:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rLite:............. Disen:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rDark:......+...... S.Dig:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;rBlnd:............. Feath:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Light:............. Aggrv:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Regen:............+ Stea.:......+......&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  ESP:............. Sear.:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Invis:...+......... Infra:............+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;FrAct:..+.......... Tunn.:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;HLife:............. Speed:...........+.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;ImpHP:............. Blows:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;ImpSP:............. Shots:.+...........&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt; Fear:............. Might:.............&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Last Messages]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; One of your Scrolls titled "sus aetasta" of Word of Recall (j) was destroyed!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The 11-headed hydra breathes fire.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The 4-headed hydra squeals in pain.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; One of your Scrolls titled "nundisco" of Satisfy Hunger (i) was destroyed!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; Some of your Arrows (1d4) (+0,+0) (n) were destroyed!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The Hellhound pushes past the 4-headed hydra.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; You zap the 11-headed hydra.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; You miss the 11-headed hydra.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The 11-headed hydra breathes fire.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The Hellhound resists a lot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; Some of your Arrows (1d4) (+0,+0) (n) were destroyed!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The 11-headed hydra breathes fire.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The 11-headed hydra resists a lot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; The Hellhound resists a lot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&amp;gt; You die.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Killed by a 11-headed hydra.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Character Equipment]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;a) The Mace 'Taratol' (3d4) (+12,+12)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by Beorn, the Shape-Changer at 1500 feet (level 30).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     *Slays* dragons.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Branded with lightning.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides immunity to lightning.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid, electricity, fire, cold.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     When activated, it hastens you for d20+20 turns.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Takes 171 to 340 turns to recharge at your current speed.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Your chance of success is 87.5%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Combat info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     2.3 blows/round.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 3 strength and 0 dex you would get 2.7 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 0 strength and 2 dex you would get 2.7 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Average damage/round: 132 vs. creatures not resistant to&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     electricity, 171.5 vs. dragons, and 92.3 vs. others.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;b) a Long Bow of Extra Shots (x3) (+18,+11) (+1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1550 feet (level 31).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +1 shooting speed.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;c) a Malachite Ring of Free Action&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 450 feet (level 9).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Prevents paralysis.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;d) a Mithril Ring of See Invisible&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1750 feet (level 35).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Grants the ability to see invisible things.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;e) a Copper Amulet of Resist Acid&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Bought from a store.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to acid.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;f) The Phial of Galadriel&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by Nár, the Dwarf at 1000 feet (level 20).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid, electricity, fire, cold.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     When activated, it lights up the surrounding area, hurting&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     light-sensitive creatures.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Takes 18 to 34 turns to recharge at your current speed.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Your chance of success is 90.4%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Radius 3 light.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;g) The Soft Leather Armour 'Hithlomir' [10,+20] (+4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1750 feet (level 35).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +4 stealth.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to acid, lightning, fire, cold, dark, nether.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid, electricity, fire, cold.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;h) a Fur Cloak of Protection [3,+10]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Grave wight at 1600 feet (level 32).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to shards.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid, electricity, fire, cold.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;i) a Large Metal Shield of Resist Lightning [12,+7]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1550 feet (level 31).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to lightning.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by electricity.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;j) The Metal Cap of Thengel [3,+12] (+3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Mature blue dragon at 1600 feet (level 32).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +3 wisdom, charisma.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to confusion.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Cannot be harmed by acid, electricity, fire, cold.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;k) a Set of Caestus of Power (+3,+2) [5,+2] (+4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1100 feet (level 22).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +4 strength.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;l) a Pair of Iron Shod Boots of Speed [4,+6] (+8)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Dark elven warrior at 500 feet (level 10).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +8 speed.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Character Quiver]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;n) 30 Arrows (1d4) (+0,+0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Bought from a store.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Combat info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Hits targets up to 120 feet away.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Average damage/round: 82.6.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     35% chance of breaking upon contact.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;o) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;p) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;q) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;r) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;s) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;t) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;u) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;v) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;w) (nothing)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Character Inventory]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;a) 15 Rations of Food&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;b) 9 Gold Potions of Cure Serious Wounds&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;c) 58 Violet Speckled Potions of Cure Critical Wounds&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;d) 2 Cloudy Potions of Restore Strength&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;e) an Icky Green Potion of Restore Intelligence&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1750 feet (level 35).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;f) a Silver Speckled Potion of Restore Constitution&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1750 feet (level 35).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;g) a Copper Speckled Potion of Enlightenment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;h) 6 Scrolls titled "quandus oc" of Phase Door&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;i) 20 Scrolls titled "nundisco" of Satisfy Hunger&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;j) 7 Scrolls titled "sus aetasta" of Word of Recall&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;k) 2 Nickel-Plated Rods of Treasure Location&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;l) 3 Cast Iron Rods of Curing&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;m) 3 Lead-Plated Rods of Illumination&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;n) 2 Zinc-Plated Wands of Trap/Door Destruction (20 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;o) 3 Platinum Wands of Teleport Other (27 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;p) 4 Sycamore Staves of Detect Invisible (45 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;q) a Mahogany Staff of Detect Evil (22 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Novice paladin at 1750 feet (level 35).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;r) an Elm Staff of Teleportation (6 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;s) 7 Cedar Staves of Identify (44 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;t) a Topaz Ring of Soulkeeping&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1650 feet (level 33).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Sustains strength, intelligence, wisdom.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;u) a Sling of Extra Might (x3) (+10,+22) (+1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1700 feet (level 34).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +1 shooting power.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Home Inventory]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;a) a Blue Speckled Potion of Restore Dexterity&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1600 feet (level 32).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;b) a Scroll titled "fursus ducero" of *Remove Curse*&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 450 feet (level 9).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;c) a Scroll titled "am cedus" of Deep Descent&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Black knight at 1650 feet (level 33).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;d) a Scroll titled "agiacto pirrum" of *Destruction*&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by a Black ogre at 1500 feet (level 30).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;e) a Chromium Wand of Stone to Mud (5 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;f) a Balsa Staff of Starlight (11 charges)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by an Uruk at 1550 feet (level 31).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;g) a Main Gauche of *Slay Troll* (1d5) (+5,+11) (+1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 750 feet (level 15).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +1 strength.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Slays trolls.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Speeds regeneration.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Combat info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     3.8 blows/round.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 0 strength and 2 dex you would get 4.1 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Average damage/round: 149.7 vs. trolls, and 125.5 vs. others.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;h) a Katana of Slay Demon (3d5) (+8,+8)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Dropped by an Ice troll at 1600 feet (level 32).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Slays demons.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Combat info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     3.3 blows/round.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 1 strength and 0 dex you would get 3.4 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 0 strength and 2 dex you would get 3.5 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Average damage/round: 181.8 vs. demons, and 117.5 vs. others.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;i) a Ball-and-Chain of *Slay Dragon* (2d4) (+4,+7) (+1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Found lying on the floor at 1600 feet (level 32).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     +1 constitution.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     *Slays* dragons.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Provides resistance to fear.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Combat info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     3.0 blows/round.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 3 strength and 0 dex you would get 3.3 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     With an additional 0 strength and 2 dex you would get 3.3 blows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     Average damage/round: 156.6 vs. dragons, and 91.2 vs. others.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;============================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;                   CHAR.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;|   TURN  | DEPTH |LEVEL| EVENT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;============================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;         1      0'    1   Began the quest to destroy Morgoth.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;      5616     50'    1   Found The Set of Gauntlets 'Paurhach' (LOST)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;      9483     50'    2   Reached level 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     14494    100'    2   Killed Fang, Farmer Maggot's dog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     14494    100'    3   Reached level 3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     14494    100'    4   Reached level 4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     18450    100'    4   Killed Grip, Farmer Maggot's dog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     19524    100'    5   Reached level 5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     26486    150'    6   Reached level 6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     36327    200'    7   Reached level 7&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     46211    300'    8   Reached level 8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     48081    300'    9   Reached level 9&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     52088    350'   10   Reached level 10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     52516    350'   11   Reached level 11&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     63456    450'   12   Reached level 12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     76030    500'   13   Reached level 13&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     81264    500'   14   Reached level 14&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     89505    550'   15   Reached level 15&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     89688    550'   15   Killed Ufthak of Cirith Ungol&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     89688    550'   16   Reached level 16&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     91053    550'   17   Reached level 17&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     94708    550'   18   Reached level 18&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;     96416    550'   19   Reached level 19&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    119021    650'   19   Killed Lagduf, the Snaga&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    122086    700'   20   Reached level 20&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    137186    750'   21   Reached level 21&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    146949    900'   22   Reached level 22&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    150085    950'   22   Killed Sangahyando of Umbar&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    152877    950'   23   Reached level 23&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    158592   1000'   23   Killed Nar, the Dwarf&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    158608   1000'   23   Found The Phial of Galadriel&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    160374   1000'   24   Reached level 24&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    168080   1000'   24   Killed Wormtongue, Agent of Saruman&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    169739   1000'   24   Killed Angamaite of Umbar&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    169932   1000'   24   Killed Bullroarer the Hobbit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    174502   1050'   25   Reached level 25&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    181000   1100'   25   Killed Shagrat, the Orc Captain&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    186480   1100'   25   Killed Boldor, King of the Yeeks&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    199094   1350'   26   Reached level 26&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    206575   1350'   26   Reached level 26&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    208044   1350'   26   Reached level 26&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    211923   1400'   26   Killed Brodda, the Easterling&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    229571   1450'   27   Reached level 27&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    244687   1500'   27   Killed Khim, Son of Mim&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    247822   1500'   28   Reached level 28&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    253483   1550'   28   Killed Ugluk, the Uruk&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    267364   1550'   28   Killed Mim, Betrayer of Turin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    278566   1600'   28   Killed Gorbag, the Orc Captain&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    284546   1600'   29   Reached level 29&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    303731   1600'   29   Killed Grishnakh, the Hill Orc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    369012      0'   29   Reached level 29&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    388677   1550'   30   Reached level 30&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    393497   1500'   30   Killed Lugdush, the Uruk&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    403183   1600'   30   Reached level 30&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    404550   1600'   30   Found The Metal Cap of Thengel&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    418562   1600'   30   Killed Ulfast, Son of Ulfang&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    429823   1550'   30   Killed Bolg, Son of Azog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    460637   1500'   30   Killed Beorn, the Shape-Changer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    460664   1500'   30   Found The Mace 'Taratol'&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    469152   1550'   30   Killed Ibun, Son of Mim&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    474128   1550'   31   Reached level 31&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    480978   1600'   31   Reached level 31&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    484319      0'   31   Reached level 31&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    489729   1600'   31   Reached level 31&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    514270   1650'   31   Reached level 31&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    520086   1700'   31   Killed Lokkak, the Ogre Chieftain&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    531880   1750'   31   Killed Draebor, the Imp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    552788   1750'   31   Killed Golfimbul, the Hill Orc Chief&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    572325   1750'   31   Found The Soft Leather Armour 'Hithlomir'&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    581708   1700'   31   Killed Uldor the Accursed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;    588857   1700'   32   Reached level 32&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;  [Options]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Maximize effect of race/class bonuses        : yes (adult_maximize)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Randomize the artifacts (except a few)       : no  (adult_randarts)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Restrict the use of stairs/recall            : no  (adult_ironman)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Restrict the use of stores/home              : no  (adult_no_stores)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Restrict creation of artifacts               : no  (adult_no_artifacts)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Don't stack objects on the floor             : no  (adult_no_stacking)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Lose artifacts when leaving level            : no  (adult_no_preserve)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Don't generate connected stairs              : no  (adult_no_stairs)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Don't show level feelings                    : no  (adult_no_feelings)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Items always sell for 0 gold                 : no  (adult_no_selling)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters chase current location       : yes (adult_ai_sound)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters chase recent locations       : yes (adult_ai_smell)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters act smarter in groups        : yes (adult_ai_packs)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters learn from their mistakes    : no  (adult_ai_learn)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters exploit players weaknesses   : no  (adult_ai_cheat)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Adult: Monsters behave more intelligently (broken): no  (adult_ai_smart)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Peek into object creation             : no  (score_peek)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Peek into monster creation            : no  (score_hear)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Peek into dungeon creation            : no  (score_room)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Peek into something else              : no  (score_xtra)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Know complete monster info            : no  (score_know)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Score: Allow player to avoid death           : no  (score_live)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&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/4238726274491709714-3847536035775314153?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3847536035775314153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3847536035775314153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3847536035775314153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3847536035775314153'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/overconfidence-will-be-your-weakness.html' title='&quot;Overconfidence will be your weakness....&quot;'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-253476518683376284</id><published>2011-07-02T12:58:00.001-07:00</published><updated>2011-07-02T13:03:30.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JADE'/><category scheme='http://www.blogger.com/atom/ns#' term='Crawl'/><category scheme='http://www.blogger.com/atom/ns#' term='Angband'/><title type='text'>Jade....meh?</title><content type='html'>&lt;div style="text-align: justify;"&gt;So finally, after three billion years (approximately), &lt;a href="http://www.adom.de/jade/index.php3"&gt;JADE&lt;/a&gt; is out. Well, the first version anyway (0.10). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;What did I think of it?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;I have no idea. &lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I got as far as the 2nd character selection screen - the one with the gadzillion of skill options and went "&lt;i&gt;&lt;b&gt;sod it&lt;/b&gt;&lt;/i&gt;"; and switched back to stat-gaining my current Half-Troll Warrior on &lt;a href="http://rephial.org/"&gt;Angband&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;There's a lesson for us all. And why &lt;a href="http://crawl.develz.org/wordpress/"&gt;Crawl&lt;/a&gt; is so successful. And why I ditched the intensive character min-maxing in a very early version of my own (as incomplete) roguelike.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Grab me in please. Without having to go through twenty-billion (contextless) options. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;I just want to play!&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-253476518683376284?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/253476518683376284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=253476518683376284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/253476518683376284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/253476518683376284'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/jademeh.html' title='Jade....meh?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3442209363247841206</id><published>2011-07-01T23:57:00.000-07:00</published><updated>2011-07-02T00:11:14.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Item Creation'/><title type='text'>A little aside on crafting</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm incredibly excited about being able to implement magic, I have great plans, which include an overhaul of Monster AI to make them quite smart (where the situation calls for it), but for now, I've got an idea for a crafting system that I can include without making too much sacrifices in terms of gameplay and playability. Its something akin to what I talked about &lt;a href="http://kharne-rl.blogspot.com/2008/05/crafting-and-economics.html"&gt;earlier&lt;/a&gt;, but much simpler.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Effectively, at special forges scattered about the dungeon, one should be able to disenchant non-Artefact items into their constituent parts. So given an item like this:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;A Bronze Great Sword [+4, +4] of Goblin Slaying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;it increases your damage against goblins (+5)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;it increases your chance to hit (+4)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; "&gt;it increases the damage you deal (+4)&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;...this item could be "disenchanted" into three residual elements. Using special anvils, also scattered about the dungeon, one could reassemble various residual elements of your choice into new item, given the investment of a plain non-magical "base" item, and...&lt;i&gt;something else&lt;/i&gt;. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The &lt;i&gt;something else&lt;/i&gt; is the tricky bit. This should be a non-trivial process in terms of consequences for the character, even though the interface for doing so may be simply nothing more than dropping all the items concerned onto the anvil and pressing 'A' to activate it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The obvious penalty is something like losing a point of CON, or some HP or something every time a magical item is created. Along with the risk that the process won't work. But I don't want the cost to be &lt;i&gt;too&lt;/i&gt; prohibitive. After all, what I'm suggested is a mechanism that is effectively a means of getting round (to a degree) resist-farming. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyone got any thoughts on what the trade-off should be? Or the consequences for failure at this process?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3442209363247841206?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3442209363247841206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3442209363247841206' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3442209363247841206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3442209363247841206'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/little-aside-on-crafting.html' title='A little aside on crafting'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1951762973219050843</id><published>2011-07-01T05:54:00.000-07:00</published><updated>2011-07-01T05:56:43.784-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='BugFixes'/><title type='text'>Text Truncation Bug?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've had a bug reported to me (thank you Eben) where the text is often truncated, e.g. on the Character Creation screens. If this is happening, please try this &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne.exe&amp;amp;can=2&amp;amp;q="&gt;replacement executable&lt;/a&gt; (no changes, just a recompile)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've seen this before, and normally a recompile fixes it. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-1951762973219050843?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1951762973219050843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1951762973219050843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1951762973219050843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1951762973219050843'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/07/text-truncation-bug.html' title='Text Truncation Bug?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-8966859433031353592</id><published>2011-06-30T07:44:00.001-07:00</published><updated>2011-06-30T07:46:14.617-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLLite'/><title type='text'>DB vs Edit Files</title><content type='html'>&lt;div style="text-align: justify;"&gt;For some reason, I'm actually contemplating moving away from the use of a &lt;a href="http://kharne-rl.blogspot.com/2009/07/sqllite-and-further-revenge-of-c.html"&gt;Database&lt;/a&gt; for Monster and Item definitions towards using edit files instead.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8966859433031353592?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8966859433031353592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8966859433031353592' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8966859433031353592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8966859433031353592'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/db-vs-edit-files.html' title='DB vs Edit Files'/><author><name>Dave</name><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-4238726274491709714.post-3244123542822708148</id><published>2011-06-29T07:48:00.000-07:00</published><updated>2011-06-29T07:55:24.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.06 now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;Finally. After a year and more of real-life shit, and a complete loss of interest in coding, a new version of Kharne (v0.0.6) is now &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne006.zip&amp;amp;can=2&amp;amp;q="&gt;available&lt;/a&gt; (source also available &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne006-src.zip&amp;amp;can=2&amp;amp;q="&gt;here&lt;/a&gt;).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To summarise the big changes in this version: potions and stealth.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The full list of changes are below:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Potions have been implemented.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Added a stealth mode (entered and exited by pressing 's').&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Added NPCs to the Town level.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Added a house for the character to the town level.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Eating no longer restores any lost health points.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Projectile Animation is now much smoother.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Increased the number of monsters generated per level.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Resting is no longer possible when starved.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Additional Identify scrolls are now generated on each dungeon level.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Right-clicking on a Creature will bring up Monster Memory for that creature.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Elemental Intrusion Creatures have had their hitpoints reduced again.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Reduced the rate at which certain skills are learned.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Groups of Monsters can now have a slightly tougher leader monster accompanying them.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;The cursor now changes colour depending on LOS. &lt;/li&gt;&lt;li style="text-align: justify;"&gt;Unique monsters now have their glyphs marked with a double-underline.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;OOD monsters now have their glyphs marked with an underline.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Fixed an issue with certain vaults having impassable walls in error.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Removed the extraneous buttons from the Inventory view. &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;I'm very happy about this release, not only because its been 10 months since the last, but because I'll be able to implement magic and ammunition in the next release, which I hope, as I've got my enthusiasm for coding back, will be soon.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In the meantime, please let me know either here or via &lt;a href="mailto:starbog@REMOVETHISgmail.ANDTHIScom"&gt;email&lt;/a&gt; any bugs you find. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3244123542822708148?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3244123542822708148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3244123542822708148' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3244123542822708148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3244123542822708148'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/kharne-006-now-available.html' title='Kharne 0.06 now available'/><author><name>Dave</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-4429689812742684476</id><published>2011-06-28T10:18:00.001-07:00</published><updated>2011-06-28T10:18:41.823-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Mouse'/><title type='text'>Mouse-Over Tooltips</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-OxrNESQ9WbE/TgoM3_5lt9I/AAAAAAAAAJc/kP_GwzrNyGw/s1600/tooltips.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 368px;" src="http://1.bp.blogspot.com/-OxrNESQ9WbE/TgoM3_5lt9I/AAAAAAAAAJc/kP_GwzrNyGw/s400/tooltips.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5623321240910804946" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-4429689812742684476?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4429689812742684476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4429689812742684476' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4429689812742684476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4429689812742684476'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/mouse-over-tooltips.html' title='Mouse-Over Tooltips'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-OxrNESQ9WbE/TgoM3_5lt9I/AAAAAAAAAJc/kP_GwzrNyGw/s72-c/tooltips.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-192251897581184717</id><published>2011-06-27T14:33:00.000-07:00</published><updated>2011-06-27T14:37:24.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Potions completed</title><content type='html'>&lt;div style="text-align: justify;"&gt;Potions have almost all been implemented, just debugging them all now.  Here's a potion of Rage (which increases your Strength dramatically for a short period of time) in action:&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-gvnwG3EmZQE/Tgj3m24_t3I/AAAAAAAAAJU/lv7fGZGJlB4/s400/rage.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 328px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5623016381713725298" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once they are done, I think I will release v0.06 - almost a year after the last version. Its been too fucking long...&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/4238726274491709714-192251897581184717?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/192251897581184717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=192251897581184717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/192251897581184717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/192251897581184717'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/potions-completed.html' title='Potions completed'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-gvnwG3EmZQE/Tgj3m24_t3I/AAAAAAAAAJU/lv7fGZGJlB4/s72-c/rage.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8268868174235901017</id><published>2011-06-26T00:58:00.000-07:00</published><updated>2011-06-26T00:58:00.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><title type='text'>Monster Con</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-eyuweL_Zpo8/TgZoOE_z6HI/AAAAAAAAAJM/rwhAwf5-FTQ/s1600/moncon.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 381px; " src="http://4.bp.blogspot.com/-eyuweL_Zpo8/TgZoOE_z6HI/AAAAAAAAAJM/rwhAwf5-FTQ/s400/moncon.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5622295775887485042" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Foes which are tougher than normal (uniques, or OOD) now have one or more bars underneath their glyphs to indicate this is so.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8268868174235901017?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8268868174235901017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8268868174235901017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8268868174235901017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8268868174235901017'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/monster-con.html' title='Monster Con'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-eyuweL_Zpo8/TgZoOE_z6HI/AAAAAAAAAJM/rwhAwf5-FTQ/s72-c/moncon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-7610419163722747574</id><published>2011-06-25T12:55:00.001-07:00</published><updated>2011-06-25T12:58:09.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Stealth'/><title type='text'>Stealth</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've managed to implement a crude form of Stealth in the dev version I have. Its basically a toggle setting that increases dramatically your Stealth skill at the expense of moving much more slowly:&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-xUXBE37EIyk/TgY9hi4_blI/AAAAAAAAAJE/xMnrthmI20U/s400/stealth.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 327px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5622248831329463890" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Yes, primitive, but its a start!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7610419163722747574?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7610419163722747574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7610419163722747574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7610419163722747574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7610419163722747574'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/stealth.html' title='Stealth'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-xUXBE37EIyk/TgY9hi4_blI/AAAAAAAAAJE/xMnrthmI20U/s72-c/stealth.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-5202222822377096883</id><published>2011-06-24T05:57:00.001-07:00</published><updated>2011-06-24T06:00:20.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Potions</title><content type='html'>&lt;div style="text-align: justify;"&gt;Potions are a pain in the arse to implement. Not so much the instant effect ones like Healing, but time-limited ones like Might/Confusion and so on. I was tempted to hack in quick counter attributes for each potion on each PC class, but I should really do the full object-orientated method outlined &lt;a href="http://kharne-rl.blogspot.com/2009/08/implementing-transient-events.html"&gt;here&lt;/a&gt; instead.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That said, I like Mario's suggestion in the comments of just using an array of counters, and it would mean actually getting code out quicker.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-5202222822377096883?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5202222822377096883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5202222822377096883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5202222822377096883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5202222822377096883'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/potions.html' title='Potions'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3845160312803351548</id><published>2011-06-23T11:42:00.000-07:00</published><updated>2011-06-23T11:48:12.961-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NPCs'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>More on Townspeople.</title><content type='html'>&lt;div style="text-align: justify;"&gt;Yes, its been a while. Picked up some coding again, and finished the Townspeople implementation. Each type of townsperson has its own speech pattern and says something different when you move past them. Its only a cosmetic thing really, but helps to give life to the town level.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/-0yZvYIFnhU4/TgOJtnBAiwI/AAAAAAAAAI8/GZLVaMMKxfs/s400/townspeople2.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 328px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5621488176548842242" /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now if I can finish implementing potions, I've got enough for a release.&lt;/div&gt;&lt;div style="text-align: justify;"&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/4238726274491709714-3845160312803351548?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3845160312803351548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3845160312803351548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3845160312803351548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3845160312803351548'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/06/more-on-townspeople.html' title='More on Townspeople.'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-0yZvYIFnhU4/TgOJtnBAiwI/AAAAAAAAAI8/GZLVaMMKxfs/s72-c/townspeople2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-7739524482987133687</id><published>2011-03-17T00:32:00.000-07:00</published><updated>2011-03-17T00:32:00.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NPCs'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Town'/><title type='text'>Townspeople</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've done some code to handle random townspeople on the town level, to give the town level a bit of atmosphere. I've not checked it into the repository yet, as its incomplete, but each townsperson will have its own unique behaviour and its own unique sayings.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/-YTGhlarRQhI/TYFI165c4EI/AAAAAAAAAIo/aPfKS3iNLPM/s400/townspeople.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 327px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5584825104096616514" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I don't intend on these townspeople to be attackable, but I do hope to add some interaction between them, based upon their (randomly-generated) behaviours; for example, a &lt;i&gt;drunken&lt;/i&gt; guardsman might do things differently than an &lt;i&gt;angry &lt;/i&gt;guardsman.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Your pet cat is of course, the true master of the multi-verse, and all kills are dedicated to him. He remains on the town level to protect it from harm.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And to prove that this blog isn't immune from cat-blogging, here are my own fuzzy-overlords &lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-tyfdHPRxNCs/TYFJoPFuTtI/AAAAAAAAAIw/0mDgo2syJSk/s400/puddies.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5584825968510258898" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;(if you must know, their stats are&lt;i&gt;: Num:547 Lev:100 Rar:2 Spd:140 Hp:20000 AC:150 Exp:60000 RFuss--- RFood---, &lt;/i&gt;and they have many deadly powers&lt;i&gt;, &lt;/i&gt;and have never been defeated yet&lt;i&gt;, &lt;/i&gt;except by shameless application of fuss and/or food)&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/4238726274491709714-7739524482987133687?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7739524482987133687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7739524482987133687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7739524482987133687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7739524482987133687'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/03/townspeople.html' title='Townspeople'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-YTGhlarRQhI/TYFI165c4EI/AAAAAAAAAIo/aPfKS3iNLPM/s72-c/townspeople.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8604104015350338650</id><published>2011-03-16T00:52:00.000-07:00</published><updated>2011-03-16T00:52:00.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Code Updates</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Those who are observant will notice some code &lt;a href="http://www.blogger.com/Project%20HomeDownloadsWikiIssuesSourceAdminister"&gt;updates&lt;/a&gt; have been committed to the &lt;a href="http://code.google.com/p/kharne/"&gt;repository&lt;/a&gt;. I've actually done some coding on Kharne! (sound of cheering in the distance).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've now got visible and smoother missile animation, as well as framework code for potion handing and town NPCs. This is an ongoing thing, when I get the code working I'll release v0.06 containing these features.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;With regards to missile animation, for simple bolts etc, I wanted to ask a question of my readership: should their trajectories be plotted in the ASCII resolution, or should they be plotted pixel-by-pixel?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For example, consider the scenario below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-MmxB4DR_p-o/TX_SLu2hMKI/AAAAAAAAAIg/1tMOXYO382M/s400/missile.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 326px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5584413161959796898" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If the Storm Giant to the North of the player launches a missile, if it is plotted strictly to ASCII, it will zigzag towards the @, whereas it could be plotted smoothly and move at an angle instead if pixel-by-pixel plotting was used.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm divided between both options, hence why I'm asking.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8604104015350338650?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8604104015350338650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8604104015350338650' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8604104015350338650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8604104015350338650'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/03/code-updates.html' title='Code Updates'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/-MmxB4DR_p-o/TX_SLu2hMKI/AAAAAAAAAIg/1tMOXYO382M/s72-c/missile.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-2255269364390667757</id><published>2011-03-15T09:56:00.000-07:00</published><updated>2011-03-15T09:58:16.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='7DRL'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><title type='text'>Stygia completed</title><content type='html'>Well, I did it. I finished coding a roguelike, finally.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More details over at the &lt;a href="http://stygiaroguelike.wordpress.com/"&gt;Stygia&lt;/a&gt; blog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I even looked at the Kharne code today. Its not as bad as I feared, even if it isn't C#. I should really implement potions, shouldn't I?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2255269364390667757?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2255269364390667757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2255269364390667757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2255269364390667757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2255269364390667757'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/03/stygia-completed.html' title='Stygia completed'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6882506644488534197</id><published>2011-03-06T10:29:00.000-08:00</published><updated>2011-03-06T10:30:21.426-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><title type='text'>Stygia</title><content type='html'>I've started work on Stygia as a 7DRL. See &lt;a href="http://stygiaroguelike.wordpress.com/"&gt;http://stygiaroguelike.wordpress.com/&lt;/a&gt; for details and a devblog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-6882506644488534197?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6882506644488534197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6882506644488534197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6882506644488534197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6882506644488534197'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/03/stygia.html' title='Stygia'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3650455320459414330</id><published>2011-01-25T07:33:00.000-08:00</published><updated>2011-01-25T07:42:15.629-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>The End - an announcement</title><content type='html'>I've held off making this post for quite a while, but I think looking back now, that its obvious, and it deserves to be made given the recent lack of activity on Kharne.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I'm abandoning any further development on Kharne.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This is for a number of reasons, which can be summarised below:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I suffer from on-going depression, and I find it very difficult to work on coding in my free time. This has been ongoing for some time.&lt;/li&gt;&lt;li&gt;I have no interest in using Delphi to do any coding that I do partake in from now on (anything I do do will probably be either in C++ or in C#).&lt;/li&gt;&lt;li&gt;The idea and what I've implemented so far is much much too ambitious for it to be completed.&lt;/li&gt;&lt;/ul&gt;So....&lt;br /&gt;&lt;br /&gt;What happens now?&lt;br /&gt;&lt;br /&gt;As far as Kharne goes, as its now&lt;span style="font-weight: bold;"&gt; open source&lt;/span&gt;, and therefore &lt;b&gt;anyone&lt;/b&gt; is welcome to take the project on, if they so wish. Additionally to the code, &lt;b&gt;I hereby release all game data into the project domain.&lt;/b&gt; By game-data I mean monster-speech text and so on.&lt;br /&gt;&lt;br /&gt;If you wish to take it and use it, feel free and good luck. I will always be available for advice.&lt;br /&gt;&lt;br /&gt;That bears repeating: &lt;span style="font-weight: bold;"&gt;Kharne is open source&lt;/span&gt;. Its yours. Run with it, if you wish.&lt;br /&gt;&lt;br /&gt;As far as my own coding in general, I'll be resurrecting my C#/Libtcod project, Stygia, with a view to producing a smaller but &lt;i&gt;complete&lt;/i&gt; roguelike in a matter of a few months.&lt;br /&gt;&lt;br /&gt;But for that, I'll probably create a new blog, and eventually close this one.&lt;br /&gt;&lt;br /&gt;So what I have learned from this?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The main lesson is to limit your objectives to ones you know are easily achievable. In hindsight, its obvious, but at the time, it is easy to get carried away on the code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is also important achieve and maintain sufficient momentum. And Feedback and involvement with the community are important in getting a roguelike out the door.&lt;br /&gt;&lt;br /&gt;I've failed, in the end, in that respect. But it wasn't a waste of time. I've gained knowledge, I've met people, and I've learned some belated lessons.&lt;br /&gt;&lt;br /&gt;And in that respect, it was a success.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3650455320459414330?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3650455320459414330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3650455320459414330' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3650455320459414330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3650455320459414330'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2011/01/end-announcement.html' title='The End - an announcement'/><author><name>Dave</name><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-7196704107009481085</id><published>2010-12-22T02:21:00.000-08:00</published><updated>2010-12-22T02:23:14.644-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RNG'/><category scheme='http://www.blogger.com/atom/ns#' term='Items'/><title type='text'>Random Item Fluff</title><content type='html'>&lt;div style="text-align: justify;"&gt;Yes, I'm still alive. Due to other things, work on the next version of Kharne is progressing slowly. One feature I'm thinking of adding to the next version (0.06, which will also include NPCs and potions) is random flavour text for items, e.g. when you inspect say a &lt;i&gt;+1 Spear&lt;/i&gt; you get something along the lines of:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;“This ruby-encrusted spear was formerly the prized weapon of JoeBloggs the Hero of Xyzzy. He used it mainly in the war 600 years ago against the Goblins of Zzyyyzzzy. He fell in battle against Bob the Goblin Chief and the weapon was subsequently lost. What it was doing in the hands of a common goblin you have no idea.”&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is fairly easy to program, e.g. it is nothing more than a series of randomized phrases in a format such as:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; “[description] [owner] [owner legacy] [now]."&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Each of these could be constructed out of further tags like [weapon description] [weapon name] [time period] [owner fate] [weapon fate] etc, which may or may not be present in an individual description. Some tags require randomly generated names, which can be done using the existing name generator routines.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So the example above could be broken down into:&lt;br /&gt;&lt;br /&gt;[weapon description] = "This ruby-encrusted"&lt;br /&gt;[weapon name] = "spear"&lt;br /&gt;[owner] = "was formerly the prized weapon of"&lt;br /&gt;[owner name] = "Bill"&lt;br /&gt;[owner famous] = "the Hero of Xyzzy"&lt;br /&gt;[owner use] = "He used it mainly in the war"&lt;br /&gt;[owner timeperiod] = "600 years ago"&lt;br /&gt;[owner use reason] = "against the Goblins of Zzyyyzzzy"&lt;br /&gt;[owner fate] = "He fell in battle against Bob the Goblin Chief"&lt;br /&gt;[weapon fate] = "and the weapon was subsequently lost."&lt;br /&gt;[weapon now] = "What it was doing in the hands of a common goblin you have no idea".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;But as ever, my creative juices are failing. Any suggestions and ideas for randomised phrases to use in this generator are most welcome.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7196704107009481085?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7196704107009481085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7196704107009481085' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7196704107009481085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7196704107009481085'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/12/random-item-fluff.html' title='Random Item Fluff'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-4676021307696220924</id><published>2010-09-18T00:03:00.000-07:00</published><updated>2010-09-18T00:03:00.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Localisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Roguelike localisation</title><content type='html'>&lt;div style="text-align: justify;"&gt;A &lt;a href="http://groups.google.co.uk/group/rec.games.roguelike.development/browse_thread/thread/77c4df5c0316a283#"&gt;fascinating thread&lt;/a&gt; on Roguelike Localisation. Eventually (hah!) its something I'd like to include in Kharne. Hebrew Kharne anyone?*&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;*I need to get the bloody thing finished first though&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/4238726274491709714-4676021307696220924?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4676021307696220924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4676021307696220924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4676021307696220924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4676021307696220924'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/09/roguelike-localisation.html' title='Roguelike localisation'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-874418497471210016</id><published>2010-09-17T17:57:00.000-07:00</published><updated>2010-09-17T18:01:04.942-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='AARP'/><title type='text'>AARP</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was going to participate in the &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=ARRP"&gt;2010 AARP&lt;/a&gt; but alas, I've been busy with last minute dissertation panic instead. But it is being submitted on Monday, so after that I'll have &lt;a href="http://www.worldofwarcraft.com/cataclysm/"&gt;plenty of time&lt;/a&gt; on my hands so I hope to have a new version of Kharne out by the end of the month.&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/4238726274491709714-874418497471210016?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/874418497471210016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=874418497471210016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/874418497471210016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/874418497471210016'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/09/aarp.html' title='AARP'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2180303123366031155</id><published>2010-08-28T17:40:00.000-07:00</published><updated>2010-08-28T17:42:40.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>0.05c source archive now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;As promised, a source-only distribution for v0.05c is now available &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne005c-src.zip&amp;amp;can=2&amp;amp;q="&gt;here&lt;/a&gt; (also linked from the menu on the right)&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/4238726274491709714-2180303123366031155?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2180303123366031155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2180303123366031155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2180303123366031155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2180303123366031155'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/005c-source-archive-now-available.html' title='0.05c source archive now available'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6687017409526999225</id><published>2010-08-27T04:06:00.000-07:00</published><updated>2010-08-27T04:16:24.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Status'/><category scheme='http://www.blogger.com/atom/ns#' term='Dnd'/><title type='text'>DnD 4e and Status Conditions</title><content type='html'>&lt;div style="text-align: justify;"&gt;I play a lot of DnD 4.e and I think some of the character statuses (&lt;span style="font-style: italic;"&gt;stati? statum? stata?&lt;/span&gt;) could work well in Kharne (with some small modification). Others wouldn't work so well.&lt;br /&gt;&lt;br /&gt;For example, certain undead could &lt;span style="font-weight: bold;"&gt;stun&lt;/span&gt; you. Stunned creatures can't do anything; the stun has a certain duration, or there is a chance the stun wears off at the end of each turn. In the context of a roguelike with a single character this is a highly lethal attack - it might be worth restricting this property to certain unique monsters.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Immoblisation/Restraining&lt;/span&gt; is also easy to implement - you can do everything except move! The closest analogue to &lt;span style="font-weight: bold;"&gt;dominated&lt;/span&gt; in the roguelike milieu would be the classical &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=Roguelike_Alphabet#Confusion"&gt;&lt;span style="font-style: italic;"&gt;Confusion&lt;/span&gt;&lt;/a&gt;, where your movements are randomly swapped (along with further limitations that are generally roguelike-specific). &lt;span style="font-weight: bold;"&gt;Weakened&lt;/span&gt; is also simple to implement, and would also be a good &lt;a href="http://kharne-rl.blogspot.com/2010/08/proc-based-item-brands.html"&gt;brand&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dazed&lt;/span&gt; however, which in DnD cuts down on the number of actions you can perform in a round to a single (standard) action would be tougher to implement. At its core, dazed is about controlling and limiting the effectiveness of a character, perhaps the closest analogy in a roguelike might be not allowing the character to attack, but allowing the character to do anything else.&lt;br /&gt;&lt;br /&gt;And finally another status effect (but this time, &lt;a href="http://www.wowhead.com/npc=27483/king-dred"&gt;not&lt;/a&gt; &lt;a href="http://www.wowhead.com/spell=48920"&gt;from&lt;/a&gt; DnD) - &lt;span style="font-weight: bold;"&gt;bleeding&lt;/span&gt;. Like &lt;span style="font-style: italic;"&gt;poisoned&lt;/span&gt;, you lose hp each turn (or so) but to cure it you need to raise your hp to minimum as opposed to quaffing a potion.&lt;br /&gt;&lt;br /&gt;Any thoughts on any of these? Have I missed any?&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/4238726274491709714-6687017409526999225?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6687017409526999225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6687017409526999225' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6687017409526999225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6687017409526999225'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/dnd-4e-and-status-conditions.html' title='DnD 4e and Status Conditions'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1566680901040692802</id><published>2010-08-26T00:35:00.000-07:00</published><updated>2010-08-26T00:35:00.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Autoexplore'/><title type='text'>Autoexplore</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'd really like an autoexplore feature. Just like Crawl's. Anyone any idea how to write one? Or will I need to RTFM and dig out the Crawl code and have a squizz there?&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/4238726274491709714-1566680901040692802?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1566680901040692802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1566680901040692802' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1566680901040692802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1566680901040692802'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/autoexplore.html' title='Autoexplore'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-217823005647021567</id><published>2010-08-25T03:36:00.000-07:00</published><updated>2010-08-25T03:42:48.867-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Food'/><title type='text'>Some thoughts on Potions &amp; Food</title><content type='html'>&lt;div style="text-align: justify;"&gt;The latest version of the SVN code booked in already has a lot of the potion handling built in, I've just not implemented the actual code for what happens when you drink a potion. That's next on the list to do, and I want to get a potion-enabled version out soon, in the next week or so.&lt;br /&gt;&lt;br /&gt;I'm also going to change the eating-restores-full-health feature to:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;take a significant number of turns (@s should suffer from indigestion when eating too quickly, just like humans)&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;during which there is a small chance of a wondering monster coming by&lt;/li&gt;&lt;li&gt;not be possible when in view of a monster&lt;/li&gt;&lt;/ul&gt;Other small (and not-so-small) changes I want to include in the next version are a general increase in the number of monsters, an option to remember the last character type created and give an option to quickly start a new game with that, and putting a house where you can stash items into the town level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-217823005647021567?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/217823005647021567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=217823005647021567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/217823005647021567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/217823005647021567'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/some-thoughts-on-potions-food.html' title='Some thoughts on Potions &amp; Food'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-3319727881704734163</id><published>2010-08-24T07:38:00.000-07:00</published><updated>2010-08-24T07:47:01.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Procs'/><category scheme='http://www.blogger.com/atom/ns#' term='Items'/><title type='text'>Proc-based item brands</title><content type='html'>&lt;div style="text-align: justify;"&gt;Here are some suggestions for beneifical and hindering item brands I've been thinking of implementing, based upon &lt;a href="http://www.wowwiki.com/Proc"&gt;procs&lt;/a&gt;. There are three types of procs - those that have a chance to occur when an attack is made (i.e. offensive), those that have a chance to occur every turn, and those that have a chance to occur when a creature gets attacked (i.e. defensive). Some (e.g. torment) are more powerful than others - I haven't worked out competitive power rankings yet but I would like the slightly less powerful effects to be more common than the more powerful ones.&lt;br /&gt;&lt;br /&gt;I envisage these brands would be placed upon magical items in a similar fashion to other brands, although their names would take precedence in item name construction.&lt;br /&gt;&lt;br /&gt;Suggestions for more, and their frequency would be more than welcome.&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="" style="display: block;" id="formatbar_JustifyFull" title="Justify Full" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 13);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Offensive beneficial effects:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;transfer 10% of hp from target to attacker&lt;span style="font-style: italic;"&gt; [vampiric]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;inflicts 50% extra damage &lt;span style="font-style: italic;"&gt;[vorpal]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;reduces maximum hp of target by 25% &lt;span style="font-style: italic;"&gt;[draining]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;teleports target to random place on level &lt;span style="font-style: italic;"&gt;[telekinetic]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;teleports target away permanently &lt;span style="font-style: italic;"&gt;[banishment]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;turns a normal hit into a critical &lt;span style="font-style: italic;"&gt;[slaying]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;knocks target back a number of squares to the nearest wall &lt;span style="font-style: italic;"&gt;[thundering]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;turns a single attack into two or more attacks &lt;span style="font-style: italic;"&gt;[quick]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;chains the damage to any adjacent targets &lt;span style="font-style: italic;"&gt;[chaining]&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Offensive hindering effects:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;drains target of 10% of hp and returns it to the attacker &lt;span style="font-style: italic;"&gt;[withering]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;turns an attack into a miss&lt;span style="font-style: italic;"&gt; [clumsy]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;makes the target trip and fall, thus losing the current action &lt;span style="font-style: italic;"&gt;[stumbling]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;teleports target randomly around the level &lt;span style="font-style: italic;"&gt;[blinking]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;injures target for half hp&lt;span style="font-style: italic;"&gt; [tormenting]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;randomly makes target drop an item carried in inventory&lt;span style="font-style: italic;"&gt; [itching]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;randomly eats a carried ration of food &lt;span style="font-style: italic;"&gt;[consuming]&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Defensive benficial effects:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;absorbs the blow entirely &lt;span style="font-style: italic;"&gt;[shielding]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;heals the target for the damage the hit would otherwise have caused&lt;span style="font-style: italic;"&gt; [restoring]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;makes target's evasion temporarily higher and forces the attacker to reroll the triggering attack against the new evasion &lt;span style="font-style: italic;"&gt;[displacing]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;knocks attacker back one square (if possible) &lt;span style="font-style: italic;"&gt;[rebound]&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Defensive hindering effects:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;freezes the target in place for a turn&lt;span style="font-style: italic;"&gt; [rooting]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;terrifies the target, cutting the target's evasion rating to 0 temporarily and allows a reroll of the triggering attack &lt;span style="font-style: italic;"&gt;[terrifying]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;allows the attack to proceed at full damage, ignoring armour&lt;span style="font-style: italic;"&gt; [piercing]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;teleports a nearby but non-adjacent creature to a square adjacent to the target&lt;span style="font-style: italic;"&gt; [attracting]&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Now these effects are relatively easy to code, being all instanteous effects. But if you have any ideas for longer lasting effects, it would be good to read them as well.&lt;br /&gt;&lt;br /&gt;A few of these procs also might make good scrolls as well.&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/4238726274491709714-3319727881704734163?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3319727881704734163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3319727881704734163' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3319727881704734163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3319727881704734163'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/proc-based-item-brands.html' title='Proc-based item brands'/><author><name>Dave</name><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-4238726274491709714.post-1798461492943934502</id><published>2010-08-23T15:46:00.000-07:00</published><updated>2010-08-23T15:51:00.901-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.05c now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;Kharne Alpha 0.0.5c is now available for &lt;a href="http://code.google.com/p/kharne/downloads/detail?name=Kharne005c.zip&amp;amp;can=2&amp;amp;q="&gt;download&lt;/a&gt; (an archive of the source code will be available soon, but if you want the latest code it is already in the &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;SVN&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Changes in this version as are follows:&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-style: italic; text-align: justify;"&gt;&lt;li&gt;Some monsters now can poison.&lt;/li&gt;&lt;li&gt;Some monsters now follow characters up and down stairs.&lt;/li&gt;&lt;li&gt;Mineral nodes are now found on levels and can be dug out for extra gold or occasionally items.&lt;/li&gt;&lt;li&gt;Classes now have different titles, dependent upon current character level.&lt;/li&gt;&lt;li&gt;Only the just finished game will be now highlighted correctly in the hiscore list after character death.&lt;/li&gt;&lt;li&gt;Spurious double quotes (") will no longer appear in automatically generated character names.&lt;/li&gt;&lt;li&gt;When resting, there is chance of a monster appearing randomly near the character.&lt;/li&gt;&lt;li&gt;Eating now restores all lost health points.&lt;/li&gt;&lt;li&gt;When starting a 2nd game in the same session, the Character Background will be reset properly.&lt;/li&gt;&lt;li&gt;On Character death, the Main Window Title will be reset properly.&lt;/li&gt;&lt;li&gt;Elemental Intrusion Creatures no longer have as many hitpoints.&lt;/li&gt;&lt;li&gt;Unidentified Scrolls are now identified properly on Character Death.&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/4238726274491709714-1798461492943934502?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1798461492943934502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1798461492943934502' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1798461492943934502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1798461492943934502'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/08/kharne-005c-now-available.html' title='Kharne 0.05c now available'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-8646596221999166096</id><published>2010-06-18T03:09:00.000-07:00</published><updated>2010-06-18T03:14:44.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Character Creation'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><title type='text'>Arguments for and against Stamina as a stat</title><content type='html'>&lt;div style="text-align: justify;"&gt;In the comments to my &lt;a href="http://kharne-rl.blogspot.com/2010/06/charisma-and-other-stats.html"&gt;last post&lt;/a&gt;, Nolithius remarks (rather sensibly) that:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;No need to have complexity for complexity's sake! If 4 stats work well for your system, then 4 stats is the right amount. In fact, for a 3-class system you can get away with 3 stats and have the HP progression be determined by the class.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To be honest, the thought (of just having three stats in Stygia) had already crossed my mind, but I've been resistent to just having the three stats for several reasons:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;a href="http://crawl.develz.org/wordpress/"&gt;Dungeon Crawl&lt;/a&gt; has only the three stats, and using the same stats smacks of ripping Crawl off (the corrolary of this argument is below).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;To have HP Progression determined by class makes class the most important choice in the game (which is why, I guess, Crawl determines HP by skill levels).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;However, on the other hand, there are excellent reasons for not having a stamina stat:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;A Stamina stat becomes either an irrelevance or worse, it becomes a 'stat tax': witness the continual dependency (and arguments) upon stamina items in certain &lt;a href="http://www.wowblues.com/us/tanking-trinkets-16102340184.html"&gt;MMOs&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It doesn't actively contribute to the game, and doesn't have any natural decision points hanging off it. In short, its additional unwarranted and unjustified complexity.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Crawl doesn't have a stamina stat, and Crawl is the best roguelike about at the moment.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The first one is perhaps the biggest argument against stamina, and the argument that I'm likely to persuade me. But if I don't have a Stamina stat, how do we determine Hit Points?&lt;br /&gt;&lt;br /&gt;Leaving aside whither or not we should have hit points (a whole other argument altogether), the standard roguelike options tend to be:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;by Class&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;by Race&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;by Skill&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;I'm against determining HP by Class alone, and Stygia will not have any races (the PC will be 'human'-ish). For this reason, I'm gravitating towards making Hitpoints dependent upon both Level and the value of the class's primary Skill (e.g. Fighting, Sneaking or Spellcasting).&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/4238726274491709714-8646596221999166096?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8646596221999166096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8646596221999166096' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8646596221999166096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8646596221999166096'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/06/arguments-for-and-against-stamina-as.html' title='Arguments for and against Stamina as a stat'/><author><name>Dave</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3617081617577330466</id><published>2010-06-17T05:19:00.000-07:00</published><updated>2010-06-17T05:25:30.204-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Character Creation'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Characters'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><title type='text'>Charisma and other stats</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Getting back to Stygia development, I'm pondering, for a small roguelike, how many stats a character needs? 3, like Crawl (these are Str, Dex, Int). Or 6 like DnD, Angband?&lt;br /&gt;&lt;br /&gt;I think 3 is too few, but 6 is too much (has anyone ever worked out a &lt;a href="http://angband.oook.cz/rgra.php?showpost=115811"&gt;good use&lt;/a&gt; for Charisma in a roguelike?&lt;br /&gt;&lt;br /&gt;I think just the four (Strength, Dexterity, Intelligence, Stamina) would be better. They also suit thematically the type of game I'm planning (with only three Character Classes  -  &lt;span style="font-style: italic;"&gt;Basher, Sneak, Adept&lt;/span&gt; that map to Strength, Dexterity and Intelligence respectively).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Thoughts?&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/4238726274491709714-3617081617577330466?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3617081617577330466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3617081617577330466' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3617081617577330466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3617081617577330466'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/06/charisma-and-other-stats.html' title='Charisma and other stats'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1230265228172048201</id><published>2010-05-07T12:39:00.000-07:00</published><updated>2010-05-07T12:44:49.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='Brogue.'/><title type='text'>BRogue!</title><content type='html'>&lt;div style="text-align: justify;"&gt;A new version of &lt;a href="http://sites.google.com/site/broguegame/"&gt;BRogue&lt;/a&gt; is out and its now fully cross-platform courtesy of &lt;a href="http://doryen.eptalys.net/libtcod/"&gt;Libtcod&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_puYNP_zHZxM/S-Rskdat7PI/AAAAAAAAAIA/huc_i4Cplmw/s1600/brogue.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 203px;" src="http://1.bp.blogspot.com/_puYNP_zHZxM/S-Rskdat7PI/AAAAAAAAAIA/huc_i4Cplmw/s400/brogue.png" alt="" id="BLOGGER_PHOTO_ID_5468615221162405106" border="0" /&gt;&lt;/a&gt;I've downloaded it but not played it yet other than a cursory wander through to check that it works. But I'm really looking forward to playing it!&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/4238726274491709714-1230265228172048201?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1230265228172048201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1230265228172048201' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1230265228172048201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1230265228172048201'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/05/brogue.html' title='BRogue!'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S-Rskdat7PI/AAAAAAAAAIA/huc_i4Cplmw/s72-c/brogue.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-7065512200512196926</id><published>2010-05-04T12:05:00.001-07:00</published><updated>2010-05-04T12:08:34.370-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippet'/><category scheme='http://www.blogger.com/atom/ns#' term='Overland Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>C# Cartesian Point class</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've developed a class for using Points in C# (unlike &lt;a href="http://www.delphibasics.co.uk/RTL.asp?Name=TPoint"&gt;Delphi&lt;/a&gt;, there's no inbuilt type). You can grab the source code and a sample console app &lt;a href="http://groups.google.co.uk/group/rec.games.roguelike.development/browse_thread/thread/0d4674440492cb22#"&gt;here&lt;/a&gt; or &lt;a href="http://www.roguetemple.com/forums/index.php?topic=871.msg7288#msg7288"&gt;here&lt;/a&gt;. All code is public domain, knock yourself out, etc, etc, etc.&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/4238726274491709714-7065512200512196926?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7065512200512196926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7065512200512196926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7065512200512196926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7065512200512196926'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/05/c-cartesian-point-class.html' title='C# Cartesian Point class'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2082338610675804652</id><published>2010-05-01T17:27:00.000-07:00</published><updated>2010-05-01T17:29:01.852-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><title type='text'>The best laid plans of mice and men....</title><content type='html'>&lt;div style="text-align: justify;"&gt;This weekend I'll &lt;span style="font-weight: bold;"&gt;won't&lt;/span&gt; be working on my map classes and getting the '@ walking around an empty map' state done after all.&lt;br /&gt;&lt;br /&gt;The perils of running out of anti-depressants on a bank holiday weekend. :-(&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/4238726274491709714-2082338610675804652?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2082338610675804652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2082338610675804652' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2082338610675804652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2082338610675804652'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/05/best-laid-plans-of-mice-and-men.html' title='The best laid plans of mice and men....'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2425005902564419673</id><published>2010-04-30T12:15:00.001-07:00</published><updated>2010-04-30T12:24:41.905-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Story'/><category scheme='http://www.blogger.com/atom/ns#' term='ASCII Dreams'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><title type='text'>Stygia - story &amp; monsters</title><content type='html'>&lt;div style="text-align: justify;"&gt;Unlike Kharne, I'm intending to have a detailed story line from the start with Stygia. This will manifest itself in many ways throughout the game, from factions the character can join, perform quests and obtain reputation for, to NPCs from different factions fighting each other if the character's actions have caused a war between them. I think C# will allow me to make a really good living world and NPC/Monster AI.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;I've found two posts on creature AI in roguelike that I can't recomnend heavily enough: &lt;a href="http://roguelikedeveloper.blogspot.com/2007/10/unangband-monster-ai-part-one-history.html"&gt;here&lt;/a&gt; and &lt;a href="http://iferrorthrownewbrick.blogspot.com/2010/01/monster-classes-and-types-making.html"&gt;here&lt;/a&gt;. Certainly the first one (and its followups), courtesy of the ever informative &lt;a href="http://roguelikedeveloper.blogspot.com/"&gt;Andrew Doull &lt;/a&gt;should be read by any budding roguelike developer.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Meanwhile, a random screenshot from the intro section  (which I eventually hope to animate and sort out suitable music to accompany it) explaining the back story of the game:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_puYNP_zHZxM/S9st5OJHWHI/AAAAAAAAAH4/iePCP-LBiro/s1600/Image4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 281px;" src="http://1.bp.blogspot.com/_puYNP_zHZxM/S9st5OJHWHI/AAAAAAAAAH4/iePCP-LBiro/s400/Image4.jpg" alt="" id="BLOGGER_PHOTO_ID_5466013033816348786" border="0" /&gt;&lt;/a&gt;This weekend I'll be working on my map classes and getting the '@ walking around an empty map' state done.&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/4238726274491709714-2425005902564419673?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2425005902564419673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2425005902564419673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2425005902564419673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2425005902564419673'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/stygia-story-monsters.html' title='Stygia - story &amp; monsters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S9st5OJHWHI/AAAAAAAAAH4/iePCP-LBiro/s72-c/Image4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-226716008935910812</id><published>2010-04-27T03:04:00.000-07:00</published><updated>2010-04-27T03:09:15.116-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Stygia - some initial design thoughts</title><content type='html'>&lt;div style="text-align: justify;"&gt;One of the things I'm planning to do with Stygia is to &lt;b&gt;not&lt;/b&gt; overreach myself - something that sadly, Kharne suffers from. To get the game done in 3 months, I'm going to limit the initial version to something achievable:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;One main persistent dungeon, with around a dozen levels (with varying themes). Dungeons will be smaller than those in Kharne.&lt;/li&gt;&lt;li&gt;No character classes.&lt;/li&gt;&lt;li&gt;Characters will have fewer stats then Kharne. I'm currently thinking of only having Strength, Agility, Constitution and Intelligence as the main stats.&lt;/li&gt;&lt;li&gt;Only a few skills, e.g. Fighting, Defense, Subterfuge and Spellcasting.&lt;/li&gt;&lt;li&gt;Only a limited number of items and brands.&lt;/li&gt;&lt;li&gt;A limited selection of spells (perhaps just over a dozen, giving just enough to  initially make magic playable and no more).&lt;/li&gt;&lt;li&gt;Around a dozen types of enemies.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;By limiting the scope, I hope to get an actual game out, which some of us perpetual roguelike programmers seem to forget to do.&lt;br /&gt;&lt;br /&gt;Beyond this, I have a whole spreadsheet filled with ideas I want to implement in both Stygia and Kharne, culled from other roguelikes and near-endless searching of a decade of r.g.r.d's archives.&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/4238726274491709714-226716008935910812?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/226716008935910812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=226716008935910812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/226716008935910812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/226716008935910812'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/stygia-some-initial-design-thoughts.html' title='Stygia - some initial design thoughts'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-5325024816420380339</id><published>2010-04-26T14:04:00.000-07:00</published><updated>2010-04-26T14:13:44.765-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><title type='text'>Stygia - day 3</title><content type='html'>&lt;div style="text-align: justify;"&gt;Here's the main menu:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/S9YBq-JSFOI/AAAAAAAAAHo/JS3SWbEj57k/s1600/stygiamainmenu.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 263px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/S9YBq-JSFOI/AAAAAAAAAHo/JS3SWbEj57k/s400/stygiamainmenu.png" alt="" id="BLOGGER_PHOTO_ID_5464557035608741090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Before I start working on the @ moving round the screen (and does libtcod make it&lt;a href="http://doryen.eptalys.net/data/libtcod/doc/1.5.1/html2/fov_init.html?c=false&amp;amp;cpp=false&amp;amp;cs=true&amp;amp;py=false&amp;amp;lua=false"&gt; easy&lt;/a&gt;!) I think I'll look into setting up a quick music player API (probably OGG files from &lt;a href="http://roguebard.eptalys.net/"&gt;The Rogue Bard&lt;/a&gt;)  as this will give me much-needed practise in using different assemblies and wrappers.&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/4238726274491709714-5325024816420380339?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5325024816420380339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5325024816420380339' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5325024816420380339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5325024816420380339'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/stygia-day-3.html' title='Stygia - day 3'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S9YBq-JSFOI/AAAAAAAAAHo/JS3SWbEj57k/s72-c/stygiamainmenu.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1556559738356805689</id><published>2010-04-25T16:55:00.000-07:00</published><updated>2010-04-25T17:05:45.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Stygia - weekend 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;So, weekend 1 of Stgyia coding completed. Time spent so far: 3 hours. Managed to get the title screen and a framework set up (albeit in a glorified &lt;a href="http://en.wikipedia.org/wiki/Hello_world_program"&gt;hello world&lt;/a&gt;-esque application):&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_puYNP_zHZxM/S9TWwGrUt4I/AAAAAAAAAHg/NvV0Kg1Bmxc/s1600/stygia-title.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 263px;" src="http://3.bp.blogspot.com/_puYNP_zHZxM/S9TWwGrUt4I/AAAAAAAAAHg/NvV0Kg1Bmxc/s400/stygia-title.png" alt="" id="BLOGGER_PHOTO_ID_5464228369821644674" border="0" /&gt;&lt;/a&gt;But this is the same as his previous &lt;a href="http://kharne-rl.blogspot.com/2010/04/experiment.html"&gt;hello world&lt;/a&gt; application, I hear you cry. Not really. This is using the &lt;a href="http://iferrorthrownewbrick.blogspot.com/2010/04/completed-c-and-lua-swig-wrappers.html"&gt;new&lt;/a&gt; C# wrappers for libtcod. I pretty much had to rewrite from scratch all my code.&lt;br /&gt;&lt;br /&gt;Next stop, a main menu framework and doing some more framework code, so I can progress onto &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=How_to_Write_a_Roguelike_in_15_Steps"&gt;Step 3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Incidentally, as well as the sources mentioned previously, the plot will also be inspired by &lt;a href="http://en.wikipedia.org/wiki/Arx_Fatalis"&gt;this&lt;/a&gt; old  (and criminally underrated, IMHO, CRPG).&lt;br /&gt;&lt;br /&gt;One other thing I'm intending to do within the three months is to write all my data maintenance tools in ASP.NET.&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/4238726274491709714-1556559738356805689?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1556559738356805689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1556559738356805689' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1556559738356805689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1556559738356805689'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/stygia-weekend-1.html' title='Stygia - weekend 1'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S9TWwGrUt4I/AAAAAAAAAHg/NvV0Kg1Bmxc/s72-c/stygia-title.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-6864196399503400940</id><published>2010-04-24T00:02:00.000-07:00</published><updated>2010-04-24T00:02:00.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Stygia'/><category scheme='http://www.blogger.com/atom/ns#' term='Prelude'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Stygia - a 3-month Roguelike</title><content type='html'>&lt;div style="text-align: justify;"&gt;It might have been obvious that I've been having some &lt;a href="http://kharne-rl.blogspot.com/2010/04/experiment.html"&gt;thoughts&lt;/a&gt; recently about &lt;a href="http://kharne-rl.blogspot.com/2010/04/clibtcodnet-revisited.html"&gt;rewriting&lt;/a&gt; Kharne in C# using libtcod.&lt;br /&gt;&lt;br /&gt;This would mean rewriting an absurd amount of code from scratch.&lt;br /&gt;&lt;br /&gt;I don't want to do that, however, I've got a powerful career incentive to learn C# properly.&lt;br /&gt;&lt;br /&gt;So I'm going to turn the &lt;a href="http://kharne-rl.blogspot.com/2009/04/announcement.html"&gt;work&lt;/a&gt; I've done &lt;a href="http://kharne-rl.blogspot.com/2009/04/prelude.html"&gt;already&lt;/a&gt; on &lt;a href="http://kharne-rl.blogspot.com/2009/06/prelude-c-except-1.html"&gt;Prelude&lt;/a&gt; into a new Roguelike, which I'll develop &lt;span style="color: rgb(153, 0, 0);"&gt;in parallel with updates on Kharne&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This one will be called &lt;span style="font-weight: bold;"&gt;Stygia&lt;/span&gt;, and I've set myself a strict 3 month timescale to get a &lt;span style="font-weight: bold;"&gt;complete&lt;/span&gt; game out, following the steps outlined &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=How_to_Write_a_Roguelike_in_15_Steps"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Stygia will be loosely inspired by &lt;a href="http://en.wikipedia.org/wiki/Ultima_Underworld:_The_Stygian_Abyss"&gt;this&lt;/a&gt; particular classic CRPG and somewhat more by &lt;a href="http://en.wikipedia.org/wiki/Wraith:_The_Oblivion"&gt;this&lt;/a&gt; classic roleplaying game. Features wise, it will follow the usual roguelike conventions, but with a more heterotopic and dystopic vibe.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It might even have &lt;a href="http://en.wikipedia.org/wiki/Tentacle"&gt;tentacles&lt;/a&gt; in it. Scratch that, it &lt;span style="font-weight: bold;"&gt;WILL&lt;/span&gt; have tentacles in it.&lt;br /&gt;&lt;br /&gt;And lots of &lt;a href="http://en.wikipedia.org/wiki/Cthulhu"&gt;san loss&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-6864196399503400940?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6864196399503400940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6864196399503400940' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6864196399503400940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6864196399503400940'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/stygia-3-month-roguelike.html' title='Stygia - a 3-month Roguelike'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2587869211396511585</id><published>2010-04-23T02:38:00.001-07:00</published><updated>2010-04-23T02:39:14.708-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Old Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Town'/><title type='text'>Town Levels?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've had a sudden crisis of confidence regarding my town level. It will probably be the last thing finished, but I find myself asking: &lt;span style="font-style: italic;"&gt;do I really need it?&lt;/span&gt; Its very incomplete at the moment - no NPCs or plot-related items.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here are some alternatives:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Get rid of town levels entirely and adopt the Crawl approach.&lt;/li&gt;&lt;li&gt;Get rid of town levels as such and allow their functionality to be inherent (for example the character has a device that can teleport him/her to an "extraplanar shop" at regular intervals)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Implement regular "outpost" levels (that would be safe) that function as mini-towns.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Implement an overworld (or rather oververse) map (almost like the old version of Kharne)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;At this point I'm not sure what I want. Analysis paralysis ahoy.&lt;br /&gt;&lt;br /&gt;Bah, I hate having existential crises!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2587869211396511585?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2587869211396511585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2587869211396511585' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2587869211396511585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2587869211396511585'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/town-levels.html' title='Town Levels?'/><author><name>Dave</name><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-4238726274491709714.post-1478255860963080884</id><published>2010-04-22T00:22:00.000-07:00</published><updated>2010-04-22T00:22:00.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='Prelude'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>An experiment....</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_puYNP_zHZxM/S8-W4sZPonI/AAAAAAAAAHY/csZW7URrQw4/s1600/kharnenet.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 245px;" src="http://3.bp.blogspot.com/_puYNP_zHZxM/S8-W4sZPonI/AAAAAAAAAHY/csZW7URrQw4/s400/kharnenet.png" alt="" id="BLOGGER_PHOTO_ID_5462750773757583986" border="0" /&gt;&lt;/a&gt;Using &lt;a href="http://doryen.eptalys.net/libtcod/"&gt;Libtcod.NET&lt;/a&gt; and C# with Visual Studio 2008. I shall have to ponder what this means.&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/4238726274491709714-1478255860963080884?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1478255860963080884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1478255860963080884' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1478255860963080884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1478255860963080884'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/experiment.html' title='An experiment....'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S8-W4sZPonI/AAAAAAAAAHY/csZW7URrQw4/s72-c/kharnenet.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-2026493800315299861</id><published>2010-04-21T05:35:00.000-07:00</published><updated>2010-04-21T06:12:33.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Language Wars'/><category scheme='http://www.blogger.com/atom/ns#' term='Cryptband'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Narrow Horizons</title><content type='html'>&lt;div style="text-align: justify;"&gt;May the Lords of K0bol save us from &lt;a href="http://angband.oook.cz/forum/showthread.php?t=3094"&gt;narrow-minded&lt;/a&gt; &lt;a href="http://stallman.org/"&gt;Stallman&lt;/a&gt; acoplytes*:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"Well - sad...since you use this properietary M$ crap, i can't test this variant. Also i think that it could be quite interesting from the gameplay.&lt;br /&gt;&lt;div style="text-align: justify;"&gt; IMO you shouldn't use programming languages like visual C (or other one-manufacturer-one-system languages) for *Bands because its against the philosophy. They should run without trouble on most common computer systems and not only on windows."&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;So..what have we got here:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Obligatory reference to "M$". &lt;span style="font-style: italic; font-weight: bold;"&gt;Check&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Obligatory insistance that only the one true language (probably C?) be used  &lt;span style="font-style: italic; font-weight: bold;"&gt;Check&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Paradise_Lost"&gt;Miltonesque&lt;/a&gt; mindset of the true believer on display - that "&lt;a href="http://www.gnu.org/philosophy/philosophy.html"&gt;philsophy&lt;/a&gt;" comes first before everything else. &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Check&lt;/span&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Lazy assumption that windows software can't be ported to other operating systems. &lt;span style="font-style: italic; font-weight: bold;"&gt;Check&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Dude, chillax&lt;/span&gt;,&lt;/span&gt; as I believe the youth of today say.&lt;br /&gt;&lt;br /&gt;But to answer the respondant's specific points (without bursting a blood valve):&lt;br /&gt;&lt;br /&gt;Visual Studio is pretty much the best development environment out there at the moment.  &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono &lt;/a&gt;allows cross-platform .NET development. Microsoft (the whole M$ thing is just immaturity), for all the bad things they've done, have also done plenty of good things as well; and programming, when you take a reasonable view of things, isn't important enough to be something worth an ideological crusade over. Women's Reproductive Rights, Identity Cards, Access to Clean Drinking Water, Trade Tariffs and Barriers - those are worth getting worked up about. But not whither someone uses one bleeding format of input text or another to produce a load of sodding pixels on a screen.&lt;br /&gt;&lt;br /&gt;Bet he's a &lt;a href="http://en.wikipedia.org/wiki/Vi"&gt;V&lt;/a&gt;i user as well. That would &lt;a href="http://en.wikipedia.org/wiki/Editor_war"&gt;explain&lt;/a&gt; a lot**.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;Feh, and more feh!&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; His attitude makes me want to code a C# roguelike &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(102, 0, 204);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;just because&lt;/span&gt;.&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(102, 0, 204);"&gt;Kharne#&lt;/span&gt; anyone?&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-size:78%;"&gt;This post was brought to you by the concepts "maturity" and "perspective".&lt;/span&gt; &lt;span style="font-size:78%;"&gt;Dude&lt;/span&gt;,&lt;span style="font-size:78%;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; try it some time. It works, y'know.&lt;/span&gt;&lt;br /&gt;** &lt;span style="font-size:78%;"&gt;Emacs, definitely, in case you ever wanted ot know.&lt;/span&gt; &lt;span style="font-size:78%;"&gt;Although &lt;a href="http://www.textpad.com/"&gt;Textpad&lt;/a&gt; is better than both of them.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2026493800315299861?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2026493800315299861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2026493800315299861' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2026493800315299861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2026493800315299861'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/narrow-horizons.html' title='Narrow Horizons'/><author><name>Dave</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1098180032727660715</id><published>2010-04-20T00:36:00.000-07:00</published><updated>2010-04-20T00:36:00.627-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Poisons'/><title type='text'>Poison</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/S8zNDdzmAWI/AAAAAAAAAHQ/FW79TTwJWpc/s1600/poisoned.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/S8zNDdzmAWI/AAAAAAAAAHQ/FW79TTwJWpc/s400/poisoned.png" alt="" id="BLOGGER_PHOTO_ID_5461965907517899106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I've implemented poison. It is modelled after Crawl, though its not quite as lethal in that it will never kill the character directly (poison won't reduce the character's hit points beneath 1).&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/4238726274491709714-1098180032727660715?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1098180032727660715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1098180032727660715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1098180032727660715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1098180032727660715'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/poison.html' title='Poison'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S8zNDdzmAWI/AAAAAAAAAHQ/FW79TTwJWpc/s72-c/poisoned.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3459818200646318902</id><published>2010-04-19T02:20:00.000-07:00</published><updated>2010-04-19T02:34:15.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Progress'/><category scheme='http://www.blogger.com/atom/ns#' term='Roadmap'/><title type='text'>Onwards - a new roadmap.</title><content type='html'>&lt;div style="text-align: justify;"&gt;0.05c will be released when I have &lt;a href="http://kharne-rl.blogspot.com/2009/08/some-thoughts-on-implementation-of.html"&gt;potions&lt;/a&gt; and &lt;a href="http://kharne-rl.blogspot.com/2009/04/ranged-combat-some-thoughts.html"&gt;ranged combat&lt;/a&gt; implemented.&lt;br /&gt;&lt;br /&gt;According to the old &lt;a href="http://kharne-rl.blogspot.com/2009/07/roadmap-and-way-forward.html"&gt;roadmap&lt;/a&gt;, I'm way behind on just about everything. &lt;span style="font-style: italic;"&gt;Quelle surprise&lt;/span&gt;. Such is the life of the roguelike developer. Problem is, I have so many ideas for the game its preventing me from really developing it quickly. That, and the fact that I'm doped up to my eyeballs most of the time on &lt;a href="http://en.wikipedia.org/wiki/Venlafaxine"&gt;venlafaxine&lt;/a&gt;, and that also I've got my dissertation ("Microquasar VHE photon production and its implications for microquasar identification, morphology and classification") to write this summer.&lt;br /&gt;&lt;br /&gt;The two biggies coming up next to implement are persistence and magic.&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/4238726274491709714-3459818200646318902?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3459818200646318902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3459818200646318902' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3459818200646318902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3459818200646318902'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/onwards-new-roadmap.html' title='Onwards - a new roadmap.'/><author><name>Dave</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-4151326498960312220</id><published>2010-04-18T23:59:00.000-07:00</published><updated>2010-04-19T10:13:55.840-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='FOV'/><category scheme='http://www.blogger.com/atom/ns#' term='Brogue.'/><title type='text'>Lighting Enhancements</title><content type='html'>&lt;div style="text-align: justify;"&gt;Something I'd like to introduce in future releases of Kharne (mainly inspired by the visual sexiness of &lt;a href="http://roguewombat.wordpress.com/2010/03/05/brogue-gets-it-right/"&gt;Brogue&lt;/a&gt;) is independent light sources. Fortunately Delphi implements the Win2k+ &lt;a href="http://www.delphi-central.com/tutorials/AlphaBlend.aspx"&gt;AlphaBlend &lt;/a&gt;WinAPI call which would make implementation quite easy (he says confidently).&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/4238726274491709714-4151326498960312220?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4151326498960312220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4151326498960312220' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4151326498960312220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4151326498960312220'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/something-id-like-to-introduce-in.html' title='Lighting Enhancements'/><author><name>Dave</name><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-4238726274491709714.post-8834182600985924309</id><published>2010-04-17T06:45:00.001-07:00</published><updated>2010-04-17T06:50:17.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>First batch of changes for v0.05c uploaded to the repository</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've uploaded the first batch of changes to the code for the next version to the &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;online source-code repository&lt;/a&gt;. Fixes &amp;amp; Updates completed in the code so far are:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Some monsters now follow characters up and down stairs.&lt;/li&gt;&lt;li&gt;Classes now have different titles, dependent upon current character level.&lt;/li&gt;&lt;li&gt;Only the just finished game will be now highlighted correctly in the hiscore list after character death.&lt;/li&gt;&lt;li&gt;Spurious double quotes (") will no longer appear in automatically generated character names.&lt;/li&gt;&lt;li&gt;When resting, there is chance of a monster appearing randomly near the character.&lt;/li&gt;&lt;li&gt;Eating now restores all lost health points.&lt;/li&gt;&lt;li&gt;When starting a 2nd game in the same session, the Character Background will be reset properly.&lt;/li&gt;&lt;li&gt;On Character death, the Main Window Title will be reset properly.&lt;/li&gt;&lt;li&gt;Elemental Intrusion Creatures no longer have as many hitpoints.&lt;/li&gt;&lt;li&gt;Unidentified Scrolls are now identified properly on Character Death.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;I'll not produce an executable release for these, but I'll wait until the &lt;a href="http://kharne-rl.blogspot.com/2010/04/progress-report-19.html"&gt;other changes&lt;/a&gt; (including potions!) are finished before releasing the next version (some of them are incomplete in the code but don't affect compilation).&lt;br /&gt;&lt;br /&gt;You are of course welcome to download and compile the latest version if you are in a position to do so.&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/4238726274491709714-8834182600985924309?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8834182600985924309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8834182600985924309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8834182600985924309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8834182600985924309'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/first-batch-of-changes-for-v005c.html' title='First batch of changes for v0.05c uploaded to the repository'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-8460223926674304888</id><published>2010-04-16T02:44:00.000-07:00</published><updated>2010-04-16T02:51:15.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Libtcod'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#/Libtcod.net revisited.</title><content type='html'>&lt;div style="text-align: justify;"&gt;I never got very far in the end with using &lt;a href="http://kharne-rl.blogspot.com/2009/05/hello-world-libtcodnet-style.html"&gt;libtcod.net&lt;/a&gt; to write a &lt;a href="http://kharne-rl.blogspot.com/2009/06/prelude-c-except-1.html"&gt;C# roguelike&lt;/a&gt;. Mainly due to various issues with setting it up, and a general development ennui which had enveloped me over the winter (major personal issues &amp;amp; upheaval didn't help either).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I do see that there's a new &lt;a href="http://doryen.eptalys.net/data/libtcod/doc/1.5.1/index2.html"&gt;version&lt;/a&gt; out now with &lt;a href="http://www.elderlore.com/en/planet-roguelike/c-and-lua.htm"&gt;improved C# documentation&lt;/a&gt;. I don't intend to start work on a C# roguelike until I get Kharne complete.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;But after that I may end up writing some additional optional features (such as a hiscore/chat server in ASP.NET, which I have to learn soon for my day job.&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/4238726274491709714-8460223926674304888?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8460223926674304888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8460223926674304888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8460223926674304888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8460223926674304888'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/clibtcodnet-revisited.html' title='C#/Libtcod.net revisited.'/><author><name>Dave</name><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-4238726274491709714.post-832599866411016045</id><published>2010-04-14T03:53:00.000-07:00</published><updated>2010-04-14T03:57:24.853-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unangband'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Dungeons'/><category scheme='http://www.blogger.com/atom/ns#' term='Dungeon Generation'/><title type='text'>Dungeons and Room Types</title><content type='html'>&lt;div style="text-align: justify;"&gt;My next blatant theft of a feature from another roguelike will probably be the &lt;a href="http://roguelikedeveloper.blogspot.com/2007/11/unangband-dungeon-generation-part-one.html"&gt;room names&lt;/a&gt; from &lt;a href="http://unangband.blogspot.com/"&gt;Unangband&lt;/a&gt;. I've deliberately not looked at the code for this on that game, but am designing my own system. I have the implementation worked out in my head for this already, but as ever I need more lubrication for my creative juices!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;So let's imagine, say, a circular room in an undead themed level. What could it be called?&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;The most straightforward would be random selection from a list generic names such as "The Slaughterhouse", "The Crypt", "The Necopolis". This would have to be a large list to avoid reusing names.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;This could be enhanced by adding one of more random adjectives before and after the name, e.g. "The Hidden Slaughterhouse", "The Crypt of Despair", "The Crypt of Hidden Dreams".&lt;/li&gt;&lt;li style="text-align: justify;"&gt;And then we can consider the role of uniques. If we generate a unique in the level inside a room, name the room after the unique: "The Crypt of Barney", for example.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Now, additionally, depending on the name, selected, we could reverse the traditional way of generating dungeons and let the name drive the dungeon features. For example, consider a room called "The Hidden Slaughterhouse" - use of the term "Hidden" would mean the entrances to this room are sealed up with diggable walls (or doors) - and use of the term "Slaughterhouse" would mean that there would be loads of corpses generated in the room, as well as certain types of monsters.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;There could also be passive effects tied to the room, for example, with "The Hidden Slaughterhouse" there could be a smell that makes the character nauseous whilst inside it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Yes, I know I'm probably going through the same thought process that &lt;a href="http://roguelikedeveloper.blogspot.com/2007/11/unangband-dungeon-generation-part-five.html"&gt;Andrew Doull&lt;/a&gt; went through about ten years ago, but I'm increasingly convinced random generic dungeons can't cut it any more in roguelikes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So yet again, its time to ask: thoughts? ideas? Comments are most welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-832599866411016045?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/832599866411016045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=832599866411016045' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/832599866411016045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/832599866411016045'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/dungeons-and-room-types.html' title='Dungeons and Room Types'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3355512360506738602</id><published>2010-04-13T06:37:00.000-07:00</published><updated>2010-04-13T06:42:22.710-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Powers'/><category scheme='http://www.blogger.com/atom/ns#' term='Crawl'/><category scheme='http://www.blogger.com/atom/ns#' term='Characters'/><category scheme='http://www.blogger.com/atom/ns#' term='Dnd'/><title type='text'>...in which I admit I play DnD 4e</title><content type='html'>&lt;div style="text-align: justify;"&gt;There are several main reasons why I've never won &lt;a href="http://crawl.develz.org/wordpress/"&gt;Crawl&lt;/a&gt;. The first is that I'm much too impatient. The second is that I'm not cautious enough. And the third is that I get complacent playing MdFis (my favourite class). Yet I'm glad about this. Mindlessly hacking things isn't and &lt;i&gt;shouldn't&lt;/i&gt; be the way to win at Crawl, thankfully. Its a testament to how state-of-the-art (when it comes to Roguelikes) that Crawl has become, really.&lt;br /&gt;&lt;br /&gt;That aside, that you have an added level of depth for "just" melee characters is something I'd like to emulate in Kharne. albeit via a slightly different mechanism. I've played a lot of &lt;a href="http://www.wizards.com/dnd/"&gt;DnD 4e&lt;/a&gt; recently and am impressed with some of the features that have been introduced to pep up playing fighter/melee classes.&lt;br /&gt;&lt;br /&gt;So I'm going to make slight changes to the class system in Kharne. The five classes will stay the same (Warrior, Knight, Thief, Cleric, Mage), but as the character advances in level, they will gain powers and innate abilities.&lt;br /&gt;&lt;br /&gt;They also gain a different name as they gain in level, for more atmosphere. For example, a level 1 Warrior would be a Grunt whereas a level 5 warrior would be a Soldier.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;The full list of proposed names is as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Warrior&lt;/b&gt;&lt;br /&gt;Grunt, Soldier, Warrior, Commander, Warlord&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Knight&lt;/b&gt;&lt;br /&gt;Squire, Defender, Paladin, Champion, Hero&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rogue&lt;/b&gt;&lt;br /&gt;Thug, Rogue, Criminal, Villain, Malefactor&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cleric&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Novice, Acolyte, Cleric, Minister, Prelate&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mage&lt;/b&gt;&lt;br /&gt;Initiate, Apprentice, Scholar, Sage, Archmage&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've not quite figured out all the powers that each class will have at different levels (suggestions are &lt;b&gt;most&lt;/b&gt; welcome), but here's an example of what I had in mind for the Rogue class. The powers gained are cumulative, and would scale for the character's current level. They're also thematic.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Thug&lt;/b&gt;: every x turns, make your next attack a critical hit (where x is a reasonable length of time).&lt;br /&gt;&lt;b&gt;Rogue&lt;/b&gt;: every x turns increase your stealth dramatically for a short period of time (where x is a reasonable length of time).&lt;br /&gt;&lt;b&gt;Criminal&lt;/b&gt;: gain a bonus to critical hit damage.&lt;br /&gt;&lt;b&gt;Villian&lt;/b&gt;: gain a bonus to evasion.&lt;br /&gt;&lt;b&gt;Malefactor&lt;/b&gt;: give a percentage chance to cheat death once every y turns for a small period of time (where y is a fairly large number)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Now, of course, when you have, in a roguelike, a resource that regenerates over a period of time, you immediately open up the can of worms that is &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=Cheating#Pillar_dancing"&gt;Pillar Dancing&lt;/a&gt;. I don't think there have been that many truely satisfactory solutions to Pillar Dancing, but I think that powers that recharge every x turns should only count turns when the character is actually doing something.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Some additional features that come to mind:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Powers could be recharged (or drained) by fountains&lt;/li&gt;&lt;li&gt;It wouldn't be good to display the exact number of turns left until a power is usable - but a descriptive indicator would work&lt;/li&gt;&lt;li&gt;There could be an item brand that decreases/increases the timer of the powers.&lt;/li&gt;&lt;li&gt;Powers could be enhanced, suppressed or even turned off by certain zones in the dungeon, or certain monsters&lt;/li&gt;&lt;/ul&gt;Thoughts? Suggestions for appropriate powers? Criticism?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3355512360506738602?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3355512360506738602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3355512360506738602' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3355512360506738602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3355512360506738602'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/in-which-i-admit-i-play-dnd-4e.html' title='...in which I admit I play DnD 4e'/><author><name>Dave</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3913481029669407096</id><published>2010-04-12T02:43:00.000-07:00</published><updated>2010-04-12T02:46:01.110-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Fountains'/><category scheme='http://www.blogger.com/atom/ns#' term='Interface'/><title type='text'>Q is for....</title><content type='html'>Whilst working on potions, a thought just occured to me.&lt;br /&gt;&lt;br /&gt;Press &lt;span style="font-weight: bold;"&gt;Q&lt;/span&gt; to (q)uaff a potion.&lt;br /&gt;&lt;br /&gt;But....&lt;br /&gt;&lt;br /&gt;Press &lt;span style="font-weight: bold;"&gt;Q&lt;/span&gt; to (q)uaff from a fountain.&lt;br /&gt;&lt;br /&gt;What happens if you're standing on a fountain square and want to (q) uaff a potion instead?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-3913481029669407096?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3913481029669407096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3913481029669407096' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3913481029669407096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3913481029669407096'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/q-is-for.html' title='Q is for....'/><author><name>Dave</name><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-5389698347381954189</id><published>2010-04-10T14:55:00.000-07:00</published><updated>2010-04-10T14:59:56.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Progress'/><title type='text'>Progress Report #19</title><content type='html'>&lt;div style="text-align: justify;"&gt;The next version will be out soon (yes, really!)&lt;br /&gt;&lt;br /&gt;Here's the current intended feature list. I'm still working on finishing off the implementation of potions.&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-style: italic; text-align: justify;"&gt;&lt;li&gt;Potions have been implemented.&lt;/li&gt;&lt;li&gt;Some monsters now follow characters up and down stairs.&lt;/li&gt;&lt;li&gt;Only the just finished game will be now highlighted correctly in the hiscore list after character death.&lt;/li&gt;&lt;li&gt;Spurious double quotes (") will no longer appear in automatically generated character names.&lt;/li&gt;&lt;li&gt;When resting, there is chance of a monster appearing randomly near the character.&lt;/li&gt;&lt;li&gt;Eating now restores all lost health points.&lt;/li&gt;&lt;li&gt;When starting a 2nd game in the same session, the Character Background will be reset properly.&lt;/li&gt;&lt;li&gt;On Character death, the Main Window Title will be reset properly.&lt;/li&gt;&lt;li&gt;Elemental Intrusion Creatures no longer have as many hitpoints.&lt;/li&gt;&lt;li&gt;A Character Knowledge screen has been added that shows identified and unidentified items. This can be accessed by pressing "/".&lt;/li&gt;&lt;li&gt;Identified items that are restocked in shops are now pre-identified correctly.&lt;/li&gt;&lt;li&gt;A keyboard shortcut ("^") has been implemented to refer to the last item picked up.&lt;/li&gt;&lt;li&gt;Unidentified Scrolls are now identified properly on Character Death.&lt;/li&gt;&lt;li&gt;A Toggle ("W") has been added to the inventory screen that displays the weights of items.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;And, yes, it will be still be in Delphi. There's too much done and to do now to start rewriting it in another language.&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/4238726274491709714-5389698347381954189?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5389698347381954189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5389698347381954189' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5389698347381954189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5389698347381954189'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/progress-report-19.html' title='Progress Report #19'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6163603041065532630</id><published>2010-04-09T12:38:00.001-07:00</published><updated>2010-04-09T12:38:52.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Strange Urges</title><content type='html'>I have these strange urges to restart development from scratch, only in C++ (or even C).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-6163603041065532630?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6163603041065532630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6163603041065532630' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6163603041065532630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6163603041065532630'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/04/strange-urges.html' title='Strange Urges'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8808938658298549033</id><published>2010-03-31T12:32:00.000-07:00</published><updated>2010-03-31T12:38:12.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Bane of the Living'/><category scheme='http://www.blogger.com/atom/ns#' term='Interface'/><category scheme='http://www.blogger.com/atom/ns#' term='User Interface'/><title type='text'>7DRL: Bane of the Living</title><content type='html'>&lt;a href="http://code.google.com/p/bane-of-the-living-7drl-version/downloads/list"&gt;This&lt;/a&gt; looks interesting. I especially like the clean interface:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_45leuySdewQ/S7OjiYmiXnI/AAAAAAAAARg/5FSwj0i4Ygk/s1600/screen1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 262px;" src="http://1.bp.blogspot.com/_45leuySdewQ/S7OjiYmiXnI/AAAAAAAAARg/5FSwj0i4Ygk/s400/screen1.png" alt="" id="BLOGGER_PHOTO_ID_5454883384790769266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Kharne's current interface is still much too cluttered. :-(&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_45leuySdewQ/S7OkIGWN5-I/AAAAAAAAARo/PL4Hi3Jb0CQ/s1600/cluttered.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://3.bp.blogspot.com/_45leuySdewQ/S7OkIGWN5-I/AAAAAAAAARo/PL4Hi3Jb0CQ/s400/cluttered.png" alt="" id="BLOGGER_PHOTO_ID_5454884032725510114" border="0" /&gt;&lt;/a&gt;Should the minimal view (below) be the default one?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_45leuySdewQ/S7OkdoXeD9I/AAAAAAAAARw/Q4hM0VRhXhU/s1600/uncluttered.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_45leuySdewQ/S7OkdoXeD9I/AAAAAAAAARw/Q4hM0VRhXhU/s400/uncluttered.png" alt="" id="BLOGGER_PHOTO_ID_5454884402634821586" border="0" /&gt;Kh&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8808938658298549033?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8808938658298549033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8808938658298549033' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8808938658298549033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8808938658298549033'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/03/7drl-bane-of-living.html' title='7DRL: Bane of the Living'/><author><name>Dave</name><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/_45leuySdewQ/S7OjiYmiXnI/AAAAAAAAARg/5FSwj0i4Ygk/s72-c/screen1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1870406045236606441</id><published>2010-03-06T02:44:00.000-08:00</published><updated>2010-03-06T02:49:27.065-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='7DRL'/><title type='text'>7DRLs</title><content type='html'>&lt;div style="text-align: justify;"&gt;This year's &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=Seven_Day_Roguelike_Challenge"&gt;7DRL&lt;/a&gt; has just &lt;a href="http://groups.google.co.uk/group/rec.games.roguelike.development/browse_thread/thread/d7c3eaea566a9e8a#"&gt;started&lt;/a&gt;. What is a 7DRL?&lt;br /&gt;&lt;br /&gt;&lt;span class="fixed_width"  style="font-family:Courier, Monospaced;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="fixed_width"  style="font-family:Courier, Monospaced;"&gt;A Seven Day Roguelike is a roguelike created in seven days. This means the author stopped writing code one hundred and sixty eight hours after they started writing code. &lt;/span&gt;&lt;/blockquote&gt;Already there are quite a few &lt;a href="http://groups.google.co.uk/group/rec.games.roguelike.development/topics"&gt;entries&lt;/a&gt;. Good luck to all the developers taking part, and I hope to review some of the entries when they are done.&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/4238726274491709714-1870406045236606441?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1870406045236606441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1870406045236606441' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1870406045236606441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1870406045236606441'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/03/7drls.html' title='7DRLs'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6578188864018259035</id><published>2010-02-26T17:47:00.000-08:00</published><updated>2010-02-26T17:51:31.074-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Brogue.'/><title type='text'>Brogue</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=Brogue"&gt;This&lt;/a&gt; is certainly a beautful looking &lt;a href="http://sites.google.com/site/broguegame/"&gt;Roguelike&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/S4h56DzXrPI/AAAAAAAAAHI/mjgJ8Tzeiag/s1600-h/broguescreenshot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 223px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/S4h56DzXrPI/AAAAAAAAAHI/mjgJ8Tzeiag/s400/broguescreenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5442734188037385458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Seems to have lots of innovative ideas as well. But its Mac only at the moment. Is it any good?&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/4238726274491709714-6578188864018259035?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6578188864018259035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6578188864018259035' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6578188864018259035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6578188864018259035'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/02/brogue.html' title='Brogue'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/S4h56DzXrPI/AAAAAAAAAHI/mjgJ8Tzeiag/s72-c/broguescreenshot.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-9127987662244507291</id><published>2010-02-25T16:12:00.001-08:00</published><updated>2010-02-25T16:14:05.209-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Progress'/><title type='text'>Development Restarted</title><content type='html'>Development on Kharne has restarted (slowly, but surely). The next version will have the following changes and bug fixes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Potions have been implemented.&lt;/li&gt;&lt;li&gt;Some monsters now follow characters up and down stairs.&lt;/li&gt;&lt;li&gt;Only the just finished game will be now highlighted correctly in the hiscore list after character death.&lt;/li&gt;&lt;li&gt;Spurious double quotes (") will no longer appear in automatically generated character names.&lt;/li&gt;&lt;li&gt;When resting, there is chance of a monster appearing randomly nearby the character.&lt;/li&gt;&lt;li&gt;Eating now restores all lost health points.&lt;/li&gt;&lt;/ul&gt;This last change was prompted by &lt;a href="http://groups.google.co.uk/group/rec.games.roguelike.development/browse_thread/thread/4733aa4e1ab80eb6#"&gt;this&lt;/a&gt; thread in r.g.r.d.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-9127987662244507291?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/9127987662244507291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=9127987662244507291' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9127987662244507291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9127987662244507291'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/02/development-restarted.html' title='Development Restarted'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2952388208122962885</id><published>2010-02-18T16:00:00.000-08:00</published><updated>2010-02-18T16:01:07.401-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Progress'/><title type='text'>Alive</title><content type='html'>Yes, I'm still alive!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2952388208122962885?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2952388208122962885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2952388208122962885' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2952388208122962885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2952388208122962885'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2010/02/alive.html' title='Alive'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8719135816172232775</id><published>2009-11-30T12:31:00.000-08:00</published><updated>2009-11-30T12:36:16.061-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stairs'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><title type='text'>More on stairs and monsters</title><content type='html'>I think that, further to the &lt;a href="http://www.dumpert.nl/mediabase/720561/4e942785/kitten_doet_lollig.html"&gt;comments&lt;/a&gt; on my last post, I won't bother, for now, allowing monsters to follow the character up and down stairs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-8719135816172232775?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8719135816172232775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8719135816172232775' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8719135816172232775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8719135816172232775'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/11/more-on-stairs-and-monsters.html' title='More on stairs and monsters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-5468181555889314620</id><published>2009-11-26T12:11:00.001-08:00</published><updated>2009-11-26T12:20:59.974-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hiatus'/><title type='text'>Hiatus</title><content type='html'>&lt;div style="text-align: justify;"&gt;As you'll probably have noticed, posting is light at the moment. I've decided to take a break for a few weeks from development.&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/4238726274491709714-5468181555889314620?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5468181555889314620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5468181555889314620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5468181555889314620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5468181555889314620'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/11/hiatus.html' title='Hiatus'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-6865827352444616872</id><published>2009-11-11T15:21:00.000-08:00</published><updated>2009-11-11T15:25:49.721-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stairs'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Monsters'/><title type='text'>Stairs and Monsters</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;I'm currently writing some code to allow monsters to  travel the stairs with the character, following the behaviour of those in Crawl.&lt;br /&gt;&lt;br /&gt;As implemented, all &lt;span style="font-style: italic;"&gt;adjacent &lt;/span&gt;monsters will travel with the character, as long as there is room on the destination level for them to do so.&lt;br /&gt;&lt;br /&gt;However, I'm nearly sure that (from last time I looked at their source) Crawl puts a limit on the monster types that can come up stairs.&lt;br /&gt;&lt;br /&gt;Do you think this is a better solution? And if so, what criteria should be used to determine ability to travel up stairs? (I don't have any &lt;a href="http://www.digitalspy.co.uk/cult/s7/doctorwho/news/a78526/classic-moments-dalek-climbs-stairs.html"&gt;Dalek&lt;/a&gt; monsters alas)&lt;br /&gt;&lt;/div&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/4238726274491709714-6865827352444616872?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/6865827352444616872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=6865827352444616872' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6865827352444616872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/6865827352444616872'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/11/stairs-and-monsters.html' title='Stairs and Monsters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-5976754269766512321</id><published>2009-10-26T04:16:00.000-07:00</published><updated>2009-10-26T04:24:50.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Achievements'/><title type='text'>More on achivements</title><content type='html'>&lt;div style="text-align: justify;"&gt;Unlike the &lt;a href="http://kharne-rl.blogspot.com/2009/10/achivements-reputation.html"&gt;achievements&lt;/a&gt; in MMOs, I want them to be a bit more than just fun, and affect gameplay.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;For example, let's say there is an achievement that can be obtained by killing &lt;span style="font-weight: bold;"&gt;10&lt;/span&gt; vampires. Let's call it "&lt;span style="font-weight: bold;"&gt;Wannabe Van Helsing&lt;/span&gt;" (as suggested by my muse - I think I prefer slightly humourous titles).&lt;br /&gt;&lt;br /&gt;I'd like to give characters who complete this a tangible game benefit. For example, a  small (but significant) damage bonus against vampires. Or slightly increased resistance to vampiric drain attacks.&lt;br /&gt;&lt;br /&gt;Or for an achivement for eating every single different type of food ("&lt;span style="font-weight: bold;"&gt;I'm not fat, I'm just big-boned&lt;/span&gt;") which allows 10% extra nutrition from food.&lt;br /&gt;&lt;br /&gt;I'm going to throw open the comments for suggestions for possible achivements  If your suggestion is taken and used, you'll get game credit! The titles should be somewhat humourous, and referencing either common fantasty-tropes or the roguelike&lt;span style="font-style: italic;"&gt; milieu&lt;/span&gt; where possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-5976754269766512321?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5976754269766512321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5976754269766512321' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5976754269766512321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5976754269766512321'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/more-on-achivements.html' title='More on achivements'/><author><name>Dave</name><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-4238726274491709714.post-8890243909324712</id><published>2009-10-20T05:20:00.000-07:00</published><updated>2009-10-20T05:30:37.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stairs'/><category scheme='http://www.blogger.com/atom/ns#' term='Ghosts'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Achievements'/><title type='text'>Ahem...</title><content type='html'>&lt;div style="text-align: justify;"&gt;That's me &lt;a href="https://www.blogger.com/comment.g?blogID=4238726274491709714&amp;amp;postID=1506118529605294131"&gt;told off&lt;/a&gt;...both &lt;a href="http://doom.chaosforge.org/"&gt;DoomRL&lt;/a&gt; and &lt;a href="http://lambdarogue.net/"&gt;Lambdarogue&lt;/a&gt; have achievement systems.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've also been thinking about a couple of minor other features: stairs, and player ghosts. Adjacent monsters should be able to climb stairs with the character, and ghosts should retain a proportion of the gold and an item or two as reward for the character killing them.&lt;br /&gt;&lt;br /&gt;And I should really play some of the roguelikes I mentioned &lt;a href="http://kharne-rl.blogspot.com/2009/10/roguelikes-i-have-never-played.html"&gt;here&lt;/a&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/4238726274491709714-8890243909324712?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8890243909324712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8890243909324712' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8890243909324712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8890243909324712'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/ahem.html' title='Ahem...'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-1506118529605294131</id><published>2009-10-17T17:55:00.001-07:00</published><updated>2009-10-17T18:05:47.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='World of Warcraft'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Everquest 2'/><category scheme='http://www.blogger.com/atom/ns#' term='Factions'/><category scheme='http://www.blogger.com/atom/ns#' term='MMORPGs'/><category scheme='http://www.blogger.com/atom/ns#' term='Achievements'/><category scheme='http://www.blogger.com/atom/ns#' term='Reputation'/><title type='text'>Achivements &amp; Reputation</title><content type='html'>Some day (&lt;span style="font-style: italic;"&gt;cue wistful music and sepia tones&lt;/span&gt;), I'd like to implement an achievement system, like you find in MMORPGs:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_puYNP_zHZxM/Stpn1STmOpI/AAAAAAAAAGs/TaOPUb_mBWo/s1600-h/eq2000008g.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 186px;" src="http://4.bp.blogspot.com/_puYNP_zHZxM/Stpn1STmOpI/AAAAAAAAAGs/TaOPUb_mBWo/s400/eq2000008g.jpg" alt="" id="BLOGGER_PHOTO_ID_5393737668874353298" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_puYNP_zHZxM/StpoP8ZFTvI/AAAAAAAAAG0/zsYtu-H4g4I/s1600-h/wow_achievements.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 251px;" src="http://1.bp.blogspot.com/_puYNP_zHZxM/StpoP8ZFTvI/AAAAAAAAAG0/zsYtu-H4g4I/s400/wow_achievements.jpg" alt="" id="BLOGGER_PHOTO_ID_5393738126848249586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I'm actually quite surprised that there aren't any, as far as I know, roguelikes with an achievement system. Though you could argue that the &lt;span style="font-weight: bold;"&gt;game score&lt;/span&gt; is a measure of achievement in itself.&lt;br /&gt;&lt;br /&gt;Further to that, I'd like to implement factions &amp;amp; reputation (with faction quartermasters):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_puYNP_zHZxM/StppeSFlOPI/AAAAAAAAAG8/6-dlOXwU_Uk/s1600-h/ogrila_rewards_lg.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 272px;" src="http://3.bp.blogspot.com/_puYNP_zHZxM/StppeSFlOPI/AAAAAAAAAG8/6-dlOXwU_Uk/s400/ogrila_rewards_lg.jpg" alt="" id="BLOGGER_PHOTO_ID_5393739472701831410" border="0" /&gt;&lt;/a&gt;Of course, you could argue that the deities in &lt;a href="http://chaosforge.org/crawl/index.php?title=God"&gt;Crawl&lt;/a&gt; are effectively factions.&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/4238726274491709714-1506118529605294131?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1506118529605294131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1506118529605294131' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1506118529605294131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1506118529605294131'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/achivements-reputation.html' title='Achivements &amp; Reputation'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/Stpn1STmOpI/AAAAAAAAAGs/TaOPUb_mBWo/s72-c/eq2000008g.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-9104065947721884624</id><published>2009-10-16T15:34:00.000-07:00</published><updated>2009-10-16T15:45:04.978-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Incursion'/><category scheme='http://www.blogger.com/atom/ns#' term='Nethack'/><category scheme='http://www.blogger.com/atom/ns#' term='DoomRL'/><title type='text'>Roguelikes I have never played....</title><content type='html'>&lt;div style="text-align: justify;"&gt;1. &lt;a href="http://doom.chaosforge.org/"&gt;DOOMRL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/Stj1UeFyk5I/AAAAAAAAAGU/xOqqOiCA-m0/s1600-h/doomrl.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 188px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/Stj1UeFyk5I/AAAAAAAAAGU/xOqqOiCA-m0/s400/doomrl.png" alt="" id="BLOGGER_PHOTO_ID_5393330285799707538" border="0" /&gt;&lt;/a&gt;2. &lt;a href="http://www.incursion-roguelike.net/"&gt;Incursion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/Stj2WTua7tI/AAAAAAAAAGc/LGexElQuJg0/s1600-h/ss+-+motives.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 318px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/Stj2WTua7tI/AAAAAAAAAGc/LGexElQuJg0/s400/ss+-+motives.gif" alt="" id="BLOGGER_PHOTO_ID_5393331416888700626" border="0" /&gt;&lt;/a&gt;3. &lt;a href="http://www.nethack.org/"&gt;Nethack&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_puYNP_zHZxM/Stj3JuLgnPI/AAAAAAAAAGk/DwwUm3qMQY4/s1600-h/nethack.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_puYNP_zHZxM/Stj3JuLgnPI/AAAAAAAAAGk/DwwUm3qMQY4/s400/nethack.gif" alt="" id="BLOGGER_PHOTO_ID_5393332300163357938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;No, seriously, I have never actually played the above three roguelikes.&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/4238726274491709714-9104065947721884624?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/9104065947721884624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=9104065947721884624' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9104065947721884624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9104065947721884624'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/roguelikes-i-have-never-played.html' title='Roguelikes I have never played....'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/Stj1UeFyk5I/AAAAAAAAAGU/xOqqOiCA-m0/s72-c/doomrl.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-8366928131377436003</id><published>2009-10-14T03:32:00.000-07:00</published><updated>2009-10-16T15:45:35.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Potions'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Scrolls and Potions oh my</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Now that the first tranche of scrolls have been implemented, and my exams are finally over for the year, the next thing to add to the game are &lt;a href="http://roguebasin.roguelikedevelopment.org/index.php?title=Potion"&gt;potions&lt;/a&gt;. Potions are slightly more complicated to implement than scrolls, given that scrolls are one-off effects and potions have effects over time. A &lt;a href="http://kharne-rl.blogspot.com/2009/08/some-thoughts-on-implementation-of.html"&gt;while back&lt;/a&gt;, I listed the various types of potions I'd like to implement, but as with scrolls, I'll probably only implement a subset of these at first, and add more in later. &lt;span style="font-weight: bold;"&gt;I will release 0.0.5c when I have potions implemented.&lt;/span&gt;&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/4238726274491709714-8366928131377436003?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/8366928131377436003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=8366928131377436003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8366928131377436003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/8366928131377436003'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/scrolls-and-potions-and-way-forward-oh.html' title='Scrolls and Potions oh my'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2270576303817716820</id><published>2009-10-13T12:44:00.001-07:00</published><updated>2009-10-13T12:51:54.223-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Configuring and compiling Kharne - a brief guide</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;(this is a copy of CODING.TXT which is found in the source code distribution. I will also add a permalink to this post for reference purposes)&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Contents:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Introduction&lt;/li&gt;&lt;li&gt;Required 3rd Party Components&lt;/li&gt;&lt;li&gt;Licensing Notes&lt;/li&gt;&lt;li&gt;Other Notes&lt;/li&gt;&lt;li&gt;Contact Details&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;1. Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Welcome to Kharne. Kharne is a standard Delphi Windows application that uses a certain number of third-party controls and libraries for additional functionality above and beyond that provided in Delphi.&lt;br /&gt;&lt;br /&gt;I have developed Kharne using Delphi 7, but provided the external controls can be installed, it should be compilable in any version of Delphi newer than 5.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Required 3rd Party Components&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Due to licensing terms, I can't provide these components or distribute their source with my own distribution.&lt;br /&gt;&lt;br /&gt;You will need to download and install the following &lt;span style="font-weight: bold;"&gt;before&lt;/span&gt; you open the source in Delphi for the first time:&lt;br /&gt;&lt;br /&gt;a. TGradLabel&lt;br /&gt;&lt;a href="http://www.delphi32.com/vcl/929/#"&gt;http://www.delphi32.com/vcl/929/#&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;It is my intention to phase the use of this component out entirely.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;b. TAStarPathPlanneer&lt;br /&gt;&lt;a href="http://www.riversoftavg.com/tastarpathplanner.htm"&gt;http://www.riversoftavg.com/tastarpathplanner.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;c. TQProgressBat&lt;br /&gt;&lt;a href="http://mapage.noos.fr/qnno/pages/delphi_en.htm#TQProgressBar"&gt;http://mapage.noos.fr/qnno/pages/delphi_en.htm#TQProgressBar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;d. TSQLLite&lt;br /&gt;&lt;a href="http://www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3"&gt;http://www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;You may need to add the path of this component to the Project Search Paths.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;e. THotLog&lt;br /&gt;&lt;a href="http://mapage.noos.fr/qnno/pages/delphi_en.htm#hotLog"&gt;http://mapage.noos.fr/qnno/pages/delphi_en.htm#hotLog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This isn't a component as such, &lt;span style="font-weight: bold;"&gt;simply copy hotlog.pas into the source directoy&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;make sure it is added to the project&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;f. TKeyboardHandler&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;As this is no longer available *anywhere* on the web, I've included the source in the components subdirectory. Longer term I want to phase use of this component out and duplicate its functionality,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;g. sqlite3.dll&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This is the SQLLite interface library, is public domain and thus is included with this source distribution.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If any of these components become unavailable, contact me (&lt;a href="mailto:starbog@gmail.com"&gt;starbog@gmail.com&lt;/a&gt;) and I will send them to you direct (I will only do this under these circumstances). I will then try and remove any dependency upon them from the next version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Licensing Notes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have released Kharne under the MPL as opposed to the GPL because I'm not convinced that the latter allows a Delphi program to link with components that are not GPL themselves.&lt;br /&gt;&lt;br /&gt;I've had a reply direct from the FSF telling me that it does provided I add an additional disclaimer to the GPL License that gives explicit permission. However, as I'm not convinced about this (the GPL itself is quite fuzzy in this regard), I'm releasing Kharne under the MPL to avoid any doubt.&lt;br /&gt;&lt;br /&gt;However, just to clear things up, I'm am granting an irrevocable right to link my code released under the MPL to &lt;span style="font-weight: bold;"&gt;any&lt;/span&gt; other custom component, library or API no matter what the license.&lt;br /&gt;&lt;br /&gt;The source code file &lt;span style="font-style: italic;"&gt;UnitOtherFuncs&lt;/span&gt; uses a few small routines freely available on the web - I have indicated carefully what these are in the source and their origins, and this file is obviously not released under the MPL.&lt;br /&gt;&lt;br /&gt;The distribution also includes a copy of the Bitstream Vera Sans Mono Font (veramono.ttf) which can be freely distributed and is in the public domain. If you are doing development, please copy this and install it in the usual way &lt;span style="font-weight: bold;"&gt;before&lt;/span&gt; opening the source code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Other Notes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have no idea if Kharne will compile with Lazarus, I suspect the custom components may prove to be an unsurmountable obstacle, but anyone is welcome to try porting if they wish. I'd like Kharne to run multiplatform without using WINE, but that may have to wait until cross-compiling for Delphi becomes a reality (it has been promised for the version due out in 2010.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Contact Details&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I can be emailed direct at &lt;a href="mailto:starbog@gmail.com"&gt;starbog@gmail.com&lt;/a&gt; or reached via the blog at &lt;a href="http://www.blogger.com/kharne-rl.blogspot.com"&gt;kharne-rl.blogspot.com&lt;/a&gt;. Or you can reach me on #rgrd regularily where I am known as "starbog".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2270576303817716820?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2270576303817716820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2270576303817716820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2270576303817716820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2270576303817716820'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/configuring-and-compiling-kharne-brief.html' title='Configuring and compiling Kharne - a brief guide'/><author><name>Dave</name><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-4238726274491709714.post-1292084403158761607</id><published>2009-10-12T14:13:00.000-07:00</published><updated>2009-10-12T14:22:07.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.0.5b now available</title><content type='html'>Kharne Alpha 0.0.5b is now &lt;a href="http://kharne.googlecode.com/files/Kharne005b.zip"&gt;available&lt;/a&gt; (source code is &lt;a href="http://kharne.googlecode.com/files/Kharne005b-src.zip"&gt;available&lt;/a&gt; as a ZIP as well as from the &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;SVN&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The  big change in this version is the addition of Scrolls (press &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;r&lt;/span&gt; to read them). There are currently &lt;a href="http://kharne-rl.blogspot.com/2009/10/scrolls.html"&gt;nine&lt;/a&gt; different types of scrolls available, there will be many more added over forthcoming releases.&lt;br /&gt;&lt;br /&gt;The full list of changes is:&lt;br /&gt;&lt;ul style="font-style: italic; text-align: justify;"&gt;&lt;li&gt;Scrolls have been implemented.&lt;/li&gt;&lt;li&gt;Scrolls and potions are no longer PseudoIDed.&lt;/li&gt;&lt;li&gt;Hunger is now increased by wearing magical items.&lt;/li&gt;&lt;li&gt;Fixed a bug with cursed fountains not causing the character to hunger correctly when drinking from them.&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/4238726274491709714-1292084403158761607?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1292084403158761607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1292084403158761607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1292084403158761607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1292084403158761607'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/kharne-005b-now-available.html' title='Kharne 0.0.5b now available'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-7739966324641115203</id><published>2009-10-11T02:45:00.000-07:00</published><updated>2009-10-11T02:47:21.192-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Googlecode'/><title type='text'>Automatic notifications of commits</title><content type='html'>&lt;div style="text-align: justify;"&gt;Does anyone know of a way to automatically post a message to a blog with summary details of a commit that's been made to a Googlecode SVN? (but not the email that's generated with all the changes)&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/4238726274491709714-7739966324641115203?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7739966324641115203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7739966324641115203' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7739966324641115203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7739966324641115203'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/autmatic-notifications-of-commits.html' title='Automatic notifications of commits'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-2662139136468723968</id><published>2009-10-10T08:24:00.000-07:00</published><updated>2009-10-10T08:26:04.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>More frequent releases or not?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Should there be more frequent releases of Kharne? (perhaps weekly?) Or should releases be restricted to when major new functionality is available?&lt;br /&gt;&lt;br /&gt;Obviously anyone can download the most recent code and build it, but for those who can't or won't, what do you want?&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/4238726274491709714-2662139136468723968?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2662139136468723968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2662139136468723968' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2662139136468723968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2662139136468723968'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/more-frequent-releases-or-not.html' title='More frequent releases or not?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-4653018982564172781</id><published>2009-10-09T17:09:00.000-07:00</published><updated>2009-10-09T17:28:34.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrolls'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Items'/><title type='text'>Scrolls</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've implemented scrolls:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_45leuySdewQ/Ss_Q_8z1VBI/AAAAAAAAARY/8G_aJBPJyC0/s1600-h/scrolls.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_45leuySdewQ/Ss_Q_8z1VBI/AAAAAAAAARY/8G_aJBPJyC0/s400/scrolls.png" alt="" id="BLOGGER_PHOTO_ID_5390757076059640850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;They basically work like they do in most other roguelikes.&lt;br /&gt;&lt;br /&gt;I've implemented the following types to begin with:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Enchant Armour&lt;/span&gt; - enchants a random piece of worn armour with greater AC.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Enchant Weapon&lt;/span&gt; - enchants a randon wielded item with either greater +hit or extra damage.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Remove Curse&lt;/span&gt; - removes curses from carried and wielded/worn items.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Teleportation&lt;/span&gt; - instantly teleports to another point on the level (as in the screenshot).&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Identify&lt;/span&gt; - identifies all carried items.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Magic Mapping&lt;/span&gt; - gives knowledge of the current level.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Forgetfulness&lt;/span&gt; - the opposite of Magic Mapping; takes away knowledge of the current level.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Blank Piece of Paper&lt;/span&gt; - the old favourite!&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Cursing&lt;/span&gt; - curses a random worn/wielded item.&lt;/li&gt;&lt;/ul&gt;The enchant and identify scrolls I'll change at a later date to target only one item as they're currently much too powerful; and its also currently possible to get a magic item for free by cursing and then uncursing a common-quality item.&lt;br /&gt;&lt;br /&gt;I've uploaded the &lt;a href="http://code.google.com/p/kharne/source/detail?r=6"&gt;changes&lt;/a&gt; to the &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;repository&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-4653018982564172781?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4653018982564172781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4653018982564172781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4653018982564172781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4653018982564172781'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/scrolls.html' title='Scrolls'/><author><name>Dave</name><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/_45leuySdewQ/Ss_Q_8z1VBI/AAAAAAAAARY/8G_aJBPJyC0/s72-c/scrolls.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-1417918473773001523</id><published>2009-10-08T15:30:00.000-07:00</published><updated>2009-10-08T15:34:35.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Progress'/><title type='text'>Progress Report#18</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Sorry for the lack of progress recently. I'm spending over 3 hours a day revising for forthcoming exams  and that combined with a full time job, significant other AND two cats means I get little time for coding at the moment. I managed to do a couple of small &lt;a href="http://code.google.com/p/kharne/source/list"&gt;changes&lt;/a&gt; but the next thing on the agenda is scrolls and potions, and those will be quite hefty to implement. And as such, I need to get these exams out of the way first. before I really start them/ After that, normal service will be resumed of course.&lt;br /&gt;&lt;/div&gt;&lt;br /&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/4238726274491709714-1417918473773001523?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/1417918473773001523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=1417918473773001523' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1417918473773001523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/1417918473773001523'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/progress-report18.html' title='Progress Report#18'/><author><name>Dave</name><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-4238726274491709714.post-7352569610525631613</id><published>2009-10-04T00:01:00.000-07:00</published><updated>2009-10-04T00:01:00.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Googlecode'/><title type='text'>Kharne source code repository now on GoogleCode</title><content type='html'>The Kharne sourcecode is now on &lt;a href="http://code.google.com/p/kharne/source/browse/"&gt;GoogleCode&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-7352569610525631613?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/7352569610525631613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=7352569610525631613' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7352569610525631613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/7352569610525631613'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/kharne-source-code-repository-now-on.html' title='Kharne source code repository now on GoogleCode'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-5547807979955175404</id><published>2009-10-03T04:19:00.000-07:00</published><updated>2009-10-03T04:26:23.277-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.0.5a now available</title><content type='html'>&lt;div style="text-align: justify;"&gt;Kharne Alpha 0.0.5a is now &lt;a href="http://sites.google.com/site/kharneroguelike/Kharne005a.zip"&gt;available&lt;/a&gt; (source code is &lt;a href="http://sites.google.com/site/kharneroguelike/Kharne005a-src.zip"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Changes are:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Fixed a bug that caused text in the character creation screens to be cut short.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Fixed an error that occurred when loading one of the sample characters.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Logging can now be switched on with the "/log" command line parameter. The default value is off.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The source code distribution also includes the &lt;a href="http://kharne-rl.blogspot.com/2009/10/source-code-issues-1.html"&gt;fixes&lt;/a&gt; mentioned in my previous post.&lt;br /&gt;&lt;br /&gt;I've also managed to set up a local &lt;a href="http://subversion.tigris.org/"&gt;subversion&lt;/a&gt; repository which I'll be hopefully shortly exporting to &lt;a href="http://code.google.com/"&gt;googlecode&lt;/a&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/4238726274491709714-5547807979955175404?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/5547807979955175404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=5547807979955175404' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5547807979955175404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/5547807979955175404'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/kharne-005a-now-available.html' title='Kharne 0.0.5a now available'/><author><name>Dave</name><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-4238726274491709714.post-4770052802394748860</id><published>2009-10-03T00:06:00.000-07:00</published><updated>2009-10-03T00:06:00.151-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Source Code Issues #1</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;dunkel^&lt;/span&gt; on &lt;a href="irc://quakenet/rgrd"&gt;#rgrd&lt;/a&gt; has discovered a couple of gotchas with the current source code distribution that prevent compilation.&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-family:courier new;"&gt;uses&lt;/span&gt; clause in the &lt;span style="font-family:courier new;"&gt;interface&lt;/span&gt; section of &lt;span style="font-family:courier new;"&gt;UnitDisplay.pas&lt;/span&gt; (line #33) I left an errant reference to a component I no longer use. If you remove &lt;span&gt; &lt;span style="font-family:courier new;"&gt;BtChkBox&lt;/span&gt; from this clause, it solves this problem.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt;The new uses clause should look like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;uses&lt;/span&gt; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt; Dialogs, ExtCtrls, StdCtrls, KeyboardHandler, DateUtils, jpeg, ImgList, Menus,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt; ComCtrls, ToolWin, Gradlabl, PathPlanner, QProgBar, AppEvnts, hotlog,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt; UnitDungeon, UnitDefines, UnitConst, UnitVars, UnitFunctions, UnitItem,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt; UnitCreature,  UnitMonster, UnitInit, UnitGame;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span&gt;Also, the logging component, &lt;span style="font-family:courier new;"&gt;THotLog &lt;/span&gt;seems to be unreliable and AVs a lot. To disable it for now, just comment out the &lt;span style="font-family:courier new;"&gt;hLog.StartLogging&lt;/span&gt; call in the &lt;span style="font-family:courier new;"&gt;TFormSplash.FormCreate&lt;/span&gt; method in &lt;span style="font-family:courier new;"&gt;UnitSplash.pas&lt;/span&gt; (line #66):&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;{ Form Create }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;procedure&lt;/span&gt; TFormSplash.FormCreate(Sender: TObject);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;{ Set up Logging }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hLog.hlWriter.hlFileDef.append := False;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;{ Start Logging }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;//hLog.StartLogging;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;{ log System Information}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hLog.add('{OSVI}');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hLog.add('{CPUI}');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hLog.add('{mem}');&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span&gt;With these changes, &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span&gt;Kharne &lt;/span&gt;&lt;span&gt;was able to be compiled and ran successfully. &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/4238726274491709714-4770052802394748860?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/4770052802394748860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=4770052802394748860' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4770052802394748860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/4770052802394748860'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/source-code-issues-1.html' title='Source Code Issues #1'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3707187118126743526</id><published>2009-10-02T03:29:00.000-07:00</published><updated>2009-10-02T03:30:45.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Roadmap'/><title type='text'>Now what?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Now that the source code is out, what's next?&lt;br /&gt;&lt;br /&gt;For my own part, there are still a few things in the code that I feel need tidying up. The code for creating, placing and dropping items, for example, really needs to be refactored further as it is duplicated in about a dozen places in the code.&lt;br /&gt;&lt;br /&gt;Then I need to blitz the googlecode documentation and learn how to use that, to set up the repository.&lt;br /&gt;&lt;br /&gt;After that, its time to look at what new features I'd like to implement.&lt;br /&gt;&lt;br /&gt;The old &lt;a href="http://kharne-rl.blogspot.com/2009/07/roadmap-and-way-forward.html"&gt;roadmap&lt;/a&gt; was quite specific about what functionality would go into (then) future releases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Character Milestones&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Potions/Scrolls&lt;/li&gt;&lt;li&gt;&lt;b&gt;Multiple Items on a Title&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Timer Handling&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Corpses&lt;/li&gt;&lt;li&gt;Magic &amp;amp; Spellcasting.&lt;/li&gt;&lt;li&gt;Saving/Loading&lt;/li&gt;&lt;li&gt;Ranged Combat&lt;/li&gt;&lt;li&gt;Damage Brands&lt;/li&gt;&lt;li&gt;&lt;b&gt;Interface/Control Upgrade&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Mutations &amp;amp; Corruption&lt;/li&gt;&lt;li&gt;Town NPCs&lt;/li&gt;&lt;li&gt;Victory Conditions&lt;/li&gt;&lt;li&gt;Traps&lt;/li&gt;&lt;/ul&gt;I've bolded the items that are currently fully or partially implemented.&lt;br /&gt;&lt;br /&gt;But this still leaves quite a lot. I feel the next release should work towards new functionality, and the ideal candidates are, as I've been hinting at for some time, &lt;b&gt;potions/scrolls and ranged combat&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;But, of course, one of the joys of open source is that anyone can help, so if there is anything you'd like to see in Kharne, and you know Delphi/Pascal, and you can understand my extant code, just download the source, install it and start coding!&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/4238726274491709714-3707187118126743526?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3707187118126743526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3707187118126743526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3707187118126743526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3707187118126743526'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/now-what.html' title='Now what?'/><author><name>Dave</name><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-4238726274491709714.post-2764815325161737331</id><published>2009-10-01T16:03:00.000-07:00</published><updated>2009-10-01T16:13:34.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.05 and source code released!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(51, 0, 153); font-weight: bold;"&gt;Kharne Alpha v0.05 is &lt;/span&gt;&lt;a style="color: rgb(51, 0, 153); font-weight: bold;" href="http://sites.google.com/site/kharneroguelike/Kharne005.zip"&gt;now available&lt;/a&gt;&lt;span style="color: rgb(51, 0, 153); font-weight: bold;"&gt;, and has been released as open source under the MPL v1.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This version is functionally &lt;span style="font-weight: bold;"&gt;identical&lt;/span&gt; to v0.04a.&lt;br /&gt;&lt;br /&gt;The source code is available &lt;a href="http://sites.google.com/site/kharneroguelike/Kharne005-src.zip"&gt;here&lt;/a&gt; or via the downloads menu.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Please read CODING.TXT in the docs subdirectory &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;before&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; attempting to load the Kharne project into Delphi.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have any questions, or difficulty getting the source to compile, feel free to leave a comment here or email me on &lt;a href="mailto:starbog@gmail.com"&gt;starbog@gmail.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2764815325161737331?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2764815325161737331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2764815325161737331' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2764815325161737331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2764815325161737331'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/kharne-005-and-source-code-released.html' title='Kharne 0.05 and source code released!'/><author><name>Dave</name><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-4238726274491709714.post-2847792014851983653</id><published>2009-10-01T00:01:00.000-07:00</published><updated>2009-10-01T00:01:00.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Refactoring Completed</title><content type='html'>&lt;div style="text-align: justify;"&gt;Its the 1st of October, and suitably, the great code refactor of 2009 has finally been completed.&lt;br /&gt;&lt;br /&gt;As soon as I write a guide for obtaining and installing the various 3rd-party libraries, APIs and custom VCL components that Kharne uses, I will release a source code distribution under the &lt;a href="http://www.opensource.org/licenses/mozilla1.1.php"&gt;Mozilla Public License (MPL)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Shortly after that, I hope to set up the &lt;a href="http://code.google.com/p/kharne/"&gt;source code repository&lt;/a&gt; on &lt;a href="http://code.google.com/"&gt;GoogleCode&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2847792014851983653?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2847792014851983653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2847792014851983653' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2847792014851983653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2847792014851983653'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/10/refactoring-completed.html' title='Refactoring Completed'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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-4238726274491709714.post-9180273818131707473</id><published>2009-09-30T00:50:00.000-07:00</published><updated>2009-09-30T00:50:00.485-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memories'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><title type='text'>Memories</title><content type='html'>&lt;div style="text-align: justify;"&gt;As part of the refactoring process I came across a random executable dated mid 2007 and found it was a prototype I had written back before the rewrite became public knowledge.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_puYNP_zHZxM/Sr1JZNg6PWI/AAAAAAAAAGM/JaA23leN4NA/s1600-h/kharnerebirth.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 278px; height: 400px;" src="http://2.bp.blogspot.com/_puYNP_zHZxM/Sr1JZNg6PWI/AAAAAAAAAGM/JaA23leN4NA/s400/kharnerebirth.png" alt="" id="BLOGGER_PHOTO_ID_5385541426878233954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;It doesn't actually do anything other than display this screen, but it does illustrate that, back in that day, I was obviously still wedded to the "moar windows!" paradigm. Now, on the other hand, I'm frantically trying to emulate an X-term using a RAD Application Tool.&lt;br /&gt;&lt;br /&gt;Oh the irony!&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/4238726274491709714-9180273818131707473?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/9180273818131707473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=9180273818131707473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9180273818131707473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/9180273818131707473'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/09/memories.html' title='Memories'/><author><name>Dave</name><uri>http://www.blogger.com/profile/07160547787461019796</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/_puYNP_zHZxM/Sr1JZNg6PWI/AAAAAAAAAGM/JaA23leN4NA/s72-c/kharnerebirth.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-2091704268020718243</id><published>2009-09-29T00:52:00.000-07:00</published><updated>2009-09-29T00:52:00.179-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Refactoring Progress #5</title><content type='html'>&lt;div style="text-align: justify;"&gt;The refactoring is almost complete:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_45leuySdewQ/Sr5U4OtEMHI/AAAAAAAAARQ/PcJf-fxBlzg/s1600-h/refactoringprogress5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 341px; height: 400px;" src="http://1.bp.blogspot.com/_45leuySdewQ/Sr5U4OtEMHI/AAAAAAAAARQ/PcJf-fxBlzg/s400/refactoringprogress5.png" alt="" id="BLOGGER_PHOTO_ID_5385835529378214002" border="0" /&gt;&lt;/a&gt;I've just spent about five hours in total dealing with bugs I introduced into the &lt;span style="font-style: italic;"&gt;TDungeon&lt;/span&gt; level generation code while refactoring, which was mainly due to doing the refactoring offline, i.e. not within an environment where the code could compile. It has been a useful exercise, as well as removing any code that I'd be ashamed of releasing (now there's just a lot of code left that I merely &lt;span style="font-style: italic;"&gt;dislike&lt;/span&gt;), I've reaquainted myself with a lot of code that has been written for quite a while now and which I had forgotten the purpose of. The code also conforms a lot more to coding standards.&lt;br /&gt;&lt;br /&gt;The only major source code left to refactor is &lt;span style="font-style: italic;"&gt;UnitDisplay.pas&lt;/span&gt; which, as the name suggests, is, contains the code that interfaces with the screen and the GUI-handling code. Its about 4000 lines of code. I'm on target to finish the refactor within the week or so.&lt;br /&gt;&lt;br /&gt;Its a messy unit, full of code like this:&lt;br /&gt;&lt;pre&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;Procedure&lt;/span&gt; TFormDisplay.ListViewMonstersCompare(Sender: TObject; Item1,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Item2: TListItem; Data: Integer; &lt;span style="color: rgb(0, 0, 102);"&gt;&lt;span style="font-weight: bold;"&gt;var&lt;/span&gt; &lt;/span&gt;Compare: Integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt; ListViewMonsters.Items.Count = &lt;span style="color: rgb(0, 0, 102);"&gt;0&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt; Compare := &lt;span style="color: rgb(0, 0, 102);"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; (StrToInt(Item1.SubItems[&lt;span style="color: rgb(0, 0, 102);"&gt;6&lt;/span&gt;])) &gt; (StrToInt(Item1.SubItems[&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;])) &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; Compare := 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; (StrToInt(Item1.SubItems[&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;])) = (StrToInt(Item1.SubItems[&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;])) &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; Compare := 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;Compare := &lt;span style="color: rgb(0, 0, 102);"&gt;-1&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;end;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;end;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;I'm not coding C, so there's no virtue in conciseness. The refactor turns that code into this (note that some of the indenting may not display properly, but the final code is indented properly):&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;{ Sort Routine to sort entries in the Visible Monsters display - compares two&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  TListItems and returns a comparison based upon TMonster.Level }&lt;/span&gt; &lt;/span&gt; &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 102); font-weight: bold;font-family:courier new;" &gt;&lt;br /&gt;Procedure&lt;/span&gt; TFormDisplay.ListViewMonstersCompare(Sender: TObject; Item1,&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;span style="font-family:courier new;"&gt;  Item2: TListItem; Data: Integer; &lt;span style="color: rgb(0, 0, 102);"&gt;&lt;span style="font-weight: bold;"&gt;var&lt;/span&gt; &lt;/span&gt;Compare: Integer);&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;var&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;  FirstItemLevel: Integer;&lt;br /&gt;SecondItemLevel: Integer;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;&lt;br /&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 102, 0);"&gt;{ Logging }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  hLog.Add('{now} {lNum} TFormDisplay.ListViewMonstersCompare()');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 102, 0);"&gt;{ Default result which is that both items are equal}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Result := 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    { Make sure there are items to compare }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt; ListViewMonsters.Items.Count &gt; 0 &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;     { Get the monster levels from the Listview Items }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      FirstItemLevel := StrToIntDef(Item1.SubItems[&lt;span style="color: rgb(0, 0, 102);"&gt;MONSTER_LEVEL&lt;/span&gt;], 0);&lt;br /&gt;   SecondItemLevel := StrToIntDef(Item2.SubItems[&lt;span style="color: rgb(0, 0, 102);"&gt;MONSTER_LEVEL&lt;/span&gt;], 0);&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 102, 0);"&gt;{ Compare the Monster Levels of each items }&lt;br /&gt;&lt;br /&gt;   { First &gt; Second }&lt;br /&gt;&lt;/span&gt;      &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt; FirstItemLevel  &gt; SecondItemLevel  &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt;&lt;br /&gt;     Compare := 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;      { First &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;if&lt;/span&gt; FirstItemLevel &lt; style="font-weight: bold; color: rgb(0, 0, 102);"&gt;&lt;/span&gt;) &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;then&lt;/span&gt;  &lt;br /&gt;     Compare := -1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;end;&lt;br /&gt;except&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;{ in case of error, log the Exception }&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;&lt;br /&gt; on &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;E: Exception&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt; do &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;hLog.AddException(E);&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102);"&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(0, 0, 102);font-family:courier new;" &gt;end;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;After I finish that unit, I'll have to put together the instructions for downloading and installing the various 3rd party components that I use, and then technically I'll have a source code distribution ready for when I release Kharne under the MPL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4238726274491709714-2091704268020718243?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/2091704268020718243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=2091704268020718243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2091704268020718243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/2091704268020718243'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/09/refactoring-progress-5.html' title='Refactoring Progress #5'/><author><name>Dave</name><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/_45leuySdewQ/Sr5U4OtEMHI/AAAAAAAAARQ/PcJf-fxBlzg/s72-c/refactoringprogress5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4238726274491709714.post-3383510679131758711</id><published>2009-09-28T00:01:00.000-07:00</published><updated>2009-09-28T00:01:02.513-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kharne'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Kharne 0.0.4a available</title><content type='html'>&lt;div style="text-align: justify;"&gt;After a few issues were &lt;a href="https://www.blogger.com/comment.g?blogID=4238726274491709714&amp;amp;postID=8992989779334219160"&gt;pointed out&lt;/a&gt; with 0.0.4 I've decided to release a new version, &lt;a href="http://sites.google.com/site/kharneroguelike/Kharne004a.zip"&gt;0.0.4a&lt;/a&gt;  (836K zip file, link is also on the usual place on the right-hand side) to address them. Changes are as follows:&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-style: italic; text-align: justify;"&gt;&lt;li&gt;Blocked repetitive keypressing whilst in character creation to avoid selecting multiple options with the same keypress.&lt;/li&gt;&lt;li&gt;The various character creation steps can now be undone.&lt;/li&gt;&lt;li&gt;Pressing [CTRL] on the background tab in character creation will now generate a random background.&lt;/li&gt;&lt;li&gt;Half-Orcs are now Orcs everywhere in the game.&lt;/li&gt;&lt;li&gt;Character Dumps should no longer report dwarven characters as halfings.&lt;/li&gt;&lt;li&gt;Character files which belong to characters who have died are now moved to the morgue subdirectory.&lt;/li&gt;&lt;li&gt;Upon death, a copy of the character dump is written to to the morgue subdirectory.&lt;/li&gt;&lt;li&gt;Common items can now be pseudo-ided.&lt;/li&gt;&lt;li&gt;Fixed a minor spacing error in automatically generated backgrounds.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Note that one of the changes here is when a character dies, the character file is moved to the morgue directory and flagged as a dead character. This is in preparation for implemention of saving and loading.  Character files are currently not scrambled or encoded, so if you want to undeadify your character file, load it into a text editor and change the first line from "Dead" to "Alive". ;-)&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/4238726274491709714-3383510679131758711?l=kharne-rl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kharne-rl.blogspot.com/feeds/3383510679131758711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4238726274491709714&amp;postID=3383510679131758711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3383510679131758711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4238726274491709714/posts/default/3383510679131758711'/><link rel='alternate' type='text/html' href='http://kharne-rl.blogspot.com/2009/09/kharne-004a-available.html' title='Kharne 0.0.4a available'/><author><name>Dave</name><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>
