<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Voodoo Features</title>
	<atom:link href="http://blog.voodoolabs.net/2006-01-04/voodoo-features/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/</link>
	<description>programming, gamedev, graphics, rants</description>
	<pubDate>Tue, 02 Dec 2008 12:56:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Razor (David)</title>
		<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-154</link>
		<dc:creator>Razor (David)</dc:creator>
		<pubDate>Fri, 20 Jan 2006 05:45:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-154</guid>
		<description>Yea, I never liked the way some people use scripts as glorified option files. Something like xml is more suited to that. I think script should have control of all the gameplay, and use the engine as a library. Lua actually started as an option loader if I remember right.

I'm actually having trouble thinking of a time when you'd want several script threads. I guess just for totally unrelated tasks or something... Oh, and bear in mind that multiple processors/cores is only going to get more common. So although simulating threads for script sounds fine you might want some real ones in the engine, when the time comes.</description>
		<content:encoded><![CDATA[<p>Yea, I never liked the way some people use scripts as glorified option files. Something like xml is more suited to that. I think script should have control of all the gameplay, and use the engine as a library. Lua actually started as an option loader if I remember right.</p>
<p>I&#8217;m actually having trouble thinking of a time when you&#8217;d want several script threads. I guess just for totally unrelated tasks or something&#8230; Oh, and bear in mind that multiple processors/cores is only going to get more common. So although simulating threads for script sounds fine you might want some real ones in the engine, when the time comes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-138</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 18 Jan 2006 21:59:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-138</guid>
		<description>Thanks for that link, it's going to be incredibly useful. My network structure is already based loosely on UnrealScript, so are other parts of the language. I didn't know about that page.

That's exact what I ment about threads. I hope it's okay to use your wording?

Yeah, I'm not up to do the low level assembly - maybe later. I don't want to support a large number of combinations of processor and operating system types. Standard C++ is the way I'm going for the moment.

The idea with C++ calling voodoo is that each method (or groups of methods - it doesn't matter) has a voodoo method object. Each voodoo method object has a constant pool and a link pool, these are objects and constants that the virtual machine keeps track of and relinks when necessary. So the C++ calling method would access these objects in a similar way to voodoo bytecode, by offsets (or a hashmap or whatever). So when a C++ method wants to use a voodoo integer it just uses the one in the constant pool that it registered earlier. This way everything is linked together still and it will be faster than a lookup every method call. Most of the calls will be from the code that makes up a voodoo object anyway, all in the way I'm going to use voodoo - as the complete controller of the game.</description>
		<content:encoded><![CDATA[<p>Thanks for that link, it&#8217;s going to be incredibly useful. My network structure is already based loosely on UnrealScript, so are other parts of the language. I didn&#8217;t know about that page.</p>
<p>That&#8217;s exact what I ment about threads. I hope it&#8217;s okay to use your wording?</p>
<p>Yeah, I&#8217;m not up to do the low level assembly - maybe later. I don&#8217;t want to support a large number of combinations of processor and operating system types. Standard C++ is the way I&#8217;m going for the moment.</p>
<p>The idea with C++ calling voodoo is that each method (or groups of methods - it doesn&#8217;t matter) has a voodoo method object. Each voodoo method object has a constant pool and a link pool, these are objects and constants that the virtual machine keeps track of and relinks when necessary. So the C++ calling method would access these objects in a similar way to voodoo bytecode, by offsets (or a hashmap or whatever). So when a C++ method wants to use a voodoo integer it just uses the one in the constant pool that it registered earlier. This way everything is linked together still and it will be faster than a lookup every method call. Most of the calls will be from the code that makes up a voodoo object anyway, all in the way I&#8217;m going to use voodoo - as the complete controller of the game.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Razor (David)</title>
		<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-130</link>
		<dc:creator>Razor (David)</dc:creator>
		<pubDate>Wed, 18 Jan 2006 12:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-130</guid>
		<description>Sounds pretty well thought out. Nice work.

About the network proxy objects, you might find &lt;a HREF="http://unreal.epicgames.com/Network.htm" rel="nofollow"&gt;this page&lt;/a&gt; (I really hope links like that work) on unreal's networking architechture interesting. I know I did. Unreal's networking is done from script too, so it couldn't really be more relevant.

I'm not sure quite what you mean by: "Threads are implemented in a hardware independant manner which means that there can be more executing at once without swamping resources."
Do you mean you'll simulate threads by swapping between bits of script rather than creating OS based threads?

Random thought, you could do some hard core assembly and implement you're own threading, leaving the OS in the dark. On x86 it only takes one instruction to load or save the processor state... Or you could shoot me for turning to the low level dark side. In fact that sounds like a better idea. Yeah.

About calling from c++, what sort of interface do you have in mind? You say voodoo is purely OO, which might make it a little more difficult.</description>
		<content:encoded><![CDATA[<p>Sounds pretty well thought out. Nice work.</p>
<p>About the network proxy objects, you might find <a HREF="http://unreal.epicgames.com/Network.htm" rel="nofollow">this page</a> (I really hope links like that work) on unreal&#8217;s networking architechture interesting. I know I did. Unreal&#8217;s networking is done from script too, so it couldn&#8217;t really be more relevant.</p>
<p>I&#8217;m not sure quite what you mean by: &#8220;Threads are implemented in a hardware independant manner which means that there can be more executing at once without swamping resources.&#8221;<br />
Do you mean you&#8217;ll simulate threads by swapping between bits of script rather than creating OS based threads?</p>
<p>Random thought, you could do some hard core assembly and implement you&#8217;re own threading, leaving the OS in the dark. On x86 it only takes one instruction to load or save the processor state&#8230; Or you could shoot me for turning to the low level dark side. In fact that sounds like a better idea. Yeah.</p>
<p>About calling from c++, what sort of interface do you have in mind? You say voodoo is purely OO, which might make it a little more difficult.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-121</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Thu, 05 Jan 2006 12:23:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-121</guid>
		<description>I've been working on voodoo off and on for 2 years now. Yes, it's very ambitious - but it's going to rock when it's done. I think it's going to be very elegant and easy to program in and I think that's worth the effort it's taken and it's going to take.

Plus it sounds really cool saying, yeah - I made my own programming language from the ground up.

Thanks a lot for the encouraging words.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been working on voodoo off and on for 2 years now. Yes, it&#8217;s very ambitious - but it&#8217;s going to rock when it&#8217;s done. I think it&#8217;s going to be very elegant and easy to program in and I think that&#8217;s worth the effort it&#8217;s taken and it&#8217;s going to take.</p>
<p>Plus it sounds really cool saying, yeah - I made my own programming language from the ground up.</p>
<p>Thanks a lot for the encouraging words.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matteo</title>
		<link>http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-120</link>
		<dc:creator>Matteo</dc:creator>
		<pubDate>Wed, 04 Jan 2006 22:28:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.voodoolabs.net/2006-01-04/voodoo-features/#comment-120</guid>
		<description>hmmm... that's an ambitious project. 

I dont know anything about this stuff, but I'm using a one-man-made language-compiler-gfx engine called BlitzMax, which is really kickass.

Which proves it's possible, but it's really hard I guess to make something you will actually want to use. (that guy has about 10 years experience doing this stuff and does it full time)

Well good luck anyway :)</description>
		<content:encoded><![CDATA[<p>hmmm&#8230; that&#8217;s an ambitious project. </p>
<p>I dont know anything about this stuff, but I&#8217;m using a one-man-made language-compiler-gfx engine called BlitzMax, which is really kickass.</p>
<p>Which proves it&#8217;s possible, but it&#8217;s really hard I guess to make something you will actually want to use. (that guy has about 10 years experience doing this stuff and does it full time)</p>
<p>Well good luck anyway <img src='http://blog.voodoolabs.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>
