<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SFM-Blog</title>
	<atom:link href="http://blog.sfm-modding.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sfm-modding.de</link>
	<description>Tutorials, Tipps &#38; mehr</description>
	<lastBuildDate>Mon, 02 Aug 2010 18:20:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Gamescom 2010</title>
		<link>http://blog.sfm-modding.de/2010/08/02/gamescom-2010/</link>
		<comments>http://blog.sfm-modding.de/2010/08/02/gamescom-2010/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 18:18:45 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Gamescom]]></category>
		<category><![CDATA[Giants]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[PR]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=121</guid>
		<description><![CDATA[
Die fleißigen Foren-Leser werden es sicherlich schon wissen, für alle anderen möchte ich hier noch einmal auf den Stand von GIANTS-Software an der Gamescom 2010 hinweisen. Hier wird es eine spielbare Preview-Version der neuen Version des Landwirtschafts-Simulators geben.
Den Stand findet ihr hier:
Halle 8.1, Stand A-042
Auch wir von SFM-Modding werden dort vertreten sein und alle 2 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="width: 224px; height: 80px;" title="Gamescom2010" src="http://blog.sfm-modding.de/wp-content/uploads/2010/08/gamescomgqta.jpg" alt="Gamescom2010" width="224" height="80" /><img style="width: 82px; height: 80px; float: none;" title="GIANTS" src="http://blog.sfm-modding.de/wp-content/uploads/2010/08/giants_engine_logo_4_chqqd.jpg" alt="GIANTS" width="82" height="80" /></p>
<p><a href="http://blog.sfm-modding.de/wp-content/uploads/2010/08/giants_engine_logo_4_chqqd.jpg"></a>Die fleißigen Foren-Leser werden es sicherlich schon wissen, für alle anderen möchte ich hier noch einmal auf den Stand von GIANTS-Software an der <strong>Gamescom 2010</strong> hinweisen. Hier wird es eine <strong>spielbare Preview-Version</strong> der neuen Version des Landwirtschafts-Simulators geben.</p>
<p>Den Stand findet ihr hier:</p>
<p><strong>Halle 8.1, Stand A-042</strong></p>
<p>Auch wir von <em>SFM-Modding</em> werden dort vertreten sein und alle <span style="text-decoration: underline;">2 Stunden</span> einige Tipps und Tricks in Form eines <strong>Live-Moddings</strong> vorstellen. Auch für Fragen und Anregungen stehen wir euch während der gesamten Gamescom zur Verfügung.</p>
<p>Da Stefan (<em>steyr1</em>) leider nicht anwesend sein kann, wird uns Sven (<em>Sven777b)</em> unterstützen. Er wird euch alles rund ums <strong>Scripten</strong> und <strong>Konvertieren </strong>(Ingame bringen, XML, I3D) näherbringen, während ich (<em>Face</em>) euch Tipps und Tricks im Umgang mit <strong>Maya</strong> (UV-Mapping, Exportieren, Polygon-Modeling) und <strong>Photoshop</strong> (Texturepainting, Normalmapping) zeigen werde. Chris (<em>MadMax</em>) wird sich mit einigen anderen, in der LS-Szene bekannten Persönlichkeiten, um eure Fragen rund um den Landwirtschafts-Simulator und um die Betreuung der Spiele-Rechner kümmern.</p>
<p>Wir wünschen euch heute schon viel Spaß auf der Messe. Vielleicht sieht man sich ja!</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/08/02/gamescom-2010/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Grundlagen des Game-Development &#8211; Teil 2</title>
		<link>http://blog.sfm-modding.de/2010/07/22/grundlagen-des-game-development-teil-2/</link>
		<comments>http://blog.sfm-modding.de/2010/07/22/grundlagen-des-game-development-teil-2/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 19:04:55 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[Game-Development]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Modding]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=108</guid>
		<description><![CDATA[Im ersten Teil des Workshops haben wir gesehen aus welchen Teilen eine Game-Engine besteht. Im zweiten Teil wollen wir nun näher auf die Technik dahinter eingehen.
Multihreading

Um die einzelnen Teile zu einem flüssigen Spielablauf zusammen zu bauen, benötigt man eine Technik um mehrere Programmteile nahe zu gleichzeitig ablaufen zu lassen. Hier kommt die Technologie des Multithreading zum [...]]]></description>
			<content:encoded><![CDATA[<p>Im ersten Teil des Workshops haben wir gesehen aus welchen Teilen eine Game-Engine besteht. Im zweiten Teil wollen wir nun näher auf die Technik dahinter eingehen.</p>
<h4>Multihreading</h4>
</p>
<p>Um die einzelnen Teile zu einem flüssigen Spielablauf zusammen zu bauen, benötigt man eine Technik um mehrere Programmteile nahe zu gleichzeitig ablaufen zu lassen. Hier kommt die Technologie des <strong>Multithreading</strong> zum Einsatz. Sie ermöglicht es z.B. das Rendering und die Soundausgabe gleichzeitig ablaufen zu lassen und somit ein flüssiges Gameplay zu realisieren.<br />
<span id="more-108"></span><br />
Entgegen einem weit verbreitetem Gerücht muss hier kurz erwähnt werden, dass auch die GIANTS-Engine auf diese Technologie zurückgreift. Folgende Threads werden hier benutzt:</p>
<p>1x Sound<br />
1x Spiellogik + Rendering (OpenGL mit wieder eigenen Threads)<br />
2-nx Physik-Berechnungen</p>
<p>Der Ursprung dieses Gerüchts liegt am Windows-Betriebssystem, dass Programme und deren Threads managed und ein Programm erst auf mehrere Kerne verteilt, sofern eine bestimmte Anzahl an Threads benutzt wird.</p>
<h4>Der Gameloop</h4>
</p>
<p>Der Gameloop ist ein weiterer wichtiger Bestandteil eines Spiels, denn er sorgt für den reibungslosen, an den jeweiligen Rechner angepassten (FPS) Spielablauf. Der folgende Dummy-Code zeigt kurz den üblichen Ablauf in einer vereinfachten Form:</p>
<ol>
<li><em>Solange das Spiel nicht geschlossen wird:</em>
<ol>
<li><em><em>Checke Input (Tastatur, Maus, Joystick, etz.)</em></em></li>
<li><em><em><em>Berechne Physik</em></em></em></li>
<li><em><em><em><em>Berechne Spiellogik</em></em></em></em></li>
<li><em><em><em><em><em>Gebe Sound aus</em></em></em></em></em></li>
<li><em><em><em><em><em><em>Male Spiel (Rendering)</em></em></em></em></em></em></li>
</ol>
</li>
<li><em><em>Starte wieder bei 1.</em></em></li>
</ol>
</p>
<p>Im Zuge des Multithreadings werden die einzelnen Schritte (1.1-1.5) nahezu parallel ausgeführt.</p>
<p>Wie bereits erwähnt, sorgt dieser Gameloop für den reibungslosen Ablauf des Spiels. Die Kennzahl die diesen Ablauf wiederspiegelt wird im 3D-Bereich als Frames-Per-Second(FPS) bezeichnet. Sie definiert also die Anzahl der gerenderten Bilder pro Sekunde und ist damit ein Indiz für das Empfinden des Spielablaufs. Das diese Kennzahl von einigen Faktoren abhängt, weiß jeder, der schon einmal verschiedene  3D-Spiele gespielt hat. Einige dieser Faktoren der Beeinflussung sind hier aufgelistet:</p>
<ul>
<li>Polygonanzahl und andere Einflüsse (Einstellungen, Tetxuren, etz)</li>
<li>Qualität der Programmierung (Engine oder Scripte)</li>
<li>Anderweitige Tätigkeiten am PC</li>
<li>Potential des Rechners</li>
</ul>
<p>Im späteren Verlauf des Workshops werden wir noch sehen wie man diese FPS-Kennzahl in die Berechnung der Scripte mit einbeziehen kann, um so, trotz geringer FPS-Zahl einen reibungslosen Spielablauf zu garantieren. Zuvor sollten aber noch einige wichtige Prinzipien genannt werden, um eben die FPS-Zahl nicht unnötig zu verschlechtern:</p>
<ol>
<li>Performance-orientiertes Modding ist wichtig
<ol>
<li>Saubere Scripte
<ol>
<li>Abfangen unnötiger Berechnungen</li>
<li>Weglassen unnötiger Schleifen-Durchläufe</li>
</ol>
</li>
<li>Sauberes Polygonmodelling
<ol>
<li>Weglassen unnötiger Polygone</li>
<li>Weglassen unnötiger Details</li>
<li>Darstellung von Details durch Texture-, Normal-, Specular-Maps</li>
<li>Richtige Einstellung der I3D-Files</li>
</ol>
</li>
</ol>
</li>
<li>Auswirkungen des Moddings beachten
<ol>
<li>Modding ist Eingriff in die Standard-Spielroutinen</li>
<li>Veränderung an diesen -&gt; erneutes Testen erforderlich</li>
</ol>
</li>
</ol>
</p>
<h4>Grundlagen des Modelling</h4>
</p>
<p>Zum Ende noch ein paar Definitionen der wichtigsten Begriffe:</p>
<ul>
<li>Bestandteile eines Modells:
<ul>
<li>Vertex (<em>Eckpunkt eines Modells</em>)</li>
<li>Polygon (<em>Fläche zwischen 3-Vertices</em>)</li>
<li>Face (<em>Fläche aus mehreren Polygonen</em>)</li>
<li>Mesh (<em>Ansammlung von zusammengehörenden Faces/Polygonen)</em></li>
<li>TG (<em>Transformgroup zur Definition eines neuen Spaces)</em></li>
<li>Modell (<em>Ansammlung von Meshes und Transformgroups)</em></li>
</ul>
</li>
<li>Sichtbarkeit:
<ul>
<li>Per Defintion sind Faces/Polygone nur von einer Seite sichtbar!</li>
<li>Sichtbarkeit wird über sogenannte Normals gesteuert</li>
</ul>
</li>
<li>Normals:
<ul>
<li>Benötigt zur Berechnung des Lichteinfalls und der Reflexionen</li>
</ul>
</li>
<li>Weitere Grundbegriffe:
<ul>
<li>Shading (<em>Definition der Oberfläche eines 3D-Objektes)</em></li>
<li>Textur (<em>Muster/Struktur die auf ein 3D-Objekt aufgebracht wird)</em></li>
<li>Mapping (<em>Prozess des Auflegens einer Textur auf ein 3D-Objekt)</em></li>
<li>Lightning (<em>Prozess des Positionierens von Lichtquellen)</em></li>
<li>Rendering (<em>Erzeugen einer 2D-Ansicht eines 3D-Modells)</em></li>
</ul>
</li>
<li>Lichtarten:
<ul>
<li>Pointlight (<em>hat Ursprung und strahlt rundum Licht ab)</em></li>
<li>Directionallight (<em>strahlt auf der ganzen Breite aus einer definierten Richtung)</em></li>
<li>Spotlight (<em>wie Pointlight, nur Begrenzung auf Abstrahlkegel)</em></li>
</ul>
</li>
<li>Orientierung und Ausrichtung
<ul>
<li>Jedes Objekt (TG/Mesh) hat einen Nullpunkt (Pivot)</li>
<li>Alle Aktionen werden von diesem aus berechnet
<ul>
<li>Translation (Verschiebung)</li>
<li>Rotation (Drehung)</li>
<li>Scale (Skalierung)</li>
</ul>
</li>
</ul>
</li>
<li>Local- vs. Worldspace
<ul>
<li>Worldspace (<em>Koordinaten <strong>ABSOLUT </strong>zum Spiel-Nullpunkt)</em></li>
<li><em>Localspace (Koordinaten <strong>RELATIV</strong> zum Vater-Nullpunkt)</em></li>
</ul>
</li>
</ul>
<p>Viel Spaß beim Lesen</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/07/22/grundlagen-des-game-development-teil-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grundlagen des Game-Development &#8211; Teil 1</title>
		<link>http://blog.sfm-modding.de/2010/07/14/grundlagen-des-game-development-teil-1/</link>
		<comments>http://blog.sfm-modding.de/2010/07/14/grundlagen-des-game-development-teil-1/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 17:32:08 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[Game-Development]]></category>
		<category><![CDATA[Modding]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=76</guid>
		<description><![CDATA[Heute und jetzt startet die Online-Version unseres Script-Workshops. Ich werde, wie bereits vor einigen Tagen erwähnt, in den nächsten Wochen die einzelnen Kapitel bzw. Auszüge aus ihnen aufbereiten und hier veröffentlichen.
Nur Auszüge?
Ja und Nein. Einerseits werde ich nicht alles 1:1 übernehmen können, da viele Kapitel einfach zu viel Theorie enthalten, um hier in einem Artikel [...]]]></description>
			<content:encoded><![CDATA[<p>Heute und jetzt startet die Online-Version unseres Script-Workshops. Ich werde, wie bereits vor einigen Tagen erwähnt, in den nächsten Wochen die einzelnen Kapitel bzw. Auszüge aus ihnen aufbereiten und hier veröffentlichen.</p>
<p>Nur Auszüge?</p>
<p>Ja und Nein. Einerseits werde ich nicht alles 1:1 übernehmen können, da viele Kapitel einfach zu viel Theorie enthalten, um hier in einem Artikel zusammen gefasst zu werden. Um dies zu bewerkstelligen, werde ich die einzelnen Artikel nochmals aufteilen. Andererseits gibt mir diese Splittung auch die Möglichkeit, die einzelnen Kapitel mit mehr Inhalt zu füllen, denn die Ursprünglichen Folien sind eben sehr spärlich gefüllt, denn es sind ja nur Folien.</p>
<p><em>Wichtig ist jedoch, dass ich persönlich wohl eher keine Fragen per Email-Anfragen beantworten werde. Deshalb wäre ich froh, wenn diese Fragen hier als Kommentare gepostet werden!</em></p>
<p>Also starten wir mit <strong>Kapitel 1: Grundlagen des Game-Development</strong></p>
<p><span id="more-76"></span></p>
<h3><strong>Die Game-Engine</strong></h3>
</p>
<p>Um sich einen Überblick zu verschaffen, was genau eine Game-Engine ist bzw. beinhaltet, reicht ein Blick auf Wikipedia. Hier erfährt man folgendes:</p>
<blockquote><p><em>&#8220;Eine </em><strong><em>Spiel-Engine</em></strong><em> (engl. </em><strong><em>Game Engine</em></strong><em>) ist ein Computerprogramm, das den Spielverlauf steuert und für die visuelle Darstellung des Spieleablaufs verantwortlich ist.&#8221;</em></p></blockquote>
<p>Da es sich bei einer solchen Game-Engine aus einem Gerüst verschiedenster Teile handelt, ist es notwendig sich einen genauen Überblick über die einzelnen Bestandteile zu verschaffen, um später genau zu wissen, wie die einzelnen Funktionen einer Engine zusammenspielen. Die wichtigsten Bestandteile sind die folgenden:</p>
<h4>Grafikengine<span style="font-weight: normal;"> (Darstellung des Spiels, das sogenannte Rendern)</span></h4>
<h4>Physiksystem<span style="font-weight: normal;"> (Berechnung der physikalischen Gegebenheiten im Spiel)</span></h4>
<h4>Soundsystem<span style="font-weight: normal;"> (Mischen und Wiedergeben der verschiedenen Sound-Files/-Streams)</span></h4>
<h4>Steuerung<span style="font-weight: normal;"> (Abfangen und Reagieren auf Nutzer-Eingaben, z.B. Tastatur, Maus, etz,)</span></h4>
<h4>Datenmanagement<span style="font-weight: normal;"> (Management aller Daten, z.B. Positionsdaten von Fahrzeugen)</span></h4>
<h4>Netzwerkanbindung<span style="font-weight: normal;"> (Optional)</span></h4>
<h4>Skript-Unterstützung<span style="font-weight: normal;"> (Optional)</span></h4>
</p>
<p>Hieraus ist nun auch der Unterschied zwischen einer <strong>3D-Engine</strong> und einer <strong>Game-Engine</strong> ersichtlich. Denn eine 3D-Engine ist nur ein Teilbereich bzw. eine Untermenge einer Game-Engine.</p>
<h3><strong>Warum Skript-Unterstützung?</strong></h3>
</p>
<p>Kommen wir nun zum wohl, aus Sicht dieses Workshops, wichtigsten Part der Game-Engine und der Frage, warum eine Skript-Unterstützung bei einer Game-Engine Sinn macht.</p>
<p>Um diese Frage zu klären ist eine Auflistung von Vor- und Nachteilen sinnvoll:</p>
<p><strong>Vorteile:</strong></p>
<h4><span style="font-weight: normal;">+ Script-Sprache leichter erlernbar (für Artists und Designer)</span></h4>
<h4><span style="font-weight: normal;">+ Schnelles <a title="Prototyping" href="http://de.wikipedia.org/wiki/Prototyping_(Softwareentwicklung)" target="_blank">Prototyping</a></span></h4>
<h4><span style="font-weight: normal;">+ Keine <a title="Neucompilierung" href="http://de.wikipedia.org/wiki/Kompilierung" target="_blank">Neucompilierung</a> des Engine-Codes</span></h4>
<h4><span style="font-weight: normal;">+ Erleichterte Modding-Möglichkeiten</span></h4>
</p>
<p><strong>Nachteile:</strong></p>
<h4><span style="font-weight: normal;">- Script-Sprache ist langsamer als <a title="Nativer-Code" href="http://de.wikipedia.org/wiki/Maschinensprache" target="_blank">Nativer-Code</a> (C++)</span></h4>
<h4><span style="font-weight: normal;">- Einbindung einer Script-Unterstützung mit Aufwand verbunden (Geld, Zeit, Wartung)</span></h4>
</p>
<p>Wenn man sich diesen Vergleich nun ein bisschen genauer ansieht und auch die einzelnen Vor- und Nachteile gewichtet, wird man merken, dass die Vorteile doch sehr überwiegen. Das zeigt sich auch in der Entwicklung der letzten Jahre. Immer mehr Engine-Hersteller bieten diese Script-Unterstützung an. Die bekanntesten Sprachen sind wohl <strong>UnrealScript</strong>, <strong>C-Script</strong> und <strong>LUA</strong>. Letztere wird in vielen bekannten Spielen, wie z.B. WorldOfWarcraft, Crysis, Siedler und auch im Landwirtschafts-Simulator benutzt.</p>
<p>So das war nun der erste Teil des Workshops. Weitere Folgen. Viel Spaß beim lesen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/07/14/grundlagen-des-game-development-teil-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tastenbelegung und ein neues Feature</title>
		<link>http://blog.sfm-modding.de/2010/07/10/tastenbelegung-und-ein-neues-feature/</link>
		<comments>http://blog.sfm-modding.de/2010/07/10/tastenbelegung-und-ein-neues-feature/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 14:03:27 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[modDesc]]></category>
		<category><![CDATA[Modding]]></category>
		<category><![CDATA[Tastatur]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=68</guid>
		<description><![CDATA[Da es immer wieder vorkommt, dass man gefragt wird, wie eine bestimmte Taste in der LS-Welt bezeichnet wird, habe ich mal eine Liste aller möglichen Tasten zusammengestellt, die ihr in der modDesc.xml benutzen könnt:

AXIS_1
AXIS_2
AXIS_3
AXIS_4
AXIS_5
AXIS_6
AXIS_W
AXIS_X
AXIS_Y
AXIS_Z
BUTTON_1
BUTTON_10
BUTTON_11
BUTTON_12
BUTTON_13
BUTTON_14
BUTTON_15
BUTTON_16
BUTTON_2
BUTTON_3
BUTTON_4
BUTTON_5
BUTTON_6
BUTTON_7
BUTTON_8
BUTTON_9
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_KP_0
KEY_KP_1
KEY_KP_2
KEY_KP_3
KEY_KP_4
KEY_KP_5
KEY_KP_6
KEY_KP_7
KEY_KP_8
KEY_KP_9
KEY_KP_divide
KEY_KP_enter
KEY_KP_equals
KEY_KP_minus
KEY_KP_multiply
KEY_KP_period
KEY_KP_plus
KEY_a
KEY_b
KEY_c
KEY_d
KEY_e
KEY_f
KEY_g
KEY_h
KEY_i
KEY_j
KEY_k
KEY_l
KEY_m
KEY_n
KEY_o
KEY_p
KEY_q
KEY_r
KEY_s
KEY_t
KEY_u
KEY_v
KEY_w
KEY_x
KEY_y
KEY_z
KEY_f1
KEY_f10
KEY_f11
KEY_f12
KEY_f13
KEY_f14
KEY_f15
KEY_f2
KEY_f3
KEY_f4
KEY_f5
KEY_f6
KEY_f7
KEY_f8
KEY_f9
KEY_ampersand
KEY_asterisk
KEY_at
KEY_backquote
KEY_backslash
KEY_caret
KEY_clear
KEY_colon
KEY_comma
KEY_delete
KEY_dollar
KEY_down
KEY_end
KEY_equals
KEY_esc
KEY_exclaim
KEY_greater
KEY_hash
KEY_home
KEY_insert
KEY_lalt
KEY_lctrl
KEY_left
KEY_leftbracket
KEY_leftparen
KEY_less
KEY_lshift
KEY_minus
KEY_pagedown
KEY_pageup
KEY_pause
KEY_period
KEY_plus
KEY_question
KEY_quote
KEY_quotedbl
KEY_ralt
KEY_rctrl
KEY_return
KEY_right
KEY_rightbracket
KEY_rightparen
KEY_rshift
KEY_semicolon
KEY_shift
KEY_slash
KEY_space
KEY_tab
KEY_underscore
KEY_up
MOD_ALT
MOD_CAPS
MOD_CTRL
MOD_LALT
MOD_LCTRL
MOD_LMETA
MOD_LSHIFT
MOD_META
MOD_MODE
MOD_NUM
MOD_RALT
MOD_RCTRL
MOD_RMETA
MOD_RSHIFT
MOD_SHIFT
MOUSE_BUTTON_LEFT
MOUSE_BUTTON_MIDDLE
MOUSE_BUTTON_NONE
MOUSE_BUTTON_RIGHT
MOUSE_BUTTON_WHEEL_DOWN
MOUSE_BUTTON_WHEEL_UP
Wichtig zu wissen ist, dass es trotz des Vorhanden seins einiger Tasten zu Problemen kommen kann. 
iGoogle &#8211; Support
Absofort kann der RSS-Feed [...]]]></description>
			<content:encoded><![CDATA[<p>Da es immer wieder vorkommt, dass man gefragt wird, wie eine bestimmte Taste in der LS-Welt bezeichnet wird, habe ich mal eine Liste aller möglichen Tasten zusammengestellt, die ihr in der modDesc.xml benutzen könnt:</p>
<p><span id="more-68"></span></p>
<pre class="brush: lua;">AXIS_1
AXIS_2
AXIS_3
AXIS_4
AXIS_5
AXIS_6
AXIS_W
AXIS_X
AXIS_Y
AXIS_Z
BUTTON_1
BUTTON_10
BUTTON_11
BUTTON_12
BUTTON_13
BUTTON_14
BUTTON_15
BUTTON_16
BUTTON_2
BUTTON_3
BUTTON_4
BUTTON_5
BUTTON_6
BUTTON_7
BUTTON_8
BUTTON_9
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_KP_0
KEY_KP_1
KEY_KP_2
KEY_KP_3
KEY_KP_4
KEY_KP_5
KEY_KP_6
KEY_KP_7
KEY_KP_8
KEY_KP_9
KEY_KP_divide
KEY_KP_enter
KEY_KP_equals
KEY_KP_minus
KEY_KP_multiply
KEY_KP_period
KEY_KP_plus
KEY_a
KEY_b
KEY_c
KEY_d
KEY_e
KEY_f
KEY_g
KEY_h
KEY_i
KEY_j
KEY_k
KEY_l
KEY_m
KEY_n
KEY_o
KEY_p
KEY_q
KEY_r
KEY_s
KEY_t
KEY_u
KEY_v
KEY_w
KEY_x
KEY_y
KEY_z
KEY_f1
KEY_f10
KEY_f11
KEY_f12
KEY_f13
KEY_f14
KEY_f15
KEY_f2
KEY_f3
KEY_f4
KEY_f5
KEY_f6
KEY_f7
KEY_f8
KEY_f9
KEY_ampersand
KEY_asterisk
KEY_at
KEY_backquote
KEY_backslash
KEY_caret
KEY_clear
KEY_colon
KEY_comma
KEY_delete
KEY_dollar
KEY_down
KEY_end
KEY_equals
KEY_esc
KEY_exclaim
KEY_greater
KEY_hash
KEY_home
KEY_insert
KEY_lalt
KEY_lctrl
KEY_left
KEY_leftbracket
KEY_leftparen
KEY_less
KEY_lshift
KEY_minus
KEY_pagedown
KEY_pageup
KEY_pause
KEY_period
KEY_plus
KEY_question
KEY_quote
KEY_quotedbl
KEY_ralt
KEY_rctrl
KEY_return
KEY_right
KEY_rightbracket
KEY_rightparen
KEY_rshift
KEY_semicolon
KEY_shift
KEY_slash
KEY_space
KEY_tab
KEY_underscore
KEY_up
MOD_ALT
MOD_CAPS
MOD_CTRL
MOD_LALT
MOD_LCTRL
MOD_LMETA
MOD_LSHIFT
MOD_META
MOD_MODE
MOD_NUM
MOD_RALT
MOD_RCTRL
MOD_RMETA
MOD_RSHIFT
MOD_SHIFT
MOUSE_BUTTON_LEFT
MOUSE_BUTTON_MIDDLE
MOUSE_BUTTON_NONE
MOUSE_BUTTON_RIGHT
MOUSE_BUTTON_WHEEL_DOWN
MOUSE_BUTTON_WHEEL_UP</pre>
<p>Wichtig zu wissen ist, dass es trotz des Vorhanden seins einiger Tasten zu Problemen kommen kann. </p>
<p><strong>iGoogle &#8211; Support</strong><br />
Absofort kann der RSS-Feed auch direkt in iGoogle angezeigt werden. Hierzu habe ich diese kleine Grafik oben rechts in der Title-Leiste eingebaut. Per Klick wird der Feed direkt in eure iGoogle-Oberfläche geladen.</p>
<p>Bis demnächst</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/07/10/tastenbelegung-und-ein-neues-feature/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tools der Mod-Entwicklung &#8211; Die Zweite</title>
		<link>http://blog.sfm-modding.de/2010/07/06/tools-der-mod-entwicklung-die-zweite/</link>
		<comments>http://blog.sfm-modding.de/2010/07/06/tools-der-mod-entwicklung-die-zweite/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:35:34 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Modding]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=50</guid>
		<description><![CDATA[Nachdem nun für alle das Thema Versionskontrolle kein Fremdwort mehr ist, können wir auch schon mit der Einführung in die Software- bzw. Mod-Entwicklung fortfahren.
Thema heute: Bug-Tracking oder auch Fehler-Verfolgung
Nicht nur im wahren Leben sind Käfer oft eine kleine Plage. Auch in der Software- bzw. Mod-Entwicklung ist das Vorhanden sein dieser kleinen Mitbewohner wohl DAS K.O-Kriterium, [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem nun für alle das Thema Versionskontrolle kein Fremdwort mehr ist, können wir auch schon mit der Einführung in die Software- bzw. Mod-Entwicklung fortfahren.</p>
<p><strong>Thema heute:</strong> <em>Bug-Tracking oder auch Fehler-Verfolgung</em></p>
<p>Nicht nur im wahren Leben sind Käfer oft eine kleine Plage. Auch in der Software- bzw. Mod-Entwicklung ist das Vorhanden sein dieser kleinen Mitbewohner wohl <strong>DAS </strong>K.O-Kriterium, dass sogar den besten Mod unspielbar und unbeliebt macht.</p>
<p>Um dieser Plage Herr zu werden, bedarf es entweder guter Planung oder der zu Hilfenahme eines sogenannten Tracking-Tools. Im folgenden Beispiel möchte ich nun kurz unser eingesetztes Bug-Tracking-System vorstellen.</p>
<p style="text-align: left;">Hierbei handelt es sich um das OpenSource-Tool FlySpray in der Version 0.9.9.6.</p>
<p><span id="more-50"></span></p>
<p style="text-align: left;">
<p style="text-align: left;"><a href="http://blog.sfm-modding.de/wp-content/uploads/2010/07/BugTracking_2.png"><img class="size-medium wp-image-51 aligncenter" title="BugTracking_2" src="http://blog.sfm-modding.de/wp-content/uploads/2010/07/BugTracking_2-300x167.png" alt="" width="300" height="167" /></a></p>
<p>Wie man auf diesem Screenshot gut erkennen kann, gibt es die Möglichkeit verschiedenste Projekte (Mods) anzulegen. Jedem dieser Mods können nun von verschiedenen Nutzern (Modder &amp; Tester) neue Aufgaben (Tickets) zugeordnet werden. Die Übersicht zeigt gut welche Aufgaben noch zu erledigen sind und wie weit der Fortschritt bei der Bearbeitung ist. Die einzelnen Farben definieren die Dringlichkeit der Aufgabe.</p>
<p>Das Roadmap-Feature gibt den Mod-Beteiligten eine gute Übersicht über den Gesamt-Status des aktuell gewählten Projekts, um so abschätzen zu können, wie viel Zeit noch eingeplant werden muss.</p>
<p style="text-align: center;"><a href="http://blog.sfm-modding.de/wp-content/uploads/2010/07/BugTracking_1.png"><img class="size-medium wp-image-52 aligncenter" title="BugTracking_1" src="http://blog.sfm-modding.de/wp-content/uploads/2010/07/BugTracking_1-286x300.png" alt="" width="286" height="300" /></a></p>
<p style="text-align: left;"><strong>Die Aufgabe</strong></p>
<p style="text-align: left;">Eine Aufgabe umfasst eine kurze Beschreibung, die den Bug, das gewünschte Feature oder den Hinweis spezifiziert. Nun können dieser Aufgabe noch Personen zugewiesen werden, die sich mit dieser befassen sollen. Weitere Kriterien wie Priorität, System, Version und Schweregrad können ebenso angegeben wie verschiedene Tester- und Entwickler- Kommentare, um den Bug-Report oder Feature-Request besser nachvollziehen zu können.</p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Vorteile, aber auch Nachteile</strong></p>
<p style="text-align: left;">Ein Vorteil dieses Systems ist sicherlich die Nachvollziehbarkeit eines jeden Problems, sei es ein Bug, ein Hinweis oder ein komplexer Feature-Request, denn dieses System gibt einen sehr guten Überblick über alle Aufgaben die während der Mod-Entwicklung aufgekommen sind. Ein weitere Vorteil ist, dass eben keine Bugs vergessen werden. Denn einmal ins System eingetragen, bleiben sie auch so lange dort, bis sie von einem Modder behoben wurden.</p>
<p style="text-align: left;">Dieser Vorteil zeigt auch schon einen Nachteil, welcher aber eigentlich kein Nachteil ist. Die einzelnen Aufgaben müssen per Hand eingetragen werden. Es gibt zwar einige Drop-Down-Boxen die einige Vorauswahlen bereitstellen, jedoch muss der eigentliche Beschreibungs-Text noch von Hand eingetragen werden.</p>
<p style="text-align: left;">Wenn man nun aber bedenkt, dass man diesen Text sowieso dem Modder per ICQ oder Email gesendet hätte, ist dieser Nachteil auch schon wieder neutralisiert und es zeigt sich, dass dieses System nur Vorteile mit sich bringt.</p>
<p style="text-align: left;">Ein nettest Feature ist die Email-Benachrichtigung, ähnlich wie bei der Versions-Kontrolle. Sobald etwas neues eingetragen wurde, bekommt der zuständige Nutzer eine kurze Benachrichtigung über die Änderung per Email.</p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Voraussetzungen</strong></p>
<p style="text-align: left;">Um dieses System zum laufen zu bringen, benötigt man im Falle von FlySpray einen Webserver mit PHP und MySQL-Datenbank.</p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Fazit</strong></p>
<p style="text-align: left;">Jeder der es satt hat, dass immer wieder Bugs vergessen werden, sollte sich dieses oder andere BugTracking-Systeme unbedingt einmal genauer anschauen. Für den Modder der nur ein paar Texturanpassungen macht oder Landschafts-Objekte moddet ist dieses System wohl eher nichts, denn der Verwaltungsaufwand übersteigt hier wohl eher den gewonnenen Nutzen.</p>
<p style="text-align: left;">
<p style="text-align: left;">In diesem Sinne, bis demnächst!</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/07/06/tools-der-mod-entwicklung-die-zweite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Das Zauberwort Versionskontrolle</title>
		<link>http://blog.sfm-modding.de/2010/06/29/das-zauberwort-versionskontrolle/</link>
		<comments>http://blog.sfm-modding.de/2010/06/29/das-zauberwort-versionskontrolle/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 14:45:04 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Modding]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Versionskontrolle]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=41</guid>
		<description><![CDATA[&#8220;Versionskontrolle? Was ist das denn wieder?&#8221; werden sich nun sicherlich einige von euch fragen. Ganz einfach:
Zauberei!
Nein. Das Ganze hat natürlich rein gar nichts mit Zauberei zu tun, sondern ist ein Prozess, um verschiedene Entwicklungszustände von Software für die Zukunft zu speichern.
Bei einem weiteren Blick auf Wikipedia erfährt man nun:
&#8220;Eine Versionsverwaltung ist ein System, das zur Erfassung [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Versionskontrolle? Was ist das denn wieder?&#8221; werden sich nun sicherlich einige von euch fragen. Ganz einfach:</p>
<p><strong>Zauberei!</strong></p>
<p>Nein. Das Ganze hat natürlich rein gar nichts mit Zauberei zu tun, sondern ist ein Prozess, um verschiedene Entwicklungszustände von Software für die Zukunft zu speichern.</p>
<p>Bei einem weiteren Blick auf Wikipedia erfährt man nun:</p>
<blockquote><p><em>&#8220;Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen an Dokumenten oder Dateien verwendet wird. Alle Versionen werden in einem Archiv mit </em><em>Zeitstempel</em><em> und Benutzerkennung gesichert und können später wieder hergestellt werden. Versionsverwaltungssysteme werden typischerweise in der Softwareentwicklung eingesetzt um </em><em>Quelltexte</em><em> zu verwalten.&#8221;</em></p></blockquote>
<p>Das Ganze kann man natürlich auch bei der Entwicklung von Mods für den Landwirtschafts-Simulator benutzen. Und genau deshalb habe ich mich heute hingesetzt und so ein System aufgesetzt. Hat leider einige Zeit in Anspruch genommen, aber der entstandene Nutzen enorm.</p>
<p><span id="more-41"></span></p>
<p>Denn wer kennt es nicht. In deinem Team gibt es mehrere Leute, die den Mod testen. Nach einigen Minuten kommen schon die ersten Beschwerden über einen Bug. Schnell wie du bist, fixed du den Bug und willst eine neue Bug-freie Version zu Verfügung stellen. Jedoch musst du nun an jeden deiner Tester eine Zip verschicken. Nach 1-2 Wochen hast du ein regelrechtes Zip-Wirwar im Team denn keiner weiß, ob er denn noch die neuste Version besitzt.</p>
<p>Hier schafft SVN (Subversion &#8211; Versionsverwaltung) Abhilfe. Man verteilt einfach an alle Tester die Zugangsdaten zum SVN-Repository (Globale Speicherstelle des Mods) und sobald sich am Mod etwas ändert, erhalten alle eingetragenen Nutzer eine Email mit der Aufforderung die neue Version zu laden. Somit können sie nun das SVN-Verzeichnis neu &#8220;auschecken&#8221; (bezeichnet den Vorgang, die aktuelle Version zu laden) und besitzen nun immer die aktuellste Version.</p>
<p>Einige denken sich nun sicherlich: <em>&#8220;Mmmmmh das Ganze kann ich aber auch auf meinen Webserver legen&#8221;</em></p>
<p>Richtig, aber SVN bringt weitere Vorteile mit sich. Wie der Name schon sagt, handelt es sich um ein Tool zur Versionsverwaltung bzw. -kontrolle. D.h. sobald man etwas an einer Datei ändert und diese &#8220;eincheckt&#8221; (bezeichnet den Vorgang des Online-Stellens einer geänderten Datei) wird die Vorgängerversion dieser Datei archiviert und ist somit auch zu einem späteren Zeitpunkt problemlos rekonstruierbar, um bei Bedarf nachzusehen, was man eben bei dieser Version genau geändert hat.</p>
<p>Ein weitere Vorteil ist, dass mehrere Leute gleichzeitig an einem Mod arbeiten können. Also Beispiel nenne ich hier mal mich als Scripter und MadMax als Tuning-Spezialist. Da er relativ oft Dinge in der XML ändert, in der ich natürlich auch herumfuhrwerke, kommt es oft zu Überschneidungen und wir müssen uns dann immer zusammen hinsetzen und die beiden XML-Dateien vergleichen. Auch hier schafft SVN Abhilfe. Denn es vollzieht diesen &#8220;Merge&#8221;-Vorgang (zusammenführen von 2 verschiedenen Dateien zu einer neuen) voll automatisch. Nur in seltenen Fällen muss man als Nutzer noch definieren, was gemacht werden soll.</p>
<p>Falls ich mit diesem kleinen Einblick in die Software-Entwicklung nun auch eure Interesse wecken konnte, findet ihr hier einige Links:</p>
<ul>
<li><a href="http://www.xp-dev.com/">http://www.xp-dev.com/</a> (Ein kostenloses SVN-Repository)</li>
<li><a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a> (Der SVN-Client zum Connecten auf das Repository)</li>
</ul>
<p>Grüße Manuel aka Face</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/06/29/das-zauberwort-versionskontrolle/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Workshop-Reihe</title>
		<link>http://blog.sfm-modding.de/2010/06/12/workshopreihe/</link>
		<comments>http://blog.sfm-modding.de/2010/06/12/workshopreihe/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 11:18:48 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Workshop]]></category>
		<category><![CDATA[Diskussion]]></category>
		<category><![CDATA[Folien]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=23</guid>
		<description><![CDATA[Unsere Online-Workshop-Reihe "Neue Modder braucht das Land" ist ja nun schon hinreichend bekannt. 
Neu ist nun aber das wir uns entschieden haben, diese bisher auf 5-10 Leute beschränkten Workshops frei für jedermann zur Verfügung zu stellen.]]></description>
			<content:encoded><![CDATA[<p>Unsere Online-Workshop-Reihe &#8220;Neue Modder braucht das Land&#8221; ist ja nun schon hinreichend bekannt.<br />
Neu ist nun aber, dass wir uns entschieden haben, diese bisher auf 5-10 Leute beschränkten Workshops frei für jedermann zur Verfügung zu stellen.<br />
Das Ganze wird wie folgt ablaufen:</p>
<p>In den nächsten Wochen werde ich die einzelnen Foliensätze für das Web aufbereiten und dann nach und nach in kleinen Artikeln online stellen. Ich werde Anfangs zu Testzwecken die Diskussionsplattform offen lassen, sodass auch über diese Artikel diskutiert werden kann, sofern Fragen aufkommen.</p>
<p>Ich hoffe, dass sich dadurch noch mehr neue Modder finden lassen, die die Community noch weiter voranbringen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/06/12/workshopreihe/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Hallo LS-Community</title>
		<link>http://blog.sfm-modding.de/2010/06/12/willkommen/</link>
		<comments>http://blog.sfm-modding.de/2010/06/12/willkommen/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 22:55:55 +0000</pubDate>
		<dc:creator>Manuel Leithner</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Willkommen]]></category>

		<guid isPermaLink="false">http://blog.sfm-modding.de/?p=1</guid>
		<description><![CDATA[Willkommen auf unserem kleinen Blog. Im Zeitalter von Web2.0 ist es nun an der Zeit das auch ein Blog Einkehr in die LS-Community findet.
Im Zuge der Veröffentlichung unsere SFM-InfoPage wollen wir nun auch diesen LS-spezifischen Blog vorstellen. Anfangs als reine Tutorial-Page gedacht, haben wir uns dann doch für einen Blog entschieden (thx 2 steyr_8112 für [...]]]></description>
			<content:encoded><![CDATA[<p>Willkommen auf unserem kleinen Blog. Im Zeitalter von Web2.0 ist es nun an der Zeit das auch ein Blog Einkehr in die LS-Community findet.<br />
Im Zuge der Veröffentlichung unsere <a title="SFM-InfoPage" href="http://www.sfm-modding.de">SFM-InfoPage</a> wollen wir nun auch diesen LS-spezifischen Blog vorstellen. Anfangs als reine Tutorial-Page gedacht, haben wir uns dann doch für einen Blog entschieden (thx 2 steyr_8112 für die Idee).</p>
<p>Hier werdet ihr in Zukunft kleine Artikel rund um den Landwirtschafts-Simulator und Demolition-Company finden. Diese Artikel werden sowohl Tipps&amp;Tricks und Tutorials als auch generelle Diskussionsthemen rund um euer Lieblingsspiel beinhalten.</p>
<p>Ein solcher Blog macht natürlich nur Sinn, wenn ihr User euch an diesen kleinen Diskussionen beteiligt. Deshalb würde es uns freuen, wenn ihr euch rege daran beteiligen würdet.</p>
<p>Mit freundlichen Grüßen,<br />
SFM-Modding</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sfm-modding.de/2010/06/12/willkommen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
