<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - The Gatherer Mobile</title>
		<link>https://www.blitzforum.de/worklogs/563/</link>
		<description>Worklog von Holzchopf</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Mon, 12 Feb 2018 21:36:04 +0100</pubDate>
		<lastBuildDate>Mon, 12 Feb 2018 21:36:04 +0100</lastBuildDate>

		<item>
			<title>Kollisionen, diesmal aber richtig</title>
			<link>https://www.blitzforum.de/worklogs/563/#3838</link>
			<guid>https://www.blitzforum.de/worklogs/563/#3838</guid>
			<author>Holzchopf</author>
			<description>Genau wie ich es mir vorgenommen habe, habe ich jetzt die Kollisionserkennung zwischen Rechtecken mit abgerundeten Ecken realisiert:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.holzchopf.ch/temp/worklogs/thegatherermobile/20180212-Collision.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alle sichtbaren Rechtecke mit abgerundeten Ecken werden &amp;uuml;brigens live gezeichnet - aus insgesamt 18 Triangles, &amp;uuml;ber die eine sparsame Viertelkreistextur gezogen wird. Und ja, wie man vielleicht sieht k&amp;ouml;nnen die Eckenradien unterschiedlich sein &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt; </description>
			<pubDate>Mon, 12 Feb 2018 21:36:04 +0100</pubDate>
		</item>

		<item>
			<title>Kollisionen</title>
			<link>https://www.blitzforum.de/worklogs/563/#3837</link>
			<guid>https://www.blitzforum.de/worklogs/563/#3837</guid>
			<author>Holzchopf</author>
			<description>Es wird Zeit, Kollisionen erkennen zu k&amp;ouml;nnen. Angefangen habe ich dummerweise mit den Kollisionen zwischen Figur und Level. Das Level besteht aus quadratischen Tiles, die Kollisionsbox der Figur hingegen ist ein Rechteck mit abgerundeten Ecken. Die Kollisionserkennung zwischen Rechtecken und Rechtecken mit abgerundeten Ecken funktioniert nun auch schon:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.holzchopf.ch/temp/worklogs/thegatherermobile/20180211-Collision.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aber ich h&amp;auml;tte lieber vorher etwas weiter studiert: Die Kollision zwischen Figur und Gegnern wird im Allgemeinen der Fall &lt;i&gt;Rechtecke mit abgerundeten Ecken&lt;/i&gt; untereinander sein. Und ein Rechteck ohne abgerundete Ecken ist im Prinzip auch nur ein Rechteck mit Eckenradius 0. H&amp;auml;tte ich also mit der Kollisionserkennung f&amp;uuml;r &lt;i&gt;Rechtecke mit abgerundeten Ecken&lt;/i&gt; untereinander angefangen, w&amp;auml;re nun schon beides erledigt &lt;img src=&quot;/forum/images/smiles/icon_confused.gif&quot; alt=&quot;Confused&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Ist es halt mal wieder so weit, dass ich etwas kaum fertiggeschriebenes neu schreiben werde. Aber was soll's, die Notizen und Skizzen, die mir f&amp;uuml;r den ersten Fall halfen, werden mir sicherlich auch das Leben f&amp;uuml;r die neue Arbeit erleichtern &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;Uuml;brigens habe ich angefangen neben &lt;i&gt;The Gatherer Mobile&lt;/i&gt; an einem Beitrag zu arbeiten f&amp;uuml;r den &lt;a href=&quot;https://www.syntaxbomb.com/index.php/topic,4030.msg12258.html#msg12258&quot; target=&quot;_blank&quot;&gt;Code a game competition - Jan 30th - Apr 10th 2018&lt;/a&gt; auf &lt;a href=&quot;https://www.syntaxbomb.com/index.php&quot; target=&quot;_blank&quot;&gt;SyntaxBomb&lt;/a&gt;. Ich versuche an beidem dran zu bleiben, aber da der Wettbewerb eine fixe Deadline hat, k&amp;ouml;nnte die Frequenz der Beitr&amp;auml;ge hier abnehmen &lt;img src=&quot;/forum/images/smiles/icon_rolleyes.gif&quot; alt=&quot;Rolling Eyes&quot; /&gt; </description>
			<pubDate>Sun, 11 Feb 2018 14:56:56 +0100</pubDate>
		</item>

		<item>
			<title>Ich hab ein Haustier!</title>
			<link>https://www.blitzforum.de/worklogs/563/#3836</link>
			<guid>https://www.blitzforum.de/worklogs/563/#3836</guid>
			<author>Holzchopf</author>
			<description>Wie auch beim Original wird das Blobmonster wieder der schw&amp;auml;chste Gegner. Im Moment tut es aber noch nichts anderes als dem Spieler wie ein Haustier nachzulaufen &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt;Beim letzten Beitrag zu den Animationen war ich &amp;uuml;brigens nicht ganz pr&amp;auml;zise: K&amp;ouml;rperteile werden nicht &amp;quot;von selbst&amp;quot; gerendert. Das Rendering &amp;uuml;bernimmt die Figur - diese entscheidet dann eben auch, was an welchen Animationspunkten angeheftet wird. Im Falle der Spielfigur sind das Bilder f&amp;uuml;r zwei H&amp;auml;nde, zwei F&amp;uuml;sse, ein K&amp;ouml;rper und ein Kopf.&lt;br /&gt;&lt;br /&gt;Wieso ich das schreibe? Weil das Blobmonster nicht aus mehreren K&amp;ouml;rperteilen/Bildern besteht, sondern aus neun Triangles, &amp;uuml;ber die eine Textur gezogen wird. Bewegt werden bislang vier Vertices &amp;uuml;ber Animationspunkte, so dass ein &amp;quot;Kriecheffekt&amp;quot; entsteht.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.holzchopf.ch/temp/worklogs/thegatherermobile/20180130-Blobmonster.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Das Blobmonster besteht also u.A. aus einem Array f&amp;uuml;r die X/Y-Koordinaten und einem f&amp;uuml;r die U/V-Koordinaten (oder S/T, wie es mancherorts auch genannt wird) f&amp;uuml;r alle Vertices, einem Array f&amp;uuml;r alle Triangles mit den Vertex-Indizes und zu guter Letzt zwei Arrays f&amp;uuml;r s&amp;auml;mtliche zu zeichnenden Dreiecke mit jeweils allen XY und UV-Paaren. Vor dem zeichnen via canvas.DrawPrimitives() werden einfach die beiden letzten Arrays neu bef&amp;uuml;llt. Diese letzten Schritte versuche/hoffe ich jetzt aber mit canvas.DrawIndexedPrimitives() zu &amp;uuml;berspringen.</description>
			<pubDate>Tue, 30 Jan 2018 11:15:45 +0100</pubDate>
		</item>

		<item>
			<title>Animationen!</title>
			<link>https://www.blitzforum.de/worklogs/563/#3835</link>
			<guid>https://www.blitzforum.de/worklogs/563/#3835</guid>
			<author>Holzchopf</author>
			<description>Ohne mich gross um Eingabe/Steuerung zu k&amp;uuml;mmern, stelle ich ein Animationssystem auf die Beine. Da die Grafiken pixelm&amp;auml;ssig gr&amp;ouml;sser sein werden, m&amp;uuml;sste ich mehr Frames in die Animationen einbauen, damit diese noch fl&amp;uuml;ssig dargestellt werden. Oder ich animiere die K&amp;ouml;rperteile direkt im Spiel. Ich entschied mich f&amp;uuml;r letzteres.&lt;br /&gt;&lt;br /&gt;Der jetzige Prototyp des Animationssystems besteht aus:&lt;br /&gt;&lt;b&gt;Animationen&lt;/b&gt;&lt;br /&gt;F&amp;uuml;r jede Animation (stehen, gehen etc) wird eine Klasse erstellt, welche die Methode &lt;i&gt;Update&lt;/i&gt; zur Verf&amp;uuml;gung stellt. Diese positioniert &amp;quot;Animationspunkte&amp;quot; abh&amp;auml;ngig von der Animationszeit. An diese Animationspunkte k&amp;ouml;nnen dann beliebige K&amp;ouml;rperteile angeheftet werden.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Animations-Player&lt;/b&gt;&lt;br /&gt;Quasi das Abspielger&amp;auml;t f&amp;uuml;r Animationen. Jede Figur wird einen davon erhalten. Das Abspielger&amp;auml;t wird mit einer Animation gef&amp;uuml;ttert und kann befohlen werden, diese in einer beliebigen Geschwindigkeit abzuspielen. Ausserdem k&amp;ouml;nnen Animationen mit zus&amp;auml;tzlichen Parametern gesteuert werden. Auch diese nimmt der Player entgegen.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;K&amp;ouml;rperteile&lt;/b&gt;&lt;br /&gt;K&amp;ouml;rperteile werden an Animationspunkte angeheftet und mit deren Hilfe und einer Transformationsmatrix positioniert. Die positionierten K&amp;ouml;rperteile werden dann auch gerendert.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Figur&lt;/b&gt;&lt;br /&gt;Besteht aus K&amp;ouml;rperteilen, einem Animations-Player und nat&amp;uuml;rlich den Animationen. Die Routine, welche die Steuerung der Figur &amp;uuml;bernimmt, startet auch die passende Animation in der passenden Geschwindigkeit. Alle gestarteten Animationen werden global aktualisiert.&lt;br /&gt;&lt;br /&gt;Bis jetzt gibt's die beiden Animationen &lt;i&gt;gehen&lt;/i&gt; und &lt;i&gt;stehen&lt;/i&gt; f&amp;uuml;r die Spielfigur:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.holzchopf.ch/temp/worklogs/thegatherermobile/20180126-TheGathererMobile.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wie man sieht, wird die &lt;i&gt;gehen&lt;/i&gt;-Animation der Bewegungsgeschwindigkeit angepasst.</description>
			<pubDate>Fri, 26 Jan 2018 20:14:06 +0100</pubDate>
		</item>

		<item>
			<title>The Gatherer goes Cerberus X</title>
			<link>https://www.blitzforum.de/worklogs/563/#3834</link>
			<guid>https://www.blitzforum.de/worklogs/563/#3834</guid>
			<author>Holzchopf</author>
			<description>Hallo Leute!&lt;br /&gt;&lt;br /&gt;Ich habe mich entschieden, auszuprobieren, wie ein Jump'n'Run f&amp;uuml;r Android funktionieren k&amp;ouml;nnte/kann/wird. Mobile Ger&amp;auml;te stellen ja eine komplett andere Herausforderung dar in Sachen Eingabem&amp;ouml;glichkeiten. Aber auch die Grafik muss f&amp;uuml;r die eher kleine Ausgabe optimiert werden (ich m&amp;ouml;chte nicht nur 3mm grosse Fig&amp;uuml;rchen auf dem Schirm rumh&amp;uuml;pfen sehen &lt;img src=&quot;/forum/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; /&gt; )&lt;br /&gt;&lt;br /&gt;Daf&amp;uuml;r werde ich mich gr&amp;ouml;sstenteils am Spiel The Gatherer orientieren. Ein paar von euch m&amp;ouml;gen sich noch daran erinnern, es war mein Beitrag zum 79. BCC:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.holzchopf.ch/temp/worklogs/thegatherermobile/20180126-TheGatherer.gif&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;</description>
			<pubDate>Fri, 26 Jan 2018 19:54:12 +0100</pubDate>
		</item>


	</channel>
</rss>
