<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Stu&#39;s Rusty Bucket</title>
    <subtitle type="text">Stu&#39;s Rusty Bucket:Mind the gap between the keyboard and the chair</subtitle>
    <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/index/" />
    <link rel="self" type="application/atom+xml" href="http://www.mega-tokyo.com/blog/index.php/site/atom/" />
    <updated>2009-01-06T16:38:36Z</updated>
    <rights>Copyright (c) 2009, Stu</rights>
    <generator uri="http://www.pmachine.com/" version="1.6.6">ExpressionEngine</generator>
    <id>tag:mega-tokyo.com,2009:01:06</id>



<entry>
      <title>ToDo as of 20090106</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/todo_as_of_20090106/" />
      <id>tag:mega-tokyo.com,2009:blog/index.php/site/index/1.2445</id>
      <published>2009-01-06T16:28:35Z</published>
      <updated>2009-01-06T16:38:36Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>To Do List as of last night (got a sick baby boy so did not do a lot of work on it).</p>

<pre>[ ] * Sweep attacks at higher levels
[ ] * Double hits
[ ] * Free shots by everyone when a player moves away from you
[ ] * Free shots if you walk past someone
[ ] * Backstab
[ ] * Fleeing the map
[ ] * Aim (monster auto target selection)
[ ] * Manual Aim (any square)
[X] * LOS</pre>

<p>Yep completed LOS and found an interesting corner case where the screen shows an even amount of lines, say 10, the lines 1-5 above the player, player on line 6, and 7-10 below&#8230;</p>

<p>That 5 clear above, 4 clear below yields an oddity, since we are doing rectangular LOS&#8230; Here is an example of casting to the top row and bottom row.</p>

<p></p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">*******<br />&nbsp;*****<br />&nbsp;&nbsp;***<br />&nbsp;&nbsp;&nbsp;@<br />&nbsp;&nbsp;***<br /></span><span style="color: #0000BB">X</span><span style="color: #007700">*****</span><span style="color: #0000BB">X&nbsp;</span>
</span>
</code></div><p></p>

<p>Where the two X&#8217;s are squares that not visible when they should be because to hit those we have to cast to the line below the screen. To hit those X&#8217;s on this graph would be to compress the LOS which could give you artifacts and other oddities.</p>

<p>Anyway, this corner case is a bit moot as I will be doing LOS for the entire combat map, as  the player can target/cast spells outside of the immediate area, and so I need to have all the LOS information, not just what is drawn to the screen&#8230;</p>

<p>I just found it an interesting edge case.
</p>
      ]]></content>
    </entry>

<entry>
      <title>Combatness</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/combatness/" />
      <id>tag:mega-tokyo.com,2009:blog/index.php/site/index/1.2444</id>
      <published>2009-01-05T12:53:09Z</published>
      <updated>2009-01-05T20:26:10Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Things to do on the Things To Do list for melee combat;</p>

<p>* Sweep attacks at higher levels<br />
* Double hits<br />
Should be very easy, just a skill check level > X and movement points test. </p>

<p>* Free shots by everyone when a player moves away from you (Remember those in the GB games.. they can really hurt)<br />
* Free shots if you walk past someone<br />
* Backstab<br />
Quite simple</p>

<p>* Fleeing the map<br />
Relatively easy , whenever you hit within a 10 columnn/row boundary of the border, ask if you wish to flee combat.</p>

<p>* Aim (monster auto target selection)<br />
* Manual Aim (any square)<br />
Super easy</p>

<p>* LOS<br />
Super Easy, the same callback function passed into the AStar pathfinding can be passed into the pre-exisitng LOS routine.</p>

<p>On the player side<br />
* Need to be able to change weapons/armour etc and mess with your inventory or use skills and such.</p>

<p>Hmm thats more than I had initially thought&#8230; my other random thought was that I may make some of the specialist stuff into skills in their own right (double hit, sweep, backstab, critical hit, and others) and you could learn something more (kinda like a very short skill tree, so if you had melee weapons you could later learn either double hit or sweep etc)</p>

<p>Enemies can now switch out weapons and armour on the fly if they need to change from ranged to melee etc.</p>


      ]]></content>
    </entry>

<entry>
      <title>Cloning for the combat map</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/cloning_for_the_combat_map/" />
      <id>tag:mega-tokyo.com,2009:blog/index.php/site/index/1.2443</id>
      <published>2009-01-01T17:30:24Z</published>
      <updated>2009-01-01T19:04:25Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>I spent some time last night cloning up the current map to create the combat map. Every time is multiplied by 4 to enlarge the map to explode the combat map.</p>

<p>The problem now becomes one of enemy positioning. I have to tweak me routine to not place people inside of walls and things&#8230; One nice thing is that doors are auto-converted into floor tiles (if inside) and such.</p>

<p>One nice thing of the 1:4 tile ratio is that the max number of players in the party is 4 (and even if it were 6 or 8) I can fit the part in one combat tile.. which kind of retains the 1:1 relationship.. mm pointless thing to notice I know.</p>

<p>I just added some code to auto orient everyone, so if you approach from the west, you face your enemies from the west and they face east. No more automatic North-South orienting. Also when events trigger &#8216;near&#8217; a player (usually events that happen when your next to something rather than on top of it) will auto face the part toward the event.</p>

<p>src/combat.c is approaching nearly 2500 lines of code..</p>

<p>Now I just need to get my archers to fire their bows and I can move on to implementing the magic system for combat! Its just a call to the LOS code with a callback&#8230;</p>

<p>oooh LOS code&#8230; I need to implement the LOS! Well two birds with one stone (but only if your skill in ranged weapons is good enough!)
</p>
      ]]></content>
    </entry>

<entry>
      <title>Memory Leaks</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/memory_leaks/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2442</id>
      <published>2008-12-31T00:18:06Z</published>
      <updated>2008-12-31T15:46:07Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Any time I add a substantial chunk of code or do drastic changes, I check my running logs. Fishguts is compiled with memory leak logging tools so each time I run it, it generates a log and tells me where it was allocated from&#8230;</p>

<p>So yeah.. I spent today removing all mem leaks from the astar code which turned out I was fighting myself, and it was a simple one liner.. but hey, at least there is no leaks again! Tho there is an odd tangeng in the pathing&#8230;</p>

<p>Lets do a nice example.</p>

<pre>    ABC
    ...
    ...
    ...
    DEF</pre>

<p>ABC are enemies, DEF ande my guys.</p>

<p>You would think, on first pass,they cheapest cost would be A->D, B->E, C->F.. but what happens is&#8230;</p>

<p>Move1
</p><pre>    .BC
    A..  
    ...
    ...
    DEF</pre>

<p>Move 2
</p><pre>    .BC
    ...
    A..
    ...
    DEF</pre>

<p>Move 3
</p><pre>    .BC
    ...   
    ...   
    .A. 
    DEF</pre>

<p>Umm&#8230; what? yeah.. not sure either&#8230; Mostly it appears everyone goes to attack the guy in the middle&#8230; I need to do some more testing.</p>

<p>edit:: Hmm that gave myself a clue, and checking my code, I was comparing versus the cost of the number of moves instead of the actual COST of the movement (diagonals cost more), etc.. oops.. fixed now.
</p>
      ]]></content>
    </entry>

<entry>
      <title>A Star Pathfinding</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/a_star_pathfinding/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2441</id>
      <published>2008-12-29T17:29:50Z</published>
      <updated>2008-12-29T17:44:52Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Christmas was busy, and in terms of code, not a lot got done. I did put a prelim A* routine into play this morning. I&#8217;ve been watching it generate cellular automata based dungeons and put random start/end points in and draw the best A* path between them. It ran for a few hours and no bugs appeared. Its kinda fascinating to watch it meander its way from point A to B.</p>

<p>I guess the plan now is to generate a list of all enemies on the map, and for each one, generate an A* path and see what has the lowest cost. That should not be very CPU heavy as the combat map is always a fixed size, its small and there are very few obstacles to actually detour around.</p>

<p>Mm and I can throw away the entire path but for the first step, as that is all the enemy needs to take&#8230;</p>
      ]]></content>
    </entry>

<entry>
      <title>Choosing who to attack</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/choosing_who_to_attack/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2440</id>
      <published>2008-12-18T14:50:10Z</published>
      <updated>2008-12-18T14:51:11Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Basic AI can be as easy or as hard as you want to make it.</p>

<p>Here is a nice example I&#8217;m trying to work through.</p>

<p>If Monster B (MB) is next to Monster A (MA) and MA has a melee weapon, well you have them fight. easy.<br />
What happens when you want MA to move toward some enemy to fight. </p>

<p>First you need to determine whom you want to attack. Deciding that is a PITA.</p>

<p>Right now I build a list of everyone alive whom is not affiliated to the same alliance groups as myself (Everyone can have two alliances), this should basically be everyone I want to kill, and no friendlies.</p>

<p>Then with that list you could pick the closest one to head toward&#8230;</p>

<p>But what if, due east 4 spaces is a Big Black Dragon whom is the closest, but due west 5 spaces are two wimpy kobolds&#8230; A human player would go for the kobolds..</p>

<p>Hmm.. but the computer is not me. So now I need an extra field to give each monster a relative threat level. </p>

<p>OK so now we know that the kobolods pose less of a threat than the Black Dragon&#8230; Lets replace the kobolds with a Dracolich which is a bigger threat than the Black Dragon.. Only behind the Black Dragon is a line of 10 more Black Dragons..</p>

<p>So even tho the Black Dragon is a lesser threat and close, than the Dracolich&#8230; Only the 10 more behind it make it a bigger threat&#8230; and because you know you have that Long Sword vs Dracolich +42&#8230;</p>

<p>Hmmm, so now we need to take into account something like a rough proximity count to the target, and am I holding any special weapons that might juuust help me out?</p>

<p>Should the computer know that all 11 Black Dragons are injured and have only 1 hp each, are all poisoned so will probably die before the start of the next round?</p>

<p>How much information should the computer snoop on? Too little and the compuer will make stupid choices. Too much and it will be extremly hard to beat (plus it can move on the diagonal and you cant).</p>

<p>Its never as easy as picking the nearest neighbor.</p>

<p>Then you have to factor in A* path finding, that monster might be the closest, or best choice but the A* path finding takes me right past that nasty pack of beholders&#8230;</p>


      ]]></content>
    </entry>

<entry>
      <title>Things I had&#8217;t paid attention to before</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/things_i_hadt_paid_attention_to_before/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2439</id>
      <published>2008-12-15T17:05:13Z</published>
      <updated>2008-12-15T17:21:15Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Life"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Life/"
        label="Life" />
      <category term="Personal"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Personal/"
        label="Personal" />
      <content type="html"><![CDATA[
        <p>I learnt something on the weekend, something I had not bothered to really think about.</p>

<p>My Wapienica straight razor is a 4/8<br />
My Carl Rader Solingen straight razor is 5/8<br />
and my Thomas Turner Royal Navy straight razor is 6/8</p>

<p>Hmm, also consequently the wapi is the most delicate, and the Thomas Turner is positively wedge-like, its probably 1/4 or less hollow ground I think. 
</p>
      ]]></content>
    </entry>

<entry>
      <title>Human AI</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/human_ai/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2438</id>
      <published>2008-12-15T13:21:50Z</published>
      <updated>2008-12-15T13:43:51Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Got some basic human AI going. This is for the generic humanoid/human thinking level enemies. It is only 80% implemented right now but the logic flow will be something like the following;</p>

<p>It basically goes like this right now;</p>

<p>- If there is an enemy next to me, switch to melee weapon and attack<br />
- If no enemies around me, switch to ranged weapon and attack<br />
- If I cant attack, move closer</p>

<p>I still have to wrangle spells in there.</p>

<p>I also don&#8217;t want everyone to fire off spells in the first couple of rounds and be left with nothing if combat goes on for more than a couple of rounds. I had thought that the lower the hit points the higher rated using spells should be. I also still need to factor skill into play. So someone with higher melee skill should think of using that first, rather than an abysmal magic rating, and thus a wizard should concentrate on spells before rushing headlong into battle with just a dagger and no melee skill&#8230;</p>

<p>The human level AI will probably be the most complex. Higher up intelligence AI is just tweaked human ai, and you can think of tweaks like, automatically picking the PC&#8217;s with the lowest hit points or other sneaky things. Dumb AI will just be of the rush-and-attack kind of thing with no sense of self preservation.</p>


      ]]></content>
    </entry>

<entry>
      <title>Other Projects</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/other_projects/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2437</id>
      <published>2008-12-10T17:52:22Z</published>
      <updated>2008-12-10T17:53:23Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Bunyon / ScottCom"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/bunyon_scottcom/"
        label="Bunyon / ScottCom" />
      <category term="Cracks and Crevices"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Cracks and Crevices/"
        label="Cracks and Crevices" />
      <content type="html"><![CDATA[
        <p>Random stuff that has been neglected for too long.</p>

<p><b>Bunyon</b><br />
Cleaned up the head of the Bunyon interpreter last night, branched it for playing with the TRS80 format. The plan is to convert the TI99 bytecode into an more managable form of bytecode and strings internally. With the new internal representation I can load the TRS80 ScottFree format and convert that from its ASCII line oriented text into new one.</p>

<p>The hope is that there will be litle to no code change required regarding trs80 game code and ti99 game code for playing, but of course there are always edge cases, and probably the couple of opcodes that the TI99 does not use, the TRS80 probably will use&#8230;</p>

<p>I also need to test the remaining four Scott Adams games I have and create .apl code and transcriptions.</p>

<p>This will hopefully go hand in hand with the ScottCom compiler.</p>

<p><b>ScottCom</b><br />
Speaking of the ScottCom compiler, the plan for that is to export the internal representation (which is TI99 bytecode) into TRS80 line oriented format.</p>

<p>The big problem here is with TRY blocks. I dont know how or even if, the TRS80 format uses or implements try blocks.</p>

<p><b>SmallC Cleanup</b><br />
My little SmallC project is going ok, the first big hurdle is the need to add prototypes. I branched the AVR codebase and stripped all the junk out, the nice thing about this base is it handles structs and unions and ANSI-C functions, just not prototypes.</p>

<p>It would be really nice if it converted it into an AST but maybe I&#8217;ll consider that later. I need to also incorporate some of the ideas from the original SmallC 2.x tree (this has a different license than the original 1.x branch the AVR tree comes from), which turns it into pcode in memory rather than direct asm textual statements.</p>

<p><b>Codpiece</b><br />
This is my little database system, kind of like an access database without the forms front end. It was inspired by the original PC-File+ database system (who remember the first shareware app?), and is more of an interesting excercise than anything serious (are not all my projects?).</p>

<p><b>Cracks and Cervices</b><br />
Ahh my other big project (next to fishguts), this needs some loving, but until Fishguts gets to a more complete state I dont intend to focus on it much. I really need to cut a release of its current code base but I think it needs a few more extras added to it (you know, those things on the roadmap that I decided it should have, but never finished in my projected time allotment).</p>


      ]]></content>
    </entry>

<entry>
      <title>State of the Combat Engine</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/state_of_the_combat_engine/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2436</id>
      <published>2008-12-08T21:05:11Z</published>
      <updated>2008-12-08T21:07:12Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>I thought I made a combat engine post last night but I guess ExpressionEngine ate it or I didn&#8217;t post it&#8230;</p>

<p>State of the Combat Engine</p>

<p>The combat engine is the last of the &#8216;big&#8217; pieces of code I need to complete, so here is a run down of what it currently does;</p>

<p>- Static combat map, 96x96 all grass tiles with no obstructions, so its good for basic testing, but will need to change soon to test some of the more important things (LOS, etc)</p>

<p>- Party is placed at one point on the map, guards on the other, with an even distribution. You basically tell the algorithm that you have 50 enemies to place and you want N rows and it distributes it as best it can.</p>

<p>- Movement points are used when moving around the map, the turn ends when you run out of points or you pass or attack etc.</p>

<p>- Player stats are used to calculate a hit or miss, then for a hit, damage comes from the weapon - armour</p>

<p>- When attacking, the players frame switches to the attack frame</p>

<p>- For a kill, the skull and bones appears in place of the enemy frame</p>

<p>- Dead enemies are removed from the map</p>

<p>- Combat ends when all monsters are dead (loops infinitely if all players die and monsters are still alive).</p>

<p><br />
It might not sound like much but most of the framework is in place already.</p>

<p><br />
Whats left on the agenda is and work scale (1 = practically free, 10 = blood sweat + tears)</p>

<p>- Incorporate Wear and Tear on hits (both to weapons and to armour) [1]</p>

<p>- Incorporate LOS from the current actors point of view [2]</p>

<p>- Implement the aim command [2]</p>

<p>- Implement the cast command [1.. dependent on aim command]</p>

<p>- Implement magic graphical effects (will be the same code as for ranged combat attacks). [5]</p>

<p>- AI for several levels (dumb as a rock, humanoid, tactically brilliant) [5]</p>

<p>- Ability to flee the map [1]</p>

<p>- Win screen, divy treasure and xp rewards. [1]</p>

<p>Nothing that is super hard&#8230; </p>

<p>
</p>
      ]]></content>
    </entry>

<entry>
      <title>Maps and Map Editors</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/maps_and_map_editors/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2435</id>
      <published>2008-12-01T16:07:43Z</published>
      <updated>2008-12-01T16:16:44Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Over thanksgiving holiday I did some refactoring of my maps. It had reached the stage that editing my maps in a bitmap paint program, while great for vast swaths that was the world map, it was fiddly for town maps that required a finer detail and tile management. Enter Tiled (here: <a href="http://mapeditor.org/">http://mapeditor.org/</a> ) a free Java based tile editor. One of the nice things it has a very approachable map format, its XML (you can save as compressed layers with gzip data or not). </p>

<p>So the time was spent converting my bitmaps into the Tiled TMX format (very simple actually), and then tweaking my import routines that dissect them into chunks. Since my tools worked nativly with PCX files, I had to write a quick ruby script that read the uncompressed XML maps and output a flat binary image my other tools could read, then it was tweaking my game code that used an abstraction for mapping tiles to pixel index colors to use a native 1:1 mapping.</p>

<p>Now I can see my world map or any other maps at the tile level, and its sooo much easier, really I dont know why I was so stubborn to have not done this a long time ago, I do remember that last time I looked at Tiled it was not very usable (you had to run it via the web page with a java webstart rather than download it etc) and was not in active development. Now it IS back in development and several new versions have come out.</p>

<p>The nice thing of XML maps is now I can diff/merge map changes rather than complete binary files.</p>

<p>The other nice thing, I expected it to bog down when I was doing edits on my world map (which is huge) but there was no apparent slowdown at all! That is a nice bonus.</p>

<p>
</p>
      ]]></content>
    </entry>

<entry>
      <title>GIT merge bug?</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/git_merge_bug/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2434</id>
      <published>2008-11-26T00:44:28Z</published>
      <updated>2008-11-26T01:16:29Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>So before I did a merge of one of my local branches into another I thought I&#8217;d checkout the man page..</p>

<pre>
GIT-MERGE(1)

NAME
       git-merge - Join two or more development histories together

SYNOPSIS
           git-merge [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
                   [-m <msg>] <remote> <remote>...
           git-merge <msg> HEAD <remote>...<blockquote></blockquote>

       --no-commit
           Perform the merge but pretend the merge failed and do not autocommit, 
           to give the user a chance to inspect and further tweak the merge result before
           committing.
</pre>

<p>I truncted the entry so you could see the relevant info&#8230;</p>

<p>so I did</p>

<pre>
sgeorge@cactus:~/git/fishguts (combat)$ git merge --no-commit fuzion
Updating 52912c2..5445153
Fast forward
 docs/fuzion.png          |  Bin 0 -> 213272 bytes
 docs/monsters.yaml       |   12 ++
 gfx/fuzion_gp2x.pcx      |  Bin 0 -> 13029 bytes
 gfx/fuzion_gp32.pcx      |  Bin 0 -> 13029 bytes
 gfx/fuzion_pc.pcx        |  Bin 0 -> 32872 bytes
 gfx/fuzion_psp.pcx       |  Bin 0 -> 22711 bytes
 gfx/rantfile             |    4 +
 scripts/debug_cheat.lua  |    2 +
 scripts/load_items.lua   |    2 +-
 scripts/main.lua         |    4 +
 scripts/newgame.lua      |  298 +++++++++++++++++++++++++++++++++++++++------  
 scripts/skills_stats.lua |   10 +--
 scripts/stats.lua        |   15 +++
 src/combat.c             |   32 ++++-
 src/font.c               |   18 ++-
 src/fuzion.c             |   37 ++++++
</pre>

<p>OK, so our fake merge looks good.. Lets run the proper thing</p>

<pre>
sgeorge@cactus:~/git/fishguts (combat)$ git merge fuzion -m "Merge fuzion branch"
Already up-to-date.
</pre>

<p>err&#8230; WTF!!!!!!</p>

<p>The <b>&#8212;no-commit</b> didnt do squat! </p>

<p>Luckily for me its what I wanted but err&#8230; WTF?</p>

<p>So I googled&#8230; mmm <a href="http://kerneltrap.org/mailarchive/git/2007/12/13/504527" title="here">here</a></p>

<pre>
From: Alex Riesen <raa.lkml@...>
To: Michael Dressel <MichaelTiloDressel@...>
Cc: <git@...>
Subject: Re: git merge --no-commit <branch>; does commit
Date: Thursday, December 13, 2007 - 5:19 pm

  On 13/12/2007, Michael Dressel <MichaelTiloDressel@t-online.de> wrote:
  quoted text
  > git merge --no-commit <branch> does "create" a commit. At lesat the 
  > head and index are moved to the new commit fetched from <branch>. Maybe 
  > that is because git was able to do a fast forward?

Yes. Because fast-forward is what it called: fast-forward.
It does not do any commits at all.
-
</pre>

<p>So the whole do not auto commit and automatically fail doesn&#8217;t mean squat&#8230; oh and while we are at it, lets change what the meaning of the word &#8216;commit&#8217; actually is. Maybe the word &#8216;commit&#8217; is too ingrained into my head from our Oracle RAC&#8217;s set to require explicit commits. The whole &#8220;it doesnt _reaaallly commit it just um kinda sort does but we call it something else&#8221; is bogus. </p>

<p>There are two things confusing me overall here, does &#8220;&#8212;no-commit&#8221; mean that it will merge and leave the merged changes in the staging area or leave them as modified files? or does &#8220;&#8212;no-commit&#8221; mean that it wont change the content of ANY file and leave everything as it was before running the command?</p>

<p>Its probably another PEBKAC on my end, but I guess I&#8217;m too dumb to understand the obsfucated meaning of &#8220;&#8212;no-commit&#8221; and the whole </p><blockquote><p>&#8220;Perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge result before committing&#8221;</p></blockquote><p> thing
</p>
      ]]></content>
    </entry>

<entry>
      <title>Streamlining Fuzion. Wandering Monsters and Monster Stats</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/streamlining_fuzion_wandering_monsters_and_monster_stats/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2432</id>
      <published>2008-11-18T18:34:25Z</published>
      <updated>2008-12-11T22:02:27Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>Implementing the Fuzion rules is going well. I&#8217;ve already dropped MOVE, and will make it a derived number. Its been very interesting to read Fuzion, Action!Systems and Open Core and to see the evolution or lack there of. Increase page count, tweak a rule, add new name to system and publish it&#8230;</p>

<p>Open Core is the largest of the three rulesets, and interesting in that they went with the bell-curve riddled 3D6 implementation rather than the linear 1D20. anyway.. quibbles&#8230;</p>

<p>Right, so, wandering monsters.</p>

<p>I want some free form exploration in the wilderness but also some monsters encounters.</p>

<p>I don&#8217;t want the party to get totally wiped out at the start of the game, but don&#8217;t want the later game to be easy. One solution is to scale the enemies, but, everyone knows the brouhaha from Oblivion and its scaling encounters.</p>

<p>Fuzion has a &#8216;PRE&#8217; stat, presence, or reputation. The initial thought for wilderness encounters will be that monster groups can roll vs your presence. A couple of kobolds may think they have a chance against a single member party.. But might think that they don&#8217;t stand a chance against 6 players all tooled up.</p>

<p>This should effectively stop low level encounters after a certain point, but that wont mean a low level encounter will be switched with a higher level encounter. I don&#8217;t think turning goblins into displacer beasts is a good thing, and I don&#8217;t think exploring the wilderness should have you constantly under threat.</p>

<p>In order to build my bestiary, I need to create fuzion stats for my monsters. Most of the time its a fairly easy thing to do, and to get some other side of the coin knowledge, I&#8217;ve dug around. Looking at how SSI statted the monsters in Azure Bonds was very interesting.</p>

<p>Here in its glory is the data dumped by Andrew Schultz;</p>

<pre>
                    |CHA|CON|DEX|WIS|INT|STR(100)|HP |  
--------------------+---+---+---+---+---+--------+---|
AKABAR BEL AKAS     | 14| 13| 12| 13| 15| 11     | 15|
ALIAS               | 17| 17| 17| 17| 17| 17     | 48|
ANHKHEG             | 10| 10| 10| 10|  3| 10     | 40|
BAR PATRON          | 10| 10| 14| 10| 10| 12     | 16|
BEHOLDER            | 10| 10| 10| 10| 10| 10     | 75|
BINKY               | 13| 19| 13| 10|  7| 18( 97)| 50|
BLACK DRAGON        | 10| 10| 10| 10| 10| 10     | 48|
BUGBEAR             | 10| 10| 10| 10| 10| 10     | 24|
CENTAUR             | 10| 10| 10| 10| 10| 10     | 28|
CROCODILE           | 10| 10| 10| 10|  3| 10     | 16|
CULTIST             | 10| 10| 10| 16| 10| 10     | 24|
DARK ELF CLERIC     | 10| 15| 15| 17| 10| 17     | 42|
DARK ELF LORD       | 10| 18| 19| 10| 10| 16     |108|
DARK ELF LORD       | 10| 18| 19| 10| 10| 20     |108|
DARK ELF MAGE       | 10| 15| 15| 10| 10| 16     | 20|
DISPLACER BEAST     | 10| 10| 10| 10| 10| 10     | 35|
DK ELF FIGHTER      | 10| 10| 15| 10| 10| 16     | 38|
DRACANDROS          | 10| 10| 10| 10| 10| 10     | 32|
DRACOLICH           | 10| 10| 18| 10| 10| 25     | 66|
DRAGONBAIT          |  4| 17| 13| 16| 14| 15     | 50|
EFREETI             | 10| 10| 10| 10| 10| 10     | 55|
ETTIN               | 10| 10| 10| 10| 10| 10     | 70|
FIGHTER             | 10| 10| 10| 10| 10| 16     | 35|
FIGHTING DOG        | 10| 10| 10| 10|  3| 10     | 12|
FIRE KNIFE          | 10| 10| 18| 10| 10| 10     | 26|
GADRIEL             | 17| 18| 14| 18| 17| 14     | 32|
GIANT SLUG          | 10| 10| 10| 10|  3| 10     | 60|
GIANT SPIDER        | 10| 10| 10| 10| 10| 10     | 24|
GRIFFON             | 10| 10| 10| 10| 10| 10     | 42|
HELL HOUND          | 10| 10| 10| 10| 10| 10     | 35|
HELMUD              | 13| 16| 14| 18| 16| 15     | 50|
HIGH PRIEST         | 10| 10| 10| 18| 10| 10     | 60|
HIPPOGRIFF          | 10| 10| 10| 10| 10| 10     | 25|
HOODED MEDUSA       | 10| 10| 10| 10| 10| 10     | 42|
KNIGHT              | 18| 18| 15| 10| 14| 18     | 54|
LEONARDO            | 15| 16| 17| 14| 13| 18( 65)| 60|
LG VEGEPYGMY        | 10| 10| 10| 10| 10| 10     | 30|
LIZARD MAN          | 10| 10| 10| 10| 10| 10     | 15|
LOOTER              | 10| 10| 17| 10| 10| 10     | 20|
MAGE                | 10| 10| 10| 10| 10| 10     | 12|
MANTICORE           | 10| 10| 10| 10| 10| 10     | 33|
MARGOYLE            | 10| 10| 10| 10| 10| 10     | 30|
MIDNIGHT            | 16| 16| 14| 14| 18| 17     | 30|
MINOTAUR            | 10| 10| 10| 10| 10| 18( 91)| 33|
MOGION              | 10| 10| 10| 18| 10| 10     | 60|
MONKEY              | 10| 10| 10| 10|  3| 10     |  6|
OGRE                | 10| 10| 10| 10|  6| 18     | 21|
OTYUGH              | 10| 10| 10| 10| 10| 10     | 40|
OWL BEAR            | 10| 10| 10| 10|  3| 10     | 27|
PHASE SPIDER        | 10| 10| 10| 10|  3| 10     | 35|
PRIEST OF BANE      | 10| 10| 10| 18| 10| 10     | 48|
RAKSHASA            | 10| 10| 10| 10| 10| 10     | 35|
RED PLUME           | 10| 10| 10| 10| 10| 17     | 40|
ROYAL GUARD         | 10| 10| 10| 10| 10| 10     | 21|
SALAMANDER          | 10| 10| 10| 10| 10| 10     | 42|
SHAMBLING MOUND     | 10| 10| 10| 10|  3| 10     | 65|
SM VEGEPYGMY        | 10| 10| 10| 10| 10| 10     | 15|
THIEF               | 10| 10| 17| 10| 10| 10     | 24|
TROLL               | 10| 10| 10| 10| 10| 10     | 36|
TYRANTHRAXUS        | 10| 10| 21| 10| 10| 10     |100|
WORG                | 10| 10| 10| 10| 10| 10     | 44|
WYVERN              | 10| 10| 10| 10| 10| 10     | 42|
ZHENTIL CLERIC      | 10| 10| 10| 17| 10| 10     | 40|
ZHENTIL FIGHTER     | 10| 10| 10| 10| 10| 18(  1)| 40|
ZHENTIL MAGE        | 10| 10| 10| 10| 10| 10     | 19|
ZHENTRIM CLERIC     | 10| 10| 10| 17| 10| 10     | 48|
ZHENTRIM FGHTR      | 10| 10| 10| 10| 10| 18( 76)| 58|
ZHENTRIM MAGE       | 10| 10| 10| 10| 10| 10     | 25|</pre></p>

<p><br />
The first thing I noticed was an error, this data is spread across several disks, and some things are repeated, all the duplicates but one entry were identical in stats. The discrepancy was the Dark Elf Lord, on disk 4 has a STR of 16, but on disk 5 has a STR of 20!</p>

<p>The second observation is everyone pretty much has a stat of 10. Oddly, Tyranthraxus itself has a DEX of 21 and everything else is 10.</p>

<p>Only characters the player can add to their party were actually statted out, everyone else had defaults except for some oddities. Most reptiles/insects have INT of 3 but things like worgs do not.. Not sure what makes a Worg capable of more decision making than a crocodile.</p>

<p>Mostly it leads me to believe that the stats dont play much affect in combat, but if that were the case, there would be no reason to oddball up stats for enemies like Tyranthraxus or Zhentrim Cleric. Since there are odd INT/DEX/STR assignments, I&#8217;d wager they are required for item usage or spell usage checks.</p>

<p>Again the only <b>really</b> odd ones out are the dark elf lord/cleric/mages who get high stats in all requirements (INT/DEX/STR)..</p>

<p>The only conclusion I could draw is that some stats are not really required (for combat at least) like CHA/WIS. and others, only the extreme matters (INT of 3 or STR of 20 etc), and that a minotaur and an ogre have less strength than a tiny dark elf lord&#8230; yeah&#8230;</p>

<p>Looking a the list, I paired out anything that was baseline</p>

<p>This is higher stats, without the distinct NPC&#8217;s (Alias, Akabar, etc)</p>

<pre>
                    |CHA|CON|DEX|WIS|INT|STR(100)|HP |  
--------------------+---+---+---+---+---+--------+---|
BAR PATRON          | 10| 10| 14| 10| 10| 12     | 16|
CULTIST             | 10| 10| 10| 16| 10| 10     | 24|
DARK ELF CLERIC     | 10| 15| 15| 17| 10| 17     | 42|
DARK ELF LORD       | 10| 18| 19| 10| 10| 16     |108|
DARK ELF LORD       | 10| 18| 19| 10| 10| 20     |108|
DARK ELF MAGE       | 10| 15| 15| 10| 10| 16     | 20|
DK ELF FIGHTER      | 10| 10| 15| 10| 10| 16     | 38|
DRACOLICH           | 10| 10| 18| 10| 10| 25     | 66|
FIGHTER             | 10| 10| 10| 10| 10| 16     | 35|
FIRE KNIFE          | 10| 10| 18| 10| 10| 10     | 26|
HIGH PRIEST         | 10| 10| 10| 18| 10| 10     | 60|
LOOTER              | 10| 10| 17| 10| 10| 10     | 20|
MINOTAUR            | 10| 10| 10| 10| 10| 18( 91)| 33|
MOGION              | 10| 10| 10| 18| 10| 10     | 60|
PRIEST OF BANE      | 10| 10| 10| 18| 10| 10     | 48|
RED PLUME           | 10| 10| 10| 10| 10| 17     | 40|
THIEF               | 10| 10| 17| 10| 10| 10     | 24|
TYRANTHRAXUS        | 10| 10| 21| 10| 10| 10     |100|
ZHENTIL CLERIC      | 10| 10| 10| 17| 10| 10     | 40|
ZHENTIL FIGHTER     | 10| 10| 10| 10| 10| 18(  1)| 40|
ZHENTRIM CLERIC     | 10| 10| 10| 17| 10| 10     | 48|
ZHENTRIM FGHTR      | 10| 10| 10| 10| 10| 18( 76)| 58|
</pre>

<p>Hmm why does the Bar Patron have a higher DEX than the Red Plume (one would have thought the bar patron would have been drinking and thus have a lower DEX!)</p>

<p>Lowered Stats
</p><pre>
                    |CHA|CON|DEX|WIS|INT|STR(100)|HP |  
--------------------+---+---+---+---+---+--------+---|
ANHKHEG             | 10| 10| 10| 10|  3| 10     | 40|
CROCODILE           | 10| 10| 10| 10|  3| 10     | 16|
FIGHTING DOG        | 10| 10| 10| 10|  3| 10     | 12|
GIANT SLUG          | 10| 10| 10| 10|  3| 10     | 60|
MONKEY              | 10| 10| 10| 10|  3| 10     |  6|
OGRE                | 10| 10| 10| 10|  6| 18     | 21|
OWL BEAR            | 10| 10| 10| 10|  3| 10     | 27|
PHASE SPIDER        | 10| 10| 10| 10|  3| 10     | 35|
SHAMBLING MOUND     | 10| 10| 10| 10|  3| 10     | 65|
</pre>

<p>The only oddball is the Ogre has lower INT, why 6 and not 3 why not 10? What about the ogre is it that the game requires it to be less than 10&#8230;</p>

<p>In the end, its only the hit points that matter.</p>

<p>For no other reason than to complete the table, here is all the baseline monsters</p>

<pre>
                    |CHA|CON|DEX|WIS|INT|STR(100)|HP |  
--------------------+---+---+---+---+---+--------+---|
BEHOLDER            | 10| 10| 10| 10| 10| 10     | 75|
BLACK DRAGON        | 10| 10| 10| 10| 10| 10     | 48|
BUGBEAR             | 10| 10| 10| 10| 10| 10     | 24|
CENTAUR             | 10| 10| 10| 10| 10| 10     | 28|
DISPLACER BEAST     | 10| 10| 10| 10| 10| 10     | 35|
DRACANDROS          | 10| 10| 10| 10| 10| 10     | 32|
EFREETI             | 10| 10| 10| 10| 10| 10     | 55|
ETTIN               | 10| 10| 10| 10| 10| 10     | 70|
GIANT SPIDER        | 10| 10| 10| 10| 10| 10     | 24|
GRIFFON             | 10| 10| 10| 10| 10| 10     | 42|
HELL HOUND          | 10| 10| 10| 10| 10| 10     | 35|
HIPPOGRIFF          | 10| 10| 10| 10| 10| 10     | 25|
HOODED MEDUSA       | 10| 10| 10| 10| 10| 10     | 42|
LG VEGEPYGMY        | 10| 10| 10| 10| 10| 10     | 30|
LIZARD MAN          | 10| 10| 10| 10| 10| 10     | 15|
MAGE                | 10| 10| 10| 10| 10| 10     | 12|
MANTICORE           | 10| 10| 10| 10| 10| 10     | 33|
MARGOYLE            | 10| 10| 10| 10| 10| 10     | 30|
OTYUGH              | 10| 10| 10| 10| 10| 10     | 40|
RAKSHASA            | 10| 10| 10| 10| 10| 10     | 35|
ROYAL GUARD         | 10| 10| 10| 10| 10| 10     | 21|
SALAMANDER          | 10| 10| 10| 10| 10| 10     | 42|
SM VEGEPYGMY        | 10| 10| 10| 10| 10| 10     | 15|
TROLL               | 10| 10| 10| 10| 10| 10     | 36|
WORG                | 10| 10| 10| 10| 10| 10     | 44|
WYVERN              | 10| 10| 10| 10| 10| 10     | 42|
ZHENTIL MAGE        | 10| 10| 10| 10| 10| 10     | 19|
ZHENTRIM MAGE       | 10| 10| 10| 10| 10| 10     | 25|</pre>

<p>The only oddballs here to me would be the Black Dragon, Beholder, Royal Guards and the Zhentish Mages. Dracandros being a unique should probably not be &#8216;average&#8217; either. Royal Guards, only because they are a very early start game opponent, but still.. They are Royal Guards, and I&#8217;d expect them to be tougher or stat&#8217;ed just like Fighters.&nbsp; It&#8217;s bad that they are &#8216;dumbed&#8217; down just for the early start game. I&#8217;d rather see the game force the party to flee or be held captive than dumb them down just for the first encounter of the game. </p>

<p>Anyway, food for thought&#8230;</p>

<p>&nbsp;</p>
      ]]></content>
    </entry>

<entry>
      <title>With Combat, Comes Rules</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/with_combat_comes_rules/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2431</id>
      <published>2008-11-10T17:06:57Z</published>
      <updated>2008-11-10T18:46:58Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <category term="Fishguts"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Fishguts/"
        label="Fishguts" />
      <content type="html"><![CDATA[
        <p>So, I have my enemies tooled up and ready to go (but not my players! lol). In order to make sense of things I need one rule to govern them all. </p>

<p>Here, I am falling back on what I mostly know, and that&#8217;s a time honored rule system of <b>DICE + Attribute + Skill VS Target Number</b>,&nbsp; This rule has many names, I first me it as Interlock, which in turn became Fuzion. Its also the core mechanic behind the Open Core and more famously known as D20 (even tho Interlock predated it by what, 15 years?). It is a good and simple mechanic that has stood the test of time. Its kinda like GURPS but less well known.</p>

<p>Having played Cyber Punk 2020, Cyber Generation 2 and some Bubblegum Crisis I&#8217;m more familiar with the Interlock and Fuzion side of the coin, even better, the Fuzion rules are readily available online, as well as some cutdown versions of Fuzion.</p>

<p>Non player enties (aka monsters) will have only enough stats and skills to make them useable (ie: an attack / defense / mana rating).</p>

<p>Stats in Fuzion fall along the lines of</p>

<pre>Mental          Combat       Physical        Move
============    =========    =============   ====
Intelligence    Reflexes     Strength        Move
Willpower       Dexterity    Body
Presence        Technique    Constitution</pre>

<p>With values in the line of;</p>

<pre>
   0 - Challenged, Every day tasks are difficult.
 1 - 2 Everyday
 3 - 4 Competent
 5 - 6 Heroic 
 7 - 8 Incredible
 9 - 10 Legendary
10 - up Superheroic
</pre>

<p>For new characters, no stat should be over 7. </p>

<p>Basic Fuzion cuts the master stats down to just Mental, Combat, Physical and Move.</p>

<p>Fuzion also has the concept of Stun and Hits. These two stats are BODY * 5 in points (and you can elect to move up to have from one stat to the other). Stun is how many points you can take from blunt objects before unconsciousness and Hits is what most people would be familiar with as Hit Points.. duh!&nbsp; Think of it as the difference between fists, hammers and swords, or falling from a great height etc.</p>

<p>Since this is a multi genre ruleset you can swap in and our anything, so I&#8217;d add a mana somewhere or use Willpower in its place.</p>

<p>I dont intend on using the Complications for option points, same goes for Talents. I&#8217;m debating the use of Perks&#8230;</p>

<p>I just need to create the &#8216;Plugin&#8217; as they are called to turn it from generic Fuzion into &#8216;Fishguts Fuzion&#8217;.</p>

<p>Using an already established ruleset simplifies a huge portion of my game,it one that is know and well balanced.</p>

<p>Take for example, the point of this post originally <img src="http://www.mega-tokyo.com/blog/images/smileys/wink.gif" width="19" height="19" alt="wink" style="border:0;" /> Melee Combat is resolved as an opposed task, so I take my opponents  [ ( (Dexterity + Evasion)&nbsp; or (Weapon Skill) ) (which ever is higher) + 10], ranged combat is taken as an unopposed task, so I just apply a difficulty value. Mmm Difficulty Values&#8230; these are usually applied &#8216;per campaign&#8217;, but I think I intend to have a sliding difficulty level scale, say, challenged for the start game, Everyday for Midgame and Competent for End game which would give a DV of 10, 14, 18. </p>

<p>Anyway, I think the Fuzion rules work pretty well, (OK I like Interlock a bit better but you cant get a nice full ruleset online like for Fuzion).</p>

<p>I&#8217;m starting to ramble again&#8230; singing out!</p>

<p>&nbsp;</p>
      ]]></content>
    </entry>

<entry>
      <title>Save yourself some pain</title>
      <link rel="alternate" type="text/html" href="http://www.mega-tokyo.com/blog/index.php/site/save_yourself_some_pain/" />
      <id>tag:mega-tokyo.com,2008:blog/index.php/site/index/1.2430</id>
      <published>2008-11-06T01:14:00Z</published>
      <updated>2008-11-06T01:18:01Z</updated>
      <author>
            <name>Stu</name>
            <email>yakumo9275@gmail.com</email>
                  </author>

      <category term="Computers"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Computers/"
        label="Computers" />
      <category term="Development"
        scheme="http://www.mega-tokyo.com/blog/index.php/site/category/Development/"
        label="Development" />
      <content type="html"><![CDATA[
        <p>Ubuntu 8.10 turned on a craptastic feature in their version of GCC. Fortify Source. It will throw out a bazillion errors any time you compile something (especially anything not very recent)...</p>

<p>Save yourself some pain</p>

<pre>--- features.h	2008-11-05 20:13:35.569749414 -0500
+++ /usr/include/features.h	2008-11-03 20:29:04.197509500 -0500
@@ -281,6 +281,9 @@
 # define __USE_REENTRANT	1
 #endif
 
+#undef _FORTIFY_SOURCE
+#define _FORTIFY_SOURCE 0
+
 #if defined _FORTIFY_SOURCE &amp;&amp; _FORTIFY_SOURCE > 0 \
     &amp;&amp; __GNUC_PREREQ (4, 1) &amp;&amp; defined __OPTIMIZE__ &amp;&amp; __OPTIMIZE__ > 0
 # if _FORTIFY_SOURCE > 1
</pre>

<p>Edit /usr/include/features.h and around line 286 insert a
</p><pre>
#undef _FORTIFY_SOURCE
#define _FORTIFY_SOURCE 0
</pre>

<p>&nbsp;</p>
      ]]></content>
    </entry>


    

</feed>