<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>robert zubek / blog</title>
	<link>http://robert.zubek.net/blog</link>
	<description></description>
	<lastBuildDate>Mon, 25 Jan 2010 18:52:24 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>On energy and slot machine mechanics</title>
		<description><![CDATA[Interesting post by Tadhg Kelly on the everpresence of the slot machine mechanic: http://tadhgkelly.com/post/352475659/ethical-design-are-most-social-games-just-virtual-slot
I definitely sympathize. Games of chance, when used sporadically in an existing game, can make a nice addition, a fun bonus. But when pushed front and center, they don&#8217;t stand up nearly as well. Even in Tadhg&#8217;s example, where you can stack [...]]]></description>
		<link>http://robert.zubek.net/blog/2010/01/25/on-energy-and-slot-machine-mechanics/</link>
			</item>
	<item>
		<title>Needs-based AI: part 3, action performance</title>
		<description><![CDATA[(This note is a part of the needs-based AI series)
Action Performance
Having chosen something to do, we push the advertisement’s actions on the agent’s action queue, to be performed in order. Each action would routinely be a complete mini-script. For example, the stove’s “clean” action might be small script that:

Animates the agent getting out a sponge, [...]]]></description>
		<link>http://robert.zubek.net/blog/2009/09/23/needs-based-ai-part-3-action-performance/</link>
			</item>
	<item>
		<title>Needs-based AI: part 2, advertisements and action selection</title>
		<description><![CDATA[
(This note is a part of the needs-based AI series)

Advertisement Scoring
Once we have an object’s advertisement, we need to score it, and stack it against all the other advertisements from this and other objects. We score an advertisement based on the reward it promises (eg. +10 environment), and the agent’s current needs. Of course it’s [...]]]></description>
		<link>http://robert.zubek.net/blog/2009/09/22/needs-based-ai-part-2-advertisements-and-action-selection/</link>
			</item>
	<item>
		<title>Needs-based AI: part 1, needs and the main AI loop</title>
		<description><![CDATA[(This note is a part of the needs-based AI series)
Main AI Loop
Let’s get right to the meat of the matter: the main AI loop. There are many ways to drive an agent; many games use finite-state machines, or behavior trees, or other approaches. Needs-based AI is an alternative that works as follows.
To pick something to [...]]]></description>
		<link>http://robert.zubek.net/blog/2009/09/21/needs-based-ai-part-1-needs-and-the-main-ai-loop/</link>
			</item>
	<item>
		<title>Needs-based AI: intro</title>
		<description><![CDATA[These notes describe a needs-based AI for action selection and performance in game characters. It&#8217;s a very flexible and intuitive method for building moderately-complex autonomous agents, which are nevertheless simple and highly efficient.
In short: needs-based AI is based on agents having a set of needs, and performing actions that fulfill them. These needs represent independent, [...]]]></description>
		<link>http://robert.zubek.net/blog/2009/09/20/needs-based-ai-intro/</link>
			</item>
	<item>
		<title>Commentary on &#8220;A History of Erlang&#8221;</title>
		<description><![CDATA[Some time ago I found a fascinating paper on the history of Erlang, written by one of its main creators:
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/ppxt/HT2007/general/languages/armstrong-erlang_history.pdf
It showed up on programming.reddit for about a day, and then disappeared right back into the deep waters &#8211; which is too bad, because the paper is illuminating.
Erlang is a language with strong built-in support for [...]]]></description>
		<link>http://robert.zubek.net/blog/2008/06/21/commentary-on-a-history-of-erlang/</link>
			</item>
	<item>
		<title>Clojure Web Server (in less than 100 lines)</title>
		<description><![CDATA[(Edit: Welcome reddit readers. The following is a howto on setting up an embedded Jetty server in Clojure, and writing a minimal servlet that serves up dynamic content.)
Last week I discovered a very nice language named Clojure. It&#8217;s based on Lisp, but hosted on the Java platform, and running inside the JVM. It has some [...]]]></description>
		<link>http://robert.zubek.net/blog/2008/04/26/clojure-web-server/</link>
			</item>
	<item>
		<title>Techniques: dealing with blocking operations</title>
		<description><![CDATA[Game logic often gets split into &#8220;time-sensitive&#8221; and &#8220;blocking&#8221; parts. When dealing with I/O-bound components, we often want to let them run separately from the main game loop. This way they won&#8217;t block the whole game as they&#8217;re waiting for their data.
The typical example is reading from disk, or accessing a database. Disk operations are orders [...]]]></description>
		<link>http://robert.zubek.net/blog/2008/04/20/dealing-with-blocking-operations/</link>
			</item>
	<item>
		<title>SBCL + Emacs + Windows Vista</title>
		<description><![CDATA[Here are my steps for setting up SBCL (Steel Bank Common Lisp) and Slime (Emacs Lisp mode) to work under Windows Vista.
It&#8217;s mostly straightforward, except for dealing with spaces in path names. It turns out that slime.el uses the (split-string) function to pull apart the Lisp command line, which won&#8217;t work with the default &#8220;c:\program files\&#8230;&#8221; [...]]]></description>
		<link>http://robert.zubek.net/blog/2008/04/09/sbcl-emacs-windows-vista/</link>
			</item>
	<item>
		<title>Hey, Young Whirled!</title>
		<description><![CDATA[Here&#8217;s what I&#8217;ve been working on all this time: Whirled is now in public beta!
Below is a live view into my room &#8211; stop by and say hello!  
Launch the full version of Whirled
]]></description>
		<link>http://robert.zubek.net/blog/2008/03/25/hey-young-whirled/</link>
			</item>
</channel>
</rss>
