<?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>La Tana del Dark</title>
	<atom:link href="http://www.darkmasterslair.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.darkmasterslair.net/blog</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 17:56:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Tutorials â€“ Un Gioco in XNA 4.0 â€“ Tutorial 2</title>
		<link>http://www.darkmasterslair.net/blog/?p=644#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=644#comments</comments>
		<pubDate>Tue, 01 Nov 2011 18:04:10 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=644</guid>
		<description><![CDATA[Allora, la prima cosa da fare in tutti i progetti Ã¨ appunto, mettere in piedi il progetto . Questo non Ã¨ un immenso lavoro in xna. Vi serve Microsoft Visual studio 2010 e XNA game studio 4.0. &#160;Una volta aperto visual studio, andiamo su nuovo, progetto&#160; selezionata la voce progetto vediamo che Ã¨ presente tutta [...]]]></description>
			<content:encoded><![CDATA[<p>Allora, la prima cosa da fare in tutti i progetti Ã¨ appunto, mettere in piedi il progetto <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . Questo non Ã¨ un immenso lavoro in xna. Vi serve Microsoft Visual studio 2010 e XNA game studio 4.0.</p>
<p>&nbsp;Una volta aperto visual studio, andiamo su nuovo, progetto&nbsp;</p>
<p><a href="http://www.darkmasterslair.net/blog/go.php?http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/1.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" title="(No click)"><img class="size-full wp-image-652 alignleft" title="nuovo progetto" src="http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/1.png" alt="nuovo progetto" width="927" height="626" /></a></p>
<p>selezionata la voce progetto vediamo che Ã¨ presente tutta una tipologia di progetti propria di XNA chiamata XNA Game Studio 4.0, come si puÃ² vedere nell&#8217;elenco a sinistra.</p>
<p><a href="http://www.darkmasterslair.net/blog/go.php?http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/2.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" title="(No click)"><img class="alignleft size-full wp-image-654" title="XNA projects" src="http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/2.png" alt="XNA projects" width="955" height="660" /></a></p>
<p>Qui ci sono un po&#8217; di cose interessanti. Si possono immediatamente notare i due tipi di progetto<em> &#8220;Windows Game&#8221;</em> e <em>&#8220;XBox 360 Game&#8221;</em>. Questi due tipi di progetto, abbastanza autoesplicativi, sono i progetti principali che dovrete utilizzare per la creazione di un gioco, in quanto creano gli eseguibili veri e propri del vostro gioco. I Progetti&nbsp;<em>&#8220;Library&#8221;</em> immediatamente sotto i progetti <em>&#8220;Game&#8221;</em>, servono anch&#8217;essi per contenere codice utile per i vostri giochi, ma esse non creano un eseguibile, bensÃ¬, come dice appunto il nome, creeranno una libreria che potrete usare nei vostri giochi.</p>
<p>I progetti rimanenti, <em>&#8220;Content Pipeline Extention Library&#8221;</em> ed <em>&#8220;Empty Content Project&#8221;</em> servono per gestire gli Asset del vostro gioco. Infatti tutto ciÃ² che Ã¨ una risorsa utilizzabile all&#8217;interno del gioco, sia esso un suono, un modello, una texture o anche solo un xml, viene visto da XNA come un <em>&#8220;Content&#8221;</em>. Queste risorse vengono incluse nel progetto e convertite in un formato XNA durante la compilazione. Non mi dilungo oltremodo ora su questo argomento che riprenderÃ² in seguito. Vi basti sapere che i progetti di cui sopra vi saranno utili per intervenire sul risultato della conversione dei vostri asset, per poterli poi usare all&#8217;interno del vostro gioco.</p>
<p>Ora vi basterÃ  selezionare <em>&#8220;Windows Game(4.0)&#8221;</em>, dare un nome al gioco, nel mio caso SpaceWar, e selezionare una cartella dove creare il progetto. Fatto questo premete pure su OK.</p>
<p>Questo sarÃ  il risultato:</p>
<p><a href="http://www.darkmasterslair.net/blog/go.php?http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/3.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" title="(No click)"><img class="alignleft size-full wp-image-655" title="risultato creazione progetto" src="http://www.darkmasterslair.net/blog/wp-content/uploads/2011/11/3.png" alt="risultato creazione progetto" width="1280" height="994" /></a></p>
<p>Quello che avete ottenuto Ã¨ un progetto pronto per poter essere eseguito, sostanzialmente non farÃ  null&#8217;altro che crearvi una finestra vuota ma Ã¨ esattamente quello che ci serve come punto di partenza.</p>
<p>All&#8217;interno del Solution Explorer potete vedere che sono stati creati due progetti, il primo Ã¨ il vostro gioco con tutti i sorgenti pregenerati da Visual Studio, il secondo Ã¨ il progetto che si occupa dei vostri asset e da cui il vostro progetto game dipende. Infatti potete vedere sotto la voce &#8220;Content References&#8221; che il progetto content Ã¨ referenziato da quello game.</p>
<h5>Il codice di partenza</h5>
<p>Ora aprendo Program.cs vedrete sostanzialmente una cosa importante:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span></li><li>&nbsp;</li><li><span style="color: #0600FF; font-weight: bold;">namespace</span> SpaceWar</li><li><span style="color: #008000;">&#123;</span></li><li><span style="color: #008080;">#if WINDOWS || XBOX</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">class</span> Program</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// The main entry point for the application.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008000;">&#40;</span>Game1 game <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Game1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;game<span style="color: #008000;">.</span><span style="color: #0000FF;">Run</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li><li><span style="color: #008080;">#endif</span></li><li><span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>La funzione Main Ã¨ il punto di partenza del vostro programma, qui viene creato un oggetto di tipo Game1, cioÃ¨ il vostro gioco. Subito dopo essere creato viene eseguito con il metodo .Run();</p>
<p>Ora immagino che Game1 non sia il nome che avevate ipotizzato per il vostro gioco, per modificarlo Ã¨ sufficiente cliccare con il tasto destro del mouse sul file Game1.cs all&#8217;interno del Solution Explorer e selezionare Rinomina, una volta che avrete inserito il nuovo nome della classe [NOME CLASSE].cs VS (visual studio) vi chiederÃ  di confermare l&#8217;operazione con una dialog, selezionate SI e vedrete che la classe all&#8217;interno di Program.cs non sarÃ  piÃ¹ Game1 ma il nome che avete dato alla vostra classe, nel mio caso SpaceWar.</p>
<p>Ora passiamo ad analizzare questa classe generata da Visual studio</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// This is the main type for your game</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> SpaceWar <span style="color: #008000;">:</span> Microsoft<span style="color: #008000;">.</span><span style="color: #0000FF;">Xna</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Framework</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Game</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Come si puÃ² vedere, la nostra classe deriva dalla classe Game di XNA. Questa classe rappresenta un gioco nel framework di XNA, Ã¨ necessario ereditare da essa per poter creare un nostro gioco e con poche funzioni da implementare ci mette fin da subito in condizione di poter gestire le nostre logiche e contenuti.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li> GraphicsDeviceManager graphics<span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SpriteBatch spriteBatch<span style="color: #008000;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">public</span> SpaceWar<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> GraphicsDeviceManager<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content<span style="color: #008000;">.</span><span style="color: #0000FF;">RootDirectory</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Content&quot;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Il GraphicsDeviceManager identifica il device che useremo per renderizzare le nostre risorse. Ne viene creata una istanza nel costruttore e viene assegnata a graphics. In piÃ¹ possiamo vedere che viene assegnato &#8220;Content&#8221; come RootDirectory di Content, che Ã¨ il content manager che useremo per caricare le risorse di gioco. &#8220;Content&#8221; Ã¨ la directory dove il nostro Content project mette le risorse alla fine del processo di build, ed Ã¨ dove troviamo le nostre risorse una volta create.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// Allows the game to perform any initialization it needs to before starting to run.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// This is where it can query for any required services and load any non-graphic</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// related content.&nbsp;&nbsp;Calling base.Initialize will enumerate through any components</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// and initialize them as well.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// TODO: Add your initialization logic here</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>La funzione Initialize ci offre un buon punto per inizializzare tutti gli oggetti e i componenti del nostro gioco. Viene chiamata una sola volta all&#8217;inizio dell&#8217;esecuzione, prima ancora di mostrare la finestra di gioco. Tutto ciÃ² che deve essere sempre in vita durante tutto il gioco lo possiamo inizializzare o creare qui.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li> <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// LoadContent will be called once per game and is the place to load</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// all of your content.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> LoadContent<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// Create a new SpriteBatch, which can be used to draw textures.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spriteBatch <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SpriteBatch<span style="color: #008000;">&#40;</span>GraphicsDevice<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// TODO: use this.Content to load your game content here</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>LoadContent ci fornisce un punto base dove caricare le risorse necessarie al nostro gioco, come prima istanza possiamo mettere tutte le risorse di cui abbiamo bisogno in questo punto, in modo da aver assicurato il loro caricamento prima dell&#8217;utilizzo nel gioco. Questo metodo viene anche usato nel caso sia necessario ricaricare una parte, o tutte le risorse del nostro gioco, per esempio dopo la gestione di un errore grave, quindi Ã¨ consigliabile metterevi la gestione delle risorse, in modo da non incorrere in brutte sorprese.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// UnloadContent will be called once per game and is the place to unload</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// all content.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> UnloadContent<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// TODO: Unload any non ContentManager content here</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>UnloadContent Ã¨ la funzione opposta a LoadContent. Come abbiamo appena visto, LoadContent viene usato per caricare le risorse. Questa funzione serve per scaricare le risorse precedentemente caricate, o alla fine dell&#8217;esecuzione del gioco, o in seguito ad un errore grave da gestire che comporti il ricaricamento delle risorse. In questo caso infatti viene chiamato UnloadContent seguito da LoadContent, in modo da ripristinare le risorse del vostro gioco. Se avete messo dei caricamenti di risorse all&#8217;interno della funzione di LoadContent, ricordatevi di scaricarli in questo metodo.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// Allows the game to run logic such as updating the world,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// checking for collisions, gathering input, and playing audio.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;gameTime&quot;&gt;Provides a snapshot of timing values.&lt;/param&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Update<span style="color: #008000;">&#40;</span>GameTime gameTime<span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// Allows the game to exit</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>GamePad<span style="color: #008000;">.</span><span style="color: #0000FF;">GetState</span><span style="color: #008000;">&#40;</span>PlayerIndex<span style="color: #008000;">.</span><span style="color: #0000FF;">One</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Buttons</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Back</span> <span style="color: #008000;">==</span> ButtonState<span style="color: #008000;">.</span><span style="color: #0000FF;">Pressed</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Exit</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// TODO: Add your update logic here</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Update</span><span style="color: #008000;">&#40;</span>gameTime<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>La funzione di Update vi servirÃ  per aggiornare il vostro gioco in ogni suo aspetto prima di renderizzarlo a schermo. Questa viene chiamata all&#8217;interno di un ciclo continuo del vostro gioco, e qui potete aggiornare ogni singolo oggetto o logica di gioco, aggiornare l&#8217;audio e leggere l&#8217;input dell&#8217;utente, come spiegato dal commento che VS vi ha messo sopra la funzione. In ingresso vi viene passata la variabile gameTime, questa variabile di tipo GameTime contiene diverse informazioni tra cui una essenziale per la corretta gestione dello trascorrere del tempo. Infatti, dato che la funzione Update viene chiamata a frequenza diversa a seconda della macchina su cui il vostro gioco viene eseguito, la quantitÃ  di upate per secondo che avete sulla vostra macchina non sarÃ  uguale a quella che ci sarÃ  sulla macchina di qualcun&#8217;altro.</p>
<p>Molti vecchi giochi hanno sofferto del fatto che i programmatori non hanno tenuto in conto che la frequenza di aggiornamento dei loro giochi non sarebbe stata sempre la stessa. Ai tempi i processori avevano piÃ¹ o meno tutti una velocitÃ  simile, quindi non c&#8217;era il problema di mantenere sotto controllo con che velocitÃ  veniva aggiornato un gioco. Questo Ã¨ emerso in seguito, quando la velocitÃ  dei processori Ã¨ andata aumentando e diversificando, i giochi programmati per le vecchie macchine, sulle nuove erano ingestibili, perchÃ¨ il tempo di gioco risultava accelerato in una maniera tale da rendere impossibile l&#8217;interazione dell&#8217;utente.&nbsp;</p>
<p>Per evitare questo, all&#8217;interno della variabile gameTime trovate&nbsp;ElapsedGameTime, questa variabile rappresenta il tempo trascorso dall&#8217;ultima volta che Ã¨ stata chiamata la funzione di Update e la potrete usare per mantenere sotto controllo il trascorrere del tempo in gioco. Per esempio, nello spostare un oggetto nello spazio, basterÃ  aggiungere alla sua posizione la velocitÃ  con cui si muove, moltiplicando quest&#8217;ultima per un valore float in cui &nbsp;un secondo Ã¨ rappresentato da 1.0, ricavabile dai millisencondi in ElapsedGameTime. In questo modo l&#8217;oggetto si sposterÃ  tenendo conto del reale trascorrere del tempo percepito dal giocatore e non rispetto a quante volte viene chiamata la funzione di Update sulla macchina.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li><span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>GamePad<span style="color: #008000;">.</span><span style="color: #0000FF;">GetState</span><span style="color: #008000;">&#40;</span>PlayerIndex<span style="color: #008000;">.</span><span style="color: #0000FF;">One</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Buttons</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Back</span> <span style="color: #008000;">==</span> ButtonState<span style="color: #008000;">.</span><span style="color: #0000FF;">Pressed</span><span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Exit</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Legge l&#8217;input dell&#8217;utente, se esso preme sul pad il bottone back il programma viene terminato.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// This is called when the game should draw itself.</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;gameTime&quot;&gt;Provides a snapshot of timing values.&lt;/param&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Draw<span style="color: #008000;">&#40;</span>GameTime gameTime<span style="color: #008000;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GraphicsDevice<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span>Color<span style="color: #008000;">.</span><span style="color: #0000FF;">CornflowerBlue</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008080; font-style: italic;">// TODO: Add your drawing code here</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Draw</span><span style="color: #008000;">&#40;</span>gameTime<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Ultima ma non meno importante Ã¨ la funzione di Draw. Qui disegneremo tutti gli oggetti del nostro mondo e creeremo gli effetti visivi necessari al nostro gioco. Questa funzione Ã¨ volutamente separata dalla funzione di Update in modo da avere due momenti distinti tra l&#8217;aggiornamento del gioco e la sua fase di Rendering, anch&#8217;essa viene chiamata in continuazione all&#8217;interno del ciclo di gioco. Anche qui ci viene passata una variabile gameTime identica a quella di Update, questa volta per poter gestire correttamente le animazioni della nostra grafica.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="C#"><div class="devcodeoverflow"><ol><li> GraphicsDevice<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span>Color<span style="color: #008000;">.</span><span style="color: #0000FF;">CornflowerBlue</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Dice al device di pulire il nostro render Targhet, quindi nel nostro caso la finestra di gioco, con un colore blu. Provate a sostituire al blu un alto colore, per esempio BurlyWood, e vedrete che il colore all&#8217;interno della finestra di gioco cambierÃ .&nbsp;Dopo questa operazione di Clear possiamo inserire il disegno delle nostre risorse, prima della funzione base.Draw(gameTime) , questo perchÃ¨ la funzione Draw della classe Game Ã¨ quella che &#8220;Convalida&#8221; tutto quello che abbiamo scritto nella nostra funzione di Draw ed Ã¨ l&#8217;ultima cosa che dobbiamo chiamare al suo interno.&nbsp;</p>
<h5>Conclusione</h5>
<p>Abbiamo visto come cominciare un progetto XNA, senza modificare una riga di codice abbiamo una finestra a video che viene aggiornata ( anche se senza nessun contenuto <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) possiamo leggere l&#8217;input dell&#8217;utente e abbiamo la gestione del rendering pronta per poter essere usata.</p>
<p>Alla prossima per le prime modifiche al progetto <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D644&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%202" id="wpa2a_4" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D644&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%202" id="wpa2a_6"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=644</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorials â€“ Un Gioco in XNA 4.0 â€“ Tutorial 1b &#8211; Design del gioco</title>
		<link>http://www.darkmasterslair.net/blog/?p=625#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=625#comments</comments>
		<pubDate>Tue, 11 Oct 2011 11:58:10 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=625</guid>
		<description><![CDATA[Bene, eccoci qua, Allora, tra i giochi proposti alla fine farÃ² una sparatutto a scorrimento verticale arcade, come molti che in passato hanno riempito le sale giochi e le nostre ore da bravi giocatori. Fondamentalmente questo genere non richiede molte regole per essere divertente ( come ogni cosa puÃ² essere complicato fino all&#8217;inverosimile, ma non [...]]]></description>
			<content:encoded><![CDATA[<p>Bene, eccoci qua,</p>
<p>Allora, tra i giochi proposti alla fine farÃ² una sparatutto a scorrimento verticale arcade, come molti che in passato hanno riempito le sale giochi e le nostre ore da bravi giocatori. Fondamentalmente questo genere non richiede molte regole per essere divertente ( come ogni cosa puÃ² essere complicato fino all&#8217;inverosimile, ma non Ã¨ questo il nostro scopo ), ciÃ² di cui abbiamo bisogno per certo consiste in un personaggio da muovere e con cui sparare, ed una buona serie di nemici e boss di vario genere con cui cimentarci un livello dopo l&#8217;altro. Anche un buon sistema di power up ci puÃ² interessare, ma questo Ã¨ giÃ  un passo successivo e lo possiamo affrontare successivamente.</p>
<p>La prima regola nello sviluppo dei videogiochi, e piÃ¹ in generale nello sviluppo del software, Ã¨ avere le idee chiare. Iniziare un progetto senza aver fatto un po&#8217; di design su carta renderÃ  le cose molto piÃ¹ complicate di quanto non siano, il mio consiglio, prima di mettersi davanti al PC e cominciare a scrivere codice, Ã¨ sempre SEMPRE mettersi davanti ad un foglio di carta con una penna e pensare per un bel po&#8217; a ciÃ² che si vuol fare. Buttare giÃ¹ le idee, vedere quali sono buone e quali no, decidere cosa si vuole implementare e farsi un idea di come farlo. Questa fase Ã¨ importantissima e ci sono libri e libri che spiegano i vari passaggi, da libri di game design per quanto riguarda il come e cosa fare in un videogioco, a libri di code design per come scrivere le vostre classi. Non Ã¨ il mio scopo spiegarvi ora tutte queste cose, vi consiglio di leggervi un sacco di libri su questi argomenti, e per farvi un idea abbastanza vaga prendete spunto da ciÃ² che brevemente posto di seguito.&nbsp;Quello che segue Ã¨ una bozza di design, approssimativa e molto lontana dal livello di un documento di design completo, ma contiene tutto quello di cui abbiamo bisogno per farci un&#8217;idea di quello che sarÃ  necessario implementare.</p>
<h5><span style="text-decoration: underline;">Design Sketch</span></h5>
<p>Allora cominciamo. Il gioco Ã¨ uno sparatutto in terza persona a scorrimento verticale, il giocatore interagisce con gli elementi nel gioco attraverso una navicella che puÃ² muovere attraverso i comandi ( tastiera o pad ). I <span style="text-decoration: underline;">livelli</span> evolveranno nel classico stile da sala giochi, questo significa un movimento costante della camera, in una direzione, normalmente verso l&#8217;alto, dall&#8217;inizio del livello fino ad arrivare alla sua fine.&nbsp;La navicella puÃ² muoversi in tutte le direzioni sul piano orizzontale, ma non puÃ² muoversi verticalmente, in piÃ¹ la direzione verso cui essa Ã¨ rivolta sarÃ  sempre nella direzione in cui il livello si muove, ovviamente la navicella non puÃ² uscire dalla visuale del giocatore e quindi non piÃ¹ stazionare in un punto del livello, tornare indietro o anticipare l&#8217;evoluzione del livello.</p>
<p>Mentre il giocatore percorre un livello con la sua <span style="text-decoration: underline;">navicella</span> deve affrontare una serie di <span style="text-decoration: underline;">nemici</span>, questi possono essere volanti o di terra e di varie dimensioni. Alcuni nemici spareranno alla navicella del giocatore mentre altri cercheranno il contatto diretto. <span style="text-decoration: underline;">Se la navicella viene colpita</span> da un proiettile o da un nemico, essa perde un quantitativo di <span style="text-decoration: underline;">energia</span> definito come <span style="text-decoration: underline;">danno</span> ( minimo 1 &#8211; massimo 1000 ), se l&#8217;energia della navicella arriva a 0 essa esplode ed il giocatore perde una<span style="text-decoration: underline;"> vita</span> ( l&#8217;energia della navicella e le vite del giocatore non sono ancora state definite, per ora possiamo tenere come riferimento 1000 per la prima e 3 per la seconda ). Quando il numero di vite del giocatore arriva a 0 la partita finisce.</p>
<p>Il giocatore avrÃ  a disposizione diversi tipi di <span style="text-decoration: underline;">armi da fuoco</span> per poter uccidere i nemici, con diversa potenza, precisione e direzione di fuoco, ogni colpo andato a segno infliggerÃ  danno al nemico, con lo stesso principio dei danni arrecati alla navicella del giocatore. Il Tipo di arma che la navicella utilizza viene definito dall&#8217;ultimo <span style="text-decoration: underline;">power up</span> di tipo arma raccolto dal giocatore, piÃ¹ power up dello stesso tipo di arma aumentano la potenza dell&#8217;arma, mentre se viene raccolto un power up di una diversa arma non c&#8217;Ã¨ upgrade di potenza.</p>
<p>Ogni nemico ucciso da un valore di punteggio che si somma al punteggio del giocatore, in oltre c&#8217;Ã¨ la possibilitÃ  che con la morte il nemico lasci nel livello un power up che il giocatore puÃ² prendere urtandolo con la navicella. A certi punti di un livello possono essere presenti dei nemici di difficoltÃ  maggiore, questi <span style="text-decoration: underline;">mini boss</span> devono essere sconfitti per progredire nel livello. Alla fine del livello Ã¨ necessario affrontare il nemico piÃ¹ potente di tutto il livello, denominato <span style="text-decoration: underline;">boss</span>, per completare un livello va sconfitto il suo boss.</p>
<p>I boss, i mini boss ed i nemici grandi, hanno delle zone in cui il danno subito Ã¨ ridotto a zero, in oltre delle parti che li compongono hanno energia separata e possono o devono essere distrutte per poter uccidere il nemico.</p>
<h5>Per riassumere</h5>
<p>Allora da quello che ho scritto in precedenza possiamo individuare diversi elementi:</p>
<ul>
<li><span class="Apple-style-span" style="line-height: 23px;">Il giocatore controlla una <span style="text-decoration: underline;">navicella</span>, con cui puÃ² muoversi e sparare.</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">durante l&#8217;evoluzione di un <span style="text-decoration: underline;">livello</span>, il giocatore deve affrontare dei <span style="text-decoration: underline;">nemici</span> e distruggerli senza farsi colpire.</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">la navicella ha a disposizione diversi tipi di <span style="text-decoration: underline;">armi</span>.</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">I nemici quando muoiono rilasciano <span style="text-decoration: underline;">power ups</span> che il giocatore puÃ² raccogliere. In oltre il <span style="text-decoration: underline;">punteggio</span> del giocatore aumenta</span></li>
</ul>
<div>Direi che abbiamo una vaga idea dei componenti sulla quale dobbiamo lavorare.&nbsp;</div>
<div>Alla prossima per l&#8217;inizio del progetto <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D625&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%201b%20%E2%80%93%20Design%20del%20gioco" id="wpa2a_10" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D625&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%201b%20%E2%80%93%20Design%20del%20gioco" id="wpa2a_12"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=625</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorials &#8211; Un Gioco in XNA 4.0 &#8211; Tutorial 1a</title>
		<link>http://www.darkmasterslair.net/blog/?p=620#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=620#comments</comments>
		<pubDate>Fri, 07 Oct 2011 09:41:31 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=620</guid>
		<description><![CDATA[Ciao a tutti, Ho deciso, con tutta la mia buona volontÃ , di provare a mettere in piedi un giochino in XNA tanto per scoprire come funziona questo fantomatico framework per lo sviluppo di videogiochi rilasciato da Microsoft ed arrivato oramai alla versione 4.0. Per fare ciÃ² il metodo migliore Ã¨ mettere in piedi un piccolo [...]]]></description>
			<content:encoded><![CDATA[<p>Ciao a tutti,</p>
<p>Ho deciso, con tutta la mia buona volontÃ , di provare a mettere in piedi un giochino in XNA tanto per scoprire come funziona questo fantomatico framework per lo sviluppo di videogiochi rilasciato da Microsoft ed arrivato oramai alla versione 4.0.</p>
<p>Per fare ciÃ² il metodo migliore Ã¨ mettere in piedi un piccolo progetto completo, in modo da affrontare tutte le problematiche che esso prevede, e quindi constatare come si comporta XNA con tutte quelle cose che gli &#8220;esperimenti&#8221; non mettono in risalto.</p>
<p>L&#8217;idea di fondo Ã¨ sviluppare un piccolo gioco in tutti i suoi aspetti, nulla di complicato, ma comunque un prodotto completo.</p>
<p>Ad Ora le idee che mi vengono in mente sono:</p>
<ol>
<li><span class="Apple-style-span" style="line-height: 23px;">Uno sparatutto di navicelle / robot a scorrimento verticale /orizzontale in stile sala giochi.</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">Un gioco di corsa arcade ( lo eviterei dato che ne faccio fin troppi al lavoro XD ).</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">Un picchiaduro.</span></li>
<li><span class="Apple-style-span" style="line-height: 23px;">Un adventure game in stile monkey island.</span></li>
</ol>
<div>Se l&#8217;idea vi alletta ed avete preferenze sul tipo di gioco potete proporre quale vi interessa o proporre un altro genere che non ho elencato, basta che non sia un progetto troppo ambizioso <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div>A presto.</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D620&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%201a" id="wpa2a_16" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D620&amp;title=Tutorials%20%E2%80%93%20Un%20Gioco%20in%20XNA%204.0%20%E2%80%93%20Tutorial%201a" id="wpa2a_18"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=620</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Enter Title Here</title>
		<link>http://www.darkmasterslair.net/blog/?p=612#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=612#comments</comments>
		<pubDate>Fri, 23 Sep 2011 14:53:44 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Cazzate quotidiane]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=612</guid>
		<description><![CDATA[Siamo da capo, mi ritrovo ancora davanti a questo blog, che oramai aggiorno una se non due volta all&#8217;anno, ripromettendomi di cercare di renderlo piÃ¹ vivo, con post piÃ¹ frequenti e argomentazioni interessanti. Sono tutti bei propositi, ma come al solito devo trovare il tempo e la voglia per poterlo fare, nelle giornate lavorative le [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.darkmasterslair.net/blog/go.php?http://www.darkmasterslair.net/blog/wp-content/uploads/2011/09/35291968965745.jpg#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" title="(No click)"><img class="size-medium wp-image-616 alignleft" title="Time Bar" src="http://www.darkmasterslair.net/blog/wp-content/uploads/2011/09/35291968965745-300x179.jpg" alt="Time Bar" width="300" height="179" /></a>Siamo da capo, mi ritrovo ancora davanti a questo blog, che oramai aggiorno una se non due volta all&#8217;anno, ripromettendomi di cercare di renderlo piÃ¹ vivo, con post piÃ¹ frequenti e argomentazioni interessanti.</p>
<p>Sono tutti bei propositi, ma come al solito devo trovare il tempo e la voglia per poterlo fare, nelle giornate lavorative le ore scorrono via inesorabili e si arriva a sera senza aver avuto un minimo di tempo per pensare a qualcosa di diverso dal lavoro. In queste due settimane di pausa, a casa per malattia, le giornate si sono dilatate, la fretta e l&#8217;ansia della produzione hanno lasciato per un po&#8217; spazio allo svago, alla curiositÃ  ed alla creativitÃ .</p>
<p>Mi sono riscoperto ad interessarmi a ciÃ² che oramai avevo accantonato bollandolo come &#8220;lavoro&#8221; e basta, ho ritrovato la curiositÃ  e la voglia di fare che mi spingevano a provare e riprovare, la voglia di sperimentare le tecnologie che continuano ad evolvere. Tutto questo legato ad un polso ed una mano che non posso utilizzare, quindi tutti i miei buoni propositi devono aspettare quanto meno che possa utilizzare entrambe le mani senza fastidio. Quello che mi aspetto stavolta Ã¨ trovare e ritagliarmi un po&#8217; di tempo per non arenami un&#8217;altra volta nella routine quotidianda del casa-lavoro, lavoro-casa.</p>
<p>Ho cercato un programma che mi potesse aiutare a catalogare e gestire i filmati che ho collezionato sul pc, non trovandone uno adatto ai miei scopi ho deciso di scriverne uno che faccia ciÃ² che serve a me. Magari ne verrÃ  fuori qualcosa di buono, se particolarmente buono potrei anche venderlo.</p>
<p>A parte questa parentesi al di fuori del mondo ludico, mi sono installato tools e sdk di nvidia, per guardarmi un po&#8217; come funziona CUDA e Phisyx e tutti quei begli strumenti che non ho avuto modo di studiarmi da quando ho finito l&#8217;universitÃ . Ho iniziato a guardare un po&#8217; XNA per lo sviluppo di qualche piccolo progetto, piÃ¹ del design su carta e protopizzazione di un gioco che sembra uscire bene.</p>
<p>Insomma nel momento in cui trovo un po&#8217; di tempo, ritrovo anche la voglia di fare e la mia creativitÃ , vediamo di non perderla nuovamente quando ricomincierÃ² a lavorare.</p>
<p>Ho anche deciso che da novebre comincierÃ² un corso di nuoto, anche se qualcuno pensa che sia solo una voglia passeggiera e che non mi iscriverÃ² quando sarÃ  il momento <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  insomma devo trovare le energie per poter trovare i miei spazi fuori dal lavoro.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D612&amp;title=Enter%20Title%20Here" id="wpa2a_22" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D612&amp;title=Enter%20Title%20Here" id="wpa2a_24"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=612</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troppo lavoro e mattacchioni</title>
		<link>http://www.darkmasterslair.net/blog/?p=599#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=599#comments</comments>
		<pubDate>Thu, 24 Mar 2011 11:31:32 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Cazzate quotidiane]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=599</guid>
		<description><![CDATA[Non aggiorno il blog da un mucchio di tempo, nonostante buoni propositi e tante idee l&#8217;ho un po&#8217; abbandonato, lo so, qualcuno mi ha sgridato diverse volte per questo. Rinnovando i buoni propositi voglio scrivere questo breve post per parlare di quel mattacchione che si Ã¨ fatto prestare dal qui presente pollo i manuali del [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Truffatore" src="http://www.bassitassi.com/wp-content/uploads/2010/02/truffatore-300x225.jpg" alt="Truffatore" width="300" height="225" /></p>
<p>Non aggiorno il blog da un mucchio di tempo, nonostante buoni propositi e tante idee l&#8217;ho un po&#8217; abbandonato, lo so, qualcuno mi ha sgridato diverse volte per questo. Rinnovando i buoni propositi voglio scrivere questo breve post per parlare di quel mattacchione che si Ã¨ fatto prestare dal qui presente pollo i manuali del master e dei mostri di d&amp;d 3.5 e non li ha piÃ¹ restituiti.</p>
<p>Doppiamente pollo io in fiducia non mi sono scritto il nome del suddetto e quelli che potevano essere i possibili furboni hanno negato o non hanno risposto, quindi alla fine ho dovuto ricomprarmi i due manuali per rendere la mia collezione completa come lo era felicemente un tempo.</p>
<p>Penso che creerÃ² un bel registro prestiti per la fiducia degli amici.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D599&amp;title=Troppo%20lavoro%20e%20mattacchioni" id="wpa2a_28" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D599&amp;title=Troppo%20lavoro%20e%20mattacchioni" id="wpa2a_30"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=599</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I libri che DOVETE leggere</title>
		<link>http://www.darkmasterslair.net/blog/?p=576#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=576#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:01:02 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=576</guid>
		<description><![CDATA[Forse non tutti sanno che programmare non significa solo scrivere il codice, anzi, forse quella Ã¨ la parte piÃ¹ banale di tutto il processo che porta alla realizzazione di un buon programma. La cosa che meno si insegna Ã¨ guarda caso la cosa piÃ¹ importante: Il design del codice. Il piÃ¹ grave errore che ogni [...]]]></description>
			<content:encoded><![CDATA[<p>Forse non tutti sanno che programmare non significa solo scrivere il codice, anzi, forse quella Ã¨ la parte piÃ¹ banale di tutto il processo che porta alla realizzazione di un buon programma.</p>
<p>La cosa che meno si insegna Ã¨ guarda caso la cosa piÃ¹ importante: Il design del codice.</p>
<p>Il piÃ¹ grave errore che ogni programmatore alle prime armi compie ( e non solo quelli alle prime armi <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) Ã¨ quello di non spendere abbastanza tempo nel progettare il codice che andrÃ  a scrivere. Io stesso in prima persona ho commesso questo errore innumerevoli volte, per poi trovarmi a dover sbrogliare matasse di codice sporco e difficilmente leggibile, per colpa delle innumerevoli modifiche fatte in corso d&#8217;opera non previste alla partenza del progetto.</p>
<p>Questo approccio, sebbene sbagliato, purtroppo viene adottato da diverse aziende, perchÃ¨ convinte che in questo modo riescano ad arrivare al prodotto finito in meno tempo, ma proprio qua sta l&#8217;errore. Ovviamente si Ã¨ cercato di porre rimedio a questo comportamento errato, tanto da essere addirittura arrivati a definire quali sono gli errori che normalmente vengono compiuti e quando e come Ã¨ possibile porvi rimedio. Naturalmente il metodo migliore Ã¨ non commetterli proprio, Ã¨ necessario quindi spendere molto tempo sul design delle classi ( nella programmazione OO ) che si andrÃ  poi a scrivere.</p>
<p>Quindi, oltre ai manuali dei vari linguaggi,Â Ã¨ buona norma che un programmatore abbia nella propria biblioteca almeno i seguenti volumi:<strong> </strong></p>
<p><strong><em>Design Patterns </em></strong></p>
<p>Questo libro raccoglie tutta una serie di pratiche di design del codice adottate dai programmatori come metodologie corrette e di buon uso. Esistono pattern focalizzati alla creazione di oggetti, alla gestione di dati ed alla gestione generica di problemi. Ad ogni pattern Ã¨ assegnato un nome, le possibili applicazioni, punti a favore e possibili varianti, un esempio ed uno schema UML.</p>
<p>Conoscere i pattern ed applicarli ai problemi che si cerca di risolvere all&#8217;interno del proprio applicativo non puÃ²che portare un considerevole miglioramento nella qualitÃ  e leggibilitÃ  del proprio codice.<strong> </strong></p>
<p><em><strong>AntiPatterns</strong></em></p>
<p>Qui sono raccolti tutti i metodi sbagliati e gli errori piÃ¹ o meno gravi che solitamente vengono compiuti. Per ogni antipattern Ã¨ scritto se Ã¨ possibile recuperare la situazione e come correggere l&#8217;errore.</p>
<p><strong><em>Refactoring</em></strong></p>
<p>Consigliato da tutti <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ma non l&#8217;ho ancora letto <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  cmq so a spanne il contenuto ed Ã¨ a metÃ  tra i precedenti 2 libri. Da leggere sicuramente infatti lo farÃ² presto, magari se vi capita di farlo prima di me potete suggerirmi una buona descrizione <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><em>UML</em></strong></p>
<p>Un Qualsiasi manuale di UML, deve essere abbastanza esplicativo e scendere nel dettaglio nei casi in cui usare ogni specifico diagramma. L&#8217;UML Ã¨ uno standard ed Ã¨ utilissimo nella fase di design del codice per definire bene la struttura e l&#8217;utilizzo di ogni specifica feature, fino alla descrizione generica di tutto l&#8217;applicativo. Sebbene possa sembrare superfluo e noioso imparare l&#8217;UML, esso Ã¨ fondamentale, in quanto piÃ¹ cose vengono affrontate durante la fase di design e meno problemi e casi imprevisti salteranno fuori poi in fase di sviluppo.</p>
<p>Buon divertimento <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>Ste</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D576&amp;title=I%20libri%20che%20DOVETE%20leggere" id="wpa2a_34" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D576&amp;title=I%20libri%20che%20DOVETE%20leggere" id="wpa2a_36"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=576</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Programmazione, consigli utili e cose spicce, presentazione</title>
		<link>http://www.darkmasterslair.net/blog/?p=561#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=561#comments</comments>
		<pubDate>Thu, 07 Jan 2010 12:00:30 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=561</guid>
		<description><![CDATA[&#160; Voglio aprire questa rubrica Giusto per avere qualcosa di diverso e piÃ¹ tecnico di cui parlare oltre a cose di attualitÃ . Mi sarÃ² molto utile come argomento di cui scrivere, oltre che per fornire supporto e consigli a chi Ã¨ interessato alla nobile arte della programmazione, anche per tenermi allenato e ripassare argomenti che [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Voglio aprire questa rubrica <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Giusto per avere qualcosa di diverso e piÃ¹ tecnico di cui parlare oltre a cose di attualitÃ . Mi sarÃ² molto utile come argomento di cui scrivere, oltre che per fornire supporto e consigli a chi Ã¨ interessato alla nobile arte della programmazione, anche per tenermi allenato e ripassare argomenti che magari non affronto da un po&#8217; di tempo.</p>
<p style="text-align: justify;">Spero di trovare il tempo di farlo <img src='http://www.darkmasterslair.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ma se non ci si da un obiettivo. Chi vuol dare una mano Ã¨ il ben venuto. Sarei ben felice che questo blog diventasse anche un punto di discussione.</p>
<p style="text-align: justify;">Alla Prossima</p>
<p style="text-align: justify;">Ste</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D561&amp;title=La%20Programmazione%2C%20consigli%20utili%20e%20cose%20spicce%2C%20presentazione" id="wpa2a_40" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D561&amp;title=La%20Programmazione%2C%20consigli%20utili%20e%20cose%20spicce%2C%20presentazione" id="wpa2a_42"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=561</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Susan Boyle da record in UK: batte Leona Lewis (e Dido)</title>
		<link>http://www.darkmasterslair.net/blog/?p=554#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=554#comments</comments>
		<pubDate>Fri, 18 Dec 2009 14:36:46 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Musica]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=554</guid>
		<description><![CDATA[Susan Boyle da record in UK: batte Leona Lewis (e Dido). Una notizia che può solo fare piacere. Susan Boyle è una cantante, non si presenta con l&#8217;aspetto ne il portamento. Si presenta con la voce perché lei è questo. Scrivo questo post dal contenuto che dovrebbe essere scontato, in realtà così non è, per [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.darkmasterslair.net/blog/go.php?http://www.soundsblog.it/post/9063/susan-boyle-da-record-in-uk-batte-leona-lewis-e-dido?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Soundsblog%2Fit+%28soundsblog%29&amp;utm_content=Google+Reader" title="(No click)">Susan Boyle da record in UK: batte Leona Lewis (e Dido)</a>.</p>
<p>Una notizia che può solo fare piacere.</p>
<p>Susan Boyle è una cantante, non si presenta con l&#8217;aspetto ne il portamento. Si presenta con la voce perché lei è questo.</p>
<p>Scrivo questo post dal contenuto che dovrebbe essere scontato, in realtà così non è, per lo meno nella cultura musicale italiana. Da noi il talento passa in secondo piano rispetto all&#8217;estetica, un cantante diventa famoso per il bel sorriso e lo sguardo che fa impazzire le ragazzine, non per la sua voce.</p>
<p>Susan Boyle è diventata famosa per la sua voce e nient&#8217;altro, questo è un avvenimento che non può che rendermi contento. Spero che prima o poi questo avvenga anche in una nazione troppo votata al bello, com&#8217;è l&#8217;Italia in cui oggi viviamo.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D554&amp;title=Susan%20Boyle%20da%20record%20in%20UK%3A%20batte%20Leona%20Lewis%20%28e%20Dido%29" id="wpa2a_46" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D554&amp;title=Susan%20Boyle%20da%20record%20in%20UK%3A%20batte%20Leona%20Lewis%20%28e%20Dido%29" id="wpa2a_48"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=554</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bastardo!</title>
		<link>http://www.darkmasterslair.net/blog/?p=545#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=545#comments</comments>
		<pubDate>Mon, 23 Nov 2009 22:46:33 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Cazzate quotidiane]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=545</guid>
		<description><![CDATA[  Caro mio bel meccanico sei un pezzo di merda. Non so quanto posso raccontare di questa storia senza auto censurarmi, sta di fatto che venerdì sera sfiga vuole che abbia bucato di ritorno da cremona. E va beh, capita, il giorno dopo si fa riparare e bona. E invece no caro mio bel bastardo, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"> </p>
<p style="text-align: center;"><img class="  aligncenter" title="Bastardi Senza Gloria" src="http://www.elaborare.com/images/stories/VIDEO/bastardi.jpg" alt="Bastardi Senza Gloria" width="450" height="642" /></p>
<p>Caro mio bel meccanico sei un pezzo di merda.</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>Non so quanto posso raccontare di questa storia senza auto censurarmi, sta di fatto che venerdì sera sfiga vuole che abbia bucato di ritorno da cremona. E va beh, capita, il giorno dopo si fa riparare e bona.</p>
<p><br class="spacer_" /></p>
<p>E invece no caro mio bel bastardo, perchè a te non bastava vero? ci sono le viti spanate! bisogna cambiarle! e va beh (porca puttana) lunedì la macchina è li, cambia le viti ed è tutto a posto&#8230;</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>Lunedì sera mi squilla il cellulare sul treno, è la mamma, &#8220;Il meccanico mi chiede se ti eri mai accorto che la spia dell&#8217;abs si accende&#8221;&#8230;. spia dell&#8217;abs? quale FOTTUTA SCHIFOSA spia dell&#8217;abs! non so neanche di averla una spia dell&#8217;abs! questo implica che non si è mai accesa prima!!!!!</p>
<p><br class="spacer_" /></p>
<p>Arrivo a casa dopo la palestra. L&#8217;aver faticato e sudato non mi ha aiutato. Scendo, accendo la macchina&#8230; Individuo la spia dell&#8217;abs&#8230;. è accesa&#8230;.</p>
<p><br class="spacer_" /></p>
<p>Santi giù scendete perchè ho imprecato a lungo e maledetto con fervore! Perchè non so quanto mi costerà riparare la porcata di quel bastardo, di certo non da lui perchè le mani sulla mia macchina non le metterà mai più. Ma adesso che ho problemi di soldi ci mancava solo un pezzo di merda che ha ben pensato ci farsi i soldi della vacanza natalizia sulla mia macchina.</p>
<p><br class="spacer_" /></p>
<p>Io non so se esiste o sia mai esistito un caso di morte per emorroidi su questa terra. Ma se è possibile, e magari mai successo. Caro Paro, vorrei tanto che la persona a cui capitasse fossi tu&#8230;</p>
<p><br class="spacer_" /></p>
<p>Questo è il mio primo post dopo parecchi mesi, avevo intenzione di ricominciare a scrivere, magari anche di roba interessante o che so io sull&#8217;informatica e sui videogiochi. Mai avrei pensato di ricominciare con un post del genere, ma come non dare onore al merito di un bastardo.</p>
<p>Chiudo</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D545&amp;title=Bastardo%21" id="wpa2a_52" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D545&amp;title=Bastardo%21" id="wpa2a_54"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=545</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sospiri</title>
		<link>http://www.darkmasterslair.net/blog/?p=538#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.darkmasterslair.net/blog/?p=538#comments</comments>
		<pubDate>Tue, 14 Jul 2009 22:12:14 +0000</pubDate>
		<dc:creator>DarkMaster</dc:creator>
				<category><![CDATA[Poesie]]></category>

		<guid isPermaLink="false">http://www.darkmasterslair.net/blog/?p=538</guid>
		<description><![CDATA[&#8220;E ci sfioriamo ancora, lontano nella nebbia che sia stato uno sguardo di un momento un sorriso soffocato forse sfugggito alle catene della ragione un ricordo riemerso dalla corrente del tempo. l&#8217;ho sentito davvero li sotto la pelle in quel posto nascosto alla mente dove l&#8217;anima conserva quello che il corpo non vuole. oppure è [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;E ci sfioriamo ancora, lontano nella nebbia<br />
 che sia stato uno sguardo di un momento<br />
 un sorriso soffocato forse sfugggito alle catene della ragione<br />
 un ricordo riemerso dalla corrente del tempo.<br />
 l&#8217;ho sentito davvero li sotto la pelle <br />
 in quel posto nascosto alla mente<br />
 dove l&#8217;anima conserva quello che il corpo non vuole.<br />
 oppure è stato solo un pugno uscito dal profondo,<br />
 tirato con rabbia a colpire quel muro<br />
 che con tanta premura abbiamo costruito insieme<br />
 e che ora accarezzo dal mio lato in cerca di una crepa<br />
 uno spiraglio dal quale poter avvertire una volta ancora un tuo bisbiglio,<br />
 una parola da imparare e recitare, da aggiungere al mio bagaglio<br />
 lungo questa strata che con amara consapevolezza<br />
 sto imparando sempre meglio a percorrere da solo.&#8221;</em></p>
<p>è strano come ultimamente l&#8217;ispirazione che mi porta scrivere sia sempre legata a momenti di malinconia.  Non sputo in faccia a ciò che mi è dato e non soffoco quello che la mia mente partorisce, quindi, questo è, anche se forse un po&#8217; scontato, una piccola cosa scritta prima di andare a dormire,  di getto in un momento d&#8217;ispirazione. Prendetela così perchè è così che è nata, senza correzioni o ripensamenti, così ve la condivido, sperando di farvi un gradito omaggio.</p>
<p>Ste</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.darkmasterslair.net/blog/go.php?http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D538&amp;title=Sospiri" id="wpa2a_58" title="(No click)"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.darkmasterslair.net%2Fblog%2F%3Fp%3D538&amp;title=Sospiri" id="wpa2a_60"><img src="http://www.darkmasterslair.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.darkmasterslair.net/blog/?feed=rss2&#038;p=538</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

