<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Remote Game Editing</title>
	<atom:link href="http://gamesfromwithin.com/remote-game-editing/feed" rel="self" type="application/rss+xml" />
	<link>http://gamesfromwithin.com/remote-game-editing</link>
	<description>Living the indie life</description>
	<lastBuildDate>Thu, 09 Feb 2012 12:36:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Eric</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8482</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Mon, 09 Aug 2010 20:24:18 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8482</guid>
		<description>This article reminds me of stories of Forth developers and their three-instruction system for talking to devices.</description>
		<content:encoded><![CDATA[<p>This article reminds me of stories of Forth developers and their three-instruction system for talking to devices.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Tavares</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8213</link>
		<dc:creator>Gregg Tavares</dc:creator>
		<pubDate>Sun, 01 Aug 2010 18:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8213</guid>
		<description>Agreed, but I see this as very similar to the TDD argument. For TDD the argument is you should always write the test first because it leads to better design. The same is true for editors. As just one example, the fact that you already spent time writing a serializer for the game data means you&#039;re already hobbling any editor based off the tweaking. The editor needs to serialize the data in it&#039;s editable state, not it&#039;s final game format. It needs to save all the data of layers or splines or curves or other abstractions that are helping to make the data editable. Of course you can just write a separate serializer for the editor but to me that&#039;s like arguing you can write unit tests after you&#039;ve written your code. Starting from a certain approach adds momentum to that choice. Momentum which in the end is leads to poorer design.</description>
		<content:encoded><![CDATA[<p>Agreed, but I see this as very similar to the TDD argument. For TDD the argument is you should always write the test first because it leads to better design. The same is true for editors. As just one example, the fact that you already spent time writing a serializer for the game data means you&#8217;re already hobbling any editor based off the tweaking. The editor needs to serialize the data in it&#8217;s editable state, not it&#8217;s final game format. It needs to save all the data of layers or splines or curves or other abstractions that are helping to make the data editable. Of course you can just write a separate serializer for the editor but to me that&#8217;s like arguing you can write unit tests after you&#8217;ve written your code. Starting from a certain approach adds momentum to that choice. Momentum which in the end is leads to poorer design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Claus</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8031</link>
		<dc:creator>Claus</dc:creator>
		<pubDate>Mon, 26 Jul 2010 23:25:20 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8031</guid>
		<description>Looking forward to the code - would be great to have something to jumpstart my own debugging client.</description>
		<content:encoded><![CDATA[<p>Looking forward to the code &#8211; would be great to have something to jumpstart my own debugging client.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8018</link>
		<dc:creator>Noel</dc:creator>
		<pubDate>Mon, 26 Jul 2010 16:23:07 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8018</guid>
		<description>Gregg, I understand what you&#039;re saying now. I actually agree with you: Tools are very important and you don&#039;t want to create a tool a particular way just because you can tweak it remotely through this channel. For some data, the dumb GUI tweaker is as ideal as it gets: turning on wireframe, toggling AI updates, etc. For most data though, you really want good, specialized tools.

At the same time, real-time (or almost real-time) live updates to the game are extremely important. What this (or any other) remote channel allows you to do is to change any content through any editor you want, and send it to the game to hotload (whether it&#039;s just a ping saying reload a file from disk, or actually sending all the binary data). Maybe you can get away with just updating some files and have the game monitor them, but that&#039;s a pretty coarse method for data that could be pretty small (especially if you&#039;re using some sort of pak files). In other words, there&#039;s nothing stopping you from getting the best of both worlds and hooking up the remote tweaking to your tool of choice and edit any data on the fly.</description>
		<content:encoded><![CDATA[<p>Gregg, I understand what you&#8217;re saying now. I actually agree with you: Tools are very important and you don&#8217;t want to create a tool a particular way just because you can tweak it remotely through this channel. For some data, the dumb GUI tweaker is as ideal as it gets: turning on wireframe, toggling AI updates, etc. For most data though, you really want good, specialized tools.</p>
<p>At the same time, real-time (or almost real-time) live updates to the game are extremely important. What this (or any other) remote channel allows you to do is to change any content through any editor you want, and send it to the game to hotload (whether it&#8217;s just a ping saying reload a file from disk, or actually sending all the binary data). Maybe you can get away with just updating some files and have the game monitor them, but that&#8217;s a pretty coarse method for data that could be pretty small (especially if you&#8217;re using some sort of pak files). In other words, there&#8217;s nothing stopping you from getting the best of both worlds and hooking up the remote tweaking to your tool of choice and edit any data on the fly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Tavares</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8017</link>
		<dc:creator>Gregg Tavares</dc:creator>
		<pubDate>Mon, 26 Jul 2010 15:46:09 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8017</guid>
		<description>I understand the idea of a remote editor. My point is it&#039;s exactly the mentality that leads to bad tools. 

The programmer thinks &quot;it&#039;s just take me a few lines of code to expose the entire game tree to be tweakable&quot;. After that each new editing feature always seems like a just few more lines of code. The program never realizes the fact that basing editing on the game engine was the path to bad tools, inflexible tools in the first place.

I&#039;m not saying you want your game editor to replace Photoshop and Maya. I&#039;m saying that a game editor that is as powerful at editing games as Photoshop is editing images and Maya is editing 3D is what you want. I&#039;m saying the path starting from tweakable game data is NOT the path that will get you there. In fact that path that will lead you to keep thinking you have good tools when in reality you&#039;re seriously hobbling your designers because right from the start.  

If you want good tools to edit &quot;game parameters, debugging info, AI options, data relationships&quot; and other game data you have to start from the &quot;how should I design the tools to make the data editable&quot; and not &quot;how should I tweak the final game data&quot;. The tools you end up with should have the layers and other abstractions that let designers create these AI options and data relationships with as many tools at their disposal as Maya gives for 3D and Photoshop gives for images.</description>
		<content:encoded><![CDATA[<p>I understand the idea of a remote editor. My point is it&#8217;s exactly the mentality that leads to bad tools. </p>
<p>The programmer thinks &#8220;it&#8217;s just take me a few lines of code to expose the entire game tree to be tweakable&#8221;. After that each new editing feature always seems like a just few more lines of code. The program never realizes the fact that basing editing on the game engine was the path to bad tools, inflexible tools in the first place.</p>
<p>I&#8217;m not saying you want your game editor to replace Photoshop and Maya. I&#8217;m saying that a game editor that is as powerful at editing games as Photoshop is editing images and Maya is editing 3D is what you want. I&#8217;m saying the path starting from tweakable game data is NOT the path that will get you there. In fact that path that will lead you to keep thinking you have good tools when in reality you&#8217;re seriously hobbling your designers because right from the start.  </p>
<p>If you want good tools to edit &#8220;game parameters, debugging info, AI options, data relationships&#8221; and other game data you have to start from the &#8220;how should I design the tools to make the data editable&#8221; and not &#8220;how should I tweak the final game data&#8221;. The tools you end up with should have the layers and other abstractions that let designers create these AI options and data relationships with as many tools at their disposal as Maya gives for 3D and Photoshop gives for images.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8015</link>
		<dc:creator>Noel</dc:creator>
		<pubDate>Mon, 26 Jul 2010 13:55:59 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8015</guid>
		<description>Gregg, The idea of a remote editor or a built in one is not to replace tools like Photoshop or Maya. This kind of editor is for higher-level data: game parameters, debug info, AI options, data relationships, etc. Assets will of course be generated there by the artists and baked into a game-friendly format. And if you do it right, you&#039;ll be able to hot swap the assets currently running in the game as soon as the artist saves any changes, so they can preview their work in semi-real time on the target platform. Really invaluable if you get a system like that in place (which can again be based around this remote tweaking protocol).</description>
		<content:encoded><![CDATA[<p>Gregg, The idea of a remote editor or a built in one is not to replace tools like Photoshop or Maya. This kind of editor is for higher-level data: game parameters, debug info, AI options, data relationships, etc. Assets will of course be generated there by the artists and baked into a game-friendly format. And if you do it right, you&#8217;ll be able to hot swap the assets currently running in the game as soon as the artist saves any changes, so they can preview their work in semi-real time on the target platform. Really invaluable if you get a system like that in place (which can again be based around this remote tweaking protocol).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Tavares</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-8006</link>
		<dc:creator>Gregg Tavares</dc:creator>
		<pubDate>Mon, 26 Jul 2010 08:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-8006</guid>
		<description>I&#039;m going to go on record here that basing an editor around your game engine, even if the tweaking tool is remote, is &quot;a bad idea&quot;.  Of course I&#039;m not knocking realtime tweaking, it&#039;s useful, especially if you&#039;re making a very simple game for a small team.

But there&#039;s another side to it.

Think of it this way. Let&#039;s say you wrote a program to display an image. Assume the images are rgab 1 byte per channel.  I&#039;m sure that&#039;s a pretty simple program regardless of how you imagine writing it. Consider this your &quot;image display engine&quot;. Now, following the logic above, you could make an in game tool to edit that image. You might have options to draw a single pixel at a time, select a color, maybe something larger than 1 pixel, draw with the joypad.  Or you could do this remotely. You write a front end, and edit, now at least you can use the mouse.

Following that plan, how long would it take get to the power of Photoshop? Without going through every detail I hope it should be pretty clear that if you want Photoshop, you don&#039;t start with an image displaying engine and start tacking on features.

To get the power of Photoshop you have to design an editor, not an engine. An editor is designed for ease of editing. An engine is designed for speed of display or play.  You&#039;re not going to get layers, blending effects, layer styles, undo, 9 kinds of plugins, text layers, vector layers, importers, and all the other thousands of Photoshop features that make artists so productive by starting with the image displaying engine.

The same is true of games. All these game editors that start with the game and then add editing on are starting from the wrong place entirely. This why editors like Unreal, Unity, etc are not even close to the level of sophistication as Photoshop, Maya, XSI etc. They were never designed first and foremost as editors, they were designed as games. They don&#039;t have the tens of compounded layers that let the designers build things in editable components and then &quot;bake it&quot; into game data the same way photoshop takes 50 layers and bakes it into a jpg.

It&#039;s that &quot;designed for editing&quot; that makes &quot;editors&quot; like Photoshop, Maya, XSI, Illustrator, so powerful and let&#039;s them make artists so productive. And, it&#039;s that lack of &quot;designed for editing&quot; that makes tweakers based on the game engine a path that eventually leads to a deadends and poorly designed tools.</description>
		<content:encoded><![CDATA[<p>I&#8217;m going to go on record here that basing an editor around your game engine, even if the tweaking tool is remote, is &#8220;a bad idea&#8221;.  Of course I&#8217;m not knocking realtime tweaking, it&#8217;s useful, especially if you&#8217;re making a very simple game for a small team.</p>
<p>But there&#8217;s another side to it.</p>
<p>Think of it this way. Let&#8217;s say you wrote a program to display an image. Assume the images are rgab 1 byte per channel.  I&#8217;m sure that&#8217;s a pretty simple program regardless of how you imagine writing it. Consider this your &#8220;image display engine&#8221;. Now, following the logic above, you could make an in game tool to edit that image. You might have options to draw a single pixel at a time, select a color, maybe something larger than 1 pixel, draw with the joypad.  Or you could do this remotely. You write a front end, and edit, now at least you can use the mouse.</p>
<p>Following that plan, how long would it take get to the power of Photoshop? Without going through every detail I hope it should be pretty clear that if you want Photoshop, you don&#8217;t start with an image displaying engine and start tacking on features.</p>
<p>To get the power of Photoshop you have to design an editor, not an engine. An editor is designed for ease of editing. An engine is designed for speed of display or play.  You&#8217;re not going to get layers, blending effects, layer styles, undo, 9 kinds of plugins, text layers, vector layers, importers, and all the other thousands of Photoshop features that make artists so productive by starting with the image displaying engine.</p>
<p>The same is true of games. All these game editors that start with the game and then add editing on are starting from the wrong place entirely. This why editors like Unreal, Unity, etc are not even close to the level of sophistication as Photoshop, Maya, XSI etc. They were never designed first and foremost as editors, they were designed as games. They don&#8217;t have the tens of compounded layers that let the designers build things in editable components and then &#8220;bake it&#8221; into game data the same way photoshop takes 50 layers and bakes it into a jpg.</p>
<p>It&#8217;s that &#8220;designed for editing&#8221; that makes &#8220;editors&#8221; like Photoshop, Maya, XSI, Illustrator, so powerful and let&#8217;s them make artists so productive. And, it&#8217;s that lack of &#8220;designed for editing&#8221; that makes tweakers based on the game engine a path that eventually leads to a deadends and poorly designed tools.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7955</link>
		<dc:creator>Noel</dc:creator>
		<pubDate>Sat, 24 Jul 2010 13:14:10 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7955</guid>
		<description>Yes, it&#039;s very similar to the Liquid one (minus the binary channels). C# made a lot of sense on Windows, so there&#039;s no regrets there. 

Actually, I just talked to Charles and we&#039;re going to open source the server and the client and hopefully other people can help with native Mac (or Linux or whatever) client implentations.</description>
		<content:encoded><![CDATA[<p>Yes, it&#8217;s very similar to the Liquid one (minus the binary channels). C# made a lot of sense on Windows, so there&#8217;s no regrets there. </p>
<p>Actually, I just talked to Charles and we&#8217;re going to open source the server and the client and hopefully other people can help with native Mac (or Linux or whatever) client implentations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Tilander</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7954</link>
		<dc:creator>Jim Tilander</dc:creator>
		<pubDate>Sat, 24 Jul 2010 11:47:01 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7954</guid>
		<description>Ahh, brings back memories. I see this has striking resemblance to the old liquid tweaker :) I still say we should hit Charles for luring us down the C# route. Like unsuspecting little chickens to the slaughter.</description>
		<content:encoded><![CDATA[<p>Ahh, brings back memories. I see this has striking resemblance to the old liquid tweaker <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I still say we should hit Charles for luring us down the C# route. Like unsuspecting little chickens to the slaughter.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emil</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7939</link>
		<dc:creator>Emil</dc:creator>
		<pubDate>Fri, 23 Jul 2010 16:27:02 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7939</guid>
		<description>If you add function calls, you&#039;re getting close to RPC ;)</description>
		<content:encoded><![CDATA[<p>If you add function calls, you&#8217;re getting close to RPC <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frederic Tessier</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7928</link>
		<dc:creator>Frederic Tessier</dc:creator>
		<pubDate>Fri, 23 Jul 2010 03:43:51 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7928</guid>
		<description>Very interesting article on how you have interface your game with an external editor via telnet.  Will keep this in mind when building our new debugging tools.  This solution indeed is a bit more flexible on the way you can edit values, you can go primitively via a telnet session or built an GUI like you did for FlowerGarden.

The previous tools that @fcycles built for working on the GP2X he went the opposite direction and it was all built inside a library that we link against when building an apps.  But it was pretty low-level, you could switch the different resolutions supported by the graphics on the fly, display different hardware register and poke to them, it was just missing a Machine Language monitor ;-p.  Yes input were limited to using joypad and buttons, and if you plug in a dev board you then had access to the keyboard to type in command.

You could see here how our tools look like in action on the actual hardware ;-).
http://twitpic.com/tajpw</description>
		<content:encoded><![CDATA[<p>Very interesting article on how you have interface your game with an external editor via telnet.  Will keep this in mind when building our new debugging tools.  This solution indeed is a bit more flexible on the way you can edit values, you can go primitively via a telnet session or built an GUI like you did for FlowerGarden.</p>
<p>The previous tools that @fcycles built for working on the GP2X he went the opposite direction and it was all built inside a library that we link against when building an apps.  But it was pretty low-level, you could switch the different resolutions supported by the graphics on the fly, display different hardware register and poke to them, it was just missing a Machine Language monitor ;-p.  Yes input were limited to using joypad and buttons, and if you plug in a dev board you then had access to the keyboard to type in command.</p>
<p>You could see here how our tools look like in action on the actual hardware <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .<br />
<a href="http://twitpic.com/tajpw" rel="nofollow">http://twitpic.com/tajpw</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7923</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Thu, 22 Jul 2010 23:20:48 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7923</guid>
		<description>Personally I prefer the power of  having a Lua server in my game, but more interesting is the fact that you can easily setup a minimal HTTP protocol (get) and return JSON instead of custom formats over telnet, then you can hook up to any browser and use all sorts of html widgets, works everywhere and is highly customizable!</description>
		<content:encoded><![CDATA[<p>Personally I prefer the power of  having a Lua server in my game, but more interesting is the fact that you can easily setup a minimal HTTP protocol (get) and return JSON instead of custom formats over telnet, then you can hook up to any browser and use all sorts of html widgets, works everywhere and is highly customizable!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DoubleTake Update &#171; Retro Dreamer Blog</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7922</link>
		<dc:creator>DoubleTake Update &#171; Retro Dreamer Blog</dc:creator>
		<pubDate>Thu, 22 Jul 2010 23:13:36 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7922</guid>
		<description>[...] today I was checking out Noel&#8217;s great iDevBlogADay post for the day: Remote Game Tuning. I noticed he had a cool looking twitter plug-in in the comments, so I decided to install it here [...]</description>
		<content:encoded><![CDATA[<p>[...] today I was checking out Noel&#8217;s great iDevBlogADay post for the day: Remote Game Tuning. I noticed he had a cool looking twitter plug-in in the comments, so I decided to install it here [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7919</link>
		<dc:creator>Noel</dc:creator>
		<pubDate>Thu, 22 Jul 2010 22:00:36 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7919</guid>
		<description>Hi George, Yes, you&#039;re totally right. The list command gives all the info the client needs to generate the GUI. Here&#039;s an example of a few parameters exposed in Flower Garden:

&lt;pre&gt;petal/spring_dampening, &quot;Spring dampening&quot;, float, 0.00, 1.00, RW
petal/texture_mask, &quot;Petal mask&quot;, int, 0, 9, RW
petal/color0a, &quot;Starting inner color&quot;, color, RW&lt;/pre&gt;

Notice there&#039;s even a RW parameter I forgot to mention. You can tag variables as Read/Write or Read-Only, so it&#039;s clear which ones the client can modify.</description>
		<content:encoded><![CDATA[<p>Hi George, Yes, you&#8217;re totally right. The list command gives all the info the client needs to generate the GUI. Here&#8217;s an example of a few parameters exposed in Flower Garden:</p>
<pre>petal/spring_dampening, "Spring dampening", float, 0.00, 1.00, RW
petal/texture_mask, "Petal mask", int, 0, 9, RW
petal/color0a, "Starting inner color", color, RW</pre>
<p>Notice there&#8217;s even a RW parameter I forgot to mention. You can tag variables as Read/Write or Read-Only, so it&#8217;s clear which ones the client can modify.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George Sealy</title>
		<link>http://gamesfromwithin.com/remote-game-editing/comment-page-1#comment-7917</link>
		<dc:creator>George Sealy</dc:creator>
		<pubDate>Thu, 22 Jul 2010 21:14:52 +0000</pubDate>
		<guid isPermaLink="false">http://gamesfromwithin.com/?p=1053#comment-7917</guid>
		<description>Great advice as always Noel.  I take it the list command also provides details of the variables type and min/max values?</description>
		<content:encoded><![CDATA[<p>Great advice as always Noel.  I take it the list command also provides details of the variables type and min/max values?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

