<?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>Doolwind&#039;s Game Coding Blog &#187; Unreal</title>
	<atom:link href="http://www.doolwind.com/blog/tag/unreal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.doolwind.com/blog</link>
	<description>Pragmatic Thoughts On Game Development</description>
	<lastBuildDate>Sun, 08 Jan 2012 08:15:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Unified Game Development Scripting Language</title>
		<link>http://www.doolwind.com/blog/unified-game-development-scripting-language/</link>
		<comments>http://www.doolwind.com/blog/unified-game-development-scripting-language/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:55:13 +0000</pubDate>
		<dc:creator>Doolwind</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Scripting Language]]></category>
		<category><![CDATA[Unreal]]></category>

		<guid isPermaLink="false">http://www.doolwind.com/blog/?p=194</guid>
		<description><![CDATA[What is the best scripting language for game development?  Every different game engine has its own scripting language making for a difficult choice.  Game programmers have a unified language in C++ however game designers are left with whatever language their engine supports.  I propose a unified scripting language that all engines/platforms can share. Problem When [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.doolwind.com/images/blog/scriptinglanguages.jpg"><img class="alignright" title="Scripting Languages" src="http://www.doolwind.com/images/blog/scriptinglanguages.jpg" alt="" width="86" height="75" /></a>What is the best scripting language for game development?  Every different game engine has its own scripting language making for a difficult choice.  Game programmers have a unified language in C++ however game designers are left with whatever language their engine supports.  I propose a unified scripting language that all engines/platforms can share.</p>
<p><span id="more-194"></span></p>
<p><strong>Problem</strong></p>
<p>When you chose an engine or platform to develop for, you’re locking yourself into its scripting language.  This has the following core problems:</p>
<ul>
<li><strong>Difficult cross platform development</strong>.  Cross platform development is hard      enough without the worry of porting gameplay code.  Gameplay code should not be platform      specific, and therefore there is no reason to have a different language      per platform/engine.</li>
<li><strong>Immature languages</strong>.       With each company re-inventing the wheel when they implement a new      language designers are left with immature languages.</li>
<li><strong>Too many languages</strong>.       Designers must learn a new language whenever they develop for a new      engine/platform.  This increases      development time and reduces fluency in a language.  A designer cannot be free to fully      express themselves until they are fluent in the language they describe      their gameplay in.</li>
</ul>
<p><strong>Solution</strong></p>
<p>The solution to these problems is to have a unified scripting language shared by all engines/platforms.  Written specifically for game development it would take the best of current scripting languages.  The games industry as a whole would “own” the language allowing it to evolve with the needs of the industry as each new generation of hardware is released.</p>
<p><strong>Advantages</strong></p>
<p>There are a number of key advantages for moving towards a unified scripting language.</p>
<ul>
<li><strong>Single gameplay codebase</strong>.       Gameplay doesn’t change dramatically between similar platforms      (e.g. 360 and PS3 or flash and iPhone).       A unified language would allow a single codebase to kept across      multiple platforms helping with porting and maintenance.</li>
<li><strong>Specific to game development needs</strong>.  A language created specifically for game      development could cater to the needs of the industry.</li>
<li><strong>Single language for designers to use.</strong> Small nuances in existing languages can      create major issues for non-programmer designers.  A single unified language reduces these      problems and makes the learning path for students clearer.</li>
<li><strong>Less Wheel Re-Invention</strong>.       An open-source unified scripting language would allow anyone to      submit changes to the language to improve it, rather than re-inventing a      whole new language.</li>
<li><strong>Unified Toolset</strong>.  A      unified set of tools could sit on top of a unified scripting language.<strong></strong></li>
</ul>
<p><strong>Genre Specific</strong></p>
<p>The core language will hold the basic building blocks for all games.  In the future, small libraries can be built by studios or the community for each specific genre.  For example a library of functions common to most FPS or RTS games could be created and shared between developers.   A unified scripting language makes this sharing possible and encourages people to develop well thought out, robust libraries they can reuse from engine to engine.  It also serves to soften the blow for designers when changing engines as their common set of functions will move across with them.</p>
<p><strong>How</strong></p>
<p>There are two main options for the creation of a new unified scripting language:</p>
<ul>
<li><strong>Large studio forks their current language</strong>.  For example Epic could open up Unreal      Script and give out the source code for its implementation (let&#8217;s call it      OpenUnrealScript).</li>
<li><strong>Community Driven</strong>.  A      simple codeplex/google code project with a couple of leaders and a team of      developers would allow for rapid development, while meeting the needs of      multiple teams.  Early adopters      would drive the initial feature-set and help to drive its development.<strong></strong></li>
</ul>
<p><strong>Conclusion</strong></p>
<p>My dream is to see the next generation of consoles and other platforms (PC, iPhone, Flash) all supporting a unified language.  I&#8217;m interested in people&#8217;s thoughts on this idea and candidates for which language to use.  It&#8217;s less about language features and just agreeing on a core language everyone can use to develop games and bring all developers onto the same page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doolwind.com/blog/unified-game-development-scripting-language/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

