<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openclonk.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Newton</id>
	<title>OpenClonk Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openclonk.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Newton"/>
	<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/w/Special:Contributions/Newton"/>
	<updated>2026-04-28T19:21:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1769</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1769"/>
		<updated>2016-01-24T13:37:46Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* &#039;&#039;&#039;Update the Version.txt&#039;&#039;&#039; to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* Then go to the &#039;&#039;&#039;[http://londeroth.org/~ck/oc-release/oc-release.cgi release button]&#039;&#039;&#039; and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Update external websites&#039;&#039;&#039;: [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article],[https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1768</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1768"/>
		<updated>2016-01-16T11:37:43Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* &#039;&#039;&#039;Update the Version.txt&#039;&#039;&#039; to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the &#039;&#039;&#039;[http://londeroth.org/~ck/oc-release/oc-release.cgi release button]&#039;&#039;&#039; and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Update external websites&#039;&#039;&#039;: [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article],[https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1767</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1767"/>
		<updated>2016-01-16T11:37:16Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Optional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Update external websites&#039;&#039;&#039;: [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article],[https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1766</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1766"/>
		<updated>2016-01-16T11:37:03Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Optional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* Update external websites: [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article],[https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1765</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1765"/>
		<updated>2016-01-16T11:36:46Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* After Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1764</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1764"/>
		<updated>2016-01-16T11:36:36Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Optional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
* Make it known that OpenClonk has been released on other websites. I.e. [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1763</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1763"/>
		<updated>2016-01-16T11:36:20Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Post Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== After Release ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Create a tag&#039;&#039;&#039; for the released changeset with the vX.Y tag (lightweight: git tag vX.Y).&lt;br /&gt;
* &#039;&#039;&#039;Create a stable branch&#039;&#039;&#039; named stable-X for bugfix releases.&lt;br /&gt;
* &#039;&#039;&#039;Make announcements&#039;&#039;&#039; in our blog and in our forum.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]&#039;&#039;&#039; to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.&lt;br /&gt;
* Notify an openclonk.org admin to &#039;&#039;&#039;mark this version as released in the bugtracker&#039;&#039;&#039; and add the next version to the roadmap.&lt;br /&gt;
* &#039;&#039;&#039;Notify our Linux package maintainers&#039;&#039;&#039; for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.&lt;br /&gt;
* Make it known that OpenClonk has been released on other websites. I.e. [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Optional steps:&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1762</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1762"/>
		<updated>2016-01-16T11:15:02Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Optional: Update all Version.txt files in planet/ to the new version number.&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== Post Release ===&lt;br /&gt;
&lt;br /&gt;
After the release has been uploaded do the following:&lt;br /&gt;
* Tag the released changeset with the vX.Y tag (leightweight: git tag vX.Y).&lt;br /&gt;
* Create a stable branch named stable-X for bugfix releases.&lt;br /&gt;
* Check if installers for all operating systems are existing (contact Mortimer for Mac).&lt;br /&gt;
* Basic tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
* Make announcements in our blog and in our forum.&lt;br /&gt;
* Update external game portals: [[http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].&lt;br /&gt;
* Notify our [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ other] package maintainers that a new version has been released.&lt;br /&gt;
* Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Optional steps:&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1761</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1761"/>
		<updated>2016-01-16T11:14:05Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* (Update all Version.txt files in planet/ to the new version number and commit/push.)&lt;br /&gt;
* Update the Version.txt to the new version number and put the extra version in Version.txt to nothing [SET(C4VERSIONEXTRA      FALSE)]. Commit/push.&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== Post Release ===&lt;br /&gt;
&lt;br /&gt;
After the release has been uploaded do the following:&lt;br /&gt;
* Tag the released changeset with the vX.Y tag (leightweight: git tag vX.Y).&lt;br /&gt;
* Create a stable branch named stable-X for bugfix releases.&lt;br /&gt;
* Check if installers for all operating systems are existing (contact Mortimer for Mac).&lt;br /&gt;
* Basic tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
* Make announcements in our blog and in our forum.&lt;br /&gt;
* Update external game portals: [[http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].&lt;br /&gt;
* Notify our [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ other] package maintainers that a new version has been released.&lt;br /&gt;
* Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Optional steps:&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1760</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1760"/>
		<updated>2016-01-16T11:12:44Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Pre Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Before Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Update all Version.txt files in planet/ to the new version number and commit/push.&lt;br /&gt;
* Update the Version.txt to the new version number and commit/push.&lt;br /&gt;
* Set the extra version in Version.txt to nothing [SET(C4VERSIONEXTRA      FALSE)]&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== Post Release ===&lt;br /&gt;
&lt;br /&gt;
After the release has been uploaded do the following:&lt;br /&gt;
* Tag the released changeset with the vX.Y tag (leightweight: git tag vX.Y).&lt;br /&gt;
* Create a stable branch named stable-X for bugfix releases.&lt;br /&gt;
* Check if installers for all operating systems are existing (contact Mortimer for Mac).&lt;br /&gt;
* Basic tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
* Make announcements in our blog and in our forum.&lt;br /&gt;
* Update external game portals: [[http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].&lt;br /&gt;
* Notify our [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ other] package maintainers that a new version has been released.&lt;br /&gt;
* Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Optional steps:&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1759</id>
		<title>Release Steps</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Release_Steps&amp;diff=1759"/>
		<updated>2016-01-16T11:12:05Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Post Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.&lt;br /&gt;
&lt;br /&gt;
=== Pre Release ===&lt;br /&gt;
&lt;br /&gt;
Steps to do before the release, and after the feature freeze.&lt;br /&gt;
&lt;br /&gt;
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.&lt;br /&gt;
* Fix all bugs related to this release, which can be found in the bugtracker&#039;s [http://bugs.openclonk.org/roadmap_page.php roadmap].&lt;br /&gt;
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.&lt;br /&gt;
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
&lt;br /&gt;
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.&lt;br /&gt;
&lt;br /&gt;
* Update all Version.txt files in planet/ to the new version number and commit/push.&lt;br /&gt;
* Update the Version.txt to the new version number and commit/push.&lt;br /&gt;
* Set the extra version in Version.txt to nothing [SET(C4VERSIONEXTRA      FALSE)]&lt;br /&gt;
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.&lt;br /&gt;
&lt;br /&gt;
=== Post Release ===&lt;br /&gt;
&lt;br /&gt;
After the release has been uploaded do the following:&lt;br /&gt;
* Tag the released changeset with the vX.Y tag (leightweight: git tag vX.Y).&lt;br /&gt;
* Create a stable branch named stable-X for bugfix releases.&lt;br /&gt;
* Check if installers for all operating systems are existing (contact Mortimer for Mac).&lt;br /&gt;
* Basic tests: download, check installer content, run game, play game, play network game.&lt;br /&gt;
* Make announcements in our blog and in our forum.&lt;br /&gt;
* Update external game portals: [[http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].&lt;br /&gt;
* Notify our [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ other] package maintainers that a new version has been released.&lt;br /&gt;
* Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
Optional steps:&lt;br /&gt;
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].&lt;br /&gt;
* Spread the word! More advertisement!&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Old_Screenshots&amp;diff=1745</id>
		<title>Old Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Old_Screenshots&amp;diff=1745"/>
		<updated>2015-11-27T21:18:01Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1744</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1744"/>
		<updated>2015-11-27T21:17:55Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|280xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|280xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|280xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|280xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|280xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|280xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|280xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|280xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|280xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|280xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|280xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|280xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|280xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|280xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|280xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|280xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|280xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|280xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|280xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Old Screenshots]] from in development&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Old_Screenshots&amp;diff=1743</id>
		<title>Old Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Old_Screenshots&amp;diff=1743"/>
		<updated>2015-11-27T21:15:18Z</updated>

		<summary type="html">&lt;p&gt;Newton: Created page with &amp;quot;== September 2011 == {| | Editor on Linux |}  == September 2010 == {| | Tutorial 3: Ranged Weapons...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1742</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1742"/>
		<updated>2015-11-27T21:15:06Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|280xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|280xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|280xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|280xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|280xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|280xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|280xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|280xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|280xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|280xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|280xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|280xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|280xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|280xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|280xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|280xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|280xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|280xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|280xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Old Screenshots]] from in development&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1741</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1741"/>
		<updated>2015-11-27T21:08:50Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|280xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|280xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|280xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|280xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|280xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|280xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|280xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|280xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|280xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|280xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|280xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|280xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|280xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|280xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|280xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|280xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|280xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|280xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|280xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1740</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1740"/>
		<updated>2015-11-27T21:08:23Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|280xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|280xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|280xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|280xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|280xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|280xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|280xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|280xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|280xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|280xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|280xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|280xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|280xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|270xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|270xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|270xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|270xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|270xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|270xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1739</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1739"/>
		<updated>2015-11-27T21:08:00Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|280xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|280xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|280xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|280xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|280xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|280xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|280xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|280xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|280xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|270xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|270xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|270xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|270xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|270xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|270xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|270xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|270xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|270xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|270xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1738</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1738"/>
		<updated>2015-11-27T21:05:43Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|260xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|260xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|260xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|260xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|260xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|260xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|260xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|260xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|260xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|270xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|270xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|270xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|270xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|270xpx|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|270xpx|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|270xpx|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|270xpx|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|270xpx|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|270xpx|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1737</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1737"/>
		<updated>2015-11-27T21:04:39Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2013 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|260xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|260xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|260xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|260xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|260xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|260xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|260xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|260xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|260xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|270xpx|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|270xpx|thumb|Mushrooms]]&lt;br /&gt;
| [[File:GemGrabbers.png|270xpx|thumb|Grab some gems]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:AcidGoldMine.png|270xpx|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|300px|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|300px|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|275px|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|300px|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|300px|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|275px|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1736</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1736"/>
		<updated>2015-11-27T21:01:52Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2014 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|260xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|260xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|260xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|260xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|260xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|260xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|260xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|260xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|260xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|280xpx|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|280xpx|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|280xpx|thumb|Massive explosion]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|280xpx|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|280xpx|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|280xpx|thumb|Gem mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:RaidAttack.png|280xpx|thumb|Raid attack]]&lt;br /&gt;
| [[File:DeepSeaMining.png|280xpx|thumb|Deep sea mining]]&lt;br /&gt;
| [[File:ChineCannon.png|280xpx|thumb|Cannon transport]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:IronPeak.png|280xpx|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|400px|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|355px|thumb|Mushrooms]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GemGrabbers.png|400px|thumb|Grab some gems]]&lt;br /&gt;
| [[File:AcidGoldMine.png|355px|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|300px|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|300px|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|275px|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|300px|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|300px|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|275px|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1735</id>
		<title>Screenshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Screenshots&amp;diff=1735"/>
		<updated>2015-11-27T20:59:32Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* 2015 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2015 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Boompack.png|260xpx|thumb|Combat in Thunderous Skies]]&lt;br /&gt;
| [[File:Building.png|260xpx|thumb|Building an elevator]]&lt;br /&gt;
| [[File:DarkMine.png|260xpx|thumb|Standoff in Dark Mine]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Overcast2.png|260xpx|thumb|Battle in Overcast]]&lt;br /&gt;
| [[File:Gemgrabber.png|260xpx|thumb|A base in Gemgrabbers]]&lt;br /&gt;
| [[File:Dynamite.jpg|260xpx|thumb|Blasting some gems]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Climbing.png|260xpx|thumb|A race scenario]] &lt;br /&gt;
| [[File:Underground_Base.png|260xpx|thumb|An underground base from Krakatoa&#039;s Krach]]&lt;br /&gt;
| [[File:OC-Spiral.png|260xpx|thumb|more underground settling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:MissionSelection.png|200px|thumb|Mission selection]]&lt;br /&gt;
| [[File:ItemOverview.png|200px|thumb|Item overview]]&lt;br /&gt;
| [[File:BoompackMayhem.png|200px|thumb|Massive explosion]]&lt;br /&gt;
| [[File:DeepSeaMining.png|200px|thumb|Deep sea mining]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GrottoSettlement.png|200px|thumb|Cave settlement]]&lt;br /&gt;
| [[File:PowerSettlement.png|200px|thumb|Settlement powering]]&lt;br /&gt;
| [[File:GemMining.png|200px|thumb|Gem mining]]&lt;br /&gt;
| [[File:RaidAttack.png|200px|thumb|Raid attack]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:ChineCannon.png|200px|thumb|Cannon transport]]&lt;br /&gt;
| [[File:IronPeak.png|200px|thumb|Iron peak]]&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Kill_The_King.jpg|400px|thumb|Kill the king - a new mission]]&lt;br /&gt;
| [[File:MushroomCave.jpg|355px|thumb|Mushrooms]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:GemGrabbers.png|400px|thumb|Grab some gems]]&lt;br /&gt;
| [[File:AcidGoldMine.png|355px|thumb|Acid Gold Mine - a especially hard settling scenario]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:FirstOCSettlement.png|300px|thumb|First OC Settlement]]&lt;br /&gt;
| [[File:Krakatoa.png|300px|thumb|New scenario: Krakatoa]]&lt;br /&gt;
| [[File:Controls2012.png|275px|thumb|Control System 2012]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:SkylandsPromo.jpg|300px|thumb|Early sky island scenario]]&lt;br /&gt;
| [[File:IntroducingMissions.png|300px|thumb|Introducing Missions]]&lt;br /&gt;
| [[File:PowerSystem.jpg|275px|thumb|Introducing a new power system]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2011 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Editor_linux.png|x300px|thumb|Editor on Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== September 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Sept10Tut3.png|x300px|thumb|Tutorial 3: Ranged Weapons]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== March 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:ringmenu.png|x300px|thumb|The ringmenu prototype shows the contents of the clonk&#039;s backpack]]&lt;br /&gt;
| [[File:cursor.jpg|x300px|thumb|Aiming the bow with the gamepad]]&lt;br /&gt;
| [[File:ladderclimb.png|x300px|thumb|The clonk learned to climb ladders]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:bow.png|x300px|thumb|Using the bow and the javelin]]&lt;br /&gt;
| [[File:boompack1.png|x300px|thumb|The boompack, a makeshift &amp;quot;jetpack&amp;quot;]]&lt;br /&gt;
| [[File:boompack2.png|x300px|thumb|...or perhaps just firework]]&lt;br /&gt;
| [[File:musket.png|x300px|thumb|Shooting and aiming with the musket]]&lt;br /&gt;
|}&lt;br /&gt;
== January 2010 ==&lt;br /&gt;
{|&lt;br /&gt;
| [[File:newhud.png|x300px|thumb|Half-done new interface and free digging controls]]&lt;br /&gt;
| [[File:Realtimerender.png|x300px|thumb|Real time rendering of the clonk]]&lt;br /&gt;
| [[File:Networkgame.png|x300px|thumb|First OC network game]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Texture_Archives&amp;diff=1632</id>
		<title>Texture Archives</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Texture_Archives&amp;diff=1632"/>
		<updated>2015-07-05T10:49:34Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Mostly free with own license */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Free / no Copyright / CC-BY ==&lt;br /&gt;
Here are some links to archives which offer textures &amp;quot;without any copyright&amp;quot;, compatible CC licenses or public domain. Attention: If you want to extend this list, note that &amp;quot;free&amp;quot; or the lack of any copyright message doesn&#039;t mean anything. To be public domain or &amp;quot;without any copyright&amp;quot;, it must be explicitly noted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.flickr.com Flickr] - mixed CC licenses&lt;br /&gt;
* [http://www.opengameart.org/textures/ OpenGameArt (3400+)] - various open source licenses&lt;br /&gt;
* [http://www.lughertexture.com/ LuGher Texture (3400+)] - free to use in personal and commercial projects&lt;br /&gt;
* [http://www.accustudio.com/index.php?option=com_phocagallery&amp;amp;view=category&amp;amp;id=1&amp;amp;Itemid=77 Accustudio (~1000)] - free of any copyrights&lt;br /&gt;
* [http://texturebarn.headfirstdm.com/ The Texture Barn (~500)] - &amp;quot;Royalty-free textures for computer graphics, illustration, game design and everything else&amp;quot;&lt;br /&gt;
* [http://www.bencloward.com/resources_textures.shtml Ben Cloward (~300)] - free but author would like to be notified where it is used&lt;br /&gt;
* [https://community.renderman.pixar.com/article/114/library-pixar-one-twenty-eight.html Pixar] - CC-BY 4.0&lt;br /&gt;
&lt;br /&gt;
== Mostly free with own license ==&lt;br /&gt;
The most and the biggest free texture archives offer the textures free for any purpose, but it is not allowed to redistribute them as a texture pack. The issue with these terms of use is that they limit how these textures may be redistributed which in turn would limit how OpenClonk may be redistributed. But OpenClonk content is released under the CC Attribution license which doesn&#039;t impose this kind of restriction. So the textures from these archives are not open source, we can&#039;t include any textures from these sources.&lt;br /&gt;
&lt;br /&gt;
However, if you find really good textures there, it doesn&#039;t hurt to ask the original authors whether it is possible to grant permission to use a certain texture under a CC license that is compatible with open source. &lt;br /&gt;
Same holds for images collected for example from flickr that are not licensed under a CC license.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cgtextures.com/ CG Textures (30000+)]&lt;br /&gt;
* [http://www.imageafter.com/textures.php Image After (~10000)]&lt;br /&gt;
* [http://mayang.com/textures/ Mayang&#039;s Free Texture Library (3800+)] - max. 30 textures may be used &lt;br /&gt;
* [http://texturemate.com/ texturemate (4400+)]&lt;br /&gt;
* [http://www.2textured.com/main.php 2Textured (2700+)] - &amp;quot;The textures may be used freely in commercial or personal works but reselling or redistributing of the textures on other texture sites is forbidden&amp;quot;&lt;br /&gt;
* [http://www.freetextures.org/pgs/graphic/graphic_1.html Freetextures.org (~1000)]&lt;br /&gt;
* [http://texturez.com/ Texturez (800+)]&lt;br /&gt;
* [http://freestocktextures.com/ Free Stock Textures (800+)]&lt;br /&gt;
* [http://www.dougturner.net/blendersite/index.html Free Texture Site (600+)]&lt;br /&gt;
* [http://zentextures.com/ Zen Textures (450+)]&lt;br /&gt;
* [http://noctua-graphics.de/english/freetex_e.htm Noctua Graphics (400+)]&lt;br /&gt;
* [http://www.textureking.com/ Texture King (300+)]&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Texture_Archives&amp;diff=1631</id>
		<title>Texture Archives</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Texture_Archives&amp;diff=1631"/>
		<updated>2015-07-05T10:46:12Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Free / no Copyright / CC-BY */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Free / no Copyright / CC-BY ==&lt;br /&gt;
Here are some links to archives which offer textures &amp;quot;without any copyright&amp;quot;, compatible CC licenses or public domain. Attention: If you want to extend this list, note that &amp;quot;free&amp;quot; or the lack of any copyright message doesn&#039;t mean anything. To be public domain or &amp;quot;without any copyright&amp;quot;, it must be explicitly noted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.flickr.com Flickr] - mixed CC licenses&lt;br /&gt;
* [http://www.opengameart.org/textures/ OpenGameArt (3400+)] - various open source licenses&lt;br /&gt;
* [http://www.lughertexture.com/ LuGher Texture (3400+)] - free to use in personal and commercial projects&lt;br /&gt;
* [http://www.accustudio.com/index.php?option=com_phocagallery&amp;amp;view=category&amp;amp;id=1&amp;amp;Itemid=77 Accustudio (~1000)] - free of any copyrights&lt;br /&gt;
* [http://texturebarn.headfirstdm.com/ The Texture Barn (~500)] - &amp;quot;Royalty-free textures for computer graphics, illustration, game design and everything else&amp;quot;&lt;br /&gt;
* [http://www.bencloward.com/resources_textures.shtml Ben Cloward (~300)] - free but author would like to be notified where it is used&lt;br /&gt;
* [https://community.renderman.pixar.com/article/114/library-pixar-one-twenty-eight.html Pixar] - CC-BY 4.0&lt;br /&gt;
&lt;br /&gt;
== Mostly free with own license ==&lt;br /&gt;
The most and the biggest free texture archives offer the textures free for any purpose, but it is not allowed to redistribute them as a texture pack. The issue with these terms of use is that they limit how these textures may be redistributed which in turn would limit how OpenClonk may be redistributed. But OpenClonk content is released under the CC Attribution license which doesn&#039;t impose this kind of restriction. So the textures from these archives are not open source, we can&#039;t include any textures from these sources.&lt;br /&gt;
&lt;br /&gt;
However, if you find really good textures there, it doesn&#039;t hurt to ask the original authors whether it is possible to grant permission to use a certain texture under a CC license that is compatible with open source. &lt;br /&gt;
Same holds for images collected for example from flickr that are not licensed under a CC license.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cgtextures.com/ CG Textures (30000+)]&lt;br /&gt;
* [http://www.imageafter.com/textures.php Image After (~10000)]&lt;br /&gt;
* [http://mayang.com/textures/ Mayang&#039;s Free Texture Library (3800+)] - max. 30 textures may be used&lt;br /&gt;
* [http://www.2textured.com/main.php 2Textured (2700+)] - &amp;quot;The textures may be used freely in commercial or personal works but reselling or redistributing of the textures on other texture sites is forbidden&amp;quot;&lt;br /&gt;
* [http://www.freetextures.org/pgs/graphic/graphic_1.html Freetextures.org (~1000)]&lt;br /&gt;
* [http://texturez.com/ Texturez (800+)]&lt;br /&gt;
* [http://www.dougturner.net/blendersite/index.html Free Texture Site (600+)]&lt;br /&gt;
* [http://zentextures.com/ Zen Textures (450+)]&lt;br /&gt;
* [http://noctua-graphics.de/english/freetex_e.htm Noctua Graphics (400+)]&lt;br /&gt;
* [http://www.textureking.com/ Texture King (300+)]&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1619</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1619"/>
		<updated>2015-03-15T20:18:59Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* What is license for OpenClonk? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== I can not host a round on the internet! What can I do? ===&lt;br /&gt;
&lt;br /&gt;
If you want to host a game on the internet and are behind a router, you need to forward the ports 11111-11113 (TCP &amp;amp; UDP) in your home router configuration. &lt;br /&gt;
How to forward the ports completely depends on your router software, so you have to refer to your router&#039;s manual there.&lt;br /&gt;
&lt;br /&gt;
For more information on ports, see [[#Which ports does OpenClonk use?|Which ports does OpenClonk use?]]&lt;br /&gt;
&lt;br /&gt;
=== Which ports does OpenClonk use? ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the same ports as Clonk Rage. From the FAQ on clonk.de:&lt;br /&gt;
&lt;br /&gt;
By default, Clonk uses port 11112 TCP and port 11113 UDP for game connections. For best speed it is recommended to forward both of these ports through your router or firewall.&lt;br /&gt;
&lt;br /&gt;
For directly joining an IP address (without internet server) port 11111 TCP is required incoming on the host.&lt;br /&gt;
&lt;br /&gt;
Automatic game discovery in LAN works through port 11114 UDP. If necessary, these ports can be adjusted in the options dialog. For other functions the game will connect to the internet and league server clonk.de on port 84 and port 11115 for additional hole punching. &lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== What is the license for OpenClonk? ===&lt;br /&gt;
The code is licensed under the ISC license.&lt;br /&gt;
&lt;br /&gt;
The game content is licensed under mixed CC 3.0 licenses of which none is more restrictive than CC-BY-SA (CC-BY, CC 0 and CC-BY-SA). Actually, the vast majority are CC-BY, there are only one or two files that are CC-BY-SA. Nevertheless, as a whole, it can thus only be distributed under the CC-BY-SA.&lt;br /&gt;
&lt;br /&gt;
See [[License]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Where can I upload / download mods for OpenClonk? Are there any? ===&lt;br /&gt;
Have a look in the [http://forum.openclonk.org/board_show.pl?bid=18 Player Creations board] in the forum. You might also want to check the [http://www.ccan.de CCAN]&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. &amp;lt;s&amp;gt;However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device.&amp;lt;/s&amp;gt;&lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
Currently, gamepad controls undergo an overhaul and are not functioning properly.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1618</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1618"/>
		<updated>2015-03-15T20:18:44Z</updated>

		<summary type="html">&lt;p&gt;Newton: add License question to FAQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== I can not host a round on the internet! What can I do? ===&lt;br /&gt;
&lt;br /&gt;
If you want to host a game on the internet and are behind a router, you need to forward the ports 11111-11113 (TCP &amp;amp; UDP) in your home router configuration. &lt;br /&gt;
How to forward the ports completely depends on your router software, so you have to refer to your router&#039;s manual there.&lt;br /&gt;
&lt;br /&gt;
For more information on ports, see [[#Which ports does OpenClonk use?|Which ports does OpenClonk use?]]&lt;br /&gt;
&lt;br /&gt;
=== Which ports does OpenClonk use? ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the same ports as Clonk Rage. From the FAQ on clonk.de:&lt;br /&gt;
&lt;br /&gt;
By default, Clonk uses port 11112 TCP and port 11113 UDP for game connections. For best speed it is recommended to forward both of these ports through your router or firewall.&lt;br /&gt;
&lt;br /&gt;
For directly joining an IP address (without internet server) port 11111 TCP is required incoming on the host.&lt;br /&gt;
&lt;br /&gt;
Automatic game discovery in LAN works through port 11114 UDP. If necessary, these ports can be adjusted in the options dialog. For other functions the game will connect to the internet and league server clonk.de on port 84 and port 11115 for additional hole punching. &lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== What is license for OpenClonk? ===&lt;br /&gt;
The code is licensed under the ISC license.&lt;br /&gt;
&lt;br /&gt;
The game content is licensed under mixed CC 3.0 licenses of which none is more restrictive than CC-BY-SA (CC-BY, CC 0 and CC-BY-SA). Actually, the vast majority are CC-BY, there are only one or two files that are CC-BY-SA. Nevertheless, as a whole, it can thus only be distributed under the CC-BY-SA.&lt;br /&gt;
&lt;br /&gt;
See [[License]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Where can I upload / download mods for OpenClonk? Are there any? ===&lt;br /&gt;
Have a look in the [http://forum.openclonk.org/board_show.pl?bid=18 Player Creations board] in the forum. You might also want to check the [http://www.ccan.de CCAN]&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. &amp;lt;s&amp;gt;However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device.&amp;lt;/s&amp;gt;&lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
Currently, gamepad controls undergo an overhaul and are not functioning properly.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1612</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1612"/>
		<updated>2015-03-15T13:21:34Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== I can not host a round on the internet! What can I do? ===&lt;br /&gt;
&lt;br /&gt;
If you want to host a game on the internet and are behind a router, you need to forward the ports 11111-11113 (TCP &amp;amp; UDP) in your home router configuration. &lt;br /&gt;
How to forward the ports completely depends on your router software, so you have to refer to your router&#039;s manual there.&lt;br /&gt;
&lt;br /&gt;
For more information on ports, see [[#Which ports does OpenClonk use?|Which ports does OpenClonk use?]]&lt;br /&gt;
&lt;br /&gt;
=== Which ports does OpenClonk use? ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the same ports as Clonk Rage. From the FAQ on clonk.de:&lt;br /&gt;
&lt;br /&gt;
By default, Clonk uses port 11112 TCP and port 11113 UDP for game connections. For best speed it is recommended to forward both of these ports through your router or firewall.&lt;br /&gt;
&lt;br /&gt;
For directly joining an IP address (without internet server) port 11111 TCP is required incoming on the host.&lt;br /&gt;
&lt;br /&gt;
Automatic game discovery in LAN works through port 11114 UDP. If necessary, these ports can be adjusted in the options dialog. For other functions the game will connect to the internet and league server clonk.de on port 84 and port 11115 for additional hole punching. &lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Where can I upload / download mods for OpenClonk? Are there any? ===&lt;br /&gt;
Have a look in the [http://forum.openclonk.org/board_show.pl?bid=18 Player Creations board] in the forum. You might also want to check the [http://www.ccan.de CCAN]&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. &amp;lt;s&amp;gt;However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device.&amp;lt;/s&amp;gt;&lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
Currently, gamepad controls undergo an overhaul and are not functioning properly.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Dynamic_Map_Generator&amp;diff=1565</id>
		<title>Dynamic Map Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Dynamic_Map_Generator&amp;diff=1565"/>
		<updated>2014-08-09T16:41:41Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Dynamic Map Generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dynamic Map Generator ==&lt;br /&gt;
&lt;br /&gt;
OpenClonk has a dynamic map generator that can be used to generate maps that look different everytime but still have specified recurring patterns, like lava lakes, mountains, or sky islands. The documentation is available in the [http://docs.openclonk.org/en/sdk/scenario/MapCreatorS2.html C4Script reference here].&lt;br /&gt;
Mape is used to edit and display both Landscape.txts and Map.c.&lt;br /&gt;
&lt;br /&gt;
=== Mape ===&lt;br /&gt;
&lt;br /&gt;
[[File:Mape.png|450px|border|right|Screenshot of Mape]]&lt;br /&gt;
&lt;br /&gt;
Mape is a tool that shows a live preview of the generated mape as the Landscape.txt code is being typed. The tool is available from the [http://www.openclonk.org/nightly-builds/ Development Snapshots] page for all major platforms. Its source code lives in the OpenClonk git repository.&lt;br /&gt;
&lt;br /&gt;
The tool is meant both for beginners and experts alike. Beginners can easily play around with all the possibilities and immediately see their effect on the generated map. Experts can easily tweak the map to their liking without having to restart the engine for every change they make.&lt;br /&gt;
&lt;br /&gt;
The mape window has four panels. The upper right part is the largest one which is where the Landscape.txt code can be edited. The panel to the left of it shows the file system tree. This is where one can select the Material.ocg file to be loaded. This specifies the materials and textures available to the map generator. The loaded materials and textures can be seen at the bottom panel once loaded which provides an easy view to what materials and textures are available. Finally in the lower right corner there is a preview of the generated map which updates as one types. The status bar contains error messages from the Landscape generator in case the Landscape.txt code is not correct.&lt;br /&gt;
&lt;br /&gt;
=== Tips and Tricks ===&lt;br /&gt;
&lt;br /&gt;
* The options allow to specify the width and height of the generated mape. To avoid any surprises, especially when specifying parameters with pixels instead of percentages, this should always be set to the same size as the OpenClonk map that one plans to create.&lt;br /&gt;
&lt;br /&gt;
* In the options there is also the possibility to use a fixed seed for the random number generator. This allows to always create the same map when using the same Landscape.txt code, even if it contains randomness. This can come handy when trying to get a part of the map right and one does not want the rest of the map to change with every keystroke.&lt;br /&gt;
&lt;br /&gt;
* If the random seed is not fixed, the map preview can be clicked on to generate another version of the map using the same Landscape.txt code but the randomness is re-evaluated.&lt;br /&gt;
&lt;br /&gt;
* For big maps, rendering the map can take a while, up to a few seconds. This considerably slows down the feedback one gets for changing little things here and there. In this case, one can comment out the parts of the map that one does not work on right now and concentrate only on one specific feature or aspect of it, and then put it all together in the end.&lt;br /&gt;
&lt;br /&gt;
* For overlays that use algo=script, the Script.c file that contains the script function that is being evaluated by the algorithm needs to be in the same directory as the Landscape.txt file. Therefore the Landscape.txt file must be saved at least once before algo=script can be used, so that mape knows where to look for the Script.c file. The landscape preview does not update automatically when the Script.c file is changed, but a simple click on it re-generates it.&lt;br /&gt;
&lt;br /&gt;
=== Bug Reports and Feature Requests ===&lt;br /&gt;
&lt;br /&gt;
Bug Reports and Feature Requests can be reported in the [http://bugs.openclonk.org bug tracker]. There is a category for mape.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Development&amp;diff=1523</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Development&amp;diff=1523"/>
		<updated>2014-06-10T16:42:37Z</updated>

		<summary type="html">&lt;p&gt;Newton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
OpenClonk is an open project. That means it depends on people coming in and helping out. People just like you! This page should give you an idea what you could do in order to get involved.&lt;br /&gt;
&lt;br /&gt;
=== Use Development Snapshots ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk is continously in development. The &amp;quot;current&amp;quot; version can change daily! If you want to follow the development, it is a good idea to make sure you are able to run development versions. You will not need to build them yourself - just use the development snapshots linked below and you should be ready to go.&lt;br /&gt;
&lt;br /&gt;
* Development Snapshots - [http://www.openclonk.org/nightly-builds/ www.openclonk.org/nightly-builds/]&lt;br /&gt;
* Blog - [http://blog.openclonk.org blog.openclonk.org]&lt;br /&gt;
* Changelog - [http://git.openclonk.org/openclonk.git git.openclonk.org/openclonk.git]&lt;br /&gt;
* Browse source - [http://git.openclonk.org/openclonk.git/tree/refs/heads/master git.openclonk.org/openclonk.git/tree/refs/heads/master]&lt;br /&gt;
&lt;br /&gt;
=== Report Bugs ===&lt;br /&gt;
&lt;br /&gt;
We cannot possibly account for every possible configuration out there. If you see something that&#039;s wrong, we would really like to know about it. Especially if you are willing to actively work with us in finding a solution for the problem.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how you can reach us:&lt;br /&gt;
&lt;br /&gt;
* IRC - [irc://irc.euirc.net/openclonk-dev/ #openclonk-dev] on irc.euirc.net (Problems connecting? Use irc.ham.de.euirc.net)&lt;br /&gt;
* Bugtracker - [http://bugs.openclonk.org bugs.openclonk.org]&lt;br /&gt;
* Forum - [http://forum.openclonk.org forum.openclonk.org]&lt;br /&gt;
&lt;br /&gt;
=== Contribute Scripts or Game Content ===&lt;br /&gt;
&lt;br /&gt;
Just like Clonk Rage before, most things in OpenClonk can be changed without touching the engine. Instead, we rely on a script language and a flexible game content system to make up our game content. This means that you can get involved easily - without having to learn C++ first! Traditionally, developing own objects and scenarios and sharing them with others has been how pretty much all of today&#039;s developers started out.&lt;br /&gt;
&lt;br /&gt;
* Developer Documentation [http://docs.openclonk.org/en/sdk/ docs.openclonk.org/en/sdk/]&lt;br /&gt;
* Forum - [http://forum.openclonk.org forum.openclonk.org]&lt;br /&gt;
* Style Guide - [http://wiki.openclonk.org/w/C4Script_Style_Guidelines wiki.openclonk.org/w/C4Script_Style_Guidelines]&lt;br /&gt;
* Contribute changes - [[Git Workflow]]&lt;br /&gt;
* [http://crucible.openclonk.org Crucible] for code review&lt;br /&gt;
&lt;br /&gt;
=== Build OpenClonk Yourself ===&lt;br /&gt;
&lt;br /&gt;
When delving deeper into OpenClonk, you will often find yourself in the situation that you need a closer look at what makes OpenClonk tick internally. At that point, it is a good idea to assume the perspective of developers - get the source code and build it in your own development environment.&lt;br /&gt;
&lt;br /&gt;
* Tutorial for Windows - [http://wiki.openclonk.org/w/Building_with_Windows wiki.openclonk.org/w/Building_with_Windows]&lt;br /&gt;
* General instructions - [http://wiki.openclonk.org/w/Build_OpenClonk wiki.openclonk.org/w/Build_OpenClonk]&lt;br /&gt;
* Git Workflow Guide - [http://wiki.openclonk.org/w/Git_Workflow wiki.openclonk.org/w/Git_Workflow]&lt;br /&gt;
* Git Repository - [http://git.openclonk.org/openclonk.git git.openclonk.org/openclonk.git]&lt;br /&gt;
* Source Code Structure - [http://wiki.openclonk.org/w/Source_code_structure wiki.openclonk.org/w/Source_code_structure]&lt;br /&gt;
&lt;br /&gt;
=== Hack the OpenClonk Engine ===&lt;br /&gt;
&lt;br /&gt;
Maybe you already are well-versed in C++ and want to help out actually diagnosing problems? Or - even better - have your own ideas on engine improvements? We are always glad to look at patches.&lt;br /&gt;
&lt;br /&gt;
* Wondering where to start? - [[GSoC2011Ideas|Ideas page]]&lt;br /&gt;
* Debugging synchronization losses - [http://wiki.openclonk.org/w/Sync_losses wiki.openclonk.org/w/Sync_Losses]&lt;br /&gt;
* Style Guide - [http://wiki.openclonk.org/w/Style_Guidelines wiki.openclonk.org/w/Style_Guidelines]&lt;br /&gt;
* Forum, developers&#039; corner - [http://forum.openclonk.org/board_show.pl?bid=5 forum.openclonk.org]&lt;br /&gt;
* Contribute changes - [[Git Workflow]]&lt;br /&gt;
&lt;br /&gt;
=== Internal Links ===&lt;br /&gt;
&lt;br /&gt;
[http://londeroth.org/~ck/oc-release/oc-release.cgi The release button]&lt;br /&gt;
&lt;br /&gt;
=== Legal Stuff ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the ISC license for code (engine and script) and CC-by for most other media. Read more about the [[License | license stuff]] here.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1470</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1470"/>
		<updated>2014-04-29T05:40:11Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Obsolete stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage.&lt;br /&gt;
&lt;br /&gt;
A good example:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
// create rock, the owner of the rock is the controller of the calling object&lt;br /&gt;
CreateObject(Rock, 0, 10);&lt;br /&gt;
// same as above&lt;br /&gt;
CreateObject(Rock, 0, 10, nil);&lt;br /&gt;
// create rock, the owner is player 0!&lt;br /&gt;
CreateObject(Rock, 0, 10, 0);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
So, nil is not 0. It is normally used to deliberately not specify optional parameters.&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Obsolete stuff =&lt;br /&gt;
The backward compatibility was dropped, so certain deprecated/obsolete stuff was finally dropped. Most of this will not apply to someone wanting to convert something from Clonk Rage. A non exhaustive list:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;#strict&amp;lt;/tt&amp;gt; is gone. All scripts are &amp;quot;strict&amp;quot;.&lt;br /&gt;
* constants like &amp;lt;tt&amp;gt;C4D_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;COMD_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;VIS_*&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;OCF_*&amp;lt;/tt&amp;gt; are now only defined as constants and not also as functions: e.g. &amp;lt;tt&amp;gt;C4D_Living&amp;lt;s&amp;gt;()&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Arithmetic functions like &amp;lt;tt&amp;gt;Sum()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Div()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Mul()&amp;lt;/tt&amp;gt;, ... and logic functions like &amp;lt;tt&amp;gt;GreaterThan()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;And()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Not&amp;lt;/tt&amp;gt;, ... are gone. Use operators.&lt;br /&gt;
* Numbered variables like &amp;lt;tt&amp;gt;Global()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Local()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;EffectVar()&amp;lt;/tt&amp;gt; are gone.&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Graphics like these will be shown at 1:1 if zoomed in x4.&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1469</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1469"/>
		<updated>2014-04-29T05:39:40Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Obsolete stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage.&lt;br /&gt;
&lt;br /&gt;
A good example:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
// create rock, the owner of the rock is the controller of the calling object&lt;br /&gt;
CreateObject(Rock, 0, 10);&lt;br /&gt;
// same as above&lt;br /&gt;
CreateObject(Rock, 0, 10, nil);&lt;br /&gt;
// create rock, the owner is player 0!&lt;br /&gt;
CreateObject(Rock, 0, 10, 0);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
So, nil is not 0. It is normally used to deliberately not specify optional parameters.&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Obsolete stuff =&lt;br /&gt;
The backward compatibility was dropped, so certain deprecated/obsolete stuff was finally dropped. Most of this will not apply to someone wanting to convert something from Clonk Rage. A non exhaustive list:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;#strict&amp;lt;/tt&amp;gt; is gone. All scripts are &amp;quot;strict&amp;quot;.&lt;br /&gt;
* constants like &amp;lt;tt&amp;gt;C4D_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;COMD_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;VIS_*&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;OCF_*&amp;lt;/tt&amp;gt; are now only defined as constants and not also as functions: e.g. &amp;lt;tt&amp;gt;C4D_Living&amp;lt;s&amp;gt;()&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Arithmetic functions like &amp;lt;tt&amp;gt;Sum()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Div()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Mul()&amp;lt;/tt&amp;gt;, ... and logic functions like &amp;lt;tt&amp;gt;GreaterThan()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;And()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Not&amp;lt;/tt&amp;gt;, ... are gone. Use operators.&lt;br /&gt;
* Numbered variables like &amp;lt;tt&amp;gt;Global&amp;lt;/tt&amp;gt;(), &amp;lt;tt&amp;gt;Local&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;EffectVar&amp;lt;/tt&amp;gt; are gone.&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Graphics like these will be shown at 1:1 if zoomed in x4.&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1468</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1468"/>
		<updated>2014-04-29T05:39:01Z</updated>

		<summary type="html">&lt;p&gt;Newton: add section obsolete stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage.&lt;br /&gt;
&lt;br /&gt;
A good example:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
// create rock, the owner of the rock is the controller of the calling object&lt;br /&gt;
CreateObject(Rock, 0, 10);&lt;br /&gt;
// same as above&lt;br /&gt;
CreateObject(Rock, 0, 10, nil);&lt;br /&gt;
// create rock, the owner is player 0!&lt;br /&gt;
CreateObject(Rock, 0, 10, 0);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
So, nil is not 0. It is normally used to deliberately not specify optional parameters.&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Obsolete stuff =&lt;br /&gt;
The backward compatibility was dropped, so certain deprecated/obsolete stuff was finally dropped. So most of this will not apply to someone wanting to convert something from Clonk Rage. A non exhaustive list:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;#strict&amp;lt;/tt&amp;gt; is gone. All scripts are &amp;quot;strict&amp;quot;.&lt;br /&gt;
* constants like &amp;lt;tt&amp;gt;C4D_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;COMD_*&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;VIS_&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;OCF_*&amp;lt;/tt&amp;gt; are now only defined as constants and not also as functions: e.g. &amp;lt;tt&amp;gt;C4D_Living&amp;lt;s&amp;gt;()&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Arithmetic functions like &amp;lt;tt&amp;gt;Sum()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Div()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Mul()&amp;lt;/tt&amp;gt;, ... and logic functions like &amp;lt;tt&amp;gt;GreaterThan()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;And()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Not&amp;lt;/tt&amp;gt;, ... are gone. Use operators.&lt;br /&gt;
* Numbered variables like &amp;lt;tt&amp;gt;Global&amp;lt;/tt&amp;gt;(), &amp;lt;tt&amp;gt;Local&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;EffectVar&amp;lt;/tt&amp;gt; are gone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Graphics like these will be shown at 1:1 if zoomed in x4.&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1467</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1467"/>
		<updated>2014-04-29T05:12:00Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* zoomed Graphics.png */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage.&lt;br /&gt;
&lt;br /&gt;
A good example:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
// create rock, the owner of the rock is the controller of the calling object&lt;br /&gt;
CreateObject(Rock, 0, 10);&lt;br /&gt;
// same as above&lt;br /&gt;
CreateObject(Rock, 0, 10, nil);&lt;br /&gt;
// create rock, the owner is player 0!&lt;br /&gt;
CreateObject(Rock, 0, 10, 0);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
So, nil is not 0. It is normally used to deliberately not specify optional parameters.&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Graphics like these will be shown at 1:1 if zoomed in x4.&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1466</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1466"/>
		<updated>2014-04-29T05:10:59Z</updated>

		<summary type="html">&lt;p&gt;Newton: add example to nil value&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage.&lt;br /&gt;
&lt;br /&gt;
A good example:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
// create rock, the owner of the rock is the controller of the calling object&lt;br /&gt;
CreateObject(Rock, 0, 10);&lt;br /&gt;
// same as above&lt;br /&gt;
CreateObject(Rock, 0, 10, nil);&lt;br /&gt;
// create rock, the owner is player 0!&lt;br /&gt;
CreateObject(Rock, 0, 10, 0);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
So, nil is not 0. It is normally used to deliberately not specify optional parameters.&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1462</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1462"/>
		<updated>2014-03-22T06:11:52Z</updated>

		<summary type="html">&lt;p&gt;Newton: controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;br /&gt;
&lt;br /&gt;
= Controls = &lt;br /&gt;
The player controls are defined completely in script now, using PlayerControls.txt. So, to create controls similar as they were in Clonk Rage should be possible. Even on a per-scenario basis. [http://docs.openclonk.org/en/sdk/playercontrols.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1461</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1461"/>
		<updated>2014-03-22T06:02:13Z</updated>

		<summary type="html">&lt;p&gt;Newton: add map scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;br /&gt;
&lt;br /&gt;
= Map Scripts = &lt;br /&gt;
Additionally to static bitmap landscapes and dynamic Landscape.txt landscapes, one can define dynamic maps in script, also at runtime. The old Landscape.txt landscape generation is not obsolete but can still be used. [http://docs.openclonk.org/en/sdk/script/MapScript.html See reference].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1460</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1460"/>
		<updated>2014-03-22T05:58:48Z</updated>

		<summary type="html">&lt;p&gt;Newton: add docs links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference has an overview over the [http://docs.openclonk.org/en/sdk/definition/properties.html object properties] and (remaining) [http://docs.openclonk.org/en/sdk/definition/defcore.html DefCore values].&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1459</id>
		<title>Script: CR to OC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Script:_CR_to_OC&amp;diff=1459"/>
		<updated>2014-03-22T05:56:55Z</updated>

		<summary type="html">&lt;p&gt;Newton: add saving as scenario&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are coming from ClonkRage scripting, you will find some new things in OpenClonk. Not much and not very difficult, but you will have to know them.&amp;lt;br /&amp;gt;&lt;br /&gt;
This page does not explain every thing in detail, but should give you an overview.&lt;br /&gt;
&lt;br /&gt;
= IDs =&lt;br /&gt;
Every object has an ID. In ClonkRage that were 4-character-strings like &amp;quot;CLNK&amp;quot; or &amp;quot;ROCK&amp;quot;. In OpenClonk they can have any length and consist of the typical characters, for example &amp;quot;Clonk&amp;quot;, &amp;quot;Rock&amp;quot;, &amp;quot;Rule_NoPowerNeed&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
That makes code so much more readable!&lt;br /&gt;
&lt;br /&gt;
= Proplists =&lt;br /&gt;
Proplists are what you might know from other languages as a &amp;quot;map&amp;quot;. You can assign values to keys.&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var my_proplist = { foo = 3, bar = &amp;quot;Hello!&amp;quot; };&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist.bar, my_proplist.foo);&lt;br /&gt;
// the following line does the same&lt;br /&gt;
Log(&amp;quot;%s %d&amp;quot;, my_proplist[&amp;quot;bar&amp;quot;], my_proplist[&amp;quot;foo&amp;quot;]);&lt;br /&gt;
// create new property!&lt;br /&gt;
my_proplist.test = 123;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A lot of things are now proplists, for example the objects:&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var clonk = FindObject(Find_ID(Clonk));&lt;br /&gt;
// print Name property of the clonk&lt;br /&gt;
Log(&amp;quot;Hello, I am %s!&amp;quot;, clonk.Name);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or effects and the ActMap (see below).&lt;br /&gt;
&lt;br /&gt;
= ActMap =&lt;br /&gt;
The ActMap.txt is completely gone, you can declare actions directly in the script of an object now, like this: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local ActMap=&lt;br /&gt;
{&lt;br /&gt;
	Attach = &lt;br /&gt;
	{&lt;br /&gt;
		Prototype = Action,&lt;br /&gt;
		Name=&amp;quot;Attach&amp;quot;,&lt;br /&gt;
		Procedure=DFA_ATTACH,&lt;br /&gt;
		NextAction=&amp;quot;Be&amp;quot;,&lt;br /&gt;
		Length=1,&lt;br /&gt;
		FacetBase=1,&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This has the positive effect that you can modify actions when the game is running!&lt;br /&gt;
&lt;br /&gt;
= DefCore =&lt;br /&gt;
A lot of entries from the DefCore.txt went into script, too. Here an example from the axe script:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
local Collectible = 1;&lt;br /&gt;
local Name = &amp;quot;$Name$&amp;quot;;&lt;br /&gt;
local Description = &amp;quot;$Description$&amp;quot;;&lt;br /&gt;
local UsageHelp = &amp;quot;$UsageHelp$&amp;quot;;&lt;br /&gt;
local Rebuy = true;&lt;br /&gt;
local ChopStrength = 10;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This helps if you need your own entries. Sadly there is no system which DefCore entries have moved to script and which haven&#039;t.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can access those entries like properties in a proplist&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
var axe = FindObject(Find_ID(Axe));&lt;br /&gt;
// can collect the axe?&lt;br /&gt;
if (axe.Collectible)&lt;br /&gt;
	Collect(axe);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= nil value =&lt;br /&gt;
Variables can now have the value &amp;quot;nil&amp;quot; which simply stands for &amp;quot;nothing&amp;quot;. An unassigned variable will now have the value &amp;quot;nil&amp;quot; instead of &amp;quot;0&amp;quot; in ClonkRage&lt;br /&gt;
&lt;br /&gt;
= -&amp;gt; for function calls =&lt;br /&gt;
In ClonkRage you could had &amp;quot;object&amp;quot; parameters for most of the functions. You could for example both write:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Collect(my_item, clonk); // or&lt;br /&gt;
clonk-&amp;gt;Collect(my_item, 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in OpenClonk a lot of the &amp;quot;object&amp;quot; parameters are gone and you should always use the direct call with the &amp;quot;-&amp;gt;&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
clonk-&amp;gt;Collect(my_item);&lt;br /&gt;
// wrong: Collect(my_item, clonk);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= zoomed Graphics.png =&lt;br /&gt;
You can use 2D graphics just like in CR. But you can also defined versions for zoom levels so that the graphics do not look too pixelized at high zoom. You do that by simply putting a dot and the zoom level into the graphics name:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Graphics.4.png&lt;br /&gt;
Overlay.4.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3D Models =&lt;br /&gt;
As you know, OpenClonk now supports 3D models. I won&#039;t go over how to create a model here, that would be overkill. I&#039;d much rather just give a short overview:&amp;lt;br /&amp;gt;&lt;br /&gt;
Model files have to be named &amp;quot;Graphics.mesh&amp;quot;, similarly to &amp;quot;Graphics.png&amp;quot;. The skeleton-file name for the animation and the material-file name for the texture do not follow such a restriction. &amp;lt;br/&amp;gt;&lt;br /&gt;
Note that materials have a global namespace, so two different objects with the material &amp;quot;Gold&amp;quot; would not work (Nugget &amp;amp; Idol, for example) - prefix your material names with the object ID (Nugget_Gold and Idol_Gold)!&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenClonk provides several functions to work with models or &amp;quot;meshes&amp;quot;. Good entry points are: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;&lt;br /&gt;
int PlayAnimation(string animation, int slot, array position, array weight, int sibling);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and the properties &amp;quot;MeshTransformation&amp;quot; and &amp;quot;PictureTransformation&amp;quot; that you can use to f.e. rotate models.&lt;br /&gt;
&lt;br /&gt;
= Effect variables =&lt;br /&gt;
Remember &amp;quot;EffectVar&amp;quot; from ClonkRage that you could use to store variables in effects? The effect is now a proplist and that means that you can simply assign properties to it if you need variables:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
func FxMyEffectStart(object target, effect fx, bool temp)&lt;br /&gt;
{&lt;br /&gt;
	// invent new property!&lt;br /&gt;
	fx.max_time = 100;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func FxMyEffectTimer(object target, effect fx, int time)&lt;br /&gt;
{&lt;br /&gt;
	if (time &amp;gt; fx.max_time) return -1;&lt;br /&gt;
	Message(&amp;quot;Not over yet!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
There are also some standard properties like &amp;quot;Interval&amp;quot; that you can use to change the interval at which Fx*Timer is called (see the [http://docs.openclonk.org/en/sdk/script/Effects.html#Properties reference])&lt;br /&gt;
&lt;br /&gt;
= Scenario saving =&lt;br /&gt;
Remember the hassle with the &amp;quot;saving as scenario&amp;quot; in editor mode? There is no huge Objects.txt anymore, instead, all the objects placed in the editor mode are serialized into a script, Objects.c. Only standard properties are saved and only if they are different from the default. This makes scenarios created in the editor much more maintainable.&lt;br /&gt;
&lt;br /&gt;
Each object can define certain properties which shall be saved on a scenario save, for example some switch will save its target object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;local target;&lt;br /&gt;
&lt;br /&gt;
func SetTarget(object new_target) { target = new_target; return true; }&lt;br /&gt;
&lt;br /&gt;
func SaveScenarioObject(props)&lt;br /&gt;
{&lt;br /&gt;
	if (!inherited(props, ...)) return false;&lt;br /&gt;
	if (target) props-&amp;gt;AddCall(&amp;quot;Target&amp;quot;, this, &amp;quot;SetTarget&amp;quot;, target);&lt;br /&gt;
	return true;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in the generation of this script on scenario save in Objects.c:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;c4script&amp;quot;&amp;gt;var door235 = CreateObject(Door,2354,124);&lt;br /&gt;
...&lt;br /&gt;
var switch001 = CreateObject(Switch,124,354);&lt;br /&gt;
switch001-&amp;gt;SetTarget(door235);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, to make a complex object properly savable into a scenario, it needs to define which properties should be saved. See the [http://docs.openclonk.org/en/sdk/definition/script.html#ScenSave reference] for more information.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Development&amp;diff=1440</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Development&amp;diff=1440"/>
		<updated>2014-02-23T08:44:02Z</updated>

		<summary type="html">&lt;p&gt;Newton: add link to crucible&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
OpenClonk is an open project. That means it depends on people coming in and helping out. People just like you! This page should give you an idea what you could do in order to get involved.&lt;br /&gt;
&lt;br /&gt;
=== Use Development Snapshots ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk is continously in development. The &amp;quot;current&amp;quot; version can change daily! If you want to follow the development, it is a good idea to make sure you are able to run development versions. You will not need to build them yourself - just use the development snapshots linked below and you should be ready to go.&lt;br /&gt;
&lt;br /&gt;
* Development Snapshots - [http://www.openclonk.org/nightly-builds/ www.openclonk.org/nightly-builds/]&lt;br /&gt;
* Blog - [http://blog.openclonk.org blog.openclonk.org]&lt;br /&gt;
* Changelog - [http://git.openclonk.org/openclonk.git git.openclonk.org/openclonk.git]&lt;br /&gt;
* Browse source - [http://git.openclonk.org/openclonk.git/tree/refs/heads/master git.openclonk.org/openclonk.git/tree/refs/heads/master]&lt;br /&gt;
&lt;br /&gt;
=== Report Bugs ===&lt;br /&gt;
&lt;br /&gt;
We cannot possibly account for every possible configuration out there. If you see something that&#039;s wrong, we would really like to know about it. Especially if you are willing to actively work with us in finding a solution for the problem.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how you can reach us:&lt;br /&gt;
&lt;br /&gt;
* IRC - [irc://irc.euirc.net/openclonk-dev/ #openclonk-dev] on irc.euirc.net (Problems connecting? Use irc.ham.de.euirc.net)&lt;br /&gt;
* Bugtracker - [http://bugs.openclonk.org bugs.openclonk.org]&lt;br /&gt;
* Forum - [http://forum.openclonk.org forum.openclonk.org]&lt;br /&gt;
&lt;br /&gt;
=== Contribute Scripts or Game Content ===&lt;br /&gt;
&lt;br /&gt;
Just like Clonk Rage before, most things in OpenClonk can be changed without touching the engine. Instead, we rely on a script language and a flexible game content system to make up our game content. This means that you can get involved easily - without having to learn C++ first! Traditionally, developing own objects and scenarios and sharing them with others has been how pretty much all of today&#039;s developers started out.&lt;br /&gt;
&lt;br /&gt;
* Developer Documentation [http://docs.openclonk.org/en/sdk/ docs.openclonk.org/en/sdk/]&lt;br /&gt;
* Forum - [http://forum.openclonk.org forum.openclonk.org]&lt;br /&gt;
* Style Guide - [http://wiki.openclonk.org/w/C4Script_Style_Guidelines wiki.openclonk.org/w/C4Script_Style_Guidelines]&lt;br /&gt;
* Contribute changes - [[Git Workflow]]&lt;br /&gt;
* [http://crucible.openclonk.org Crucible] for code review&lt;br /&gt;
&lt;br /&gt;
=== Build OpenClonk Yourself ===&lt;br /&gt;
&lt;br /&gt;
When delving deeper into OpenClonk, you will often find yourself in the situation that you need a closer look at what makes OpenClonk tick internally. At that point, it is a good idea to assume the perspective of developers - get the source code and build it in your own development environment.&lt;br /&gt;
&lt;br /&gt;
* Tutorial for Windows - [http://wiki.openclonk.org/w/Building_with_Windows wiki.openclonk.org/w/Building_with_Windows]&lt;br /&gt;
* General instructions - [http://wiki.openclonk.org/w/Build_OpenClonk wiki.openclonk.org/w/Build_OpenClonk]&lt;br /&gt;
* Git Workflow Guide - [http://wiki.openclonk.org/w/Git_Workflow wiki.openclonk.org/w/Git_Workflow]&lt;br /&gt;
* Git Repository - [http://git.openclonk.org/openclonk.git git.openclonk.org/openclonk.git]&lt;br /&gt;
* Source Code Structure - [http://wiki.openclonk.org/w/Source_code_structure wiki.openclonk.org/w/Source_code_structure]&lt;br /&gt;
&lt;br /&gt;
=== Hack the OpenClonk Engine ===&lt;br /&gt;
&lt;br /&gt;
Maybe you already are well-versed in C++ and want to help out actually diagnosing problems? Or - even better - have your own ideas on engine improvements? We are always glad to look at patches.&lt;br /&gt;
&lt;br /&gt;
* Wondering where to start? - [[GSoC2011Ideas|Ideas page]]&lt;br /&gt;
* Debugging synchronization losses - [http://wiki.openclonk.org/w/Sync_losses wiki.openclonk.org/w/Sync_Losses]&lt;br /&gt;
* Style Guide - [http://wiki.openclonk.org/w/Style_Guidelines wiki.openclonk.org/w/Style_Guidelines]&lt;br /&gt;
* Forum, developers&#039; corner - [http://forum.openclonk.org/board_show.pl?bid=5 forum.openclonk.org]&lt;br /&gt;
* Contribute changes - [[Git Workflow]]&lt;br /&gt;
&lt;br /&gt;
=== Internal Links ===&lt;br /&gt;
&lt;br /&gt;
[http://londeroth.org/~ck/oc-release/oc-release.cgi The release button]&lt;br /&gt;
&lt;br /&gt;
=== Legal Stuff ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the ISC license for code (engine and script) and CC-by for most other media. Read more about the [[License | license stuff]] here.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1430</id>
		<title>C4Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1430"/>
		<updated>2014-02-16T09:31:17Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:C4Script.png|right|frame]]&lt;br /&gt;
Like the previous Clonk titles, OpenClonk offers countless possibilites to create your own scenarios, objects and campaigns. Since [http://www.clonk.de/classics.php?lng=en Clonk 4], one of Clonk&#039;s most remarkable features has been it&#039;s extensibility. The complete content is scripted in C4Script, Clonk&#039;s own powerful scripting language, has been developed further since 1998. Now, it feels pretty much like a typical C-style scripting language. If you know other programming languages, you will have no problem to familarize yourself with C4Script and if you never programmed before, it can be a good introduction and practice to programming.&lt;br /&gt;
&lt;br /&gt;
You may want to develop based on the latest game data there is. See the [http://www.openclonk.org/nightly-builds/ nightly builds] page for the most current builds.&lt;br /&gt;
&lt;br /&gt;
== [http://docs.openclonk.org/en/sdk/ OpenClonk Documentation] ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cpem.gif|left|link=http://docs.openclonk.org/en/sdk/]] The [http://docs.openclonk.org/en/sdk/ documentation] is a complete reference for everything you need to know about the script language C4Script and its data structures, how the the game data is organized and about the APIs for e.g. dynamic landscape generation, using the particle or the effect system.&lt;br /&gt;
Note that the documentation is also still [http://docs.openclonk.org/de/sdk/ available in German], however it lacks maintenance, so always refer to the English version for recent stuff.&lt;br /&gt;
&lt;br /&gt;
== [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit] ==&lt;br /&gt;
&lt;br /&gt;
[[File:C4dt.png|left|52px|link=http://wiki.openclonk.org/w/Developing_Content_with_Eclipse]] The [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit], or short C4DT, is a plugin for Eclipse. Using Eclipse with C4DT for Clonk development makes it very comfortable as the editor offers many useful features for editing and debugging scripts you might know from other IDEs.&lt;br /&gt;
&lt;br /&gt;
== Tutorials series ==&lt;br /&gt;
* [[Tutorial: Scenario Creation]]&lt;br /&gt;
* [[Tutorial: Map Generator - The Basics]]&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
* [[Artists Guide|Graphics]] - Render and texture 3D-models&lt;br /&gt;
* [[Artists_Guide#Sounds_.26_Music|Sounds and music]] - Include sound effects and music into the game&lt;br /&gt;
* [[C4Script Style Guidelines]]&lt;br /&gt;
* [http://forum.openclonk.org/board_show.pl?bid=7 Scenario &amp;amp; Object Development forum]&lt;br /&gt;
* [[Git Workflow]] - How to use our repository&lt;br /&gt;
* [[Developers Guide]] - For engine developers&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1429</id>
		<title>C4Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1429"/>
		<updated>2014-02-16T09:26:14Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* C4 Development Toolkit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:C4Script.png|right|frame]]&lt;br /&gt;
Like the previous Clonk titles, OpenClonk offers countless possibilites to create your own scenarios, objects and campaigns. Since [http://www.clonk.de/classics.php?lng=en Clonk 4], one of Clonk&#039;s most remarkable features has been it&#039;s extensibility. The complete content is scripted in C4Script, Clonk&#039;s own powerful scripting language, has been developed further since 1998. Now, it feels pretty much like a typical C-style scripting language. If you know other programming languages, you will have no problem to familarize yourself with C4Script and if you never programmed before, it can be a good introduction and practice to programming.&lt;br /&gt;
&lt;br /&gt;
You may want to develop based on the latest game data there is. See the [http://www.openclonk.org/nightly-builds/ nightly builds] page for the most current builds.&lt;br /&gt;
&lt;br /&gt;
== [http://docs.openclonk.org/en/sdk/ OpenClonk Documentation] ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cpem.gif|left|link=http://docs.openclonk.org/en/sdk/]] The [http://docs.openclonk.org/en/sdk/ documentation] is a complete reference for everything you need to know about the script language C4Script and its data structures, how the the game data is organized and about the APIs for e.g. dynamic landscape generation, using the particle or the effect system.&lt;br /&gt;
Note that the documentation is also still [http://docs.openclonk.org/de/sdk/ available in German], however it lacks maintenance, so always refer to the English version for recent stuff.&lt;br /&gt;
&lt;br /&gt;
== [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit] ==&lt;br /&gt;
&lt;br /&gt;
[[File:C4dt.png|left|52px|link=http://wiki.openclonk.org/w/Developing_Content_with_Eclipse]] The [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit], or short C4DT, is a plugin for Eclipse. Using Eclipse with C4DT for Clonk development makes it very comfortable as the editor offers many useful features for editing and debugging scripts you might know from other IDEs.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* [[Tutorial: Scenario Creation]]&lt;br /&gt;
* [[Tutorial: Map Generator - The Basics]]&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
* [[Artists Guide|Graphics]] - Render and texture 3D-models&lt;br /&gt;
* [[Artists_Guide#Sounds_.26_Music|Sounds and music]] - Include sound effects and music into the game&lt;br /&gt;
* [[C4Script Style Guidelines]]&lt;br /&gt;
* [http://forum.openclonk.org/board_show.pl?bid=7 Scenario &amp;amp; Object Development forum]&lt;br /&gt;
* [[Git Workflow]] - How to use our repository&lt;br /&gt;
* [[Developers Guide]] - For engine developers&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1428</id>
		<title>C4Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1428"/>
		<updated>2014-02-16T09:25:32Z</updated>

		<summary type="html">&lt;p&gt;Newton: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:C4Script.png|right|frame]]&lt;br /&gt;
Like the previous Clonk titles, OpenClonk offers countless possibilites to create your own scenarios, objects and campaigns. Since [http://www.clonk.de/classics.php?lng=en Clonk 4], one of Clonk&#039;s most remarkable features has been it&#039;s extensibility. The complete content is scripted in C4Script, Clonk&#039;s own powerful scripting language, has been developed further since 1998. Now, it feels pretty much like a typical C-style scripting language. If you know other programming languages, you will have no problem to familarize yourself with C4Script and if you never programmed before, it can be a good introduction and practice to programming.&lt;br /&gt;
&lt;br /&gt;
You may want to develop based on the latest game data there is. See the [http://www.openclonk.org/nightly-builds/ nightly builds] page for the most current builds.&lt;br /&gt;
&lt;br /&gt;
== [http://docs.openclonk.org/en/sdk/ OpenClonk Documentation] ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cpem.gif|left|link=http://docs.openclonk.org/en/sdk/]] The [http://docs.openclonk.org/en/sdk/ documentation] is a complete reference for everything you need to know about the script language C4Script and its data structures, how the the game data is organized and about the APIs for e.g. dynamic landscape generation, using the particle or the effect system.&lt;br /&gt;
Note that the documentation is also still [http://docs.openclonk.org/de/sdk/ available in German], however it lacks maintenance, so always refer to the English version for recent stuff.&lt;br /&gt;
&lt;br /&gt;
== [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit] ==&lt;br /&gt;
&lt;br /&gt;
[[File:C4dt.png|left|64px|link=http://wiki.openclonk.org/w/Developing_Content_with_Eclipse]] The [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit], or short C4DT, is a plugin for Eclipse. Using Eclipse with C4DT for Clonk development makes it very comfortable as the editor offers many useful features for editing and debugging scripts you might know from other IDEs. &lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* [[Tutorial: Scenario Creation]]&lt;br /&gt;
* [[Tutorial: Map Generator - The Basics]]&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
* [[Artists Guide|Graphics]] - Render and texture 3D-models&lt;br /&gt;
* [[Artists_Guide#Sounds_.26_Music|Sounds and music]] - Include sound effects and music into the game&lt;br /&gt;
* [[C4Script Style Guidelines]]&lt;br /&gt;
* [http://forum.openclonk.org/board_show.pl?bid=7 Scenario &amp;amp; Object Development forum]&lt;br /&gt;
* [[Git Workflow]] - How to use our repository&lt;br /&gt;
* [[Developers Guide]] - For engine developers&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1427</id>
		<title>C4Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1427"/>
		<updated>2014-02-16T09:23:09Z</updated>

		<summary type="html">&lt;p&gt;Newton: add info from Content Developers Guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:C4Script.png|right|frame]]&lt;br /&gt;
Like the previous Clonk titles, OpenClonk offers countless possibilites to create your own scenarios, objects and campaigns. Since [http://www.clonk.de/classics.php?lng=en Clonk 4], one of Clonk&#039;s most remarkable features has been it&#039;s extensibility. The complete content is scripted in C4Script, Clonk&#039;s own powerful scripting language, has been developed further since 1998. Now, it feels pretty much like a typical C-style scripting language. If you know other programming languages, you will have no problem to familarize yourself with C4Script and if you never programmed before, it can be a good introduction and practice to programming.&lt;br /&gt;
&lt;br /&gt;
You may want to develop based on the latest game data there is. See the [http://www.openclonk.org/nightly-builds/ nightly builds] page for the most current builds.&lt;br /&gt;
&lt;br /&gt;
== [http://docs.openclonk.org/en/sdk/ OpenClonk Documentation] ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cpem.gif|left|link=http://docs.openclonk.org/en/sdk/]] The [http://docs.openclonk.org/en/sdk/ documentation] is a complete reference for everything you need to know about the script language C4Script and its data structures, how the the game data is organized and about the APIs for e.g. dynamic landscape generation, using the particle or the effect system.&lt;br /&gt;
Note that the documentation is also still [http://docs.openclonk.org/de/sdk/ available in German], however it lacks maintenance, so always refer to the English version for recent stuff.&lt;br /&gt;
&lt;br /&gt;
== [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit] ==&lt;br /&gt;
&lt;br /&gt;
[[File:C4dt.png|left|64px|link=http://wiki.openclonk.org/w/Developing_Content_with_Eclipse]] The [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4 Development Toolkit], or short C4DT, is a plugin for Eclipse. Using Eclipse with C4DT for Clonk development makes it very comfortable as the editor offers many useful features for editing and debugging scripts you might know from other IDEs. &lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* [http://wiki.openclonk.org/w/Tutorial:_Scenario_Creation Tutorial: Scenario Creation]&lt;br /&gt;
* [http://wiki.openclonk.org/w/Tutorial:_Map_Generator_-_The_Basics Dynamic Map Generator]&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
* [[Artists Guide|Graphics]] - Render and texture 3D-models&lt;br /&gt;
* [[Artists_Guide#Sounds_.26_Music|Sounds and music]] - Include sound effects and music into the game&lt;br /&gt;
* [[C4Script Style Guidelines]]&lt;br /&gt;
* [http://forum.openclonk.org/board_show.pl?bid=7 Scenario &amp;amp; Object Development forum]&lt;br /&gt;
* [[Git Workflow]] - How to use our repository&lt;br /&gt;
* [[Developers Guide]] - For engine developers&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=File:C4dt.png&amp;diff=1426</id>
		<title>File:C4dt.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=File:C4dt.png&amp;diff=1426"/>
		<updated>2014-02-16T08:55:02Z</updated>

		<summary type="html">&lt;p&gt;Newton: C4DT Icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;C4DT Icon&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1425</id>
		<title>C4Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=C4Script_Documentation&amp;diff=1425"/>
		<updated>2014-02-16T08:53:28Z</updated>

		<summary type="html">&lt;p&gt;Newton: add icon for openclonk documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:C4Script.png|right]]&lt;br /&gt;
Like the previous Clonk titles, OpenClonk offers countless possibilites to create your own scenarios, objects and campaigns. Since [http://www.clonk.de/classics.php?lng=en Clonk 4], one of Clonk&#039;s most remarkable features has been it&#039;s extensibility. The complete content is scripted in C4Script, Clonk&#039;s own powerful scripting language, has been developed further since 1998. Now, it feels pretty much like a typical C-style scripting language. If you know other programming languages, you will have no problem to familarize yourself with C4Script and if you never programmed before, it can be a good introduction and practice to programming.&lt;br /&gt;
&lt;br /&gt;
[[File:Cpem.gif|left]] The function list and everything about the script language, the game data and the APIs is documented in our &lt;br /&gt;
&#039;&#039;&#039;[http://docs.openclonk.org/en/sdk/ OpenClonk Documentation]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You may want to [http://www.openclonk.org/download/ download] the latest game data first before you add or edit any game content. See the [http://www.openclonk.org/nightly-builds/ nightly builds] page for the most current builds.&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
* [[Artists Guide|Graphics]] - Render and texture 3D-models&lt;br /&gt;
* [[Artists_Guide#Sounds_.26_Music|Sounds and music]] - Include sound effects and music into the game&lt;br /&gt;
* [[Content Developers Guide|Game content]] - including creating objects, scenarios and campaigns with C4Script&lt;br /&gt;
* [[Git Workflow]] - How to use our repository&lt;br /&gt;
* [[Developers Guide]] - For engine developers&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=File:Cpem.gif&amp;diff=1424</id>
		<title>File:Cpem.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=File:Cpem.gif&amp;diff=1424"/>
		<updated>2014-02-16T08:44:52Z</updated>

		<summary type="html">&lt;p&gt;Newton: C4Script Documentation Icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;C4Script Documentation Icon&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=Dynamic_Map_Generator&amp;diff=1417</id>
		<title>Dynamic Map Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=Dynamic_Map_Generator&amp;diff=1417"/>
		<updated>2014-01-26T07:11:50Z</updated>

		<summary type="html">&lt;p&gt;Newton: add note about Map.c&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dynamic Map Generator ==&lt;br /&gt;
&lt;br /&gt;
OpenClonk has a dynamic map generator that can be used to generate maps that look different everytime but still have specified recurring patterns, like lava likes, mountains, or sky islands. The documentation is available in the [http://docs.openclonk.org/en/sdk/scenario/MapCreatorS2.html C4Script reference here].&lt;br /&gt;
Mape is used to edit and display Landscape.txts, it doesn&#039;t support Map.c.&lt;br /&gt;
&lt;br /&gt;
=== Mape ===&lt;br /&gt;
&lt;br /&gt;
[[File:Mape.png|450px|border|right|Screenshot of Mape]]&lt;br /&gt;
&lt;br /&gt;
Mape is a tool that shows a live preview of the generated mape as the Landscape.txt code is being typed. The tool is available from the [http://www.openclonk.org/nightly-builds/ Development Snapshots] page for all major platforms. Its source code lives in the OpenClonk git repository.&lt;br /&gt;
&lt;br /&gt;
The tool is meant both for beginners and experts alike. Beginners can easily play around with all the possibilities and immediately see their effect on the generated map. Experts can easily tweak the map to their liking without having to restart the engine for every change they make.&lt;br /&gt;
&lt;br /&gt;
The mape window has four panels. The upper right part is the largest one which is where the Landscape.txt code can be edited. The panel to the left of it shows the file system tree. This is where one can select the Material.ocg file to be loaded. This specifies the materials and textures available to the map generator. The loaded materials and textures can be seen at the bottom panel once loaded which provides an easy view to what materials and textures are available. Finally in the lower right corner there is a preview of the generated map which updates as one types. The status bar contains error messages from the Landscape generator in case the Landscape.txt code is not correct.&lt;br /&gt;
&lt;br /&gt;
=== Tips and Tricks ===&lt;br /&gt;
&lt;br /&gt;
* The options allow to specify the width and height of the generated mape. To avoid any surprises, especially when specifying parameters with pixels instead of percentages, this should always be set to the same size as the OpenClonk map that one plans to create.&lt;br /&gt;
&lt;br /&gt;
* In the options there is also the possibility to use a fixed seed for the random number generator. This allows to always create the same map when using the same Landscape.txt code, even if it contains randomness. This can come handy when trying to get a part of the map right and one does not want the rest of the map to change with every keystroke.&lt;br /&gt;
&lt;br /&gt;
* If the random seed is not fixed, the map preview can be clicked on to generate another version of the map using the same Landscape.txt code but the randomness is re-evaluated.&lt;br /&gt;
&lt;br /&gt;
* For big maps, rendering the map can take a while, up to a few seconds. This considerably slows down the feedback one gets for changing little things here and there. In this case, one can comment out the parts of the map that one does not work on right now and concentrate only on one specific feature or aspect of it, and then put it all together in the end.&lt;br /&gt;
&lt;br /&gt;
* For overlays that use algo=script, the Script.c file that contains the script function that is being evaluated by the algorithm needs to be in the same directory as the Landscape.txt file. Therefore the Landscape.txt file must be saved at least once before algo=script can be used, so that mape knows where to look for the Script.c file. The landscape preview does not update automatically when the Script.c file is changed, but a simple click on it re-generates it.&lt;br /&gt;
&lt;br /&gt;
=== Bug Reports and Feature Requests ===&lt;br /&gt;
&lt;br /&gt;
Bug Reports and Feature Requests can be reported in the [http://bugs.openclonk.org bug tracker]. There is a category for mape.&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1416</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1416"/>
		<updated>2013-11-23T03:37:59Z</updated>

		<summary type="html">&lt;p&gt;Newton: add faq&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== I can not host a round on the internet! What can I do? ===&lt;br /&gt;
&lt;br /&gt;
If you want to host a game on the internet and are behind a router, you need to forward the ports 11111-11113 (TCP &amp;amp; UDP) in your home router configuration. &lt;br /&gt;
How to forward the ports completely depends on your router software, so you have to refer to your router&#039;s manual there.&lt;br /&gt;
&lt;br /&gt;
For more information on ports, see [[#Which ports does OpenClonk use?|Which ports does OpenClonk use?]]&lt;br /&gt;
&lt;br /&gt;
=== Which ports does OpenClonk use? ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the same ports as Clonk Rage. From the FAQ on clonk.de:&lt;br /&gt;
&lt;br /&gt;
By default, Clonk uses port 11112 TCP and port 11113 UDP for game connections. For best speed it is recommended to forward both of these ports through your router or firewall.&lt;br /&gt;
&lt;br /&gt;
For directly joining an IP address (without internet server) port 11111 TCP is required incoming on the host.&lt;br /&gt;
&lt;br /&gt;
Automatic game discovery in LAN works through port 11114 UDP. If necessary, these ports can be adjusted in the options dialog. For other functions the game will connect to the internet and league server clonk.de on port 84 and port 11115 for additional hole punching. &lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Where can I upload / download mods for OpenClonk? Are there any? ===&lt;br /&gt;
Have a look in the [http://forum.openclonk.org/board_show.pl?bid=18 Player Creations board] in the forum. You might also want to check the [http://www.ccan.de CCAN]&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device. &lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== What is the newest version? 5 or 3? ===&lt;br /&gt;
There has been some confusion regarding the version numbers of OpenClonk, so here is a little explanation: The full (&#039;&#039;engine&#039;&#039;) version number of for example OpenClonk 3.2 is 5.3.2 - &lt;br /&gt;
;5 = OpenClonk (the OC engine is a further development of [http://www.clonk.de/ Clonk Rage] which had 4 as it&#039;s first version number)&lt;br /&gt;
;3 = 3rd major release&lt;br /&gt;
;2 = 2nd update of the major release&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1413</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1413"/>
		<updated>2013-11-06T04:38:31Z</updated>

		<summary type="html">&lt;p&gt;Newton: add info on port forwarding&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== I can not host a round on the internet! What can I do? ===&lt;br /&gt;
&lt;br /&gt;
If you want to host a game on the internet and are behind a router, you need to forward the ports 11111-11113 (TCP &amp;amp; UDP) in your home router configuration. &lt;br /&gt;
How to forward the ports completely depends on your router software, so you have to refer to your router&#039;s manual there.&lt;br /&gt;
&lt;br /&gt;
For more information on ports, see [[#Which ports does OpenClonk use?|Which ports does OpenClonk use?]]&lt;br /&gt;
&lt;br /&gt;
=== Which ports does OpenClonk use? ===&lt;br /&gt;
&lt;br /&gt;
OpenClonk uses the same ports as Clonk Rage. From the FAQ on clonk.de:&lt;br /&gt;
&lt;br /&gt;
By default, Clonk uses port 11112 TCP and port 11113 UDP for game connections. For best speed it is recommended to forward both of these ports through your router or firewall.&lt;br /&gt;
&lt;br /&gt;
For directly joining an IP address (without internet server) port 11111 TCP is required incoming on the host.&lt;br /&gt;
&lt;br /&gt;
Automatic game discovery in LAN works through port 11114 UDP. If necessary, these ports can be adjusted in the options dialog. For other functions the game will connect to the internet and league server clonk.de on port 84 and port 11115 for additional hole punching. &lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device. &lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== What is the newest version? 5 or 3? ===&lt;br /&gt;
There has been some confusion regarding the version numbers of OpenClonk, so here is a little explanation: The full (&#039;&#039;engine&#039;&#039;) version number of for example OpenClonk 3.2 is 5.3.2 - &lt;br /&gt;
;5 = OpenClonk (the OC engine is a further development of [http://www.clonk.de/ Clonk Rage] which had 4 as it&#039;s first version number)&lt;br /&gt;
;3 = 3rd major release&lt;br /&gt;
;2 = 2nd update of the major release&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
	<entry>
		<id>https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1412</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openclonk.org/index.php?title=FAQ&amp;diff=1412"/>
		<updated>2013-11-05T17:45:56Z</updated>

		<summary type="html">&lt;p&gt;Newton: -&amp;gt; bugtracker&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you don&#039;t find your particular question answered here, post in the  [http://forum.openclonk.org/ forum]! You don&#039;t need to register but can ask as Anonymous there.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== I cannot start the game! What do I do? ===&lt;br /&gt;
For some people, the game crashes if they enable Triple Buffering for OpenGL in their graphics driver. Try disabling it:&lt;br /&gt;
If you have an AMD graphics card go into the Catalyst Control Center. (You will find it by typing ccc into the start menu on Windows). Go to Games and then 3D Application Settings. Scroll all the way down and at the very bottom un-select Triple Buffering.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t help, describe your problem in the bugtracker and post any relevant information:&lt;br /&gt;
* There is a Clonk.log in your OpenClonk directory. On Windows, it&#039;s in C:\Users\[Username]\AppData\Roaming\OpenClonk\&lt;br /&gt;
* What&#039;s your video card? Are your drivers up-to-date? Intel Express Chipsets reportedly have problems with OpenGL&lt;br /&gt;
* Which version of this game are you using? Did you try out the latest development snapshot? Does the problem persist then?&lt;br /&gt;
&lt;br /&gt;
=== How do I submit a patch? ===&lt;br /&gt;
This answer assumes that you are using TortoiseGit. After you [[Git Workflow|checked out the source code]] and made your changes, you need to &#039;&#039;commit&#039;&#039; these changes. Afterwards, you can use the context menu to create a patch. This will create a new file which you can paste into a forum post. If you made or changed a binary file, please also attach it to your post.&lt;br /&gt;
&lt;br /&gt;
If you use GitHub, you can also create a pull request for [https://github.com/openclonk/openclonk our project on GitHub]. Be advised however that the repository on GitHub is just a mirror of our repository. &lt;br /&gt;
&lt;br /&gt;
=== Why is this page in English? Isn&#039;t Clonk a German game? ===&lt;br /&gt;
Clonk has been a German shareware game and thus its community has been mainly German. With the switch to the English language for the OpenClonk community, we intended to widen the community to an international level and make it possible for non-Germans to contribute to and participate in OpenClonk.&lt;br /&gt;
However, there is a German subforum now.&lt;br /&gt;
&lt;br /&gt;
And of course, German, as well as other languages will continue to be supported in the game. Just the &#039;&#039;development&#039;&#039; and the community of OpenClonk will be in English.&lt;br /&gt;
&lt;br /&gt;
=== Why did you start from scratch regarding the game content? ===&lt;br /&gt;
During shareware Clonk development, the game content stayed mainly about the same and was just extended by add-ons. This and the decision to keep the game as backward compatible as possible blocked lots of good changes and new concepts that could have been introduced in the game.&lt;br /&gt;
&lt;br /&gt;
OpenClonk is a different game than the old Clonk series, it is not be just a sequel in the fashion of previous Clonk development. The aim of OpenClonk is not to replace Clonk Rage by  &amp;quot;making it better&amp;quot; while keeping everything as it was before. &lt;br /&gt;
Clonk is about mining, about production lines and economy, fast and fiddly melees, known for flexibility in scenario design and whatnot. In this project, we aim to improve these strengths, which means that during OpenClonk development more fundamental changes must be (and are) possible.&lt;br /&gt;
&lt;br /&gt;
Clonk Rage on the other hand will continue to exist alongside OpenClonk as the last title of the shareware series and will continue to include all that classical and that the community has come to love. Also read &lt;br /&gt;
[http://forum.openclonk.org/topic_show.pl?pid=1677#pid1677 this old forum discussion] on this topic.&lt;br /&gt;
&lt;br /&gt;
=== Will you convert all those great Clonk Rage expansions for OpenClonk? ===&lt;br /&gt;
No, and we never will. OpenClonk is not backwards compatible with Clonk Rage, and never will be. We have broken ties with the old game content which all these expansions rely on. Hence the name, they are expansions for Clonk Rage. Specifically, Clonk Rage. OpenClonk is a different game with different game content, graphics, and script language, and therefore cannot have it&#039;s game content expanded with expansions designed for a completely different game.&lt;br /&gt;
&lt;br /&gt;
=== Am I able to play with several players on one PC? ===&lt;br /&gt;
Generally yes. However, currently this is not possible yet.&lt;br /&gt;
&lt;br /&gt;
=== Will there be keyboard-only controls? ===&lt;br /&gt;
No. OpenClonk is played with keyboard and mouse as the whole game is designed to utilize the advantages of mouse control. This adds a completely new set of gameplay possibilities to the game that would never have been possible in the shareware Clonk titles. However, gamepad controls are supported in the game and they work quite well considering that a gamepad doesn&#039;t have a pointing device. &lt;br /&gt;
However you can create your own keyboard-only control scheme based on the gamepad control scheme.&lt;br /&gt;
&lt;br /&gt;
=== Are other Clonk games available as source code? ===&lt;br /&gt;
The source code for most older Clonk versions [http://www.clonk.de/source.php is available from Redwolf Design]. Here is a list of modified versions:&lt;br /&gt;
* [http://wiki.gp2x.org/articles/c/l/o/Clonk2X.html Clonk Planet for GP2x]&lt;br /&gt;
* [http://www.goldwipf.de/ The GWE] ([http://www.ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&amp;amp;i=5757 download from CCAN])&lt;br /&gt;
&lt;br /&gt;
=== Is there an editor for OpenClonk? ===&lt;br /&gt;
Yes, the [http://wiki.openclonk.org/w/Developing_Content_with_Eclipse C4DT], the Clonk Development Tools for Eclipse, maintained by Mortimer. Eclipse is a powerful open source IDE that you will have heard of if you ever developed in Java. C4DT is a plugin for Eclipse that makes it possible to develop for Clonk in C4Script and even debug your code one-instruction-at-a-time using this powerful IDE.&lt;br /&gt;
&lt;br /&gt;
The old explorer-like Editor.exe that you might know from Clonk Rage doesn&#039;t exist anymore in OpenClonk. However, the editor mode still exists for drawing and designing scenarios. Just start clonk with the commandline parameter &#039;&#039;--editor&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For more information on how to develop content for the game, see the [[C4Script Documentation]].&lt;br /&gt;
&lt;br /&gt;
=== How can I create my own game content? ===&lt;br /&gt;
If you are looking to develop your own game content for or based on OpenClonk, have a look at the [[C4Script Documentation]], you should find everything there. See also a related FAQ answer: [[#Is there an editor for OpenClonk?|Is there an editor for OpenClonk?]]&lt;br /&gt;
&lt;br /&gt;
If you are interested in getting involved and contributing to OpenClonk, this introduction on [[Development|development]] should make you happy :-).&lt;br /&gt;
For any other open questions regarding this, consider dropping by in our [http://forum.openclonk.org/ forum] or in our [irc://irc.euirc.net/openclonk IRC channel]!&lt;br /&gt;
&lt;br /&gt;
=== What is the newest version? 5 or 3? ===&lt;br /&gt;
There has been some confusion regarding the version numbers of OpenClonk, so here is a little explanation: The full (&#039;&#039;engine&#039;&#039;) version number of for example OpenClonk 3.2 is 5.3.2 - &lt;br /&gt;
;5 = OpenClonk (the OC engine is a further development of [http://www.clonk.de/ Clonk Rage] which had 4 as it&#039;s first version number)&lt;br /&gt;
;3 = 3rd major release&lt;br /&gt;
;2 = 2nd update of the major release&lt;br /&gt;
&lt;br /&gt;
=== Where can I report bugs? ===&lt;br /&gt;
In the [http://bugs.openclonk.org bugtracker].&lt;br /&gt;
&lt;br /&gt;
=== How can I build OpenClonk myself? ===&lt;br /&gt;
Check out [[Build_OpenClonk|this tutorial]].&lt;/div&gt;</summary>
		<author><name>Newton</name></author>
	</entry>
</feed>