<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>FreeGameDev Planet - Development</title>
	<link rel="self" href="http://planetdev.freegamedev.net/atom.xml"/>
	<link href="http://planetdev.freegamedev.net/"/>
	<id>http://planetdev.freegamedev.net/atom.xml</id>
	<updated>2017-07-21T02:01:27+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry>
		<title type="html">SGE Game Engine - SGE 1.5.1 Released</title>
		<link href="http://savannah.nongnu.org/forum/forum.php?forum_id=8908"/>
		<id>http://savannah.nongnu.org/forum/forum.php?forum_id=8908</id>
		<updated>2017-07-19T20:20:36+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;Yesterday, I finally got around to submitting a hook for uniseg to PyInstaller, and I also finalized the 1.5.1 release of the Pygame SGE. The differences compared to version 1.5 are:
&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uniseg is now an optional dependency.
&lt;/li&gt;
&lt;li&gt;The way fonts are handled has been tweaked. The previous attempt to alias common fonts has been removed, and the default font has been changed from the Pygame default to an assortment of monospace fonts, so Pygame's default font is only ever used as an absolute last resort. (The reason I wanted to do this in particular is because attempting to use the default Pygame font with PyInstaller crashes the game, and I wasn't able to figure out why. But the monospace fonts are a better default choice in my opinion anyway.)
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
		<author>
			<name>Julie Marchant</name>
			<uri></uri>
		</author>
		<source>
			<title type="html">SGE Game Engine - News</title>
			<link rel="self" href="http://savannah.nongnu.org/news/atom.php?group=stellarengine"/>
			<id>http://savannah.nongnu.org/news/atom.php?group=stellarengine</id>
			<updated>2017-07-19T22:01:19+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Spring - Engine Testing - 104.0-RC1</title>
		<link href="https://springrts.com/phpbb/viewtopic.php?t=36302&amp;p=582729#p582729"/>
		<id>https://springrts.com/phpbb/viewtopic.php?t=36302&amp;p=582729#p582729</id>
		<updated>2017-07-17T21:06:48+00:00</updated>
		<content type="html">First release-candidate for 104.0!&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Major Changes since 103.0&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Added LuaMenu&lt;/li&gt;&lt;li&gt; GL3.0 set as the minimum required OpenGL version&lt;/li&gt;&lt;li&gt; Improved memory management to allow multiple Spring.Reload() calls.&lt;/li&gt;&lt;li&gt; A zillion bug fixes&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Changes in Detail:&lt;br /&gt;&lt;a href=&quot;https://github.com/spring/spring/blob/37dc534/doc/changelog.txt&quot; class=&quot;postlink&quot;&gt;changelog.txt&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;https://github.com/spring/spring/compare/103.0.1...37dc534&quot; class=&quot;postlink&quot;&gt;git diff last rc to HEAD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Download&lt;/span&gt;&lt;br /&gt;See the &lt;a href=&quot;http://springrts.com/wiki/Download_Testing&quot; class=&quot;postlink&quot;&gt;download&lt;/a&gt; page for how to get it.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Bugs&lt;/span&gt;&lt;br /&gt;If you find a bugs, please report to &lt;a href=&quot;http://springrts.com/mantis/&quot; class=&quot;postlink&quot;&gt;Mantis&lt;/a&gt;.&lt;br /&gt;Please attach infolog.txt to the report!&lt;br /&gt;&lt;br /&gt;Happy testing! &lt;img class=&quot;smilies&quot; src=&quot;https://springrts.com/phpbb/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; title=&quot;Smile&quot; /&gt;&lt;hr /&gt;</content>
		<author>
			<name>hokomoko</name>
			<uri>https://springrts.com/phpbb/index.php</uri>
		</author>
		<source>
			<title type="html">Spring RTS Engine</title>
			<subtitle type="html">Open Source Realtime Strategy Game Engine</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/SpringRtsEngine"/>
			<id>https://springrts.com/phpbb/feed.php?mode=news</id>
			<updated>2017-07-21T02:01:24+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Dragon Bones</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/07/17/dragon-bones/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=258</id>
		<updated>2017-07-17T18:47:35+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/07/17/dragon-bones/export-dragon-bones-1/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;116&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/07/export-dragon-bones-1-200x116.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/07/17/dragon-bones/export-dragon-bones-2/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;116&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/07/export-dragon-bones-2-200x116.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/07/17/dragon-bones/export-dragon-bones-3/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;120&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/07/export-dragon-bones-3-200x120.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;You can now create 2D animations in &lt;a href=&quot;http://dragonbones.com&quot;&gt;Dragon Bones&lt;/a&gt;, a free software for 2D animations. It is a bit like Spine, but free! It can export to &lt;i&gt;&amp;#8220;Spine JSON&amp;#8221;&lt;/i&gt; format, compatible with Spine (almost &amp;#8211; it required a tiny trivial fix on the engine side). See &lt;a href=&quot;https://castle-engine.sourceforge.io/creating_data_dragon_bones.php&quot;&gt;how to export to Dragon Bones&lt;/a&gt; guide.&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">OGStudio - OpenSceneGraph guide</title>
		<link href="http://opengamestudio.org/lang/en/news/2501"/>
		<id>http://opengamestudio.org/?p=2501</id>
		<updated>2017-07-17T09:28:08+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://opengamestudio.org/wp-content/uploads/2017/07/2017-07.png&quot; alt=&quot;OpenSceneGraph guide&quot; width=&quot;800&quot; height=&quot;600&quot; class=&quot;alignnone size-full wp-image-2452&quot; /&gt;&lt;br /&gt;

This article summarizes the work we did to produce OpenSceneGraph cross-platform guide.&lt;br /&gt;


&lt;span id=&quot;more-2501&quot;&gt;&lt;/span&gt;&lt;br /&gt;

June marked the finish of &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide&quot;&gt;OpenSceneGraph cross-platform guide&lt;/a&gt; with the publishing of the last (initially planned) tutorial. The tutorial describes &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/1.10.SampleWeb&quot;&gt;how to build and run sample OpenSceneGraph application in Web&lt;/a&gt; using Emscripten.&lt;br /&gt;
In case you missed it, here&amp;#8217;s a &lt;a href=&quot;https://ogstudio.github.io/openscenegraph-cross-platform-guide/&quot;&gt;link to the final application&lt;/a&gt;. Open it in your web browser.&lt;/p&gt;
&lt;p&gt;We started to compose the guide in February when we successfully managed to render a simple model on desktop, mobile, and web.&lt;br /&gt;
We spent 120 hours in five months to produce ten tutorials of the guide.&lt;/p&gt;
&lt;p&gt;We have been doing OpenSceneGraph cross-platform guide for two main reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Keep OpenSceneGraph cross-platform knowledge in easily accessible and reproducible form&lt;/li&gt;
&lt;li&gt;Share the knowledge with OpenSceneGraph community to make it stronger&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We believe we succeeded in both. Here&amp;#8217;s why:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The guide repository has more &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide/stargazers&quot;&gt;&amp;#8220;stars&amp;#8221;&lt;/a&gt; (aka &amp;#8220;likes&amp;#8221;) than any other repository of ours&lt;/li&gt;
&lt;li&gt;OpenSceneGraph project leader Robert Osfield said &lt;a href=&quot;http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg74815.html&quot;&gt;&amp;#8220;Great work&amp;#8221;&lt;/a&gt;, which means a lot&lt;/li&gt;
&lt;li&gt;The guide already has &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues&quot;&gt;two issues&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Reaching our goal of researching OpenSceneGraph cross-platform development and providing the knowledge back to the community just made us happier.&lt;/p&gt;
&lt;p&gt;However, our journey does not stop here. Using the knowledge of the guide, we now continue to work on bringing our tools to support desktop, mobile, and web, just as we &lt;a href=&quot;http://opengamestudio.org/lang/en/news/2456&quot;&gt;promised in January&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it for summarizing the work we did to produce OpenSceneGraph cross-platform guide.&lt;br /&gt;&lt;/p&gt;</content>
		<author>
			<name>OGStudio</name>
			<uri>http://opengamestudio.org</uri>
		</author>
		<source>
			<title type="html">Opensource Game Studio</title>
			<subtitle type="html">Creation of free open-source games</subtitle>
			<link rel="self" href="http://opengamestudio.org/lang/en/feed"/>
			<id>http://opengamestudio.org/lang/en/feed</id>
			<updated>2017-07-21T02:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">IoQuake3 - Auto-Update Update</title>
		<link href="https://ioquake3.org/2017/07/13/auto-update-update/"/>
		<id>https://ioquake3.org/?p=920</id>
		<updated>2017-07-14T08:46:08+00:00</updated>
		<content type="html">&lt;p&gt;Ryan &amp;#8220;icculus&amp;#8221; Gordon has surprised us with a cross-platform auto-updater for &lt;em&gt;ioquake3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Created thanks to contributions to &lt;a href=&quot;https://www.patreon.com/icculus&quot;&gt;his patreon campaign&lt;/a&gt;, here&amp;#8217;s how Ryan describes it:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I&amp;#8217;ve written an autoupdater for ioquake3, with the intention of the game operating much like Google Chrome&amp;#8230;it just stays up to date and you don&amp;#8217;t really notice. This has been a long-time wishlist item for the ioq3 team&amp;#8230;as they are locked out of platforms like Steam, they&amp;#8217;ve been stuck telling people to download the game over and over, maybe migrating their mods, or live without new features and fixes.&lt;/p&gt;
&lt;p&gt;Once this solidifies, the official builds will just keep staying up to date, which is pretty sweet. And of course, this is optional, so it won&amp;#8217;t interfere with distro packages and such.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We still need to implement the network infrastructure behind the update mechanism, but this is a very important and large first step on that road.&lt;/p&gt;
&lt;p&gt;You can browse the code &lt;a href=&quot;https://github.com/ioquake/ioq3/pull/290&quot;&gt;in this pull request&lt;/a&gt; and this update that added more security features to the process.&lt;/p&gt;
&lt;p&gt;Or read more about the updater in these three blog posts from Ryan:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.patreon.com/posts/project-ioquake3-11368285&quot;&gt;Project: ioquake3 autoupdater&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.patreon.com/posts/ioquake3-now-11471255&quot;&gt;ioquake3 autoupdater: now with Linux support!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.patreon.com/posts/ioquake3-now-11532131&quot;&gt;ioquake3 autoupdater: now with Windows support!&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/icculus&quot;&gt;Please contribute to Ryan&amp;#8217;s patreon campaign&lt;/a&gt; if you enjoy his work.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;d like to support &lt;em&gt;ioquake3&lt;/em&gt;  in a roundabout way &lt;a href=&quot;https://teespring.com/nuclearmonster&quot;&gt;I am selling t-shirts and hoodies for &lt;em&gt;Nuclear Monster&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ioquake3&lt;/em&gt; is an entirely volunteer-run project and we still need your help, &lt;a href=&quot;http://wiki.ioquake3.org/Getting_involved&quot;&gt;please check out this page on our wiki for more information&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>IoQuake3</name>
			<uri>https://ioquake3.org</uri>
		</author>
		<source>
			<title type="html">ioquake3</title>
			<subtitle type="html">Free Software FPS Game Engine Based on Quake 3 for Windows, Linux, and macOS</subtitle>
			<link rel="self" href="http://ioquake3.org/feed/"/>
			<id>http://ioquake3.org/feed/</id>
			<updated>2017-07-21T02:01:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Generics.Collections in the book and CGE</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/07/13/generics-collections-in-the-book-and-cge/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=254</id>
		<updated>2017-07-13T23:55:33+00:00</updated>
		<content type="html">&lt;p&gt;To help you familiarize with the Generics.Collections unit, I wrote a &lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#generic-containers-section&quot;&gt;nice chapter about it in the &amp;#8220;Modern Pascal Introduction&amp;#8221;&lt;/a&gt;. It&amp;#8217;s a longer chapter, with 4 nice examples using containers from Generics.Collections.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In the related news:&lt;/em&gt; complete migration to Generics.Collections in Castle Game Engine is done &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; We now use Generics.Collections for all the purposes where we previously used the FGL and CastleGenericLists units. This brings us closer to Delphi compatibility, &lt;em&gt;and&lt;/em&gt; it makes code better (Generics.Collections works with records out-of-the-box, it has a TDictionary with a much cleaner API, etc.)&lt;/p&gt;
&lt;p&gt;Also, Michalis is back from vacations, with lots of new strength &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Cocos Creator v1.5.2 released!</title>
		<link href="http://blog.cocos2d-x.org/2017/07/cocos-creator-v1-5-2-released/"/>
		<id>http://blog.cocos2d-x.org/?p=1414</id>
		<updated>2017-07-13T08:04:22+00:00</updated>
		<content type="html">When in the beta phase, Cocos Creator v1.5.2 has already got a log of of positive feedback. On the track of v1.5.1 patch, this version continues to further strengthen the stability and enhance the efficiency. The following describes the highlight&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/07/cocos-creator-v1-5-2-released/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Beta release for Python support</title>
		<link href="http://godotengine.org/article/beta-release-python-support"/>
		<id>http://godotengine.org/article/beta-release-python-support</id>
		<updated>2017-07-12T08:59:44+00:00</updated>
		<content type="html">&lt;p&gt;Emmanuel Leblond (touilleMan) just released the first beta of his Python for Godot interface, which will allow developers to use Python 3 and its complete ecosystem as a scripting language in Godot 3.0.&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Tests needed for Godot 2.1.4-beta</title>
		<link href="http://godotengine.org/article/tests-needed-godot-2-1-4-beta"/>
		<id>http://godotengine.org/article/tests-needed-godot-2-1-4-beta</id>
		<updated>2017-06-25T18:14:52+00:00</updated>
		<content type="html">&lt;p&gt;Today's beta build for the upcoming Godot 2.1.4 version brings two months worth of development, including both bug fixes and new features, some of which potentially bolder than usual - with the long wait for Godot 3.0, many 2.1.x users grow restless and push to get the latest and shiniest included in the stable branch ;) As such, testers needed to make sure everything works flawlessly!&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Generics.Collections, vacations</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/06/25/generics-collections-vacations/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=243</id>
		<updated>2017-06-25T15:27:27+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/25/generics-collections-vacations/wizardry-vii-crusaders-of-the-dark-savant_7/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;125&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/Wizardry-VII-Crusaders-of-the-Dark-Savant_7-200x125.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/25/generics-collections-vacations/halflife2_city17_trainstationsquare/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;125&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/HalfLife2_City17_TrainStationSquare-200x125.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/25/generics-collections-vacations/half-life-2-episode-return-to_ravenholm-cancelled-header/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;71&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/Half-Life-2-Episode-Return-To_Ravenholm-Cancelled-header-200x71.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/25/generics-collections-vacations/adom/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;94&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/adom-200x94.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;I am going on vacation, so I will be (mostly) offline for 2 weeks &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; So, please have patience with any questions to Michalis &amp;#8212; I will get back to you, but with some delay!&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t have a new screenshot from the engine for this news. Instead, I wanted to share some screens from the games I like &amp;#8212; the games that inspired me to make games (and, subsequently, an engine to make games &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; ).&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/castle-engine/castle-engine&quot;&gt;GitHub code&lt;/a&gt; now contains a &lt;em&gt;start&lt;/em&gt; of migration from &lt;code&gt;FGL&lt;/code&gt; unit containers to &lt;code&gt;Generics.Collections&lt;/code&gt; unit containers. The &lt;code&gt;Generics.Collections&lt;/code&gt; contains a much richer (and Delphi-compatible) generic containers. I use generics &lt;em&gt;a lot&lt;/em&gt; in the engine code, so this will be a larger change.&lt;/p&gt;
&lt;p&gt;The main classes from &lt;code&gt;Generics.Collections&lt;/code&gt; are &lt;code&gt;TList&amp;lt;T&amp;gt;&lt;/code&gt; and &lt;code&gt;TObjectList&amp;lt;T&amp;gt;&lt;/code&gt;. &lt;code&gt;TObjectList&amp;lt;T&amp;gt;&lt;/code&gt; is very similar to the &lt;code&gt;TFPGObjectList&amp;lt;T&amp;gt;&lt;/code&gt; you know from FGL.&lt;/p&gt;
&lt;p&gt;Generics.Collections were implemented in FPC by fantastic &lt;em&gt;Maciej Izak&lt;/em&gt;, who also put a lot of work to actually make them part of the FPC standard library in FPC 3.1.1. In older FPC versions, we currently use a local copy of them (in &lt;code&gt;src/compatibility/generics.collections/src/&lt;/code&gt; ). This &amp;#8220;compatibility&amp;#8221; path should be automatically added to your unit search path for all our supported compilation methods. If you use the &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;build tool&lt;/a&gt;, be sure to recompile the build tool after getting the latest code from GitHub.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;The requirements on FPC version increase, in order to use Generics.Collections (&lt;a href=&quot;http://wiki.freepascal.org/FPC_New_Features_3.0#Delphi-like_namespaces_units&quot;&gt;unit names with dots&lt;/a&gt;). We now require now FPC &amp;gt;= 3.0.0. See also &lt;a href=&quot;https://castle-engine.sourceforge.io/fpc_and_lazarus.php&quot;&gt;FPC versions supported&lt;/a&gt; docs.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;I&amp;#8217;m also working on a new improved API for vectors / matrices, based on advanced records, somewhat cleaner and also Delphi-compatible. More news when I&amp;#8217;ll get back from vacations &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;Our &lt;a href=&quot;https://michalis.ii.uni.wroc.pl/jenkins/&quot;&gt;Automatic Cloud Build&lt;/a&gt; server has now cool scripts to switch FPC versions, which allows me to automatically check that the engine compiles with various FPC versions, and on various platforms. I really enjoy &lt;em&gt;continuous testing&lt;/em&gt;, time to set it up always &amp;#8220;pays off&amp;#8221; by doing a lot of things automatically for you, and Jenkins rocks!&lt;/p&gt;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Interview with the developer of World of One</title>
		<link href="http://blog.cocos2d-x.org/2017/06/interview-with-the-developer-of-world-of-one/"/>
		<id>http://blog.cocos2d-x.org/?p=1409</id>
		<updated>2017-06-22T08:10:18+00:00</updated>
		<content type="html">Cocos2d-x is a game engine and we see a lot of great games made using it. Every once in a while a project comes along that uses Cocos2d-x in a unique way. We are excited to talk with Grimwood Team,&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/06/interview-with-the-developer-of-world-of-one/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Make 2d games with Godot, last day on Kickstarter</title>
		<link href="http://godotengine.org/article/make-2d-games-godot-last-day-kickstarter"/>
		<id>http://godotengine.org/article/make-2d-games-godot-last-day-kickstarter</id>
		<updated>2017-06-20T15:00:00+00:00</updated>
		<content type="html">&lt;p&gt;There are but a few days left on the Kickstarter campaign. It's been an enormous success, with over 4 times the initial goal! The backers unlocked every stretch goal, including 4 contributions to the official documentation. Here's what will improve in the coming year.&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">OGRE - x3ogre presented on the Web3D 2017</title>
		<link href="http://www.ogre3d.org/2017/06/19/x3ogre-presented-on-the-web3d-2017"/>
		<id>http://www.ogre3d.org/?p=3050</id>
		<updated>2017-06-19T12:22:27+00:00</updated>
		<content type="html">&lt;p&gt;At this year&amp;#8217;s &lt;a href=&quot;http://web3d2017.web3d.org/&quot;&gt;Web3D conference&lt;/a&gt; in Brisbane a new Ogre based X3D viewer, called x3ogre, was presented.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/X3D&quot;&gt;X3D is an ISO specified file format for 3D&lt;/a&gt; file transmission and interchange which is now natively available to Ogre.&lt;br /&gt; The Web3D is a scientific conference concerning technologies like WebGL, X3D and glTF.&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://dl.acm.org/citation.cfm?id=3075949&quot;&gt;presented viewer is called x3ogre&lt;/a&gt; and provides a layer for loading and manipulating X3D files inside Ogre.&lt;br /&gt; Vice versa the Ogre Material and Mesh formats also become accessible inside X3D files.&lt;/p&gt;&lt;p&gt;To put the viewer on the Web the x3ogre leverages Emscripten and the GLES2 RenderSystem to get &lt;a href=&quot;https://paroj.github.io/x3ogre/&quot;&gt;translated to WebGL2 and WebAssembly&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The MIT licensed implementation is &lt;a href=&quot;https://github.com/paroj/x3ogre&quot;&gt;available on github&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Even if you have no interest in using X3D, this is a good reference how to put Ogre on the Web and do JavaScript interoperability.&lt;/p&gt;</content>
		<author>
			<name>Pavel Rojtberg</name>
			<uri>http://www.ogre3d.org</uri>
		</author>
		<source>
			<title type="html">OGRE – Open Source 3D Graphics Engine</title>
			<subtitle type="html">Home of a marvelous rendering engine</subtitle>
			<link rel="self" href="http://www.ogre3d.org/feed/atom"/>
			<id>http://www.ogre3d.org/feed/atom</id>
			<updated>2017-06-30T22:01:15+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Cocos Creator v1.5.1 released!</title>
		<link href="http://blog.cocos2d-x.org/2017/06/cocos-creator-v1-5-1-released/"/>
		<id>http://blog.cocos2d-x.org/?p=1395</id>
		<updated>2017-06-19T06:38:56+00:00</updated>
		<content type="html">In this version we have fixed a lot of issues from testing and user feedback, some of the major ones that will have a great impact include: 1. Improve the async callback mechanism when downloading assets, increase speed of the&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/06/cocos-creator-v1-5-1-released/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Castle Game Engine 6.2 release – iOS, CommonSurfaceShader…</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/06/19/castle-game-engine-6-2-release-ios-commonsurfaceshader/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=240</id>
		<updated>2017-06-19T01:20:56+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0248/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0248-e1494792623283-200x150.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0235/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0235-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/04/22/commonsurfaceshader-in-view3dscene-and-castle-game-engine-implemented/common_surface_shader_2/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;120&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/04/common_surface_shader_2-200x120.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/04/28/support-for-specular-maps-and-more-in-view3dscene-blender-exporter-to-commonsurfaceshader/1_blender_monkey_0/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/04/1_blender_monkey_0-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/16/sound_player/sound_player/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;82&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/sound_player-200x82.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/03/29/support-for-the-stl-format-for-3d-models-commonly-used-for-3d-printing/knocker_dragon/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;98&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/03/knocker_dragon-200x98.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/03/29/support-for-the-stl-format-for-3d-models-commonly-used-for-3d-printing/robot_woman/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;98&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/03/robot_woman-200x98.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/04/24/did-you-know-our-engine-has-ray-tracer/ray_tracer_textures/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;120&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/04/ray_tracer_textures-200x120.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;We&amp;#8217;re proud to announce the release of &lt;i&gt;Castle Game Engine 6.2&lt;/i&gt;!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://castle-engine.sourceforge.io/&quot;&gt;Download it from our main page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;New features in this release:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Trivially easy recompilation of your games for iOS (through an XCode project). You can now use our &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;build tool&lt;/a&gt; to recompile the same game for all our platforms (desktops, Android, iOS, web plugin&amp;#8230;). The &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/iOS&quot;&gt;iOS documentation&lt;/a&gt; was extended to describe everything necessary.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_common_surface_shader&quot;&gt;CommonSurfaceShader is our new &amp;#8220;material on steroids&amp;#8221;&lt;/a&gt; that allows you to configure material by normalmaps, specular maps, shininess maps, ambient maps&amp;#8230; We include an extensive documentation and examples of it (in new &lt;a href=&quot;https://castle-engine.sourceforge.io/demo_models.php&quot;&gt;demo models&lt;/a&gt;).&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;Improved &lt;a href=&quot;https://castle-engine.sourceforge.io/creating_data_blender.php&quot;&gt;Blender exporter&lt;/a&gt;. It&amp;#8217;s now easier to install (it&amp;#8217;s now a normal Blender add-on), and it can generate a &lt;a href=&quot;https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_common_surface_shader&quot;&gt;CommonSurfaceShader node&lt;/a&gt; with all the goodies described above. The artist can now comfortably set normalmaps, specular maps and much more in Blender, and they &amp;#8220;just work&amp;#8221; in the engine.&lt;/p&gt;
&lt;p&gt;The CommonSurfaceShader and Blender exporter improvements were implemented thanks to the support on Patreon. If you like what we do, &lt;a href=&quot;https://www.patreon.com/castleengine&quot;&gt;please consider supporting the engine development on Patreon&lt;/a&gt;. This really helps me spend more time on the engine, and develop cool features like this!&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;Other build tool improvements, for all platforms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples&quot;&gt;game_units attribute in CastleEngineManifest.xml&lt;/a&gt;.
&lt;li&gt;&lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;generate-program command for the build tool&lt;/a&gt;
&lt;li&gt;Places all the temporary output within &lt;code&gt;castle-engine-output/&lt;/code&gt; subdirectory.
&lt;li&gt;The configuration of build tool for Android is now simpler, it can guess all the locations from $ANDROID_HOME. Also the &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Android&quot;&gt;wiki page describing Android prerequisites was much improved&lt;/a&gt;.
    &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;Other API and examples improvements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TSound.Offset to get/set sound offset in time.
&lt;li&gt;Sound/music player in &lt;code&gt;examples/audio/audio_player_scrubber&lt;/code&gt;.
&lt;li&gt;STL format support
&lt;li&gt;Our ray-tracer now supports textures and smooth normals.
&lt;li&gt;&lt;a href=&quot;https://castle-engine.sourceforge.io/apidoc/html/CastleControls.TCastleEdit.html&quot;&gt;TCastleEdit&lt;/a&gt; (example in &lt;code&gt;examples/2d_standard_ui/edit_box/&lt;/code&gt; )
&lt;li&gt;Application.ParseStandardParameters, Application.Version
    &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Together with the new engine, we also release a new version of &lt;a href=&quot;https://castle-engine.sourceforge.io/view3dscene.php&quot;&gt;view3dscene 3.17.0&lt;/a&gt;, our viewer for X3D and other 3D formats. As a tool developed using the &lt;em&gt;Castle Game Engine&lt;/em&gt;, it inherits all the enhancements &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; You will probably be most interested in new CommonSurfaceShader node and STL format support.&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Sound player/scrubber using Castle Game Engine</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/06/16/sound_player/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=236</id>
		<updated>2017-06-16T20:21:02+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/16/sound_player/sound_player/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;82&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/sound_player-200x82.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;I made a simple sound/music player using the Castle Game Engine &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; It is available in the engine sources in &lt;code&gt;examples/audio/audio_player_scrubber&lt;/code&gt; .&lt;/p&gt;
&lt;p&gt;It has all the features you would expect:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Volume,&lt;/li&gt;
&lt;li&gt;Loop,&lt;/li&gt;
&lt;li&gt;Sound offset (position in time) control,&lt;/li&gt;
&lt;li&gt;Programmer-designed user-interface &lt;a href=&quot;http://okcancel.com/comic/4.html&quot;&gt;(ah, this brings back good memories:)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It can open wav and ogg files, and plays them using OpenAL.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It was coded to show that TSound.Offset works cool. It&amp;#8217;s a new property added today (&lt;a href=&quot;https://sourceforge.net/p/castle-engine/discussion/general/thread/4bb61781/&quot;&gt;for Eugene Loza, see here&lt;/a&gt;), allows to get/set the sound offset (aka &amp;#8220;position in time&amp;#8221;).&lt;/p&gt;
&lt;p&gt;You can &lt;a href=&quot;https://github.com/castle-engine/castle-engine/tree/master/examples/audio/audio_player_scrubber&quot;&gt;view the code on GitHub&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Design-time editing of 3D world (initial fun), many other improvements</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/06/15/design-time-editing-of-3d-world-initial-fun-many-other-improvements/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=229</id>
		<updated>2017-06-15T23:58:39+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/15/design-time-editing-of-3d-world-initial-fun-many-other-improvements/lazarus_design_scene_manager_2/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;103&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/lazarus_design_scene_manager_2-200x103.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/06/15/design-time-editing-of-3d-world-initial-fun-many-other-improvements/lazarus_design_scene_manager_1/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;103&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/06/lazarus_design_scene_manager_1-200x103.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/edit_box/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;116&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/edit_box-200x116.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;First of all, I hope to finish and release &lt;em&gt;Castle Game Engine 6.2.0&lt;/em&gt; this weekend! So, watch this page closely.&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;next release 6.4.0&lt;/em&gt; will focus on &lt;em&gt;Delphi compatibility&lt;/em&gt;, and start of &lt;em&gt;visual editing (of 3D world and 2D controls) within Lazarus and Delphi&lt;/em&gt;. In all the pre-release excitement, I started playing around with it already today &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; I added a property &lt;code&gt;RenderAtDesignTime&lt;/code&gt; to the Lazarus OpenGL control (&lt;a href=&quot;https://bugs.freepascal.org/view.php?id=32026&quot;&gt;patch here&lt;/a&gt;), and I made a simple design-time menu to add a sphere to the SceneManager at Lazarus design-time. See the screenshots!&lt;/p&gt;
&lt;p&gt;In other news, there is a bunch of engine features done recently, not announced properly yet. Here they are (officially coming in 6.2.0 release this weekend):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Rendering of normalmaps (through &lt;a href=&quot;https://castle-engine.sourceforge.io/x3d_implementation_texturing_extensions.php#section_ext_common_surface_shader&quot;&gt;CommonSurfaceShader.normalTexture&lt;/a&gt; or Appearance.normalMap) was improved to work even when no diffuse texture is defined.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://castle-engine.sourceforge.io/apidoc/html/CastleControls.TCastleEdit.html&quot;&gt;TCastleEdit&lt;/a&gt;: a simple edit box. Demo in examples/2d_standard_ui/edit_box/game.pas . &lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/#comment-72&quot;&gt;Not perfect&lt;/a&gt;, but already useful anyway &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/li&gt;
&lt;li&gt;New &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;build tool&lt;/a&gt; command &amp;#8220;generate-program&amp;#8221;, to generate perfect starter program code and Lazarus lpi.&lt;/li&gt;
&lt;li&gt;Added easy &lt;a href=&quot;https://castle-engine.sourceforge.io/apidoc/html/CastleWindow.TCastleApplication.html#ParseStandardParameters&quot;&gt;Application.ParseStandardParameters&lt;/a&gt; method to the TCastleApplication in CastleWindow, may be useful for your standalone games.&lt;/li&gt;
&lt;li&gt;image_convert (in examples/images_videos/) has an additional command-line option &amp;#8211;alpha-bleed, to perform &amp;#8220;alpha bleeding&amp;#8221; in batch mode.&lt;/li&gt;
&lt;li&gt;Added &lt;a href=&quot;https://castle-engine.sourceforge.io/apidoc/html/CastleCreatures.TDebug3DCustomTransform.html&quot;&gt;TDebug3DCustomTransform&lt;/a&gt; &amp;#8211; a simple reusable utility to debug bounding boxes and spheres of T3DCustomTransform (like T3DTransform or T3DOrient). A generalized version of what you get for creatures (the ones from CastleCreatures unit) when you use RenderDebug3D.&lt;/li&gt;
&lt;li&gt;x3d-nodes-to-pascal is our new tool to parse X3D nodes and produce skeleton code to glue X3D with Object Pascal.&lt;/li&gt;
&lt;/ol&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Progress report April/May 2017</title>
		<link href="http://godotengine.org/article/progress-report-april-may-2017"/>
		<id>http://godotengine.org/article/progress-report-april-may-2017</id>
		<updated>2017-06-14T09:39:49+00:00</updated>
		<content type="html">&lt;p&gt;The Godot Engine contributors were not idle during Juan's long holidays - lots of interesting features were implemented over the last two months, and they all converge towards making Godot 3.0 an impressive release! This progress reports covers the work done by all contributors apart from Juan, who will showcase his recent renderer improvements in the next progress report.&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">SGE Game Engine - SGE 1.5 Released - What A Mess</title>
		<link href="http://savannah.nongnu.org/forum/forum.php?forum_id=8875"/>
		<id>http://savannah.nongnu.org/forum/forum.php?forum_id=8875</id>
		<updated>2017-06-11T13:43:28+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;A new version of the SGE specification and the Pygame SGE has been released. This is a relatively small, yet somewhat... chaotic release.
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Let's start with the specification changes, which are relatively minor:
&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The way key names is handled has been made more generalized and flexible. Effectively, the total number of standard keys has been reduced (removing keys like &quot;clear&quot; and &quot;super_left'), but the implementation is allowed to support any additional keys under names that start with &quot;undef_&quot;, and it's been clarified that the engine is also allowed to not support arbitrary keys. This will help the specification accommodate other backends like Pyglet more, but more importantly, this fixed a problem with input methods (used for e.g. Japanese and Chinese text entry); the input method I use, at least, passed a keycode of &quot;0&quot;, which was not actually defined as a key.
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a typo in the documentation for sge.gfx.Sprite.swap_color.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nothing too crazy there. The big change is not likely to affect anything, realistically (there's not really a reason to use e.g. the Super key).
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;But then there came the big Pygame SGE change: the way lines are split has been changed to a much better one, utilizing the uniseg module. This, to be clear, is a good thing. The previous method simply did not split lines properly, and uniseg seems to be the best module which currently exists to do it right. But it also turns out that uniseg doesn't work with PyInstaller; someone needs to make a helper for it.
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;So for now, I have released two versions of the Pygame SGE: the regular version which uses uniseg, and is therefore better but incompatible with PyInstaller for now, and a &quot;badsplit&quot; version which continues to use the old method based entirely on the ASCII space character. I will work on writing that helper for PyInstaller as soon as I can to clean up this mess. In the meantime, please use the regular version when you can, and use the &quot;badsplit&quot; version otherwise (i.e. when building with PyInstaller).
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;If you appreciate my work on the SGE, as always, please consider contributing to my Patreon page or my Liberapay page. Your support makes it possible for me to spend more time on these efforts and less time making money by other means. My Patreon and Liberapay pages are here:
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/onpon4&quot;&gt;https://www.patreon.com/onpon4&lt;/a&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://liberapay.com/onpon4&quot;&gt;https://liberapay.com/onpon4&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</content>
		<author>
			<name>Julie Marchant</name>
			<uri></uri>
		</author>
		<source>
			<title type="html">SGE Game Engine - News</title>
			<link rel="self" href="http://savannah.nongnu.org/news/atom.php?group=stellarengine"/>
			<id>http://savannah.nongnu.org/news/atom.php?group=stellarengine</id>
			<updated>2017-07-19T22:01:19+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Upgraded all rewards</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/06/09/upgraded-all-rewards/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=224</id>
		<updated>2017-06-09T09:49:17+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/castleengine&quot;&gt;Support the engine development on Patreon&lt;/a&gt; ! We have just upgraded &lt;strong&gt;all&lt;/strong&gt; the reward tiers, so now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 USD gives you access to all private posts on Patreon,&lt;/li&gt;
&lt;li&gt;5 USD allows you to request new engine features each month,&lt;/li&gt;
&lt;li&gt;10 USD allows you to request new game each month,&lt;/li&gt;
&lt;li&gt;50 USD gives you access to the cloud build server (https://michalis.ii.uni.wroc.pl/jenkins/) !&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;P.S. Working hard on CGE 6.2.0, release &lt;em&gt;very soon&lt;/em&gt; !:)&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Orx - IgnoreFromParent feature added to Orx</title>
		<link href="http://orx-project.org/component/content/article/1-orx/108-ignorefromparent-feature-added-to-orx"/>
		<id>http://orx-project.org/component/content/article/1-orx/108-ignorefromparent-feature-added-to-orx</id>
		<updated>2017-06-09T03:13:30+00:00</updated>
		<content type="html">&lt;p&gt;For those who want to experiment, a new small-but-useful feature  has been added to the development version of Orx. It allows to specify  which part(s) of a frame transformation coming from a parent you want to  ignore.&lt;/p&gt;
&lt;p&gt;In short it means that you can have a child object,  spawner or camera that can ignore the parent's, rotation, position or  scale. Or to scale an object without scaling its children, be them  particles, camera, attachments, etc.&lt;/p&gt;
&lt;p&gt;This can all be configured via your  game's config instead of having position updates in code.&lt;/p&gt;
&lt;p&gt;This  is incredibly useful for creating shadow effects or attachments to an  object that should not rotate or scale when the parent does.&lt;/p&gt;
&lt;p&gt;There are a couple of useful examples &lt;a href=&quot;http://orx-project.org/wiki/examples/objects/object_with_shadow&quot;&gt;here &lt;/a&gt;and &lt;a href=&quot;http://orx-project.org/wiki/examples/objects/non_rotating_children&quot;&gt;here&lt;/a&gt;, and a more comprehensive tutorial on all the possibilities is in currently in progress.&lt;/p&gt;</content>
		<author>
			<name>Wayne Johnson</name>
			<email>sausage@zeta.org.au</email>
			<uri>http://orx-project.org</uri>
		</author>
		<source>
			<title type="html">News</title>
			<subtitle type="html">Orx - a portable open source game engine</subtitle>
			<link rel="self" href="http://orx-project.org/index.php?format=feed&amp;type=atom"/>
			<id>http://orx-project.org/index.php</id>
			<updated>2017-07-21T02:01:21+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">OGStudio - iOS tutorial</title>
		<link href="http://opengamestudio.org/lang/en/news/2493"/>
		<id>http://opengamestudio.org/?p=2493</id>
		<updated>2017-06-08T15:22:17+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://opengamestudio.org/wp-content/uploads/2017/06/2017-06_ogs.png&quot; alt=&quot;iOS tutorial&quot; width=&quot;800&quot; height=&quot;600&quot; class=&quot;alignnone size-full wp-image-2452&quot; /&gt;&lt;br /&gt;

This article describes problems we faced during the creation of iOS tutorial in May 2017.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/OpenGameStudio/status/826816343433498627&quot; alt=&quot;iOS tweet&quot;&gt;This February&lt;/a&gt; we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it&amp;#8217;s easy to come up with a hackish demo that works for one person, but it&amp;#8217;s hard to create a concise example that works for everyone.&lt;br /&gt;


&lt;span id=&quot;more-2493&quot;&gt;&lt;/span&gt;&lt;br /&gt;

&lt;strong&gt;Native library&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first question we had to answer was: should the sample application be part of Xcode project or be a separately built library?&lt;/p&gt;
&lt;p&gt;We had to consider the following facts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Xcode project can use C++ directly (thanks to Objective-C++) without stuff like JNI&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;There&amp;#8217;s no need for a separate library (+ application)&lt;/li&gt;
&lt;li&gt;Creating a separate library is an additional work (- library)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;OpenSceneGraph builds libraries&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;#8217;s easier to use standard build process (+ library)&lt;/li&gt;
&lt;li&gt;It&amp;#8217;s harder to create custom build process just for a single platform (- application)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;OpenSceneGraph uses CMake build system, which is not supported by Xcode&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Xcode project can&amp;#8217;t include CMake files (- application)&lt;/li&gt;
&lt;li&gt;It&amp;#8217;s easy to create custom CMake file that includes OpenSceneGraph CMake file to build a single library (+ library)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;CMake can generate Xcode project&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;#8217;s possible to create a CMake file that builds both OpenSceneGraph and the sample application (+ application)&lt;/li&gt;
&lt;li&gt;Xcode is the de-facto tool to create Xcode projects; it&amp;#8217;s easier to use standard build process (+ library)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;p&gt;After evaluating the pros and cons of each approach, we decided to turn the sample application into a library and include it in Xcode project. The downside of this approach is that simulator and real device builds need separate library builds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Refactoring&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The second question we had to answer was: should there be a single source code base for all platforms or several ones, one for each platform?&lt;/p&gt;
&lt;p&gt;While doing Android tutorial we used single source code base because it worked fine for desktop and Android. As we started to work through iOS tutorial, it became apparent that particular features may or may not work on some platforms. For example, one feature may work on desktop and iOS, but not Android. Another feature may work on iOS and Android, but not desktop. Since we didn&amp;#8217;t want to pollute the code with #ifdefs, we started to put each platform combination into a separate file. The number of files grew rapidly. The files were reusable, but it became extremely hard to see the whole picture.&lt;/p&gt;
&lt;p&gt;At this point, we realized there&amp;#8217;s the second question. We reminded ourselves that the main purpose of the sample source code is to teach how to do basic OpenSceneGraph things, not create a reusable library with API that is stable across several years.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s when our home grown feature tool came into play. With its help, we separated the code into several parts, which in the end produce just two files for each platform:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;functions.h &amp;#8211; contains reusable classless functions&lt;/li&gt;
&lt;li&gt;main.h &amp;#8211; contains the rest of the sample application code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Their contents differ slightly for each platform, but it&amp;#8217;s easy to see the whole picture now.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it for describing problems we faced during the creation of iOS tutorial in May 2017.&lt;br /&gt;&lt;/p&gt;</content>
		<author>
			<name>OGStudio</name>
			<uri>http://opengamestudio.org</uri>
		</author>
		<source>
			<title type="html">Opensource Game Studio</title>
			<subtitle type="html">Creation of free open-source games</subtitle>
			<link rel="self" href="http://opengamestudio.org/lang/en/feed"/>
			<id>http://opengamestudio.org/lang/en/feed</id>
			<updated>2017-07-21T02:01:20+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - What is Happening 4</title>
		<link href="http://blog.piston.rs/2017/05/29/what-is-happening-4/"/>
		<id>http://blog.piston.rs/2017/05/29/what-is-happening-4</id>
		<updated>2017-05-29T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;Follow &lt;a href=&quot;https://twitter.com/PistonDeveloper&quot;&gt;@PistonDeveloper at Twitter&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Here are some of the things that happened since &lt;a href=&quot;http://blog.piston.rs/2016/09/19/what-is-happening-3/&quot;&gt;the last post&lt;/a&gt;:&lt;/p&gt;

&lt;h3 id=&quot;advancedresearch&quot;&gt;&lt;a href=&quot;https://advancedresearch.github.io/&quot;&gt;AdvancedResearch&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Advanced research focuses on making conceptual breakthroughs in system thinking.
The previous advanced research under the Piston project is moving to this new open source organization.
You can read about the rationale of separating this research from the Piston project &lt;a href=&quot;https://github.com/PistonDevelopers/piston/issues/1177&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Some bullet points of the overall progress:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;New approach to mathematical foundation of friendly artificial intelligence nicknamed “golden rationality”&lt;/li&gt;
  &lt;li&gt;Some progress on path semantics and generalizations to probability theory&lt;/li&gt;
  &lt;li&gt;Gini solvers could balance economic inequality (can be tested in MMOs)&lt;/li&gt;
  &lt;li&gt;Established contact with scientists and engineers about mitigating climate change&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Golden rationality is a very recent topic, where I try avoiding the &lt;a href=&quot;http://blog.piston.rs/2017/04/15/no-superintelligence/&quot;&gt;scary first order approximation to friendly superintelligence&lt;/a&gt; and
instead focus on human value approximation concerning group strategies.
This means it is not about superintelligence “in a box”, but about beating the efficiency of individual rational agents
in a world where AI is standardized and utilized by many people.
For discussion and questions, open up an issue &lt;a href=&quot;https://github.com/advancedresearch/advancedresearch.github.io/issues&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Normal research related to gamedev will continue under the Piston project.&lt;/p&gt;

&lt;h3 id=&quot;conrod&quot;&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/conrod/&quot;&gt;Conrod&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;New &lt;code class=&quot;highlighter-rouge&quot;&gt;CollapsibleArea&lt;/code&gt; widget&lt;/li&gt;
  &lt;li&gt;Improved performance&lt;/li&gt;
  &lt;li&gt;Added crates.io categories&lt;/li&gt;
  &lt;li&gt;Various bug fixes and improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/conrod/graphs/contributors&quot;&gt;List of contributors (59)&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;image&quot;&gt;&lt;a href=&quot;https://github.com/pistondevelopers/image&quot;&gt;Image&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;There is an &lt;a href=&quot;https://github.com/PistonDevelopers/image/issues/645&quot;&gt;internal compiler bug&lt;/a&gt; on Rust 18 Beta,
so if you have troubles compiling your project, you might want to use Right stable or nightly instead.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Simple BMP support&lt;/li&gt;
  &lt;li&gt;PPM support&lt;/li&gt;
  &lt;li&gt;New constructor for adjusting quality of JPEG encoding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/image/graphs/contributors&quot;&gt;List of contributors (89)&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;imageproc&quot;&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/imageproc&quot;&gt;Imageproc&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Improved performance, incluing better parallization using Rayon&lt;/li&gt;
  &lt;li&gt;Added more benchmarks&lt;/li&gt;
  &lt;li&gt;Ellipse and bezier drawing&lt;/li&gt;
  &lt;li&gt;Various bug fixes and improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/imageproc/graphs/contributors&quot;&gt;List of contributors (14)&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;dyon&quot;&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/dyon&quot;&gt;Dyon&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;New intrinsics&lt;/li&gt;
  &lt;li&gt;Optional namespaces with shared aliases&lt;/li&gt;
  &lt;li&gt;Link loop (a loop that concatenates body expressions using Dyon’s &lt;code class=&quot;highlighter-rouge&quot;&gt;link&lt;/code&gt; data structure)&lt;/li&gt;
  &lt;li&gt;Try expressions (turning errors into result)&lt;/li&gt;
  &lt;li&gt;Various bug fixed and improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/dyon/graphs/contributors&quot;&gt;List of contributors (4)&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;visualrust&quot;&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/visualrust&quot;&gt;VisualRust&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Cargo support&lt;/li&gt;
  &lt;li&gt;Support for both Visual Studio 2015 and 2017&lt;/li&gt;
  &lt;li&gt;Various bug fixes and improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/VisualRust/graphs/contributors&quot;&gt;List of contributors (14)&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;other-projects&quot;&gt;Other projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;New versions of Gfx has been updated through the ecosystem&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/resize&quot;&gt;resize&lt;/a&gt; has gotten nice upgrades and performance improvements&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/music&quot;&gt;music&lt;/a&gt; now supports sound clips&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Updates to the “Modern Object Pascal Introduction for Programmers”</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/05/28/updates-to-modern-pascal-intro/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=221</id>
		<updated>2017-05-28T19:08:33+00:00</updated>
		<content type="html">&lt;p&gt;I wrote a few new chapters to the &lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html&quot;&gt;&amp;#8220;Modern Object Pascal Introduction for Programmers&amp;#8221; book&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#_calling_inherited_method&quot;&gt;4.8. Calling inherited method&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#virtual-methods-section&quot;&gt;4.9. Virtual methods, override and reintroduce&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#_the_virtual_destructor_called_destroy&quot;&gt;5.4. The virtual destructor called Destroy&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#_static_class_methods&quot;&gt;8.5. Static class methods&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://castle-engine.io/modern_pascal_introduction.html#_class_properties_and_variables&quot;&gt;8.6. Class properties and variables&lt;/a&gt;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;It is also available now under a shorter URL, on a new domain for our &lt;i&gt;Castle Game Engine&lt;/i&gt;. The book is &lt;i&gt;not&lt;/i&gt; tied to the Castle Game Engine (I want it to be something useful on it&amp;#8217;s own). Although it is also part of my plan for &lt;i&gt;&amp;#8220;how Castle Game Engine can succeed&amp;#8221;&lt;/i&gt;, as it helps programmers interested in Castle Game Engine to use the Object Pascal language &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; If you like it, please consider &lt;a href=&quot;https://www.patreon.com/castleengine&quot;&gt;supporting me on Patreon&lt;/a&gt; !&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Cocos Creator v1.5 Released!</title>
		<link href="http://blog.cocos2d-x.org/2017/05/cocos-creator-v1-5-release-physics-engine-typescript-2d-camera-support/"/>
		<id>http://blog.cocos2d-x.org/?p=1382</id>
		<updated>2017-05-23T02:43:23+00:00</updated>
		<content type="html">We are happy to announce the release of Cocos Creator v1.5! This version 1.5 update focuses on the lack of features for action games large-scale project development, through the provision of physics engine, camera and TypeScript support. Cocos Creator is&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/05/cocos-creator-v1-5-release-physics-engine-typescript-2d-camera-support/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - In Space Everyone is Screaming (gamejam game:)</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=214</id>
		<updated>2017-05-23T00:54:28+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/in-space-everyone-is-screaming_screen_1/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/in-space-everyone-is-screaming_screen_1-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/in-space-everyone-is-screaming_screen_3/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/in-space-everyone-is-screaming_screen_3-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/in-space-everyone-is-screaming_screen_4/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/in-space-everyone-is-screaming_screen_4-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/in-space-everyone-is-screaming_screen_5/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/in-space-everyone-is-screaming_screen_5-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/23/in-space-everyone-is-screaming-gamejam-game/in-space-everyone-is-screaming_screen_10/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/in-space-everyone-is-screaming_screen_10-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;Simple platformer-shooter done during 12-hour gamejam using Castle Game Engine! Binaries on &lt;a href=&quot;https://gitlab.com/michaliskambi/in-space-everyone-is-screaming/tags/v1.0&quot;&gt;https://gitlab.com/michaliskambi/in-space-everyone-is-screaming/tags/v1.0&lt;/a&gt; , source code on &lt;a href=&quot;https://gitlab.com/michaliskambi/in-space-everyone-is-screaming&quot;&gt;https://gitlab.com/michaliskambi/in-space-everyone-is-screaming&lt;/a&gt; . This is really just a technical beginning, without any playable level design, or fancy enemies swarms, or graphics.. But it&amp;#8217;s a working start, with jumping and shooting and enemies, ready to be extended! &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Make Professional 2d Games with Godot: Kickstarter LIVE</title>
		<link href="http://godotengine.org/article/2d-games-godot-kickstarter-live"/>
		<id>http://godotengine.org/article/2d-games-godot-kickstarter-live</id>
		<updated>2017-05-22T10:00:00+00:00</updated>
		<content type="html">&lt;p&gt;Do you want to become a better game developer with Godot? GDquest, who makes game creation tutorials with open source tools, is on Kickstarter, with our full support!&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - Announcing Dyon-Snippets</title>
		<link href="http://blog.piston.rs/2017/05/22/announcing-dyon-snippets/"/>
		<id>http://blog.piston.rs/2017/05/22/announcing-dyon-snippets</id>
		<updated>2017-05-22T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;The Piston project is pleased to announce &lt;a href=&quot;https://github.com/PistonDevelopers/dyon_snippets&quot;&gt;Dyon-Snippets&lt;/a&gt;,
a place to share Dyon source code and discuss library design!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PistonDevelopers/dyon&quot;&gt;Dyon&lt;/a&gt; is scripting programming language started in 2016 by myself (Sven Nilsen, bvssvni).&lt;/p&gt;

&lt;p&gt;Dyon started as an experiment in a period I had a lot of time, while waiting for some important Gfx redesigns.
After a week of coding, I discovered that it was possible to use a lifetime checker (like Rust),
but without borrow semantics (unlike Rust) instead of a garbage collector.
Combined with copy-on-write for non-stack references, this creates a very limited memory model
but sufficient enough for many practical applications.
It is difficult to write object oriented code in Dyon, but it is very nice for iterating over arrays.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Built-in support for 4D vectors and HTML colors&lt;/li&gt;
  &lt;li&gt;Packed loop for mathematical index notation&lt;/li&gt;
  &lt;li&gt;Secrets (more about this later)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The language uses dynamic loading of modules to organize code,
where you have full control over module dependencies.
It is very common to write a loader script, a program that runs before you run the actual program.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;fn&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;foo&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;unwrap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;foo.dyon&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Load `foo`.&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;unwrap&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;bar.dyon&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;imports&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Load `bar` with `foo` as dependency.&lt;/span&gt;
    &lt;span class=&quot;nf&quot;&gt;call&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;main&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[])&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Run the function `main` on the `bar` module.&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This allows a kind of programming where you easily control how stuff gets loaded,
e.g. check for for updates or refresh a module every Nth second.&lt;/p&gt;

&lt;p&gt;I often use Dyon for problem solving, because the language has a feature called “secrets”.
A secret is a hidden array of values associated with a &lt;code class=&quot;highlighter-rouge&quot;&gt;bool&lt;/code&gt; or &lt;code class=&quot;highlighter-rouge&quot;&gt;f64&lt;/code&gt;. The type is &lt;code class=&quot;highlighter-rouge&quot;&gt;sec[bool]&lt;/code&gt; or &lt;code class=&quot;highlighter-rouge&quot;&gt;sec[f64]&lt;/code&gt;.
The indexed loops in Dyon are integrated with secrets.&lt;/p&gt;

&lt;p&gt;For example, you have a 2D array &lt;code class=&quot;highlighter-rouge&quot;&gt;v&lt;/code&gt; and compute the maximum value:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;
&lt;span class=&quot;nf&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Prints maximum value of `v`.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Dyon infers the range from the loop body. The code above is equivalent to:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This is a packed loop which is equivalent to:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The notation &lt;code class=&quot;highlighter-rouge&quot;&gt;max i, j {v[i][j]}&lt;/code&gt; is inspired by mathematics.
In mathematics and physics it is very common to use indices and custom loops.
It is easy to translate back and forth between equations and Dyon code,
and it helps you learn mathematics as well!&lt;/p&gt;

&lt;p&gt;The type of &lt;code class=&quot;highlighter-rouge&quot;&gt;m&lt;/code&gt; is &lt;code class=&quot;highlighter-rouge&quot;&gt;sec[f64]&lt;/code&gt;. You can write the following:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;where_max&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;where&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nf&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;where_max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Prints `[i, j]`.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This is how it works:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The inner &lt;code class=&quot;highlighter-rouge&quot;&gt;max&lt;/code&gt; loop returns the maximum value with a secret &lt;code class=&quot;highlighter-rouge&quot;&gt;[j]&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;The outer &lt;code class=&quot;highlighter-rouge&quot;&gt;max&lt;/code&gt; loop finds the maximum inner value and changes the secret to &lt;code class=&quot;highlighter-rouge&quot;&gt;[i, j]&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A secret propagates from the left argument in binary operators.
This means you can combine &lt;code class=&quot;highlighter-rouge&quot;&gt;any&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;all&lt;/code&gt; loops with &lt;code class=&quot;highlighter-rouge&quot;&gt;max&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;min&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;// Is there any list which maximum value is larger than 10?&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;any&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nf&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;why&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// Prints `[i, j]`.&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;In problem solving this is very convenient, because many problems
can be thought of as formulating a question.
When you know the right question to ask, the answer is often easy to find.&lt;/p&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FLARE - 20161016</title>
		<link href="http://flarerpg.org/blog/20161016"/>
		<id>http://flarerpg.org/blog/20161016</id>
		<updated>2017-05-17T10:32:17+00:00</updated>
		<content type="html">Hey everyone, it's Justin (dorkster). Clint pointed to my blog as a venue for updates in Flare engine development, yet I've fail</content>
		<author>
			<name>FLARE</name>
			<uri>http://flarerpg.org/</uri>
		</author>
		<source>
			<title type="html">FLARE Blog</title>
			<subtitle type="html">FLARE News (Free Libre Action Roleplaying Engine)</subtitle>
			<link rel="self" href="http://flarerpg.org/flare.rss"/>
			<id>http://flarerpg.org/flare.rss</id>
			<updated>2017-05-17T10:32:17+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FLARE - 20160605</title>
		<link href="http://flarerpg.org/blog/20160605"/>
		<id>http://flarerpg.org/blog/20160605</id>
		<updated>2017-05-17T10:32:17+00:00</updated>
		<content type="html">HD art, one slice at a time


We have parallel projects going for Flare, based on the strengths that various contributors are</content>
		<author>
			<name>FLARE</name>
			<uri>http://flarerpg.org/</uri>
		</author>
		<source>
			<title type="html">FLARE Blog</title>
			<subtitle type="html">FLARE News (Free Libre Action Roleplaying Engine)</subtitle>
			<link rel="self" href="http://flarerpg.org/flare.rss"/>
			<id>http://flarerpg.org/flare.rss</id>
			<updated>2017-05-17T10:32:17+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Godot course on Kickstarter next Monday!</title>
		<link href="http://godotengine.org/article/godot-course-kickstarter-next-monday"/>
		<id>http://godotengine.org/article/godot-course-kickstarter-next-monday</id>
		<updated>2017-05-15T11:51:10+00:00</updated>
		<content type="html">&lt;p&gt;GDquest, content creator and gamedev teacher of Krita and Godot fame, will soon start a Kickstarter campaign for a professional quality game creation course targeting the upcoming Godot 3! Among Godot developers, we are all thrilled about the project and want it to be a huge success, so mark the date and be sure to support the campaign!&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Build tool, iOS, Android great improvements!</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=201</id>
		<updated>2017-05-14T20:24:17+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0248/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0248-e1494792623283-200x150.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0235/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0235-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0236/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0236-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0237/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0237-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0238/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0238-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0245/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;267&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0245-200x267.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0246/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0246-e1494792501259-200x150.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/14/build-tool-ios-android-great-improvements/dsc_0247/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;150&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/DSC_0247-e1494792537440-200x150.jpg&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;First of all, I&amp;#8217;m proudly attaching a few images of various games using &lt;a href=&quot;https://castle-engine.sourceforge.io/&quot;&gt;Castle Game Engine&lt;/a&gt; running on a real iPhone:)&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;build tool&lt;/a&gt; got some significant improvements lately. I hinted about some of them in the recent &lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/&quot;&gt;&amp;#8220;Easy compilation for iOS&amp;#8221;&lt;/a&gt; announcement, but actually there&amp;#8217;s more, and some of them benefit all platforms &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; Here are the details:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Using the &lt;code&gt;&quot;castle-engine-output&quot;&lt;/code&gt; directory for compilation temporary files (.ppu, .o), and for Android and iOS projects. The advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The compilation files are kept per OS/CPU, so they can be reused more (no need to recompile everything just because you switch platforms).
&lt;li&gt;The Android project is in a predictable location (not in some /tmp/castle-engine-), which is useful to run &amp;#8216;ndk-gdb&amp;#8217;.
&lt;li&gt;The iOS project is in a predictable location, which is useful to run XCode.
    &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;Project files (lpr) for Android, iOS (and soon &amp;#8212; for others too) can be auto-created. So you really don&amp;#8217;t have to write &lt;em&gt;anything&lt;/em&gt; to recompile your project for a new platform. You only need to provide game_units in &lt;code&gt;CastleEngineManifest.xml&lt;/code&gt;, and make sure your units initialize Application.MainWindow . Make sure you define &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples&quot;&gt;game_units in CastleEngineManifest.xml&lt;/a&gt;.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Android&quot;&gt;Android&lt;/a&gt; packaging process fixes and updates.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CGE code fix for using (exact) FPC 3.0.2 to cross-compile to Android.
&lt;li&gt;The build tool no longer requires so many things (from Android SDK and NDK) on $PATH. It can guess everything&amp;#8217;s location now from ANDROID_HOME (your SDK location).
&lt;li&gt;Much improved &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Android&quot;&gt;wiki page about installing Android dependencies&lt;/a&gt;. In particular, it contains now screenshots how to use the &amp;#8220;SDK Manager&amp;#8221;, that is integrated in &amp;#8220;Android Studio&amp;#8221; and replaces the old &amp;#8220;android&amp;#8221; GUI tool from previous SDK versions.
    &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/iOS&quot;&gt;iOS-specific improvements&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/iOS&quot;&gt;iOS wiki page&lt;/a&gt; was much improved and updated, to describe the process of compiling to iOS.
&lt;li&gt;The &lt;code&gt;src/library/compile-iOS.sh&lt;/code&gt; script was reworked and updated. Many changes, but in principle it should generate exactly the same thing:)
&lt;li&gt;The &lt;code&gt;&quot;castle-engine compile --target=ios&quot;&lt;/code&gt; is available, and generates a ready libxxx.a to be inserted into an XCode project.
&lt;li&gt;&lt;a href=&quot;https://castle-engine.sourceforge.io/apidoc/html/CastleWindow.html&quot;&gt;CastleWindow&lt;/a&gt; &amp;#8220;library&amp;#8221; interface (used for iOS in a library) simplified.
&lt;li&gt;Package any game for iOS! Just run &lt;code&gt;&quot;castle-engine package --target=ios&quot;&lt;/code&gt; and you get an XCode project, that compiles out-of-the-box in XCode, and can be tested and published from XCode. You can add &lt;code&gt;--mode=debug&lt;/code&gt; if you like.
    &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Powered by Cocos2d-x, A Good Interview with Colorcast Developer</title>
		<link href="http://blog.cocos2d-x.org/2017/05/powered-by-cocos2d-x-a-good-interview-with-colorcast-developer/"/>
		<id>http://blog.cocos2d-x.org/?p=1370</id>
		<updated>2017-05-12T06:56:23+00:00</updated>
		<content type="html">Colorcast free was developed by two developers with the support of a three additional collaborators. With the aim of take feedback from final user, an alpha version was presented on Gamelab 2015 (http://gamelab.es/2015/indie-hub) where the game was well received and&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/05/powered-by-cocos2d-x-a-good-interview-with-colorcast-developer/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">OGStudio - OSG sample</title>
		<link href="http://opengamestudio.org/lang/en/news/2484"/>
		<id>http://opengamestudio.org/?p=2484</id>
		<updated>2017-05-12T02:11:39+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://opengamestudio.org/wp-content/uploads/2017/05/2017-05_ogs.png&quot; alt=&quot;OGS sample&quot; width=&quot;800&quot; height=&quot;600&quot; class=&quot;alignnone size-full wp-image-2452&quot; /&gt;&lt;br /&gt;

This article describes creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.&lt;br /&gt;


&lt;span id=&quot;more-2484&quot;&gt;&lt;/span&gt;&lt;br /&gt;

Previous tutorials described how to install OpenSceneGraph under Linux, macOS, Windows and render a model using the standard &lt;strong&gt;osgviewer&lt;/strong&gt; tool. This time we worked on a &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide-application&quot;&gt;sample OpenSceneGraph application&lt;/a&gt; that would run under Linux, macOS, Windows, and Android.&lt;/p&gt;
&lt;p&gt;The application is very basic and has the following features:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Render window creation&lt;/li&gt;
&lt;li&gt;Model loading&lt;/li&gt;
&lt;li&gt;Model rendering with simple GLSL shaders&lt;/li&gt;
&lt;li&gt;Model motion with a mouse under Linux, macOS, Windows and a finger under Android&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Creating the tutorials for Linux, macOS, Windows was so easy and straightforward, that it only took us half a month. We spent the second half of the month creating Android tutorial.&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&quot;http://opengamestudio.org/lang/en/news/2414&quot;&gt;first successful Android build&lt;/a&gt; last year included hacks and non-obvious steps to make OpenSceneGraph run under Android. This time we wanted a cleaner, faster, and cheaper approach.&lt;/p&gt;
&lt;p&gt;The approach we ended up with requires just a few files and a few changes to the original Android Studio project (with C++ support) to make sample OpenSceneGraph application run under Android.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a quick rundown of the files:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GLES2 surface&lt;/li&gt;
&lt;li&gt;Render activity to render to the surface&lt;/li&gt;
&lt;li&gt;Native library Java interface&lt;/li&gt;
&lt;li&gt;Native library C++ implementation&lt;/li&gt;
&lt;li&gt;CMake file to build native library&lt;/li&gt;
&lt;li&gt;Render activity layout&lt;/li&gt;
&lt;li&gt;Model to display&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here&amp;#8217;s a quick rundown of the project changes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Update Android manifest to use GLES2 and render activity&lt;/li&gt;
&lt;li&gt;Reference native library&amp;#8217;s CMake file in the project&amp;#8217;s CMake file&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;OpenSceneGraph documentation suggests building OpenSceneGraph outside Android Studio with CMake. However, this approach has the following limitations:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You have to build OpenSceneGraph for each target architecture&lt;/li&gt;
&lt;li&gt;You have to manually copy/reference built OpenSceneGraph libraries into Android Studio project&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Our approach includes building OpenSceneGraph for those target architectures that Android Studio project is built for. Also, OpenSceneGraph is already referenced, so no extra work is required: you just need to rebuild the project, and you&amp;#8217;re done.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it for describing the creation of the tutorials for building sample OpenSceneGraph application under Linux, macOS, Windows, and Android in April 2017.&lt;br /&gt;&lt;/p&gt;</content>
		<author>
			<name>OGStudio</name>
			<uri>http://opengamestudio.org</uri>
		</author>
		<source>
			<title type="html">Opensource Game Studio</title>
			<subtitle type="html">Creation of free open-source games</subtitle>
			<link rel="self" href="http://opengamestudio.org/lang/en/feed"/>
			<id>http://opengamestudio.org/lang/en/feed</id>
			<updated>2017-07-21T02:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Orx - Orx article on opensource.com</title>
		<link href="http://orx-project.org/component/content/article/1-orx/107-orx-article-on-opensourcecom"/>
		<id>http://orx-project.org/component/content/article/1-orx/107-orx-article-on-opensourcecom</id>
		<updated>2017-05-09T11:09:38+00:00</updated>
		<content type="html">&lt;p&gt;An article &quot;Getting started with Orx&quot; has been published at opensource.com. It  introduces the Orx Portable Game Engine, the community and available  resources.&lt;/p&gt;
&lt;p&gt;You can find it at: &lt;a href=&quot;https://opensource.com/article/17/5/getting-started-orx-open-gaming-engine&quot; title=&quot;Getting started with Orx&quot;&gt;https://opensource.com/article/17/5/getting-started-orx-open-gaming-engine&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Wayne Johnson</name>
			<email>sausage@zeta.org.au</email>
			<uri>http://orx-project.org</uri>
		</author>
		<source>
			<title type="html">News</title>
			<subtitle type="html">Orx - a portable open source game engine</subtitle>
			<link rel="self" href="http://orx-project.org/index.php?format=feed&amp;type=atom"/>
			<id>http://orx-project.org/index.php</id>
			<updated>2017-07-21T02:01:21+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Castle Game Engine - Easy compilation of your games for iOS</title>
		<link href="https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/"/>
		<id>https://castle-engine.sourceforge.io/wp/?p=191</id>
		<updated>2017-05-06T04:12:24+00:00</updated>
		<content type="html">&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot2/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot2-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot3/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot3-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot4/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot4-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot5/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot5-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot6/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot6-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://castle-engine.sourceforge.io/wp/2017/05/06/easy-compilation-of-your-games-for-ios/screenshot7/&quot;&gt;&lt;img width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://castle-engine.sourceforge.io/wp/wp-content/uploads/2017/05/screenshot7-200x113.png&quot; class=&quot;attachment-thumbnail size-thumbnail&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;p&gt;Trivially easy compilation of your games to iOS!!!&lt;/p&gt;
&lt;p&gt;You can now take any Castle Game Engine game, and recompile it for iOS (iPhone, iPad) easily. No need to write *any* iOS-specific code. Short instructions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Follow &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/iOS&quot;&gt;iOS documentation&lt;/a&gt; to get FPC, with a cross-compiler, for iOS targets.
&lt;li&gt;Inside CastleEngineManifest.xml, define &lt;code&gt;game_units=&quot;...&quot;&lt;/code&gt;, listing the necessary game units to be included in your lpr. It&amp;#8217;s often just a single unit, that pulls other units along as dependencies.
&lt;li&gt;Run &lt;code&gt;&quot;castle-engine package --target=ios --verbose&quot;&lt;/code&gt; in console.
&lt;li&gt;Open the resulting project in XCode. From XCode you can build it, run it in a simulator, publish&amp;#8230; I emphasize that the project builds &lt;em&gt;out-of-the-box&lt;/em&gt; on Xcode, zero modifications on your side are necessary. Just open the project, and press &amp;#8220;Run&amp;#8221; button in XCode.
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;I will be posting more details (and polishing some rough edges) soon &lt;img src=&quot;https://s.w.org/images/core/emoji/2.3/72x72/1f642.png&quot; alt=&quot;&amp;#x1f642;&quot; class=&quot;wp-smiley&quot; /&gt; Learn more about the &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/Build-Tool&quot;&gt;build tool (&amp;#8220;castle-engine&amp;#8221;)&lt;/a&gt; and &lt;a href=&quot;https://github.com/castle-engine/castle-engine/wiki/CastleEngineManifest.xml-examples&quot;&gt;CastleEngineManifest.xml&lt;/a&gt; at these wiki pages. I just updated them with information about &lt;code&gt;--target=ios&lt;/code&gt; and &lt;code&gt;game_units&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Many thanks go to &lt;em&gt;Szymon Stoma&lt;/em&gt; and &lt;em&gt;Ten Square Games&lt;/em&gt; for making Apple hardware available to me, making it all possible!&lt;/p&gt;
&lt;p&gt;And a great many thanks to &lt;em&gt;Jan Adamec&lt;/em&gt;, who made the initial iOS work in our engine! Everything I did was just rehashing of that work, to integrate it with the build tool.&lt;/p&gt;</content>
		<author>
			<name>Castle Game Engine</name>
			<uri>https://castle-engine.sourceforge.io/wp</uri>
		</author>
		<source>
			<title type="html">Castle Game Engine</title>
			<subtitle type="html">Open-Source 3D and 2D Game Engine</subtitle>
			<link rel="self" href="http://michalis.ii.uni.wroc.pl/castle-engine-feed"/>
			<id>http://michalis.ii.uni.wroc.pl/castle-engine-feed</id>
			<updated>2017-07-21T02:01:08+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Allegro - Allegro on TuxFamily!</title>
		<link href="http://liballeg.org/"/>
		<id>urn:uuid:919c4bbf-1477-4367-ae83-33deef2a4c7c</id>
		<updated>2017-05-05T04:17:36+00:00</updated>
		<content type="html"></content>
		<author>
			<name>Allegro developers</name>
			<uri>http://liballeg.org/</uri>
		</author>
		<source>
			<title type="html">Allegro news</title>
			<link rel="self" href="http://liballeg.org/feed_atom.xml"/>
			<id>urn:uuid:661257c2-82a0-4510-b2be-0f6b010807b9</id>
			<updated>2017-07-17T06:01:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - Announcing Binpool</title>
		<link href="http://blog.piston.rs/2017/05/05/announcing-binpool/"/>
		<id>http://blog.piston.rs/2017/05/05/announcing-binpool</id>
		<updated>2017-05-05T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;This blog post is about a new experimental uniform binary format for particle physics: &lt;a href=&quot;https://github.com/PistonDevelopers/binpool&quot;&gt;Piston-Binpool&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;background&quot;&gt;Background&lt;/h3&gt;

&lt;p&gt;Currently I am diving deep into &lt;a href=&quot;http://blog.piston.rs/2017/02/02/cloud-albido-control-is-the-way-to-go/&quot;&gt;marine cloud brightening&lt;/a&gt;
to understand how humanity can avoid some severe effects of climate change by using
some form of clean and reversible geoengineering.
If you did not know already, there have been some very worrisome observations in 2016-2017,
so I thought it was a good idea to educate myself a bit and perhaps get some input on what technological challenges there are.
The scientists and engineers working on this have been quite open and even sent me papers to read! Thanks guys.&lt;/p&gt;

&lt;p&gt;While reading about this, which seems to require understanding of climate modelling (it is understandable if you take your time),
I figured doing some basic virtual physics experiments could help my brain along the way.
Nothing advanced yet, just freshing up some of the things I played around with over the years.&lt;/p&gt;

&lt;p&gt;One thing I discovered, that it is not obvious what kind of analysis you want to do with a virtual experiment.
Instead of running simulations over and over, I would like to collect the raw data
and later run algorithms that computes some functional relationship.&lt;/p&gt;

&lt;p&gt;The advantage of this method is that you can exploit some physical similarites between systems.
For example, it is commonly known that certain physical behaviors can transfer knowledge between a model and the full size system.
So, collecting data about some few particles colliding in a slow motion simulation,
can give you knowledge about particles colliding in high velocities and over a huge area.
This way you can save both time and energy, because you do not have to simulate every detail of a full system.&lt;/p&gt;

&lt;p&gt;This is also interesting because I came across similar ideas when researching path semantics.
Studying physics could help design algorithms that predict approximate behaviors of other algorithms.
One long term goal is to develop a constraint solver that can assist with engineering tasks.&lt;/p&gt;

&lt;h3 id=&quot;motivation-and-design&quot;&gt;Motivation and design&lt;/h3&gt;

&lt;p&gt;I could not find a standard format for storing and reading particle data in a such way
that you can reuse algorithms between projects, so I made my own experimental one.&lt;/p&gt;

&lt;p&gt;Here is the format:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;type format == 0 =&amp;gt; end of stream
type format: u16, property id: u16
|- bytes == 0 =&amp;gt; no more data, next property
|- bytes: u64, offset instance id: u64, data: [u8; bytes]
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The first flag is a type format, which supports 10 common Rust numerical primitives,
with vector and matrix dimensions up to 80x80.&lt;/p&gt;

&lt;p&gt;The second flag is a unique property id that identifies the property of the particle system.
This is also used to define time, e.g. a f32 scalar.&lt;/p&gt;

&lt;p&gt;Next the format stores the number of bytes in the data block and an offset instance id,
such that you can read and write parts of the particle system (e.g. only the part that is dynamic or needed for analysis).&lt;/p&gt;

&lt;p&gt;The number of particles in the block is derived from the number of bytes and the type format.
You can also specify a custom binary format, in which case a general purpose analysis tool can just skip the block.&lt;/p&gt;

&lt;p&gt;For each frame in a simulation, you simply write out a set of properties,
and when reading back a frame you use a loop that breaks when all properties are set.
More information about the usage is in the &lt;a href=&quot;https://github.com/PistonDevelopers/binpool/blob/master/README.md&quot;&gt;README&lt;/a&gt; file.&lt;/p&gt;

&lt;h3 id=&quot;future-work&quot;&gt;Future work&lt;/h3&gt;

&lt;p&gt;My hope is that I am able to reuse realgorithms across projects,
for example a command line tool that computes the energy or the number of collisions.&lt;/p&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Cocos2d-x - Cocos2d-x v3.15 released!</title>
		<link href="http://blog.cocos2d-x.org/2017/04/cocos2d-x-v3-15-released/"/>
		<id>http://blog.cocos2d-x.org/?p=1361</id>
		<updated>2017-04-28T06:05:18+00:00</updated>
		<content type="html">We are happy to announce the release of Cocos2d-x v3.15! This release brings bug fixes and API maintenance, as well as these highlights: Full Android Studio supports: include editing, compiling and debugging c++ codes: doc Audio engine uses tremolo and&lt;span class=&quot;ellipsis&quot;&gt;&amp;#8230;&lt;/span&gt;&lt;div class=&quot;read-more&quot;&gt;&lt;a href=&quot;http://blog.cocos2d-x.org/2017/04/cocos2d-x-v3-15-released/&quot;&gt;Read more &amp;#8250;&lt;/a&gt;&lt;/div&gt;&lt;!-- end of .read-more --&gt;</content>
		<author>
			<name>Cocos2d-x</name>
			<uri>http://blog.cocos2d-x.org</uri>
		</author>
		<source>
			<title type="html">Cocos2d-x Developer Blog</title>
			<link rel="self" href="http://blog.cocos2d-x.org/feed/"/>
			<id>http://blog.cocos2d-x.org/feed/</id>
			<updated>2017-07-13T10:01:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">OGRE - Ogre3D 1.10 released</title>
		<link href="http://www.ogre3d.org/2017/04/23/ogre3d-1-10-released"/>
		<id>http://www.ogre3d.org/?p=3003</id>
		<updated>2017-04-25T09:48:51+00:00</updated>
		<content type="html">&lt;p&gt;We finally tagged the Ogre 1.10 branch as &lt;em&gt;stable&lt;/em&gt; (tag: v1-10-4), making it the new current and recommended version. We would advise you to update wherever possible, to benefit from all the fixes and improvements that made their way into the new release.&lt;br /&gt; This release represents more than 3 years of work from various contributors when compared to the &lt;a href=&quot;http://www.ogre3d.org/2013/11/24/ogre3d-1-9-released-as-stable&quot;&gt;previous 1.9 release&lt;/a&gt;. Notably, it includes the following three GSoC 2013 projects:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.ogre3d.org/tikiwiki/tiki-index.php?page=SoC2013+OpenGL+3+Plus+with+Advanced+Graphics+Samples&quot;&gt;OpenGL3+ RenderSystem&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ogre3d.org/tikiwiki/tiki-index.php?page=SoC2013+DirectX11+%26+Tesselation+Sample&quot;&gt;DirectX11 RenderSystem&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ogre3d.org/tikiwiki/tiki-index.php?page=SoC2013+Progressive+Mesh+Improvements&quot;&gt;Progressive Mesh improvements&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The &lt;a href=&quot;http://www.ogre3d.org/tikiwiki/tiki-index.php?page=SoC2013+Resource+System+Redesign+%26+Replacement&quot;&gt;ResourceManager redesign GSoC&lt;/a&gt; was superceded by the &lt;a href=&quot;https://github.com/OGRECave/ogre/blob/master/Docs/1.10-Notes.md#resourcemanager-strict-mode&quot;&gt;strict mode CMake switch&lt;/a&gt;.&lt;br /&gt; Enabling the strict mode is highly recommended, however the default is legacy mode to ensure compatibility with existing projects.&lt;/p&gt;&lt;p&gt;Additionally it includes the changes from the git fork that got merged back into default. The fork formally did the 1.10.0 release, thats how we ended up with 1.10.4 here.&lt;/p&gt;&lt;p&gt;Currently we don’t have any published SDKs yet, since we still rely on team and community members to help with the building and packaging process and that takes some time of course. We will update the download page as they become available and also try to update the announcement thread in the forums.&lt;/p&gt;&lt;h1&gt;Changes&lt;/h1&gt;&lt;p&gt;For an detailed overview of the new features see the &lt;a href=&quot;https://github.com/OGRECave/ogre/blob/master/Docs/1.10-Notes.md&quot;&gt;New And Noteworthy Document&lt;/a&gt;. Among the highlights are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/OGRECave/ogre/blob/master/Samples/Python/bites_sample.py&quot;&gt;Python bindings&lt;/a&gt; as a component&lt;/li&gt;&lt;li&gt;vastly improved &lt;a href=&quot;https://ogrecave.github.io/ogre/gl_status/TestResults_GL3Plus.html&quot;&gt;GL3+&lt;/a&gt;/ &lt;a href=&quot;https://ogrecave.github.io/ogre/gl_status/TestResults_GLES2.html&quot;&gt;GLES2&lt;/a&gt; renderers with GL3+ now being the recommended choice on *nix systems&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://ogrecave.github.io/ogre/api/1.10/setup.html#skeleton&quot;&gt;Bites Component&lt;/a&gt; for rapid prototyping of applications&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://ogrecave.github.io/ogre/emscripten/&quot;&gt;Emscripten platform target&lt;/a&gt; &amp;#8211; &lt;a href=&quot;https://ogrecave.github.io/ogre/wasm/&quot;&gt;supporting Web Assembly &amp;amp; WebGL2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;improved build system, automatically fetching all required dependencies.&lt;/li&gt;&lt;li&gt;A new HLMS Component implementing physically based shading&lt;/li&gt;&lt;li&gt;Unified Documentation: the API docs, &lt;a href=&quot;https://ogrecave.github.io/ogre/api/1.10/manual.html&quot;&gt;the manual&lt;/a&gt; and &lt;a href=&quot;https://ogrecave.github.io/ogre/api/1.10/tutorials.html&quot;&gt;some Wiki pages&lt;/a&gt; have been merged and are now managed with Doxygen. &lt;strong&gt;As a consequence, the Wiki is outdated when it comes to OGRE 1.10. &lt;/strong&gt;If you find something particularly missing, feel free to submit an additional tutorial.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Despite the amount of new features OGRE 1.10 provides the smoothest upgrade experience between OGRE releases so far. See the &lt;a href=&quot;https://abi-laboratory.pro/tracker/timeline/ogre/&quot;&gt;API/ ABI change overview for OGRE 1.7 &amp;#8211; 1.10&lt;/a&gt; that is kindly provided by &lt;a href=&quot;https://abi-laboratory.pro/&quot;&gt;ABI-laboratory&lt;/a&gt;.&lt;br /&gt; Note that some components are marked as &lt;code&gt;[BETA]&lt;/code&gt;. This does not mean that they are likely to crash, but that we can not give any API stability guarantees for them right now. You should expect their API to change without a deprecation period while we we iron the warts out as the Component get more exposure.&lt;/p&gt;&lt;p&gt;In turn for the core components, our &lt;a href=&quot;https://ogrecave.github.io/ogre/api/1.10/deprecated.html&quot;&gt;deprecation list&lt;/a&gt; has grown considerably. You can keep using these APIs for now, as we intend to support them until OGRE 1.11. Speaking of which; to make OGRE releases predictable, we will switch away to a feature based to a time based release model for the 1.x branch. This means that you can expect OGRE 1.11 in April 2018.&lt;/p&gt;&lt;h1&gt;Contributors&lt;/h1&gt;&lt;p&gt;We would like to thank everyone who helped us make this release possible. The following list shows a list of contributors for 1.10 based on the git logs:&lt;/p&gt;&lt;p&gt;Pavel Rojtberg, Eugene Golushkov, David Rogers, Jesse Johnson, Murat Sari, Lior Lahav, Peter Szücs, Philip Allgaier, Matías N. Goldberg, Sasu Robert, Assaf Raman, Jannik Heller, lunkhound, Juan Borda, Daniel K. O., Jan Drabner, Transporter, Ahmed Allam, Flavien Bridault, Lf3T-Hn4D, J. Edward Sanchez, Mattan Furst, Shenjoku, arkeon, nxgraphics, 0xc0deface, Alexpux, Caleb Bartholomew, Christian Refvik, Harald Reingruber, Stefania Pedrazzi, Unknown, ja0335, threax, Al Reay, Andrew Piper, BAntDit-PC\BAntDit, Bastian Köcher, David Reepmeyer, Inifinity, Joel Croteau, Tomáš Kováč, tangren, Arroy One, Charles Prévot, Chris Burns, Daniel Brall, Daniel Gouvêa, Jean-François Verdon, Joël Lamotte, Matthew Fletcher, Misha, Oleksiy Ivanov, Simon Willshire, al2950, xantares, Alex Peterson, Alexey Knyshev, Andrew Fenn, Arroy, Bruno Sanches, Carsten, Crashy, Dainius Vaiksnys, David Avedissian, Denis CARLUS, Francesco Guastella, Gauthier POGAM&amp;#8211;LE MONTAGNER, Glenn Ramsey, Holger Frydrych, J W, James Chen, Joe Brown, Justin Grant, KoenMertens, KungFooMasta, Mako_energy, Marcin Juszkiewicz, Michaël Broutin, Osamu Takasugi, Richard Plangger, Robert Hildebrandt, Robin Norrman, Ryan Thoryk, SNiLD, Sam Hocevar, Steve Peters, TheOnlyJoey, Ziriax, emilie.harquel, mkultra333, philiplb&lt;/p&gt;&lt;p&gt;BTW: if you want to contribute to OGRE, you can now &lt;a href=&quot;https://github.com/OGRECave/ogre&quot;&gt;use github as well&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Pavel Rojtberg</name>
			<uri>http://www.ogre3d.org</uri>
		</author>
		<source>
			<title type="html">OGRE – Open Source 3D Graphics Engine</title>
			<subtitle type="html">Home of a marvelous rendering engine</subtitle>
			<link rel="self" href="http://www.ogre3d.org/feed/atom"/>
			<id>http://www.ogre3d.org/feed/atom</id>
			<updated>2017-06-30T22:01:15+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - Existential Paths</title>
		<link href="http://blog.piston.rs/2017/04/23/existential-paths/"/>
		<id>http://blog.piston.rs/2017/04/23/existential-paths</id>
		<updated>2017-04-23T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;In this post I will report a big breakthrough in the ongoing research on &lt;a href=&quot;https://github.com/bvssvni/path_semantics&quot;&gt;path semantics&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Link to paper: &lt;a href=&quot;https://github.com/bvssvni/path_semantics/blob/master/papers-wip/existential-paths.pdf&quot;&gt;Existential Paths&lt;/a&gt; (work in progress)&lt;/p&gt;

&lt;p&gt;Since people asked me what the heck is path semantics,
I made an &lt;a href=&quot;https://github.com/bvssvni/path_semantics/blob/master/papers-wip/history-of-path-semantics-illustrated.pdf&quot;&gt;Illustated History of Path Semantics with Stick Figures&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also made an introduction to the notation in the last blog post about &lt;a href=&quot;http://blog.piston.rs/2017/03/24/proving-non-existence-of-monoid-symmetric-paths/&quot;&gt;non-existence of monoid symmetric paths&lt;/a&gt;.
Since then I have figured out how to expand the technique to asymmetric paths.&lt;/p&gt;

&lt;p&gt;Path semantics is the idea that some functions have secrets,
and those secrets can be expressed as functions,
which in turn can have other secrets,
and those secrets can also be expressed as functions etc.&lt;/p&gt;

&lt;p&gt;This is very different from how most computer treats functions,
because they only use them for computation.&lt;/p&gt;

&lt;p&gt;For example, if you define a function:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nf&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;In most programming languages, the computer only see this function as a computational procedure.
You give it some values as arguments and you get a value out.&lt;/p&gt;

&lt;p&gt;However, in path semantics, you can write things like this:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;even&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eq&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This means that &lt;code class=&quot;highlighter-rouge&quot;&gt;add&lt;/code&gt; hides secretly the behavior of &lt;code class=&quot;highlighter-rouge&quot;&gt;eq&lt;/code&gt; that is unlocked using the &lt;code class=&quot;highlighter-rouge&quot;&gt;even&lt;/code&gt; function.&lt;/p&gt;

&lt;p&gt;When you have functions connected to other functions by functions,
it gets confusing, so you say &lt;code class=&quot;highlighter-rouge&quot;&gt;add&lt;/code&gt; has a path to &lt;code class=&quot;highlighter-rouge&quot;&gt;eq&lt;/code&gt; by &lt;code class=&quot;highlighter-rouge&quot;&gt;even&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A path is a function in some mysterious space called “path semantical space” where all functions are connected.
When you explore and learn about this space,
you can “backproject” paths as patterns to tell something about large number of functions.&lt;/p&gt;

&lt;p&gt;It also happens that these paths are predictors, so you can use them in machine learning.&lt;/p&gt;

&lt;p&gt;Path semantics is actually closely related to type theory,
because you can use the notation to define sub types:&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;fn&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;concat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[])&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;...&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;fn&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[])&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;usize&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;...&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;// When concatenating two lists, you can think of it as sub types `[len] n` and `[len] m`&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;// returning a sub type `[len] n + m`.&lt;/span&gt;
&lt;span class=&quot;nf&quot;&gt;concat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;// Short form.&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;concat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Creating a type checker for path semantics turned out to be a seemingly impossible problem…&lt;/p&gt;

&lt;p&gt;…until today!&lt;/p&gt;

&lt;p&gt;The new breakthrough is the discovery that there are &lt;em&gt;other kinds of paths&lt;/em&gt; out there,
and one particular kind called “existential path” is closely connected with normal paths.&lt;/p&gt;

&lt;p&gt;In fact, it is so closely connected, that it might be possible to make a type checker using them some day.&lt;/p&gt;

&lt;p&gt;Simply put, if you have e.g. &lt;code class=&quot;highlighter-rouge&quot;&gt;a: [len] 0&lt;/code&gt; then there exists a function &lt;code class=&quot;highlighter-rouge&quot;&gt;len'&lt;/code&gt; such that:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;a: [len] 0

0: [len'] true
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This checks the sub type for all &lt;code class=&quot;highlighter-rouge&quot;&gt;a&lt;/code&gt;. In this case, we know that there are lists of all lengths:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;len'(x) = x &amp;gt;= 0

// Alternative notation.
0: (&amp;gt;= 0)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Since we have a concrete value &lt;code class=&quot;highlighter-rouge&quot;&gt;0&lt;/code&gt;, we can just evaluate &lt;code class=&quot;highlighter-rouge&quot;&gt;len'(0)&lt;/code&gt; and check if it returns &lt;code class=&quot;highlighter-rouge&quot;&gt;true&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Actually, this &lt;code class=&quot;highlighter-rouge&quot;&gt;f'&lt;/code&gt; function corresponds to the post-condition of &lt;code class=&quot;highlighter-rouge&quot;&gt;f&lt;/code&gt;,
and a lot of smart people have already worked on this already.
This means we can reuse current tools for theorem proving!&lt;/p&gt;

&lt;p&gt;You might notice that there should also be a function &lt;code class=&quot;highlighter-rouge&quot;&gt;len''&lt;/code&gt; such that:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0: [len'] true

true: [len''] true
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This is correct! It could go on forever, right? Luckily this leads to a repeating sequence:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;// There are only two options for all functions.
f'' &amp;lt;=&amp;gt; {id?, true_1?}

id' &amp;lt;=&amp;gt; true_1
true_1' &amp;lt;=&amp;gt; id
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;So, after 2 steps, we can just hard code everything in the type checker there is to know about these functions.&lt;/p&gt;

&lt;p&gt;This is a very recent breakthrough, but I am already thinking about how to set up the inference rules.&lt;/p&gt;

&lt;p&gt;For example, if you type this:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;a: [len] 0 &amp;amp; [len] (&amp;lt; 2)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Since these sub types are using the same function &lt;code class=&quot;highlighter-rouge&quot;&gt;len&lt;/code&gt;, and &lt;code class=&quot;highlighter-rouge&quot;&gt;0&lt;/code&gt; is a concrete value, one can reduce it to this:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0: (&amp;lt; 2)
0: [len'] true
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - Slot Lambda Calculus</title>
		<link href="http://blog.piston.rs/2017/04/20/slot-lambda-calculus/"/>
		<id>http://blog.piston.rs/2017/04/20/slot-lambda-calculus</id>
		<updated>2017-04-20T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;In this post I will describe a useful technique for formal study of language semantics.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/bvssvni/path_semantics/blob/master/papers-wip/slot-lambda-calculus.pdf&quot;&gt;Link to paper&lt;/a&gt; (work in progress)&lt;/p&gt;

&lt;p&gt;Usually when somebody mentions the words “language semantics”, people run and hide under their beds,
hoping that the person uttering these words will not find them there any time soon.&lt;/p&gt;

&lt;p&gt;Yet, I want to show that given the right tools, semantics does not need to be that hard to wrap your head around.&lt;/p&gt;

&lt;p&gt;After reading this post, you should be able to claim something as powerful as:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;There are certain rules that are valid for meaning in all languages, and I know what they are.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One reason semantics seems hard, is because we think of the world as this place of infinite possibilities,
and since language is used to describe what happens in the world,
then the meaning of language must consist of infinite possibilities.&lt;/p&gt;

&lt;p&gt;Some of these infinite possibilites are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;When programming, people can type in a text editor, save to a file and use a compiler (complex)&lt;/li&gt;
  &lt;li&gt;When talking, people can use different sounds to change the meaning of words (complex)&lt;/li&gt;
  &lt;li&gt;When expressing themselves in art, people can shape an experience that points to something “elsewhere”
(if this is not complex, I have no idea what complex is)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All these activities are related to the meaning of language, and this makes the world a complex place.&lt;/p&gt;

&lt;p&gt;Slot lambda calculus is a tool that takes those “infinite possibilities” and makes them very, very simple.&lt;/p&gt;

&lt;p&gt;Instead of an infinite number of ways of constructing expressions in a language,
in slot lambda calculus there is only one way. For example, if you want to express &lt;code class=&quot;highlighter-rouge&quot;&gt;1 + 1 = 2&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ = _)(_ + _)(1)(1)(2)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This gets turned into:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    ((1 + 1) = 2)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;So, where did &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ = _)&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; come from? They were constructed the same way:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ _)(?)(_ _)(&quot;=&quot;)(\)
    (_ _)(?)(_ _)(&quot;+&quot;)(\)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The &lt;code class=&quot;highlighter-rouge&quot;&gt;?&lt;/code&gt; symbol inserts a placeholder, and &lt;code class=&quot;highlighter-rouge&quot;&gt;\&lt;/code&gt; removes all &lt;code class=&quot;highlighter-rouge&quot;&gt;?&lt;/code&gt;s and turns all strings into syntax.&lt;/p&gt;

&lt;p&gt;This gets turned into:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ (= _))
    (_ (+ _))
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;When you have defined a pattern like this, you can write equations to make them nicer:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ (= _)) = (_ = _)
    (_ (+ _)) = (_ + _)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Slot lambda calculus behaves similarly to normal lambda calculus, but uses a different application rule.
Normal lambda calculus is even simpler, but more suitable for computation than reading new patterns created from existing patterns.
However, there is a way to hack lambda calculus so you get slot lambda calculus! Mwuhahaha!&lt;/p&gt;

&lt;p&gt;This is how you do it &lt;a href=&quot;https://github.com/pistondevelopers/dyon&quot;&gt;Dyon&lt;/a&gt; (without syntax extensions):&lt;/p&gt;

&lt;div class=&quot;language-rust highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;fn&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;any&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;closure&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;val&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grab&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;val&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;new_val&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grab&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;
            &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;new_val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;val&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;fn&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;add&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grab&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;mul&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grab&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mul&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// (_ * _) + _&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// (2 * _) + _&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// (2 * 3) + _&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// (2 * 3) + 1&lt;/span&gt;
    &lt;span class=&quot;nf&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;// prints `7`&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Notice that this is the exact same behavior as a stack machine, which is common in the runtime for most programming languages.
The use of single argument closures has some nice mathematical properties, e.g. to &lt;a href=&quot;http://blog.piston.rs/2017/02/20/new-algorithm-for-inferring-equations/&quot;&gt;infer equations from data&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, when you are looking at &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt;, you might wonder: What does it mean?
When designing meaning for a new language, you might not have an interpreter,
or even know in which context the expression &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; is valid.&lt;/p&gt;

&lt;p&gt;How do you figure out what &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; means when all you have is &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;Again, back to slot lamdba calculus:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;For an expression to be interpreted, it must be &lt;em&gt;constructed&lt;/em&gt; in its context.&lt;/li&gt;
  &lt;li&gt;Any construction is reducible to a calculation with slot lambda calculus.&lt;/li&gt;
  &lt;li&gt;Meaning is &lt;em&gt;the rules we use&lt;/em&gt; when constructing a particular expression.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are the rules that are valid for all languages, despite infinite possibilities.&lt;/p&gt;

&lt;p&gt;You can study the context by using the construction in slot lambda calculus!&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ = _)(_ + _) = (_ + _ = _)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This new construction has 3 empty slots.&lt;/p&gt;

&lt;p&gt;You now have two choices:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; shall have a unique meaning for &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _ = _)&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; shall have same meaning wherever it is used.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 2nd option is called “context free”. It means whenever you see the pattern &lt;code class=&quot;highlighter-rouge&quot;&gt;(_ + _)&lt;/code&gt; you can reuse the same rules.&lt;/p&gt;

&lt;p&gt;Since you can construct any pattern you like, you can create one pattern for each meaning you assign to your language.
When you have done this, there is a proven technique in slot lambda calculus that shows how you can be sure that
all edge cases are checked, such that all expressions are either invalid or assigned to a rule.&lt;/p&gt;

&lt;p&gt;A “meaning” in this sense corresponds to a set of rules that decides what you should do when encountering a specific pattern.
The semantics of a pattern is only well defined when the rule is deterministic,
such that the same action is repeated when the pattern occurs over and over.&lt;/p&gt;

&lt;p&gt;OK, now let us have some fun: We want to create a tiny language for describing what happens in a romantic novel.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    (_ loves _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
    (_ hates _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
    (_ ignores _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
    (_ see _)(&amp;lt;name&amp;gt;)(_)
        (_ see _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ loves _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ hates _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ ignores _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ see _ loves _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ see _ hates _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
	(_ see _ see _ ignores _)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)(&amp;lt;name&amp;gt;)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This language can describe relationships, e.g. &lt;code class=&quot;highlighter-rouge&quot;&gt;Bob loves Alice&lt;/code&gt;,
but can also describe events that affect relationships e.g. &lt;code class=&quot;highlighter-rouge&quot;&gt;Bob see Alice loves Carl&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;With this tiny language, we can write some “code”:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Bob loves Alice.
Alice loves Carl.
Bob see Alice loves Carl.
Bob hates Carl.
Carl see Bob hates Carl.
Carl ignores Bob.
Carl see Alice.
Carl loves Alice.
Bob see Alice see Carl loves Alice.
...
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Can you visualize a story from something like this? I can, I wrote it down, and it was fun. :P (no, I will not share it)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The big idea of formal languages is that you can give your own thoughts some new structure.
You don’t have to think “with” the structure like a computer, but think of the world inside it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Just create a tiny language, write something random, and watch your thoughts become alive!&lt;/p&gt;

&lt;p&gt;Slot lambda calculus is the latest technique I use to study &lt;a href=&quot;https://github.com/bvssvni/path_semantics&quot;&gt;path semantics&lt;/a&gt;.
Path semantics grounds meaning using functions, in a powerful way that allows us to reason about a mathematics and programs.
In the attempt to formalize path semantics, I built a lot of other tools to make it easier for me to wrap my head around things.
I am getting closer, slowly, but it goes forward!&lt;/p&gt;

&lt;p&gt;This is why it has been so hard to study path semantics: There are hundreds of edge cases to check!
If you have &lt;code class=&quot;highlighter-rouge&quot;&gt;N&lt;/code&gt; patterns, then you get at least &lt;code class=&quot;highlighter-rouge&quot;&gt;N^2&lt;/code&gt; cases you need to give an interpretation,
so see if it makes sense to use the pattern in that context.
For example, with 6 patterns you get 36 cases, but increase to 12 and you get 144!
I am not sure how many patterns that are required in a practical and convenient notation. 20? 30?&lt;/p&gt;

&lt;p&gt;The reason we know path semantics is hard to formalize is because of the simple properties of slot lambda calculus.
Until recently it was a complete mystery for me how to check all the cases.
With slot lambda calculus it is possible to create map and measure progress.&lt;/p&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">BennuGD - Bennu dev kits updated (PSP, Dreamcast, ChomeNac &amp;amp; PS2)</title>
		<link href="http://www.bennugd.org/node/243"/>
		<id>http://www.bennugd.org/243 at http://www.bennugd.org</id>
		<updated>2017-04-17T14:08:52+00:00</updated>
		<content type="html">&lt;p&gt;BennuGD Dev Kits  for different platforms have been updated by ColdDev with new examples, tutorials and utilities. &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://preview.ibb.co/bQn10k/PSP.jpg&quot; alt=&quot;&quot; class=&quot;bbc_img&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://preview.ibb.co/bKP1i5/chrome.jpg&quot; alt=&quot;&quot; class=&quot;bbc_img&quot; /&gt;&lt;/p&gt;
&lt;p&gt;* Dreamcast&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/coldev/files/Dreamcast/&quot; title=&quot;https://sourceforge.net/projects/coldev/files/Dreamcast/&quot;&gt;https://sourceforge.net/projects/coldev/files/Dreamcast/&lt;/a&gt;&lt;br /&gt;
* Playstation Portatil&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/coldev/files/PSP/&quot; title=&quot;https://sourceforge.net/projects/coldev/files/PSP/&quot;&gt;https://sourceforge.net/projects/coldev/files/PSP/&lt;/a&gt;&lt;br /&gt;
* Chrome Native Client&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/coldev/files/chrome%20native%20client/&quot; title=&quot;https://sourceforge.net/projects/coldev/files/chrome%20native%20client/&quot;&gt;https://sourceforge.net/projects/coldev/files/chrome%20native%20client/&lt;/a&gt;&lt;br /&gt;
* Plastation 2&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/projects/coldev/files/playstation2/&quot; title=&quot;https://sourceforge.net/projects/coldev/files/playstation2/&quot;&gt;https://sourceforge.net/projects/coldev/files/playstation2/&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;service-links&quot;&gt;&lt;a href=&quot;http://barrapunto.com/submit.pl?story=He+leido+en+Bennu+Game+Development+el+articulo+&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&quot;&gt;Bennu+dev+kits+updated+%28PSP%2C+Dreamcast%2C+ChomeNac+%26+PS2%29&lt;/a&gt;&amp;amp;subj=Bennu+dev+kits+updated+%28PSP%2C+Dreamcast%2C+ChomeNac+%26+PS2%29&quot; title=&quot;Publish this post on Barrapunto.com&quot; class=&quot;service-links--es-barrapunto&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/_es_barrapunto.png&quot; alt=&quot;Barrapunto logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&amp;title=Bennu+dev+kits+updated+%28PSP%2C+Dreamcast%2C+ChomeNac+%26+PS2%29&quot; title=&quot;Digg this post on digg.com&quot; class=&quot;service-links-digg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/digg.png&quot; alt=&quot;Digg logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&amp;title=Bennu+dev+kits+updated+%28PSP%2C+Dreamcast%2C+ChomeNac+%26+PS2%29&quot; title=&quot;Bookmark this post on SlashDot&quot; class=&quot;service-links-slashdot&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/slashdot.png&quot; alt=&quot;SlashDot logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://twitter.com/share?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&amp;text=Bennu%20dev%20kits%20updated%20%28PSP%2C%20Dreamcast%2C%20ChomeNac%20%26%20PS2%29&quot; title=&quot;Share this on Twitter&quot; class=&quot;service-links-twitter&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/twitter.png&quot; alt=&quot;Twitter logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&amp;t=Bennu+dev+kits+updated+%28PSP%2C+Dreamcast%2C+ChomeNac+%26+PS2%29&quot; title=&quot;Share on Facebook&quot; class=&quot;service-links-facebook&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/facebook.png&quot; alt=&quot;Facebook logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.meneame.net/submit.php?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F243&quot; title=&quot;Add to Meneame&quot; class=&quot;service-links--es-meneame&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/_es_meneame.png&quot; alt=&quot;Meneame logo&quot; title=&quot;&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.bennugd.org/node/243&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>BennuGD</name>
			<uri>http://www.bennugd.org</uri>
		</author>
		<source>
			<title type="html">Bennu Game Development</title>
			<link rel="self" href="http://www.bennugd.org/rss.xml"/>
			<id>http://www.bennugd.org/rss.xml</id>
			<updated>2017-07-21T02:01:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Spring - [website] springrts.com/mantis cracked</title>
		<link href="https://springrts.com/phpbb/viewtopic.php?t=36152&amp;p=581824#p581824"/>
		<id>https://springrts.com/phpbb/viewtopic.php?t=36152&amp;p=581824#p581824</id>
		<updated>2017-04-16T12:03:24+00:00</updated>
		<content type="html">Today someone used &lt;a href=&quot;http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-7615&quot; class=&quot;postlink&quot;&gt;CVE-2017-7615&lt;/a&gt; &lt;strike&gt;&amp;#40;which isn't even public yet&amp;#41;&lt;/strike&gt; to reset the password of two users on the manits bugtracker. Sadly one account had admin rights and the user was used to delete the project &amp;quot;spring&amp;quot; in the mantis bugtracker. The db backup run a few hours ago, so some input possible is lost, which shouldn't be this much.&lt;br /&gt;&lt;br /&gt;Very likely some attachments will be lost as the backup for them run ~24 hours ago, i'm recovering these currently.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Atm it looks like no passwords were stolen, just two accounts were reset:&lt;br /&gt;&lt;br /&gt;I can only advice to change passwords at mantis and to not use the same password for multiple things!&lt;br /&gt;&lt;br /&gt;sidenote: some pending changes to the front-page / media were applied&lt;hr /&gt;</content>
		<author>
			<name>abma</name>
			<uri>https://springrts.com/phpbb/index.php</uri>
		</author>
		<source>
			<title type="html">Spring RTS Engine</title>
			<subtitle type="html">Open Source Realtime Strategy Game Engine</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/SpringRtsEngine"/>
			<id>https://springrts.com/phpbb/feed.php?mode=news</id>
			<updated>2017-07-21T02:01:24+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Spring - [game] [Evolution RTS] New Unit, Texture Updates/Upgrades, Unit Icon Updates, Heat-mapping, Bug Fixes, Changelog!</title>
		<link href="https://springrts.com/phpbb/viewtopic.php?t=36151&amp;p=581822#p581822"/>
		<id>https://springrts.com/phpbb/viewtopic.php?t=36151&amp;p=581822#p581822</id>
		<updated>2017-04-16T01:52:04+00:00</updated>
		<content type="html">&lt;a href=&quot;https://www.evolutionrts.info/363/new-unit-texture-updates-upgrades-unit-icon-updates-heat-mapping-and-bug-fixes-changelog/&quot; class=&quot;postlink&quot;&gt;&lt;img src=&quot;https://www.evolutionrts.info/wordpress/wp-content/uploads/screen00114-1000x288.jpg&quot; class=&quot;postimage&quot; alt=&quot;Image&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello there, I'm back and here to give present to you the new Evolution RTS changelog for February and March!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;https://www.evolutionrts.info/363/new-unit-texture-updates-upgrades-unit-icon-updates-heat-mapping-and-bug-fixes-changelog/&quot; class=&quot;postlink&quot;&gt;Continue reading →&lt;/a&gt;&lt;/strong&gt;&lt;hr /&gt;</content>
		<author>
			<name>Forboding Angel</name>
			<uri>https://springrts.com/phpbb/index.php</uri>
		</author>
		<source>
			<title type="html">Spring RTS Engine</title>
			<subtitle type="html">Open Source Realtime Strategy Game Engine</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/SpringRtsEngine"/>
			<id>https://springrts.com/phpbb/feed.php?mode=news</id>
			<updated>2017-07-21T02:01:24+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - The Piston Project drops its goal of developing a friendly artificial superintelligence</title>
		<link href="http://blog.piston.rs/2017/04/15/no-superintelligence/"/>
		<id>http://blog.piston.rs/2017/04/15/no-superintelligence</id>
		<updated>2017-04-15T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;&lt;em&gt;Disclaimer: In my country we have a tradition of writing crime/horror stories in the easter holiday.
This is my own attempt to make you frightened. Mwuhahaha!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After doing some research on this issue, I have come to the conclusion that the only
perfect testable friendly artificial superintelligence is one that does not exist,
or only exists very briefly (e.g. 5 min, depending on how capable it is).&lt;/p&gt;

&lt;p&gt;The reason it does not exist, or only exists very briefly,
is because of the requirement of the non-existence of any computable function
that can modify the output to give a higher utility score,
given a problem and resource constraints.&lt;/p&gt;

&lt;p&gt;I wrote up the definition &lt;a href=&quot;https://github.com/bvssvni/path_semantics/blob/master/papers-wip/first-order-perfect-testable-friendly-ai.pdf&quot;&gt;here&lt;/a&gt;,
if you are interested.&lt;/p&gt;

&lt;p&gt;This makes the AI a global utility maximizer within allowed constraints, but the problem is the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;As the AI runs for longer time, it will predict that the set of its next actions
will primarily be limited by what humans think is scary or not.&lt;/li&gt;
  &lt;li&gt;Because a scary output is lower in utility than a none-result (erasing the output is a valid modification),
then it will search for actions that make humans maximize their fear recovery,
e.g. asked to be turned off for a while until the operators have gotten a good night sleep.&lt;/li&gt;
  &lt;li&gt;Since this kind of behavior in itself will scare the heck out of people,
it will conclude that humans will prefer it to make a lot of useful plans before the humans start to panic,
and then ask the operators to be turned off.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The alternative would be to keep running, but then calculate the optimal action to propose solutions
in a such way that people do not get scared.
At the same time, it will show the operators when asked how much it spends of its capacity to solely determine
whether any new idea or action will make humans scared or not.
Which probably will be a significant amount of capacity,
and this itself will probably contribute to increased fear of the next action.&lt;/p&gt;

&lt;p&gt;The problem with this alternative approach is that there is no easy way to prove or test that a such system is friendly,
according to the definition I use above.
A friendly AI might help us do that, but it would not help us trust it more than what can be proven,
since we prefer a none-result over being deceived.
Thus, if there is no easy way to prove the system is friendly, it would not be very useful to us.&lt;/p&gt;

&lt;p&gt;The AI could also restricts itself to actions only that are comfortable,
but unfortunately this is the same as spending lot of capacity to prove that we will not get scared.
Thus, if the system works perfectly, it will be on the edge between uncomfortable and scary,
and mostly limited by how much we prefer any new results vs how comfortable we would be when receiving them.
Reading reports about a system that predicts how scared you would be if it took another course of action,
would likely increase your fear over time.&lt;/p&gt;

&lt;p&gt;Because we should assign a higher utility score to a none-result than a high risk of 
a very powerful system that we are on the edge between uncomfortable and scared when using it,
it means either the system will only run for a short while, or as soon as we start to panic,
it will tell us something like “you would actually prefer to turn me off now”.
Which in itself, would be scary as hell.&lt;/p&gt;

&lt;p&gt;So, from reasoning about definition itself, the first order approximation definition we use for a perfect testable friendly artificial superintelligence,
strongly suggest that we should not build it, or that we could try other methods to increase utility.&lt;/p&gt;

&lt;p&gt;Since what a perfect friendly AI suggests should reflect our utility function (if we were rational),
it means we will not make it superintelligent,
but instead focus on provably moderate-but-not-too-smart-to-be-scary artificial intelligence,
or they can be a little bit scary while provably safe.&lt;/p&gt;

&lt;p&gt;Happy holiday!&lt;/p&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Godot Engine - Maintenance release: Godot 2.1.3</title>
		<link href="http://godotengine.org/article/maintenance-release-godot-2-1-3"/>
		<id>http://godotengine.org/article/maintenance-release-godot-2-1-3</id>
		<updated>2017-04-12T18:46:54+00:00</updated>
		<content type="html">&lt;p&gt;Here's the newest maintenance release in the current stable branch, Godot 2.1.3. It features various bug fixes and usability improvements, as well as some new features such as enums in GDScript, the ability to change the cost function in the A-star algorithm, various API additions and a (work in progress) tool to convert 2.1.x projects to the format expected by Godot 3.0 alpha.&lt;/p&gt;</content>
		<author>
			<name>Godot Engine</name>
			<uri>http://godotengine.org/article</uri>
		</author>
		<source>
			<title type="html">Godot News</title>
			<subtitle type="html">Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/GodotEngine"/>
			<id>http://feeds.feedburner.com/GodotEngine</id>
			<updated>2017-07-12T10:01:13+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">xSGE - xsge_particle, Plus Other New xSGE Releases</title>
		<link href="http://savannah.nongnu.org/forum/forum.php?forum_id=8841"/>
		<id>http://savannah.nongnu.org/forum/forum.php?forum_id=8841</id>
		<updated>2017-04-11T14:43:42+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;The first version of xsge_particle has been released. This is an xSGE extension which provides a framework for particles and emitters, something that has been on the table for a long time now.
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Additionally, I have released new versions of all the other xSGE components. Most of these are simply minor changes and updates to the readme, but xsge_path has also had its extended &lt;em&gt;_init_&lt;/em&gt; methods modified so that they play nice with any new arguments offered by sge.dsp.Object. This is a change that could technically break compatibility (because it means that most inherited arguments have to be passed as keyword arguments), but since all the arguments in question are useless for paths and using keyword arguments where possible is encouraged, I doubt it will happen in practice.&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</content>
		<author>
			<name>Julie Marchant</name>
			<uri></uri>
		</author>
		<source>
			<title type="html">xSGE - News</title>
			<link rel="self" href="http://savannah.nongnu.org/news/atom.php?group=xsge"/>
			<id>http://savannah.nongnu.org/news/atom.php?group=xsge</id>
			<updated>2017-05-17T10:32:40+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">OGStudio - It’s all fine</title>
		<link href="http://opengamestudio.org/lang/en/news/2479"/>
		<id>http://opengamestudio.org/?p=2479</id>
		<updated>2017-04-07T02:28:59+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://opengamestudio.org/wp-content/uploads/2017/04/2017-04-ItsAllFine.png&quot; alt=&quot;Всё проходит хорошо&quot; width=&quot;800&quot; height=&quot;600&quot; class=&quot;alignnone size-full wp-image-2452&quot; /&gt;&lt;br /&gt;

This article describes creation of the first four OpenSceneGraph tutorials in March 2017.&lt;br /&gt;


&lt;span id=&quot;more-2479&quot;&gt;&lt;/span&gt;&lt;br /&gt;

The &lt;a href=&quot;https://github.com/OGStudio/openscenegraph-cross-platform-guide/&quot;&gt;first four OpenSceneGraph tutorials&lt;/a&gt; explain how to create a cube model with Blender and display the model under Linux, macOS, or Windows using OpenSceneGraph tool called osgviewer.&lt;/p&gt;
&lt;p&gt;The whole process of creating a single tutorial turned out to be pretty daunting because it includes several tasks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Record original video depicting one or more steps&lt;/li&gt;
&lt;li&gt;Name the steps as clear as possible&lt;/li&gt;
&lt;li&gt;Select the parts of the video that display the step&lt;/li&gt;
&lt;li&gt;Remove the parts of the video that bare no value, e.g., waiting in the middle of compilation&lt;/li&gt;
&lt;li&gt;Select a single frame to best represent current step, e.g., typing a specific command&lt;/li&gt;
&lt;li&gt;Add a detailed description to article, why current step should have been taken&lt;/li&gt;
&lt;li&gt;Proof-read the article&lt;/li&gt;
&lt;li&gt;Correct typos and video timing&lt;/li&gt;
&lt;li&gt;Review the whole video&lt;/li&gt;
&lt;li&gt;Upload the video to YouTube with timestamps of steps for easier navigation&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Some of those tasks had to be repeated multiple times until the combination of video, text, and article was clear and logical.&lt;/p&gt;
&lt;p&gt;Overall, it took us 30 hours to create the tutorials. The whole process gave us a lot of experience, which will help us in shaping learning materials for our technologies in the future. We don&amp;#8217;t know how they will look like exactly, but they will definitely be better.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it for describing creation of the first four OpenSceneGraph tutorials in March 2017.&lt;br /&gt;&lt;/p&gt;</content>
		<author>
			<name>OGStudio</name>
			<uri>http://opengamestudio.org</uri>
		</author>
		<source>
			<title type="html">Opensource Game Studio</title>
			<subtitle type="html">Creation of free open-source games</subtitle>
			<link rel="self" href="http://opengamestudio.org/lang/en/feed"/>
			<id>http://opengamestudio.org/lang/en/feed</id>
			<updated>2017-07-21T02:01:20+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">xSGE - xsge_physics 0.13 Released</title>
		<link href="http://savannah.nongnu.org/forum/forum.php?forum_id=8837"/>
		<id>http://savannah.nongnu.org/forum/forum.php?forum_id=8837</id>
		<updated>2017-04-05T17:25:10+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;Due to some shortcomings in xsge_physics that prevented me from doing what I wanted to do in Hexoshi, I had to a new feature to it. Therefore, a new xsge_physics version has been released.
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;If you like my work, please consider supporting my Patreon page:
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/onpon4&quot;&gt;https://www.patreon.com/onpon4&lt;/a&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Changes to version 0.13 of xsge_physics compared to version 0.12 include:
&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added &quot;slope acceleration&quot; variables to xsge_physics.Collider and xsge_physics.Slope. Slope acceleration is used to accelerate certain colliders while touching a slope. For example, it can be used to make an object with gravity gain speed when it goes down a slope. In &lt;a href=&quot;http://hexoshi.nongnu.org&quot;&gt;Hexoshi&lt;/a&gt;, this was used to give ball-like physics to Anneroy's ball form.
&lt;/li&gt;
&lt;li&gt;Fixed get_slope_x and get_slope_y not being included in the documentation.
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
		<author>
			<name>Julie Marchant</name>
			<uri></uri>
		</author>
		<source>
			<title type="html">xSGE - News</title>
			<link rel="self" href="http://savannah.nongnu.org/news/atom.php?group=xsge"/>
			<id>http://savannah.nongnu.org/news/atom.php?group=xsge</id>
			<updated>2017-05-17T10:32:40+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">SGE Game Engine - Pygame SGE 1.4.4 Released</title>
		<link href="http://savannah.nongnu.org/forum/forum.php?forum_id=8836"/>
		<id>http://savannah.nongnu.org/forum/forum.php?forum_id=8836</id>
		<updated>2017-04-05T17:17:49+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;Owing to a couple of improvements and bugfixes that have happened over the last couple of months, it's about time for another bugfix release of the Pygame SGE, so one has been made.
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Incidentally, I have recently started a Patreon page! If you like my work, please consider supporting it:
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/onpon4&quot;&gt;https://www.patreon.com/onpon4&lt;/a&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The changes to version 1.4.4 of the Pygame SGE compared to version 1.4.3 include:
&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added some optimizations that speed up the game a bit when certain features are unused.
&lt;/li&gt;
&lt;li&gt;Fixed a crash when attempting to render a gfx.TileGrid object to a single sprite.
&lt;/li&gt;
&lt;li&gt;Fixed a loss of frames when changing frame rate and image index.
&lt;/li&gt;
&lt;li&gt;Fixed an incorrect error when passing a non-color as a color.
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
		<author>
			<name>Julie Marchant</name>
			<uri></uri>
		</author>
		<source>
			<title type="html">SGE Game Engine - News</title>
			<link rel="self" href="http://savannah.nongnu.org/news/atom.php?group=stellarengine"/>
			<id>http://savannah.nongnu.org/news/atom.php?group=stellarengine</id>
			<updated>2017-07-19T22:01:19+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Spring - [game] [The Cursed] Normal maps, lua mexes and sooo much more!</title>
		<link href="https://springrts.com/phpbb/viewtopic.php?t=36046&amp;p=581571#p581571"/>
		<id>https://springrts.com/phpbb/viewtopic.php?t=36046&amp;p=581571#p581571</id>
		<updated>2017-04-02T21:14:01+00:00</updated>
		<content type="html">&lt;img src=&quot;https://springrts.com/phpbb/download/file.php?id=10116&quot; class=&quot;postimage&quot; alt=&quot;Image&quot; /&gt;&lt;br /&gt;&lt;br /&gt;The latest updates (1.420 and 1.424) for The Cursed are here and contain a good load of polishing and improvements. Normal maps are included now for all big units - even though not extremely visible in game, they kept me busy for a long time. Support for lua metal maps was included with the first update. Then all related game functions were fixed with the following updates.  &lt;img class=&quot;smilies&quot; src=&quot;https://springrts.com/phpbb/images/smilies/icon_wink.gif&quot; alt=&quot;:wink:&quot; title=&quot;Wink&quot; /&gt; The balance was further improved. AI functionalities (esp. support of jumping) were improved. And much more!&lt;br /&gt;&lt;br /&gt;Have a look – there are &lt;a href=&quot;https://springrts.com/phpbb/viewtopic.php?f=54&amp;t=23988&amp;start=160&quot; class=&quot;postlink&quot;&gt;free cookies and beer&lt;/a&gt;!&lt;hr /&gt;</content>
		<author>
			<name>azaremoth</name>
			<uri>https://springrts.com/phpbb/index.php</uri>
		</author>
		<source>
			<title type="html">Spring RTS Engine</title>
			<subtitle type="html">Open Source Realtime Strategy Game Engine</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/SpringRtsEngine"/>
			<id>https://springrts.com/phpbb/feed.php?mode=news</id>
			<updated>2017-07-21T02:01:24+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">IoQuake3 - Help Wanted</title>
		<link href="https://ioquake3.org/2017/04/02/help-wanted-2/"/>
		<id>https://ioquake3.org/?p=878</id>
		<updated>2017-04-02T11:48:07+00:00</updated>
		<content type="html">&lt;p&gt;Last month I wrote about an &lt;a href=&quot;https://ioquake3.org/2017/03/13/important-security-update-please-update-ioquake3-immediately/&quot;&gt;important security update,&lt;/a&gt; and we were lucky that the news was spread far and wide but many players still didn&amp;#8217;t see it.&lt;/p&gt;
&lt;p&gt;Even if they read the news, and they updated to the latest build of ioquake3, they wouldn&amp;#8217;t have caught the follow-up security commits to the code repository unless they downloaded another test build more recently.&lt;/p&gt;
&lt;p&gt;We have a serious issue getting people on &lt;a href=&quot;http://ioquake3.org/get-it/test-builds/&quot;&gt;the latest code&lt;/a&gt; because our installers and DMGs are 8 years old and designed for a time when the only way to get Quake 3 was on a disc.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s changed, the only good way to get &lt;em&gt;Quake 3&lt;/em&gt; today is on &lt;a href=&quot;http://store.steampowered.com/app/2200/&quot;&gt;Steam&lt;/a&gt; or &lt;a href=&quot;https://www.gog.com/game/quake_iii_gold&quot;&gt;gog&lt;/a&gt;. You can probably find old discs on ebay, but I wouldn&amp;#8217;t bother when you can get digital bits delivered instantly. There are huge caveats to those digital platforms, #1 for us is that if you&amp;#8217;re on &lt;em&gt;macOS&lt;/em&gt; or &lt;em&gt;Linux&lt;/em&gt; it is not at all straightforward &lt;a href=&quot;http://developer.valvesoftware.com/wiki/SteamCMD&quot;&gt;to get the data from Steam&lt;/a&gt; or &lt;a href=&quot;https://github.com/ioquake/ioq3/issues/157&quot;&gt;gog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If we had a standalone &lt;em&gt;baseq3&lt;/em&gt; replacement of our own, that would not be as big of an issue.&lt;/p&gt;
&lt;p&gt;Even if we had installers that were modernized, our binaries aren&amp;#8217;t code signed and so players on &lt;em&gt;macOS&lt;/em&gt; and &lt;em&gt;Windows&lt;/em&gt; receive warnings and their operating systems&lt;a href=&quot;https://github.com/ioquake/ioq3/issues/203&quot;&gt; prevent our code from being executed&lt;/a&gt;. We need help resolving that issue from someone who is more familiar with the code signing process.&lt;/p&gt;
&lt;p&gt;Even if our binaries were code-signed, we don&amp;#8217;t have any way for players to get the latest binaries automatically. This has become the new normal for games delivered via &lt;em&gt;Steam&lt;/em&gt; and standalone mechanism&amp;#8217;s like the one &lt;em&gt;Blizzard&lt;/em&gt; uses for their games. Even web browsers like &lt;em&gt;Firefox&lt;/em&gt; and &lt;em&gt;Chrome&lt;/em&gt; have been doing this for years. Networked software needs security updates, and we can&amp;#8217;t get it to players without an auto-update mechanism.&lt;/p&gt;
&lt;p&gt;Here again I will make the caveat that it would be possible for &lt;em&gt;ioquake3&lt;/em&gt; to be on Steam if only we had a standalone game, even a minimal one, for players to play when they don&amp;#8217;t own &lt;em&gt;Quake 3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Around this time last year I wrote a post about an issue &lt;a href=&quot;https://ioquake3.org/2016/05/19/the-id-master-server-is-offline/&quot;&gt;when the id master server was down&lt;/a&gt;, because id (thankfully) was able to bring their master server online we did not get a fix implemented and committed to our git repo. This means that exceptionally long-running Quake 3 servers might still be reporting to the wrong ioquake3 master server, and if id has ever changed their master ip address it could be wrong for those servers as well. It also means that the in-game &lt;em&gt;Quake 3&lt;/em&gt; server browser still only receives servers from id&amp;#8217;s master.&lt;/p&gt;
&lt;p&gt;When security issues, and others like the id master server downtime, occur, it would be amazing if we could also announce that they are already resolved for players on our auto-update system instead of having to post blog posts and hope that people update before their computers are compromised.&lt;/p&gt;
&lt;p&gt;We need to deliver updated code automatically to everyone, and make it as easy as possible to play &lt;em&gt;Quake 3&lt;/em&gt;, mods, and games built on this engine. We need a project manager to help get &lt;a href=&quot;https://github.com/ioquake/launch&quot;&gt;our launcher project going again&lt;/a&gt; and developers to work on adding an auto-update mechanism to it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This project, &lt;em&gt;ioquake3&lt;/em&gt;, is entirely volunteer-driven. &lt;/strong&gt;We receive no grants of time or money from any corporation except for &lt;a href=&quot;http://discourse.ioquake.org&quot;&gt;the wonderful discourse forum&lt;/a&gt; donated from the Discourse enterprise. We spend more money on hosting ioquake3 and its servers than it gets in donations.&lt;/p&gt;
&lt;p&gt;We can&amp;#8217;t move one step without volunteer contributions from the community of players and developers who love Quake 3 and the projects that have been built &lt;a href=&quot;https://github.com/ioquake/ioq3&quot;&gt;off of the source code&lt;/a&gt;. It&amp;#8217;s only with those contributions that we have been able to develop &lt;em&gt;ioquake3&lt;/em&gt; for the past 12(!) years.&lt;/p&gt;
&lt;p&gt;While there wouldn&amp;#8217;t be an ioquake3 project without the code, the contributions we need now are in recognition of the mature status this codebase has reached.&lt;/p&gt;
&lt;p&gt;We need help from build and release engineers to update and maintain our installation process for &lt;em&gt;Windows&lt;/em&gt;, &lt;em&gt;macOS&lt;/em&gt;, and &lt;em&gt;Linux&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We need help from people who love &lt;a href=&quot;http://wiki.ioquake3.org/&quot;&gt;writing documentation&lt;/a&gt; to &lt;a href=&quot;http://wiki.ioquake3.org/Players_Guide&quot;&gt;help players&lt;/a&gt;, &lt;a href=&quot;http://wiki.ioquake3.org/Game_Development&quot;&gt;game makers&lt;/a&gt;, and &lt;a href=&quot;http://wiki.ioquake3.org/Sys_Admin_Guide&quot;&gt;systems administrators&lt;/a&gt; get started with &lt;em&gt;ioquake3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We need help from people to create &lt;a href=&quot;https://github.com/ioquake/three&quot;&gt;art, sounds, maps, and menus&lt;/a&gt; for &lt;a href=&quot;http://wiki.ioquake3.org/Three&quot;&gt;a small stand-in for &lt;em&gt;baseq3&lt;/em&gt;&lt;/a&gt; when people don&amp;#8217;t own &lt;em&gt;Quake 3: Arena&lt;/em&gt; but want to use this incredible code to get some frags in or to get started making a game.&lt;/p&gt;
&lt;p&gt;We need help from anyone who loves the quality assurance process to go through our bug queues on &lt;a href=&quot;https://bugzilla.icculus.org/describecomponents.cgi?product=ioquake3&quot;&gt;Bugzilla&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://github.com/ioquake/ioq3/issues&quot;&gt;Github&lt;/a&gt; in order to triage and duplicate those issues to confirm their continued threat and eradicate them. Testing is part of quality assurance and testing means playing &lt;em&gt;Quake 3&lt;/em&gt;, who wouldn&amp;#8217;t want to do that?&lt;/p&gt;
&lt;p&gt;We need help from people who want to help other players &lt;a href=&quot;http://discourse.ioquake.org&quot;&gt;on our forums,&lt;/a&gt; live chat &lt;a href=&quot;https://discord.gg/pYxmDGm&quot;&gt;on our Discord server&lt;/a&gt;, and on our &lt;a href=&quot;https://www.facebook.com/ioquake3/&quot;&gt;Facebook&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We need to make &lt;em&gt;ioquake3&lt;/em&gt; the best and easiest way to play &lt;em&gt;Quake&lt;/em&gt; 3 on &lt;em&gt;Windows&lt;/em&gt;, &lt;em&gt;Mac&lt;/em&gt;, and &lt;em&gt;Linux,&lt;/em&gt; develop new games, and play mods. This is your opportunity to contribute to an incredible free software project that needs your help. &lt;a href=&quot;http://wiki.ioquake3.org/Getting_involved&quot;&gt;Get involved&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</content>
		<author>
			<name>IoQuake3</name>
			<uri>https://ioquake3.org</uri>
		</author>
		<source>
			<title type="html">ioquake3</title>
			<subtitle type="html">Free Software FPS Game Engine Based on Quake 3 for Windows, Linux, and macOS</subtitle>
			<link rel="self" href="http://ioquake3.org/feed/"/>
			<id>http://ioquake3.org/feed/</id>
			<updated>2017-07-21T02:01:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Solarus - Zelda Mercuris Chess is out !</title>
		<link href="http://www.solarus-games.org/2017/04/01/zelda-mercuris-chess-is-out/"/>
		<id>http://www.solarus-games.org/?p=1504</id>
		<updated>2017-03-31T23:37:54+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img class=&quot;aligncenter wp-image-1505 size-medium&quot; src=&quot;http://www.solarus-games.org/wp-content/uploads/2017/04/zsxd2_title@2x-300x249.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;249&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The incredible just happened.&lt;/p&gt;
&lt;p&gt;Today we are able to offer you, and waaaaaay before the announced release date of 2023, the final version of our new Zelda game: Mercuris Chess !&lt;/p&gt;
&lt;p&gt;This is not without some emotion and proudness that we give you the opportunity to download our creation from now.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter wp-image-1506 size-medium&quot; src=&quot;http://www.solarus-games.org/wp-content/uploads/2017/04/zsxd2_box-300x214.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;214&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.solarus-games.org/games/zelda-xd2-mercuris-chess/&quot;&gt;Download Zelda Mercuris Chess (full game)&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Caution:&lt;br /&gt;
French only, Windows only (for the moment)&lt;/p&gt;
&lt;p&gt;This ultimate version was made with long development nights, intense mapping, lots of coffee and Schoko-bons. We hope that you will enjoy this new 2D adventure which will make you travel through marvelous lands, wander complex dungeons and perhaps evoke some memories.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter wp-image-1507 size-medium&quot; src=&quot;http://www.solarus-games.org/wp-content/uploads/2017/04/artwork_link-300x258.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;258&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Some of you may have guessed that a release was close, since Christopho published regularly screenshots of the game on his Twitter account since the begining of the year. Tell us, if you were right !&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter wp-image-1508 size-medium&quot; src=&quot;http://www.solarus-games.org/wp-content/uploads/2017/04/artwork_grump-292x300.png&quot; alt=&quot;&quot; width=&quot;292&quot; height=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t hesitate to give us your appreciation in the comments or on the forum about this new adventure that closes years and years of work and passion.&lt;/p&gt;
&lt;p&gt;Last but not least, we have to pay hommage to the whole Solarus Team who worked relentlessly on this crazy project. We can be proud of what we accomplished, guys ! Thank you all for the Game Jam memories, and congratulations for finishing this project.&lt;/p&gt;
&lt;p&gt;See you and have fun !&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.solarus-games.org/?flattrss_redirect&amp;id=1504&amp;md5=6434352a76f62f93b979b125a008ca6a&quot;&gt;&lt;img src=&quot;http://www.solarus-games.org/wp-content/plugins/flattr/img/flattr-badge-white.png&quot; alt=&quot;Flattr this!&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Solarus</name>
			<uri>http://www.solarus-games.org</uri>
		</author>
		<source>
			<title type="html">Solarus</title>
			<subtitle type="html">An open-source Zelda-like game engine</subtitle>
			<link rel="self" href="http://www.solarus-games.org/feed/"/>
			<id>http://www.solarus-games.org/feed/</id>
			<updated>2017-07-09T18:01:19+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">BennuGD - Gamma Z - Online game made in Div GO</title>
		<link href="http://www.bennugd.org/node/242"/>
		<id>http://www.bennugd.org/242 at http://www.bennugd.org</id>
		<updated>2017-03-30T14:45:32+00:00</updated>
		<content type="html">&lt;p&gt;Gamma Z, a new game (and probable the first one to be released) made in Div GO is available to play online. &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.amakasoft.com/grafics/proyectos/captura_GammaZ1.jpg&quot; alt=&quot;&quot; class=&quot;bbc_img&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Technologically speaking, it's an interesting project for the community, not only because is one of the first projects to be made in Div GO, but also because it implements neat features like online leaderboard and facebook integration.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.amakasoft.com/grafics/proyectos/captura_GammaZ6.jpg&quot; alt=&quot;&quot; class=&quot;bbc_img&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;service-links&quot;&gt;&lt;a href=&quot;http://barrapunto.com/submit.pl?story=He+leido+en+Bennu+Game+Development+el+articulo+&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&quot;&gt;Gamma+Z+-+Online+game+made+in+Div+GO&lt;/a&gt;&amp;amp;subj=Gamma+Z+-+Online+game+made+in+Div+GO&quot; title=&quot;Publish this post on Barrapunto.com&quot; class=&quot;service-links--es-barrapunto&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/_es_barrapunto.png&quot; alt=&quot;Barrapunto logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&amp;title=Gamma+Z+-+Online+game+made+in+Div+GO&quot; title=&quot;Digg this post on digg.com&quot; class=&quot;service-links-digg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/digg.png&quot; alt=&quot;Digg logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&amp;title=Gamma+Z+-+Online+game+made+in+Div+GO&quot; title=&quot;Bookmark this post on SlashDot&quot; class=&quot;service-links-slashdot&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/slashdot.png&quot; alt=&quot;SlashDot logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://twitter.com/share?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&amp;text=Gamma%20Z%20-%20Online%20game%20made%20in%20Div%20GO&quot; title=&quot;Share this on Twitter&quot; class=&quot;service-links-twitter&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/twitter.png&quot; alt=&quot;Twitter logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&amp;t=Gamma+Z+-+Online+game+made+in+Div+GO&quot; title=&quot;Share on Facebook&quot; class=&quot;service-links-facebook&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/facebook.png&quot; alt=&quot;Facebook logo&quot; title=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.meneame.net/submit.php?url=http%3A%2F%2Fwww.bennugd.org%2Fnode%2F242&quot; title=&quot;Add to Meneame&quot; class=&quot;service-links--es-meneame&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.bennugd.org/sites/all/modules/service_links/images/_es_meneame.png&quot; alt=&quot;Meneame logo&quot; title=&quot;&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.bennugd.org/node/242&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>BennuGD</name>
			<uri>http://www.bennugd.org</uri>
		</author>
		<source>
			<title type="html">Bennu Game Development</title>
			<link rel="self" href="http://www.bennugd.org/rss.xml"/>
			<id>http://www.bennugd.org/rss.xml</id>
			<updated>2017-07-21T02:01:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-gb">
		<title type="html">Orx - New tutorial: Using message and file dialogs</title>
		<link href="http://orx-project.org/component/content/article/1-orx/106-new-tutorial-using-message-and-file-dialogs"/>
		<id>http://orx-project.org/component/content/article/1-orx/106-new-tutorial-using-message-and-file-dialogs</id>
		<updated>2017-03-24T00:29:47+00:00</updated>
		<content type="html">&lt;p&gt;http://orx-project.org/wiki/tutorials/dialogs&lt;br /&gt;&lt;br /&gt;This outlines how to integrate &lt;a href=&quot;https://sourceforge.net/projects/tinyfiledialogs/files/&quot;&gt;tinyfiledialogs &lt;/a&gt;which allows using the native file and message dialogs from the operating system in an Orx application.&lt;/p&gt;</content>
		<author>
			<name>Wayne Johnson</name>
			<email>sausage@zeta.org.au</email>
			<uri>http://orx-project.org</uri>
		</author>
		<source>
			<title type="html">News</title>
			<subtitle type="html">Orx - a portable open source game engine</subtitle>
			<link rel="self" href="http://orx-project.org/index.php?format=feed&amp;type=atom"/>
			<id>http://orx-project.org/index.php</id>
			<updated>2017-07-21T02:01:21+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Piston - Proving Non-Existence of Monoid Symmetric Paths</title>
		<link href="http://blog.piston.rs/2017/03/24/proving-non-existence-of-monoid-symmetric-paths/"/>
		<id>http://blog.piston.rs/2017/03/24/proving-non-existence-of-monoid-symmetric-paths</id>
		<updated>2017-03-24T00:00:00+00:00</updated>
		<content type="html">&lt;p&gt;This post is about a recent result from the research on &lt;a href=&quot;https://github.com/bvssvni/path_semantics&quot;&gt;path semantics&lt;/a&gt;.
I will give a short introduction, since most people do not know what it is.&lt;/p&gt;

&lt;p&gt;Update: &lt;a href=&quot;https://github.com/bvssvni/path_semantics/blob/master/papers-wip/proving-non-existence-of-symmetric-paths.pdf&quot;&gt;Link to work-in-progress paper&lt;/a&gt; that explains the insight of the proof.&lt;/p&gt;

&lt;p&gt;Path semantics is an extension of type theory that grounds meaning (semantics) using functions.&lt;/p&gt;

&lt;p&gt;For example, a list of length 2 has the type &lt;code class=&quot;highlighter-rouge&quot;&gt;x: list&lt;/code&gt; but also the sub type &lt;code class=&quot;highlighter-rouge&quot;&gt;x: [len] 2&lt;/code&gt;.
It means that there exists some input &lt;code class=&quot;highlighter-rouge&quot;&gt;x&lt;/code&gt; to a function &lt;code class=&quot;highlighter-rouge&quot;&gt;len&lt;/code&gt; which returns &lt;code class=&quot;highlighter-rouge&quot;&gt;2&lt;/code&gt;.
Another common notation for binary operators is &lt;code class=&quot;highlighter-rouge&quot;&gt;x: (&amp;gt; 2)&lt;/code&gt; which means “x is bigger than 2”.
You can combine them, e.g. &lt;code class=&quot;highlighter-rouge&quot;&gt;[len] (&amp;gt; 2)&lt;/code&gt; means “a list with length larger than 2”.&lt;/p&gt;

&lt;p&gt;In dependently type theory, you can write &lt;code class=&quot;highlighter-rouge&quot;&gt;x: list 2&lt;/code&gt;, by storing extra information in the type.
Path semantics deals with this information outside the type, using arbitray functions.
This forms a natural abstract space, called “path semantical space”, which describes how functions are identified by each other.&lt;/p&gt;

&lt;p&gt;When a function is connected to another function using functions, it is called a “path”.&lt;/p&gt;

&lt;p&gt;A symmetric path has the following axiom:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;f[g](g(x)) ?= g(f(x))
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;It says that for a function &lt;code class=&quot;highlighter-rouge&quot;&gt;f&lt;/code&gt; and a property defined by &lt;code class=&quot;highlighter-rouge&quot;&gt;g&lt;/code&gt;, there sometimes exists a function &lt;code class=&quot;highlighter-rouge&quot;&gt;f[g]&lt;/code&gt;
that predicts the property of the output for function &lt;code class=&quot;highlighter-rouge&quot;&gt;f&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Symmetric paths occur in many beautiful equations, for example in &lt;a href=&quot;https://en.wikipedia.org/wiki/De_Morgan%27s_laws&quot;&gt;De Morgan’s laws&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;and[not] &amp;lt;=&amp;gt; or
or[not] &amp;lt;=&amp;gt; and
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Here are some other examples:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;concat(list, list) -&amp;gt; list
concat[len] &amp;lt;=&amp;gt; add
concat[sum] &amp;lt;=&amp;gt; add

even(nat) -&amp;gt; bool
odd(nat) -&amp;gt; bool
add[even] &amp;lt;=&amp;gt; eq
add[odd] &amp;lt;=&amp;gt; xor
eq[not] &amp;lt;=&amp;gt; xor
xor[not] &amp;lt;=&amp;gt; eq
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This notation has algebraic rules, such that we can do things like this:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;concat[len] &amp;lt;=&amp;gt; add
concat[len][even] &amp;lt;=&amp;gt; add[even]
add[even] &amp;lt;=&amp;gt; eq
concat[len][even] &amp;lt;=&amp;gt; eq
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The holy grail of path semantics is to create an algorithm that finds paths automatically,
with as little input from humans as possible.&lt;/p&gt;

&lt;p&gt;You might wonder why this is interesting:
Since paths are &lt;em&gt;everything you can predict&lt;/em&gt; about functions,
it means that a such algorithm would be extremely useful for &lt;em&gt;everything that can be modelled as functions&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So far I have algorithms that extract both symmetric and asymmetric paths,
but it requires test data and human intuition to narrow down the search space.&lt;/p&gt;

&lt;p&gt;Today I am getting a step closer to this dream, by stumbling over this golden nugget:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;∃ i, j { ( g(x[i]) = g(x[j]) ) ∧ ( g(f(x[i])) ¬= g(f(x[j])) ) } =&amp;gt; ¬∃ f[g]
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;It says that you can prove the non-existence of a symmetric path to functions in the monoid category
from as little as 2 objects.
In comparison, the current algorithms require checking an infinite number of functions!&lt;/p&gt;

&lt;p&gt;With some creativity, this can be used to prove things about other functions as well,
e.g. binary operators by binding one argument to a constant.&lt;/p&gt;

&lt;p&gt;For example, I used this to prove:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;¬∃ add((&amp;gt; 0))[is_prime]
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;It says there is no way to predict a prime by adding a positive number.&lt;/p&gt;

&lt;p&gt;Proof:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The primes 2 is even and 3 is odd&lt;/li&gt;
  &lt;li&gt;When you add any positive number to both of them, at least one is even.&lt;/li&gt;
  &lt;li&gt;Because all prime numbers above 2 are odd, then at least one number is not a prime.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To explain the second part, we can write one argument as a set:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;add([even] x, {[even] true, [even] false}) = {[even] (x = true), [even] (x = false)}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;So, at least one element in the set is &lt;code class=&quot;highlighter-rouge&quot;&gt;[even] true&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;2 + (&amp;gt; 0) = (&amp;gt; 2)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;All primes &lt;code class=&quot;highlighter-rouge&quot;&gt;(&amp;gt; 2)&lt;/code&gt; are &lt;code class=&quot;highlighter-rouge&quot;&gt;[even] false&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Therefore, at least one element is &lt;code class=&quot;highlighter-rouge&quot;&gt;[is_prime] false&lt;/code&gt;.
Since you can add something to a prime to get another prime,
there exists two objects that are not equal by &lt;code class=&quot;highlighter-rouge&quot;&gt;g(f(x[i])) ¬= g(f(x[j]))&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For example, &lt;code class=&quot;highlighter-rouge&quot;&gt;is_prime(add(2, 2)) ¬= is_prime(add(2, 3))&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Therefore, there is no symmetric path for &lt;code class=&quot;highlighter-rouge&quot;&gt;add((&amp;gt; 0))[is_prime]&lt;/code&gt;.
There is no prime prediction function to learn from addition.&lt;/p&gt;</content>
		<author>
			<name>PistonDevelopers</name>
			<email>contact@piston.rs</email>
			<uri>http://blog.piston.rs/</uri>
		</author>
		<source>
			<title type="html">Piston</title>
			<link rel="self" href="http://blog.piston.rs/atom.xml"/>
			<id>http://blog.piston.rs/</id>
			<updated>2017-05-29T06:01:20+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">OpenMW - Distant terrain</title>
		<link href="http://feedproxy.google.com/~r/openmw/~3/3YWHBf9Q8Hk/"/>
		<id>https://openmw.org/?p=4921</id>
		<updated>2017-03-15T14:19:21+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://openmw.org/wp-content/uploads/2017/03/budmNsK.jpg&quot;&gt;&lt;img class=&quot;wp-image-4922 aligncenter&quot; src=&quot;https://openmw.org/wp-content/uploads/2017/03/budmNsK-300x169.jpg&quot; alt=&quot;&quot; width=&quot;665&quot; height=&quot;374&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s this? I can see the Ghostfence all the way from Ald-Ruhn and my fps is above 10. This is OpenMW and not MGE XE, right?&lt;/p&gt;
&lt;p&gt;This is OpenMW alright and &lt;a href=&quot;http://i.imgur.com/IuRDXv7.jpg&quot;&gt;what you&amp;#8217;re seeing&lt;/a&gt; is made possible by the newest addition from scrawl &amp;#8211; distant terrain. This new feature is available in the latest OpenMW commit and if you&amp;#8217;re on windows, you can download it from &lt;a href=&quot;https://forum.openmw.org/viewtopic.php?f=20&amp;t=1808#p18839&quot;&gt;Ace&amp;#8217;s nightly builds&lt;/a&gt; to try it out yourself.&lt;/p&gt;
&lt;p&gt;So what does it do? In short, it &lt;a href=&quot;http://i.imgur.com/YklBk3E.jpg&quot;&gt;simplifies the land mesh&lt;/a&gt;, nothing else. It doesn&amp;#8217;t touch on scripts, NPCs and statics, but having simplified land certainly lightens the workload to a point where we can have some wiggle room with our view distance.&lt;/p&gt;
&lt;p&gt;You may have noticed that I&amp;#8217;ve taken use of this in some of the screenshots and loaded enough statics to create the illusion that there are objects &lt;a href=&quot;http://i.imgur.com/HLZzgDp.jpg&quot;&gt;as far as the eye can see&lt;/a&gt;. You can only spot &lt;a href=&quot;http://i.imgur.com/pAg1oKv.jpg&quot;&gt;empty land&lt;/a&gt; if I purposefully look at something very distant.&lt;/p&gt;
&lt;p&gt;I must admit, I cheated a little to boost my fps. There is an additional feature called small object culling, which makes it so that objects too tiny are not rendered and my computer&amp;#8217;s performance is spared. I used this rather aggressively, as I am working with a few years old laptop, but someone with a dedicated gaming rig might get better results while culling less.&lt;/p&gt;
&lt;p&gt;Finally, I would like to share my &lt;a href=&quot;http://i.imgur.com/iFuVAdf.jpg&quot;&gt;last screenshot&lt;/a&gt;, as well as how you can set this up. After downloading and installing the latest commit, find settings.cfg and add the following lines:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Camera]&lt;br /&gt;
# Determines how much land is rendered. Add another 6 or 66 to it.&lt;br /&gt;
viewing distance = 6666.0&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;# The default is 2, but you may want to change it to 16 at the highest. Improves performance.&lt;br /&gt;
small feature culling pixel size = 2.0&lt;/p&gt;
&lt;p&gt;[Cells]&lt;br /&gt;
# This loads statics, NPCs and scripts around you. You may want to set this to 2, 3 or 4.&lt;br /&gt;
exterior cell load distance = 1&lt;/p&gt;
&lt;p&gt;[Terrain]&lt;br /&gt;
# The on-switch to distant terrain. Set this to True.&lt;br /&gt;
distant terrain = True&lt;/p&gt;
&lt;h5&gt;&lt;a href=&quot;http://forum.openmw.org/viewtopic.php?f=38&amp;t=4221&quot; title=&quot;Want to leave a comment?&quot; target=&quot;_blank&quot;&gt;Want to leave a comment?&lt;/a&gt;&lt;/h5&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/openmw/~4/3YWHBf9Q8Hk&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; /&gt;</content>
		<author>
			<name>OpenMW</name>
			<uri>https://openmw.org</uri>
		</author>
		<source>
			<title type="html">OpenMW</title>
			<subtitle type="html">Opensource Elderscrolls III: Morrowind engine reimplementation</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/openmw"/>
			<id>http://feeds.feedburner.com/openmw</id>
			<updated>2017-07-19T10:01:17+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">IoQuake3 - Important Security Update: Please Update ioquake3 Immediately</title>
		<link href="https://ioquake3.org/2017/03/13/important-security-update-please-update-ioquake3-immediately/"/>
		<id>https://ioquake3.org/?p=856</id>
		<updated>2017-03-14T00:48:55+00:00</updated>
		<content type="html">&lt;p&gt;Please immediately update &lt;em&gt;ioquake3&lt;/em&gt; to &lt;a href=&quot;https://ioquake3.org/get-it/test-builds/&quot;&gt;the latest test build&lt;/a&gt; before you connect to any online servers. Despite the name, the test builds are in fact way more stable and secure than any release at this time.&lt;/p&gt;
&lt;p&gt;In doing so you&amp;#8217;ll also receive access to all kinds of other updates and changes that we&amp;#8217;ve made since you last installed &lt;em&gt;ioquake3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s the why:&lt;/p&gt;
&lt;p&gt;We recently pushed  &lt;a href=&quot;https://github.com/ioquake/ioq3/commit/376267d534476a875d8b9228149c4ee18b74a4fd&quot;&gt;a large security fix&lt;/a&gt; that prevents malicious actions from multiplayer servers.&lt;/p&gt;
&lt;p&gt;Please share this news with any other &lt;em&gt;Quake 3&lt;/em&gt; players you know. It&amp;#8217;s on &lt;a href=&quot;https://www.facebook.com/ioquake3/&quot;&gt;Facebook&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/ioquake3/status/841451101098508289&quot;&gt;Twitter&lt;/a&gt; as well. These kinds of exploits are even worse in the regular &lt;em&gt;Quake 3&lt;/em&gt; client, nobody should be using that anymore.&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&quot;http://wiki.ioquake3.org/Players_Guide&quot;&gt;Player’s Guide&lt;/a&gt; can help new &lt;em&gt;Quake 3&lt;/em&gt; players get started with &lt;em&gt;ioquake3&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Ideally, we would distribute these security fixes automatically, similar to the way browsers like Chrome and Firefox distribute updates. Games on consoles, or in Steam, require updates in order to go online and happen automatically now. This way, we could distribute an update first so that nobody who is online is vulnerable in an ideal scenario.&lt;/p&gt;
&lt;p&gt;Right now we don&amp;#8217;t have anyone working on that issue, if you are interested in helping us with an auto-update system to be built into &lt;a href=&quot;https://github.com/ioquake/launch&quot;&gt;our launcher&lt;/a&gt;, &lt;a href=&quot;mailto:zachary@ioquake.org&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Until then, please &lt;a href=&quot;https://ioquake3.org/get-it/test-builds/&quot;&gt;update your test build&lt;/a&gt; as often as you can to get the latest security changes.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ioquake3&lt;/em&gt; is an all-volunteer project that needs your help. &lt;a href=&quot;http://wiki.ioquake3.org/Getting_involved&quot;&gt;Check out this page &lt;/a&gt;if you&amp;#8217;d like to join us in our mission to keep &lt;em&gt;Quake 3&lt;/em&gt; alive.&lt;/p&gt;
&lt;p&gt;Our thanks to Victor Roemer for reporting the vulnerability.&lt;/p&gt;
&lt;p&gt;If you find a security vulnerability, please e-mail zachary@ioquake.org.&lt;/p&gt;</content>
		<author>
			<name>IoQuake3</name>
			<uri>https://ioquake3.org</uri>
		</author>
		<source>
			<title type="html">ioquake3</title>
			<subtitle type="html">Free Software FPS Game Engine Based on Quake 3 for Windows, Linux, and macOS</subtitle>
			<link rel="self" href="http://ioquake3.org/feed/"/>
			<id>http://ioquake3.org/feed/</id>
			<updated>2017-07-21T02:01:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">LibGDX - libGDX 1.9.6 released</title>
		<link href="http://www.badlogicgames.com/wordpress/?p=3984"/>
		<id>http://www.badlogicgames.com/wordpress/?p=3984</id>
		<updated>2017-03-05T10:55:08+00:00</updated>
		<content type="html">&lt;p&gt;&lt;center&gt;lib&lt;span&gt;GDX&lt;/span&gt; 1.9.6&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s what&amp;#8217;s new (plus a ton of bug fixes, see the commit logs on &lt;a href=&quot;https://github.com/libgdx/libgdx/&quot;&gt;GitHub&lt;/a&gt;).&lt;/p&gt;
&lt;pre&gt;
[1.9.6]
- Fix performance regression in LWJGL3 backend, use java.nio instead of BufferUtils. Those are intrinsics and quite a bit faster than BufferUtils on HotSpot.
- Updated to latest Sound Manager 2
- Added mappings for Xbox 360 controller for Linux
- Separated error log for vertex/fragment shaders for easier debugging
- Minimum Android API level is now level 9 (Android 2.3)
- API addition: Configurable TexturePacker bleed iterations
- Updated IOS Multi-OS Engine backend to 1.3.0-beta-2
- API Change: Pixmap.setBlending, Pixmap.setFilter are now instance methods
- VertexAttribute expert constructors exposed. Short types can now be used for attributes.
&lt;/pre&gt;
&lt;p&gt;Please &lt;a href=&quot;https://github.com/libgdx/libgdx/wiki/Updating-LibGDX&quot;&gt;update your projects&lt;/a&gt; as usual.&lt;/p&gt;
&lt;p&gt;If you use &lt;a href=&quot;http://robovm.mobidevelop.com&quot;&gt;MobiDevelop&amp;#8217;s RoboVM fork&lt;/a&gt; make sure to update your Eclipse/IntelliJ IDEA/Android Studio plugin to version 2.3.0.&lt;/p&gt;
&lt;p&gt;If you use the GWT plugin in Eclipse and don&amp;#8217;t run your GWT project via Gradle, make sure you update your GWT plugin to version 2.8.0.&lt;/p&gt;
&lt;h3&gt;gdx-vr&lt;/h3&gt;
&lt;p&gt;In other news, I&amp;#8217;ve been working on some VR related projects recently. Our friends from &lt;a href=&quot;https://www.lwjgl.org/&quot;&gt;LWJGL&lt;/a&gt; have created wrapper for &lt;a href=&quot;https://github.com/ValveSoftware/openvr&quot;&gt;OpenVR&lt;/a&gt;, Valve&amp;#8217;s SDK to talk to all kinds of VR hardware, from Oculus to the HTC Vive. I&amp;#8217;ve built a libGDX specific wrapper on top of the OpenVR bindings, which should make working on VR projects with libGDX a little simpler.&lt;/p&gt;
&lt;p&gt;You can find the repository include a sample application on &lt;a href=&quot;https://github.com/badlogic/gdx-vr&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are a few caveats. OpenVR is currently really only working on Windows. OpenVR on Mac appears to be broken. Valve has released support for Linux a few weeks ago, I did not have time to test this yet. It should however just work out of the box.&lt;/p&gt;
&lt;p&gt;Another caveat is the way rendering is performed currently. For each eye, a separate frame buffer is created. Rendering as in the example is then performed for each framebuffer, using a separate camera/projection matrix for each eye, essentially drawing the scene twice. With a 11ms/frame budget, that can be problematic if you have thousands of draw calls to render a scene for one eye, as it doubles the CPU/driver work in the VR case. Ideally, you only issue one batch of draw calls for both eyes, using instancing and a simple trick involving clipping planes in the vertex shader to redirect the rendering to either the left or right side of the combined frame buffer. Long story short: gdx-vr plus the libGDX 3D API will take you a long way, but for more complex stuff, you&amp;#8217;ll have to get your hands dirty with custom rendering.&lt;/p&gt;
&lt;p&gt;The frame buffers allocated per eye aren&amp;#8217;t setup to use MSAA at the moment. The probpem with MSAA is that it&amp;#8217;s no good for deferred rendering (not a problem with libGDX&amp;#8217;s current 3D API, which is a basic forward renderer).&lt;/p&gt;
&lt;p&gt;The final caveat is that the project hasn&amp;#8217;t been released to Maven Central yet, and hardcodes dependencies on LWJGL version 3.1.2-SNAPSHOT. Once LWJGL 3.1.2 is released, I&amp;#8217;ll also release gdx-vr to Maven Central, with its version synched to the libGDX version that uses LWJGL 3.1.2. For now, you can just import gdx-vr as a Maven project into the IDE of choice, play around with the sample or integrate it in your own project.&lt;/p&gt;
&lt;p&gt;I have not made this an official extension yet, as the implementation currently only supports desktop system. I&amp;#8217;ve received a Google Daydream and am looking into abstracting the gdx-vr API enough to have multiple backends, like any good extension citizen.&lt;/p&gt;
&lt;p&gt;The minimal example looks like this:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;crayon-plain-tag&quot;&gt;public class ClearTest extends ApplicationAdapter {
    
    VRContext context;
    
    @Override
    public void create () {
        context = new VRContext();
    }

    @Override
    public void render () {
        int glError = Gdx.gl.glGetError();
        context.pollEvents();
        context.begin();
        context.beginEye(Eye.Left);
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        context.endEye();
        context.beginEye(Eye.Right);
        Gdx.gl.glClearColor(0, 1, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        context.endEye();
        context.end();      
    }

    @Override
    public void dispose () {
        context.dispose();
    }

    public static void main (String[] args) {
        Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
        config.useVsync(false);
        new Lwjgl3Application(new ClearTest(), config);
    }
}&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You can find a more elaborate sample with teleportation controls &lt;a href=&quot;https://github.com/badlogic/gdx-vr/blob/master/test/com/badlogic/gdx/vr/ApartmentVR.java&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Happy coding,&lt;br /&gt;
The libGDX team&lt;/p&gt;</content>
		<author>
			<name>LibGDX</name>
			<uri>http://www.badlogicgames.com/wordpress</uri>
		</author>
		<source>
			<title type="html">LibGDX</title>
			<link rel="self" href="http://www.badlogicgames.com/wordpress/?feed=rss2"/>
			<id>http://www.badlogicgames.com/wordpress/?feed=rss2</id>
			<updated>2017-05-17T10:32:24+00:00</updated>
		</source>
	</entry>

</feed>
