<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rubicon Crossing</title>
	<atom:link href="http://rubiconcrossing.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://rubiconcrossing.com</link>
	<description>crossing boundaries since 2006</description>
	<lastBuildDate>Fri, 17 May 2013 01:17:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Character Sheet Editor Alpha</title>
		<link>http://rubiconcrossing.com/?p=913</link>
		<comments>http://rubiconcrossing.com/?p=913#comments</comments>
		<pubDate>Thu, 16 May 2013 20:52:15 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[character sheet]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=913</guid>
		<description><![CDATA[The character sheet editor is finally at alpha. Most of the time was split between trying to maintain the &#8220;look and feel&#8221; of a physical character sheet and struggling with Unity&#8217;s UI system. I&#8217;ll talk more about Unity in a future post where I&#8217;ll discuss the things that have and haven&#8217;t work well with Unity. [...]]]></description>
				<content:encoded><![CDATA[<p>The character sheet editor is finally at alpha. Most of the time was split between trying to maintain the &#8220;look and feel&#8221; of a physical character sheet and struggling with Unity&#8217;s UI system. I&#8217;ll talk more about Unity in a future post where I&#8217;ll discuss the things that have and haven&#8217;t work well with Unity. For now, let&#8217;s take a look at the editor.</p>
<div id="attachment_917" class="wp-caption alignright" style="width: 160px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/05/blank-dnd-char-sheet.jpg"><img class="size-thumbnail wp-image-917" alt="Click to enlarge." src="http://rubiconcrossing.com/wp-content/uploads/2013/05/blank-dnd-char-sheet-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
<p>Beginning with a blank page of any size (there are defaults for letter, legal, A4, and A5), you can add several different types of elements: <em>text, whole numbers, decimal numbers, checkboxes,</em> and <em>images</em>. Each of these elements is lockable, meaning that they can&#8217;t be modified by the player in the character editor. This essentially turns text into labels and images into graphic elements.</p>
<div id="attachment_916" class="wp-caption alignleft" style="width: 160px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/05/classic-dnd-char-sheet.jpg"><img class="size-thumbnail wp-image-916" alt="Click to enlarge." src="http://rubiconcrossing.com/wp-content/uploads/2013/05/classic-dnd-char-sheet-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
<p>The text, number, and checkbox elements are assigned a name, as well as a default value and text size. This name will be used in dice and chat macros to access entries on the character sheet, e.g. &#8220;1d20 + strAdj&#8221; to roll 1d20 and add the value named &#8220;strAdj.&#8221;</p>
<div id="attachment_918" class="wp-caption alignright" style="width: 160px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/05/moldvay-char-sheet.jpg"><img class="size-thumbnail wp-image-918" alt="moldvay-char-sheet" src="http://rubiconcrossing.com/wp-content/uploads/2013/05/moldvay-char-sheet-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
<p>While the default is a sheet of notebook paper, any image can be used as the background. You can use a scanned image, character sheets off the web, or something custom you put together in Photoshop.</p>
<p>For the test run, I setup both the classic D&amp;D character sheet and the handwritten sample from the Molday Basic edition.</p>
<p>&nbsp;</p>
<p><iframe src="http://player.vimeo.com/video/66352025" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/66352025">Tabletop Connect Character Sheet Editor</a> from <a href="http://vimeo.com/user10047794">C. Lewis Pinder</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>&nbsp;</p>
<p>Also available on, YouTube.<br />
<iframe width="607" height="382" src="http://www.youtube.com/embed/iV6YufsNVGQ?feature=player_detailpage" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=913</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dice at Alpha</title>
		<link>http://rubiconcrossing.com/?p=906</link>
		<comments>http://rubiconcrossing.com/?p=906#comments</comments>
		<pubDate>Fri, 10 May 2013 16:08:11 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Tabletop Connect]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=906</guid>
		<description><![CDATA[While doing some UI work, I fell down the rabbit hole of rolling dice and, as part of the push to alpha, stayed with it until it was complete. New Features: The user can now add an arbitrary number of dice and type to the dice pool. The dice can either add to, subtract from, [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-907" alt="die-rolling-alpha-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/05/die-rolling-alpha-header.jpg" width="614" height="306" />While doing some UI work, I fell down the rabbit hole of rolling dice and, as part of the push to alpha, stayed with it until it was complete.</p>
<p><strong>New Features:</strong></p>
<ul>
<li><span style="line-height: 13px;">The user can now add an arbitrary number of dice and type to the dice pool.</span></li>
<li>The dice can either add to, subtract from, multiply, or divide the total.</li>
<li>Dice can be rolled by entering as text with supported math, e.g. &#8220;2d6 + 1d8&#8243;</li>
<li>Dice values and the total of the roll are displayed on screen.</li>
<li>Dice text fades after a set time (currently 5 seconds, which feels longer than it is).</li>
<li>Dice are cleared when new dice are rolled.</li>
</ul>
<p>At the moment, the dice macros are not saved anywhere and only math operators on die rolls are supported. E.g. &#8220;1d6 + 1d10&#8243; works, but &#8220;1d6 + 3&#8243; doesn&#8217;t.</p>
<p>Also, the order of operations are the order in which the dice are added to the pool. There&#8217;s no support for parentheses.</p>
<p>Adding these additional features is not difficult, but it isn&#8217;t trivial. They&#8217;ll be coming along as more features reach the alpha stage.</p>
<p>&nbsp;<br />
<iframe src="http://player.vimeo.com/video/65905101" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/65905101">Die Rolling at Alpha</a> from <a href="http://vimeo.com/user10047794">C. Lewis Pinder</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=906</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Do You Like Your Table?</title>
		<link>http://rubiconcrossing.com/?p=892</link>
		<comments>http://rubiconcrossing.com/?p=892#comments</comments>
		<pubDate>Tue, 07 May 2013 03:04:21 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[Tabletop Connect]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=892</guid>
		<description><![CDATA[Not all of a game takes place on the map with miniatures. One would hope that much of a gaming session occurs outside the dungeon. There are the practical matters like rolling up characters, picking out minis, and waiting for all the players to arrive; and, of course, all the role-playing that happens before the [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-897" alt="tabletop-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/05/tabletop-header.jpg" width="614" height="281" />Not all of a game takes place on the map with miniatures. One would hope that much of a gaming session occurs outside the dungeon. There are the practical matters like rolling up characters, picking out minis, and waiting for all the players to arrive; and, of course, all the role-playing that happens before the swords start swinging.</p>
<p><a href="http://rubiconcrossing.com/wp-content/uploads/2013/05/ms-bob.jpg"><img class="alignleft size-medium wp-image-898" alt="ms-bob" src="http://rubiconcrossing.com/wp-content/uploads/2013/05/ms-bob-300x225.jpg" width="300" height="225" /></a>Call it a lobby or the table, it might well be the part that you are looking at most. Working on the networking necessitates that I pay attention to &#8220;the table.&#8221; I&#8217;ve kicked around a few ideas, but the one that I&#8217;m leaning toward most is extending the tabletop metaphor into a virtual tabletop. I remember, too well, efforts like Microsoft Bob that didn&#8217;t go over with the users. Having a folders and a trash can on the desktop works well enough as long as you can just double click to open a folder and don&#8217;t have to virtually mimic digging through a filing cabinet.</p>
<p>I did a quick 2D mock-up, but I think I might be pushing it a little too far. What would you like? How much verisimilitude is the right amount?</p>
<div id="attachment_900" class="wp-caption alignright" style="width: 310px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/05/table-layout.jpg"><img class="size-medium wp-image-900" alt="Click to enlarge." src="http://rubiconcrossing.com/wp-content/uploads/2013/05/table-layout-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=892</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roll camera&#8230;</title>
		<link>http://rubiconcrossing.com/?p=860</link>
		<comments>http://rubiconcrossing.com/?p=860#comments</comments>
		<pubDate>Fri, 03 May 2013 21:14:22 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Diversions]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Kickstarter]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=860</guid>
		<description><![CDATA[While I haven&#8217;t kept it a secret that intend to launch a Kickstarter campaign for the project once I get to a solid alpha, I haven&#8217;t made much noise about it either. Given the availability of cast and crew, I took a break from development to shoot the Kickstarter video. I&#8217;d like to take a [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-861" alt="kickstart-still" src="http://rubiconcrossing.com/wp-content/uploads/2013/05/kickstart-still.jpg" width="614" height="339" />While I haven&#8217;t kept it a secret that intend to launch a Kickstarter campaign for the project once I get to a solid alpha, I haven&#8217;t made much noise about it either. Given the availability of cast and crew, I took a break from development to shoot the Kickstarter video.</p>
<p>I&#8217;d like to take a moment to thank Aaron Carver, Cary Brown, Casey Ross, Emmanuel Plascencia, Jarod Caitlin, and Nicole Williams for all their time and effort.</p>
<p>It was good to step away from coding for a bit, but now I have to get my head out of editing mode and back to the software.</p>
<p>I think you&#8217;ll all enjoy the video when the campaign begins.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=860</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Map-Editor: Days 3 &amp; 4</title>
		<link>http://rubiconcrossing.com/?p=829</link>
		<comments>http://rubiconcrossing.com/?p=829#comments</comments>
		<pubDate>Sun, 21 Apr 2013 19:50:26 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=829</guid>
		<description><![CDATA[When I was at Electronic Arts there was a legend about a function in FIFA called DoBestKick. It was the ur-function for determining what kick an AI player would do. The story tells that no one really understood the inner workings of the function and that the mandate was &#8220;no one touch DoBestKick.&#8221; I have a [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-830" alt="mapeditor-day4-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-day4-header.jpg" width="614" height="307" />When I was at Electronic Arts there was a legend about a function in <a title="Electronic Arts FIFA Soccer" href="http://www.ea.com/soccer/fifa14" target="_blank">FIFA</a> called DoBestKick. It was the ur-function for determining what kick an AI player would do. The story tells that no one really understood the inner workings of the function and that the mandate was &#8220;no one touch DoBestKick.&#8221;</p>
<p>I have a similar function, WhichWall. It determines, based on the orientation of the walls in a square and the orientation of the walls in the neighboring squares which wall to draw: inner corners, left corner, middle, solo, etc. There are 52 possible combinations with dense conditions such as, <em>if this wall is north facing and there is an east wall and the western square has no east wall and the north-western square has an east wall then this wall is an outside corner skewed to the left.</em> If at all possible, I did not want to revisit that function. We don&#8217;t always get what we want.</p>
<p>There were two new features being added to the map editor; 1) adding map objects that are not walls or floors, and 2) saving and loading the maps as XML files. These two forced me to touch WhichWall.</p>
<div id="attachment_831" class="wp-caption alignleft" style="width: 310px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-lg.jpg" target="_blank"><img class="size-medium wp-image-831   " alt="Simple UI added to the right-hand side. (Click to enlarge.)" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-lg-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Simple UI added to the right-hand side.<br />(Click to enlarge.)</p></div>
<p>During the re-factor of the map code, I concluded that storing the wall conditions as properties of the map square wasn&#8217;t very efficient. Moving them to an array of booleans let me access the walls with the same logic I use for pathfinding movement. This let me greatly simplify all of the wall handling. This meant reworking WhichWall.</p>
<p>Adding arbitrary objects to the map meant adding a new class to the map squares to hold those objects, both for rendering and for storing in the XML files. It made sense that the walls would also be part of this list of objects. Reason two for revisiting WhichWall.</p>
<div id="attachment_832" class="wp-caption alignleft" style="width: 310px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/map-w-columns-lg.jpg" target="_blank"><img class="size-medium wp-image-832 " alt="The in-game map with columns. (Click to enlarge.)" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/map-w-columns-lg-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">The in-game map with columns.<br />(Click to enlarge.)</p></div>
<p>At last, success. Though I only have one type of extra object at the moment ( a column), I can now add non-wall objects in the map editor. I&#8217;ve also done the calculations for which wall in the editor and save that information in XML file, eliminating the need to determine which walls should be added when the file is loaded.</p>
<p>Time to layout the <a title="Big Maps" href="http://rubiconcrossing.com/?p=785">Big Map</a> in the new map editor, 12 minutes. Not as fast as I&#8217;d like, but much better than editing by hand. I have some specific ideas to speed up map editing, but those will have to &#8220;go on the list&#8221; for now. I have enough of the basic features in place that I have to dive into networking.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=829</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Map-Editor: Day 2</title>
		<link>http://rubiconcrossing.com/?p=824</link>
		<comments>http://rubiconcrossing.com/?p=824#comments</comments>
		<pubDate>Fri, 19 Apr 2013 22:38:10 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=824</guid>
		<description><![CDATA[As much as I liked the idea of drawing walls by following the mouse—allowing the user to turn corners while adding walls—it was too much like drawing a straight line with a mouse in MS Paint. I&#8217;ve opted instead to restrict the wall addition to a single axis. That is, as the user starts adding [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-825" alt="mapeditor-day2-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-day2-header.jpg" width="614" height="337" />As much as I liked the idea of drawing walls by following the mouse—allowing the user to turn corners while adding walls—it was too much like drawing a straight line with a mouse in MS Paint. I&#8217;ve opted instead to restrict the wall addition to a single axis. That is, as the user starts adding north a facing wall and moves the mouse either east or west, new north facing walls are added.</p>
<p>A couple of other new additions, when adding walls both sides of the wall are added, e.g. when adding east facing walls, the corresponding west facing wall is added. (See also, <a title="Where I Split Walls" href="http://rubiconcrossing.com/?p=704">Splitting Walls</a>.)</p>
<p>You can add floors now, too. Currently, floors are added when clicking on the center of the square, rather than on edges. I&#8217;m considering spltting walls and floors into two separate modes. We&#8217;ll see how that plays out when I add new terrain pieces and types.</p>
<p>There&#8217;s a new UI element, as well. You can now see what type of piece you&#8217;re adding before starting construction. With the right mouse button, you can also remove existing pieces.</p>
<p>Continuing to use the <a href="http://rubiconcrossing.com/?p=785" title="Big Maps">Big Map</a> as my test, the time to build has been significantly reduced. With the new method of adding pieces, it&#8217;s much easier and faster to add them with the map zoomed out. The video below has been sped up, so you don&#8217;t have to watch it in realtime. The total time to draw what you&#8217;ll see is just under a minute.</p>
<p>&nbsp;<br />
<iframe src="http://player.vimeo.com/video/64423242" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/64423242">Unity Map Editor &#8211; Day 2</a> from <a href="http://vimeo.com/user10047794">C. Lewis Pinder</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=824</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making Maps</title>
		<link>http://rubiconcrossing.com/?p=811</link>
		<comments>http://rubiconcrossing.com/?p=811#comments</comments>
		<pubDate>Fri, 19 Apr 2013 05:43:20 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=811</guid>
		<description><![CDATA[You may have asked yourself, &#8220;can a map editor be written in a day?&#8221; It&#8217;s a question I asked myself. The answer is, in this case, not entirely; but let&#8217;s see how far we&#8217;ve come. I spent some time yesterday teasing apart my mapping code to disentangle it from the &#8220;playing surface&#8221; and to get [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-header.jpg"><img class="alignnone size-full wp-image-812" alt="mapeditor-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/mapeditor-header.jpg" width="614" height="363" /></a>You may have asked yourself, &#8220;can a map editor be written in a day?&#8221; It&#8217;s a question I asked myself. The answer is, in this case, not entirely; but let&#8217;s see how far we&#8217;ve come.</p>
<p>I spent some time yesterday teasing apart my mapping code to disentangle it from the &#8220;playing surface&#8221; and to get a head start on the XML serialization for loading and saving maps. </p>
<p>In the editing module, you can load a reference 2D map and draw directly on the surface.</p>
<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-813" alt="hotspot-sketch" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/hotspot-sketch.jpg" width="614" height="318" />I did quite a bit of sketching to determine the &#8220;hot spots&#8221; on the grid that indicate what walls are being added: north, south, and so on. Walls are added by clicking on a &#8220;hot spot&#8221; and dragging to add wall sections. If you change direction, the wall is continued in a logical fashion, wrapping around the corner.</p>
<p>A significant amount of work is still outstanding, but the ground work is laid for a fully functional editor. The<a title="Big Maps" href="http://rubiconcrossing.com/?p=785"> Big Map</a> that I spent an afternoon entering, can now be created in a few minutes.</p>
<p>&nbsp;</p>
<p><iframe src="http://player.vimeo.com/video/64367406" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/64367406">Unity Map Editor</a> from <a href="http://vimeo.com/user10047794">C. Lewis Pinder</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=811</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test Drive</title>
		<link>http://rubiconcrossing.com/?p=805</link>
		<comments>http://rubiconcrossing.com/?p=805#comments</comments>
		<pubDate>Tue, 16 Apr 2013 03:12:56 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Tabletop Connect]]></category>
		<category><![CDATA[Test drive]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=805</guid>
		<description><![CDATA[You can only work in a vacuum for so long, before hands-on feedback is necessary. And this is that time. Now&#8217;s your chance to take some miniatures out for a spin and let me know what&#8217;s working an what isn&#8217;t. Miniature controls Left-click on mini &#8211; selects mini Left-click and hold/move left or right &#8211; [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-806" alt="testdrive-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/testdrive-header.jpg" width="614" height="307" />You can only work in a vacuum for so long, before hands-on feedback is necessary. And this is that time. Now&#8217;s your chance to take some miniatures out for a spin and let me know what&#8217;s working an what isn&#8217;t.</p>
<p><strong>Miniature controls</strong><br />
Left-click on mini &#8211; selects mini<br />
Left-click and hold/move left or right &#8211; rotates mini<br />
Left-click and hold/move up &#8211; lifts mini</p>
<p><strong>Camera controls</strong><br />
Right-mouse button or Left ALT key &#8211; orbits camera<br />
Middle-mouse button &#8211; moves camera<br />
Scroll-wheel &#8211; zoom camera</p>
<p><strong>Dice</strong><br />
Left click on any die to roll two of that die. (Note: the d4s do not return the correct result.)</p>
<p><strong>Map</strong><br />
The visible portion of the map is determined by the line-of-sight and by distance. The mini can &#8220;see&#8221; up to 120&#8242;.<br />
Any part of the map that has been &#8220;seen&#8221; will be shown as a 2D map when no longer visible.</p>
<p><a title="Test Drive" href="http://www.rubiconcrossing.com/unity/TestDrive.html" target="_blank"><strong>Click here to launch.</strong></a></p>
<p>I&#8217;m looking forward to any and all comments. <em>[Edit: A quick note based on some feedback that I've had so far: 1) the final product will be a standalone program, it's running in the web player so I can get comments; 2) the ALT orbit is a workaround for the Unity player pop-up that appears when clicking the right-mouse button. If you right-click and choose full-screen, if pop-up goes away.]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=805</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Rolling 20s</title>
		<link>http://rubiconcrossing.com/?p=799</link>
		<comments>http://rubiconcrossing.com/?p=799#comments</comments>
		<pubDate>Fri, 12 Apr 2013 05:21:38 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[dice rolling]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=799</guid>
		<description><![CDATA[Every now and again you have a shower moment, one of those moments where you&#8217;re not thinking about the problem at hand and you stumble onto the answer. I had one of those serendipitous occasions the other day. Reflecting on the die rolling mechanic, I was wondering absently why I couldn&#8217;t just &#8220;look&#8221; at the [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/rolling-20s.png"><img class="alignnone size-full wp-image-797" alt="rolling-20s" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/rolling-20s.png" width="614" height="301" /></a>Every now and again you have a shower moment, one of those moments where you&#8217;re not thinking about the problem at hand and you stumble onto the answer. I had one of those serendipitous occasions the other day. Reflecting on the die rolling mechanic, I was wondering absently why I couldn&#8217;t just &#8220;look&#8221; at the die to determine the value. And then, quite suddenly, I realized that I could.</p>
<div style="height:20px"></div>
<p><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/dice-u-lookup.jpg"><img class="alignnone size-full wp-image-798" alt="dice-u-lookup" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/dice-u-lookup.jpg" width="614" height="206" /></a></p>
<p>The solution is to cast a ray down from above the center of the die at rest and get the <a href="http://en.wikipedia.org/wiki/Texture_mapping">texture coordinate</a> at point of intersection. You can then use the <em>u</em> value of the texture coordinate (the <em>u</em> value goes from left to right, zero to one) and based on that determine the up-facing number. The math is pretty straightforward, (<em>u</em> + (1/number of sides)/(1/(number of side). That&#8217;s it. With one function you can roll arbitrary dice. Except the d4. There&#8217;s always an outlier.</p>
<p><iframe src="http://player.vimeo.com/video/63876722" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/63876722">Unity &#8211; Rolling d20s</a> from <a href="http://vimeo.com/user10047794">C. Lewis Pinder</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=799</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Big Maps</title>
		<link>http://rubiconcrossing.com/?p=785</link>
		<comments>http://rubiconcrossing.com/?p=785#comments</comments>
		<pubDate>Wed, 10 Apr 2013 15:22:20 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Tabletop Simulator. virtual tabletop]]></category>

		<guid isPermaLink="false">http://rubiconcrossing.com/?p=785</guid>
		<description><![CDATA[To test out new features and performance, I needed a bigger map. I used the random dungeon generator at Donjon to create a modest 46 square x 58 square dungeon. I learned a few things from this test (other than I need to replace the cyan ink in my printer). The first is that drawing the [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/big-map-header.jpg"><img class="alignnone size-full wp-image-786" alt="big-map-header" src="http://rubiconcrossing.com/wp-content/uploads/2013/04/big-map-header.jpg" width="614" height="307" /></a>To test out new features and performance, I needed a bigger map. I used the random dungeon generator at <a title="Donjon, d20 Random Dungeon" href="http://donjon.bin.sh/d20/dungeon/" target="_blank">Donjon</a> to create a modest 46 square x 58 square dungeon.</p>
<div id="attachment_787" class="wp-caption alignright" style="width: 190px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/large-map-in-game.jpg" target="_blank"><img class=" wp-image-787  " alt="Click to enlarge." src="http://rubiconcrossing.com/wp-content/uploads/2013/04/large-map-in-game-300x224.jpg" width="180" height="134" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
<p>I learned a few things from this test (other than I need to replace the cyan ink in my printer). The first is that drawing the terrain on top of a 2D map looks like good solution. The map is broken up into a grid that matches terrain, so any part of the map can be hidden. I&#8217;m still leaning towards revealing only portions of the map that the player has seen as the default behavior.</p>
<div id="attachment_788" class="wp-caption alignright" style="width: 190px"><a href="http://rubiconcrossing.com/wp-content/uploads/2013/04/big-map-source.jpg" target="_blank"><img class=" wp-image-788  " alt="Click to enlarge." src="http://rubiconcrossing.com/wp-content/uploads/2013/04/big-map-source-300x248.jpg" width="180" height="149" /></a><p class="wp-caption-text">Click to enlarge.</p></div>
<p>And second, I can&#8217;t write the level editor soon enough. The levels are currently stored in a text file, which has worked up to this point. Inputting larger maps, however, is a tedious exercise in data entry.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://rubiconcrossing.com/?feed=rss2&#038;p=785</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
