﻿<?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>Blog techniczny i nie tylko</title>
	<atom:link href="http://www.kamilhawdziejuk.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kamilhawdziejuk.pl</link>
	<description>...o programowaniu, matematyce, projektowaniu i moich przemyśleniach...</description>
	<lastBuildDate>Sat, 14 Jan 2012 19:57:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Wzorce projektowe &#8211; Abstract Factory</title>
		<link>http://www.kamilhawdziejuk.pl/2011/08/01/wzorce-projektowe-abstract-factory/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/08/01/wzorce-projektowe-abstract-factory/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 19:55:46 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=974</guid>
		<description><![CDATA[Dzisiejszym tematem będzie&#8230; ABSTRACT FACTORY, czyli Metoda fabrykująca Cel: Określenie interfejsu dla tworzenia obiektu z pozostawieniem podklasom decyzji o wyborze klasy tworzonego obiektu Stosowalność: Używamy go, gdy: - Klasa nie jest w stanie przewidzieć klas obiektów, które musi tworzyć. - Klasa chce, aby jej podklasy określały obiekty, które tworzy. - Klasy delegują odpowiedzialność do jednej [...]]]></description>
			<content:encoded><![CDATA[<p>Dzisiejszym tematem będzie&#8230;</p>
<p><strong>ABSTRACT FACTORY, czyli Metoda fabrykująca</strong></p>
<p><strong>Cel:</strong><br />
Określenie interfejsu dla tworzenia obiektu z pozostawieniem podklasom decyzji o wyborze klasy tworzonego obiektu</p>
<p><strong>Stosowalność:</strong><br />
Używamy go, gdy:<br />
- Klasa nie jest w stanie przewidzieć klas obiektów, które musi tworzyć.<br />
- Klasa chce, aby jej podklasy określały obiekty, które tworzy.<br />
- Klasy delegują odpowiedzialność do jednej z kilku pomocniczych podklas i chcemy zlokalizować wiedzę o tym, która z tych podklas jest aktualnym delegatem.</p>
<p><strong>Konsekwencje używania:</strong><br />
- Metody fabrykujące eliminują potrzebę umieszczania w kodzie klas specyficznych dla aplikacji.<br />
- Potencjalna wada FM – klienci mogą być zmuszeni do specjalizowania klasy Twórcy tylko po to, żeby stworzyć szczególny Konkretny Produkt.<br />
- Dostarczenie „wskazówek” podklasom<br />
- Połączenie równoległych hierarchii klas</p>
<p><strong>Diagram:</strong><br />
<img src="http://www.dofactory.com/Patterns/Diagrams/factory.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/08/01/wzorce-projektowe-abstract-factory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wzorce projektowe &#8211; Chain of Responsibility</title>
		<link>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-chain-of-responsibility/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-chain-of-responsibility/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 10:07:39 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=961</guid>
		<description><![CDATA[Na łamach bloga przytoczę teraz pewną powtórzeniową dawkę wiedzy dla wszystkich absolwentów kursu wzorców projektowych na swoich studiach informatycznych (i nie tylko;). Ponieważ szczegółowych opisów wzorców (i antywzorców) projektowych w sieci jest dużo skupię się tutaj tylko i wyłącznie na kilku najistotniejszych sprawach &#8211; mianowicie na opisie celu wprowadzenia wzorca, opisie przypadków, w którym go [...]]]></description>
			<content:encoded><![CDATA[<p>Na łamach bloga przytoczę teraz pewną powtórzeniową dawkę wiedzy dla wszystkich absolwentów kursu wzorców projektowych na swoich studiach informatycznych (i nie tylko;). Ponieważ szczegółowych opisów wzorców (i antywzorców) projektowych w sieci jest dużo skupię się tutaj tylko i wyłącznie na kilku najistotniejszych sprawach &#8211; mianowicie na opisie celu wprowadzenia wzorca, opisie przypadków, w którym go używamy, konsekwencji jego zastosowania oraz przybliżającego sprawę diagramu UML. Dzisiejszy odcinek sponsoruje&#8230;</p>
<p><strong>CHAIN OF RESPONSIBILITY, czyli łańcuch odpowiedzialności</p>
<p>Cel:<br />
</strong></p>
<p>Uniknięcie sprzężenia nadawcy żądania z odbiorcą przez umożliwienie większej liczbie obiektów realizacji tego żądania. Obiekty odbiorcze są łączone w łańcuch, wzdłuż którego przekazywane jest żądanie do czasu, gdy któreś z ogniw je zrealizuje.</p>
<p><strong>Stosowalność:</strong></p>
<p><strong></strong>Używamy go, gdy:<br />
- Więcej niż jeden obiekt może zrealizować żądanie, a odbiorca nie jest znany a priori (zatem powinien być ustalony automatycznie).<br />
- Chcemy wysłać żądanie do jednego z pewnej liczby obiektów nie specyfikując jawnie odbiorcy.<br />
- Zbiór obiektów mogących zrealizować żądanie ma być ustalony dynamicznie.</p>
<p><strong> Konsekwencje stosowania:</p>
<p>- </strong>Zredukowane sprzężenie<br />
- Dodatkowa elastyczność w rozdzieleniu odpowiedzialności pomiędzy obiekty<br />
- Brak gwarancji obsłużenia żądania</p>
<p><strong>Diagram:<br />
</strong><br />
<img src="http://www.dofactory.com/Patterns/Diagrams/chain.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-chain-of-responsibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wzorce projektowe &#8211; Flyweight</title>
		<link>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-flyweight/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-flyweight/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 10:00:05 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=949</guid>
		<description><![CDATA[Na łamach bloga przytoczę teraz pewną powtórzeniową dawkę wiedzy dla wszystkich absolwentów kursu wzorców projektowych na swoich studiach informatycznych (i nie tylko;). Ponieważ szczegółowych opisów wzorców (i antywzorców) projektowych w sieci jest dużo skupię się tutaj tylko i wyłącznie na kilku najistotniejszych sprawach &#8211; mianowicie na celu wprowadzenia wzorca, opisie przypadków, w którym go używamy, [...]]]></description>
			<content:encoded><![CDATA[<p>Na łamach bloga przytoczę teraz pewną powtórzeniową dawkę wiedzy dla wszystkich absolwentów kursu wzorców projektowych na swoich studiach informatycznych (i nie tylko;). Ponieważ szczegółowych opisów wzorców (i antywzorców) projektowych w sieci jest dużo skupię się tutaj tylko i wyłącznie na kilku najistotniejszych sprawach &#8211; mianowicie na celu wprowadzenia wzorca, opisie przypadków, w którym go używamy, konsekwencji jego zastosowania oraz przybliżającego sprawę diagramu UML. Dzisiejszy odcinek sponsoruje&#8230;</p>
<p><strong>FLYWEIGHT, czyli waga musza</strong></p>
<p><strong>Cel:</strong><br />
Użycie współdzielenia do efektywnego wsparcia dużej liczby drobnoziarnistych obiektów.</p>
<p><strong>Stosowalność:</strong><br />
Używamy go, gdy wszystkie poniższe warunki są spełnione:<br />
-Aplikacja używa dużej liczby obiektów<br />
- Koszty składowania są wysokie z powodu znacznej liczebności obiektów.<br />
- Większość stanu obiektu może być przeniesiona na zewnątrz.<br />
-Wiele grup obiektów może być zastąpionych przez stosunkowo niewiele współdzielonych obiektów po usunięciu zewnętrznego stanu.<br />
-Aplikacja nie zależy od tożsamości obiektów.</p>
<p><strong>Konsekwencje użycia:</strong><br />
Oszczędność pamięci – tym większa im:<br />
–większa redukcja liczby instancji wynikająca z ich współdzielenia;<br />
–mniej stanu wewnętrznego;<br />
–więcej stanu zewnętrznego można wyliczyć (a nie przechowywać).</p>
<p>&nbsp;</p>
<p><strong>Przykłady użycia:</strong> wydzielenie chemikaliów o stałych danych, wydzielenie obiektów reprezentujących znaki drukarskie</p>
<p><strong>Diagram:<br />
</strong><br />
<img src="http://www.dofactory.com/Patterns/Diagrams/flyweight.gif" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/07/30/wzorce-projektowe-flyweight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Komunikacja projektanta z oprogramowaniem do projektowania (GoogleSketchup)</title>
		<link>http://www.kamilhawdziejuk.pl/2011/07/09/komunikacja-projektanta-z-oprogramowaniem-do-projektowania-googlesketchup/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/07/09/komunikacja-projektanta-z-oprogramowaniem-do-projektowania-googlesketchup/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 09:08:54 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[AutoCad]]></category>
		<category><![CDATA[projektowanie]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=916</guid>
		<description><![CDATA[Przez ostatni rok wzmocniłem swój warsztat używanych narzędzi do projektowania. Trochę więcej o jednym z nich będzie dzisiaj, tj. o &#8222;Sketchup&#8221; firmy Google. Poza flagowym oprogramowaniem  &#8222;Designer&#8221; firmy Komandor S.A., w której pracuję i w której rozwijamy ten soft, istnieje szereg innych programów do projektowania. Najbardziej rozbudowanymi z nich są chyba obecnie AutoCad firmy Autodesk [...]]]></description>
			<content:encoded><![CDATA[<p>Przez ostatni rok wzmocniłem swój warsztat używanych narzędzi do projektowania. Trochę więcej o jednym z nich będzie dzisiaj, tj. o <a title="Sketchup" href="http://sketchup.google.com/" target="_self">&#8222;Sketchup&#8221; firmy Google</a>.</p>
<p>Poza flagowym oprogramowaniem <a title="Oprogramowanie Komandor S.A." href="http://www.komandor.pl/komandor_szafy-88.html" target="_blank"> &#8222;Designer&#8221; firmy Komandor S.A.</a>, w której pracuję i w której rozwijamy ten soft, istnieje szereg innych programów do projektowania. Najbardziej rozbudowanymi z nich są chyba obecnie <a title="Autodesk" href="http://www.autodesk.pl/" target="_blank">AutoCad firmy Autodesk</a> oraz wspomniany <a title="Sketchup" href="http://sketchup.google.com/" target="_self">&#8222;Sketchup&#8221; firmy Google</a>. Pierwszy z nich poszerzył swój wachlarz zastosowań właściwie już na każdą dziedzinę projektowania dedykując oddzielne wersje dla elektryków, konstruktorów maszyn, architektów itd, a drugi nastawił się na prostotę i komunikację z użytkownikiem i używany jest m.in. do &#8222;tworzenia świata&#8221; w GoogleMaps.   Co ciekawe obie firmy nastawione są bardzo przyjaźnie do zewnętrznego środowiska developerów;) Do obu produktów każdy dopisać może swoją wtyczkę, którą bez problemu testować i używać może wspomagając swoją pracę, tudzież rozwijając samo oprogramowanie. I tak, AutoCad przyjmuje wtyczki napisane w .NET (lub wewnętrznych językach ObjectARX i AutoLisp), a GoogleSketchup odpowiednio w Ruby (a ostatnio też C++). Wsparcie, tutoriale, API i pomoce jak najbardziej dostarczane są oficjalnie na specjalnie stworzonych stronach dla developerów:<br />
<a title="Developer Center Autodesk" href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;id=1911627" target="_self">Developer Center AutoDesk<br />
</a><a title="Google Sketchup Developers" href="http://sketchup.google.com/intl/en/community/developers.html" target="_blank">Google Sketchup Developers</a></p>
<p>Dla przykładu przedstawię poniżej bardzo prosty skrypt napisany w Ruby dla Sketchupa, który nawiąże komunikację z zewnętrznym, równie prostym serwerem, napisanym w C#.</p>
<p>Najpierw samokomentujący się kod dla klienta:</p>
<div class="codecolorer-container ruby twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:400px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">plugins_menu = UI.<span style="color:#9900CC;">menu</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Plugins&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#pobieramy uchwyt do wtyczek w menu &quot;Plugins&quot; - stąd będziemy uruchamiać naszą wtyczkę</span><br />
<br />
plugins_menu.<span style="color:#9900CC;">add_item</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Connect to server&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> server_connection <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#008000; font-style:italic;">#dodajemy naszą wtyczkę, która uruchomi metodę server_connection zdefiniowaną poniżej</span><br />
<br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'D:/Programy/Ruby186/lib/ruby/1.8/i386-mingw32/socket'</span> <span style="color:#008000; font-style:italic;"># wskazujemy na standardową bibliotekę - będziemy potrzebować modułu socket.so</span><br />
<br />
<span style="color:#008000; font-style:italic;">#metoda łączaca się z zewnętrznym serwerem, wysyłająca komunikat i wyświetlająca odpowiedź:</span><br />
<br />
<span style="color:#9966CC; font-weight:bold;">def</span> server_connection<br />
<br />
port = <span style="color:#006666;">2011</span>  <span style="color:#008000; font-style:italic;">#ustalamy port połączenia</span><br />
<br />
streamSock = Socket::new<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#6666ff; font-weight:bold;">Socket::AF_INET</span>, <span style="color:#6666ff; font-weight:bold;">Socket::SOCK_STREAM</span>, <span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#tworzymy socket</span><br />
<br />
myaddr = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#6666ff; font-weight:bold;">Socket::AF_INET</span>, port, <span style="color:#006666;">127</span>, <span style="color:#006666;">0</span>, <span style="color:#006666;">0</span>, <span style="color:#006666;">1</span>, <span style="color:#006666;">0</span>, <span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">pack</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;snCCCCNN&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#tworzymy adres, będziemy łączyć się do localhosta, więc jest tu zaszyte 127.0.0.1</span><br />
<br />
streamSock.<span style="color:#9900CC;">connect</span><span style="color:#006600; font-weight:bold;">&#40;</span> myaddr <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#łączymy się</span><br />
<br />
streamSock.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Hello from GoogleSketchup!&quot;</span> <span style="color:#008000; font-style:italic;">#wysyłamy komunikat do serwera</span><br />
<br />
responseMessage = streamSock.<span style="color:#9900CC;">recv</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">100</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#odbieramy odpowiedź z serwera</span><br />
<br />
UI.<span style="color:#9900CC;">messagebox</span><span style="color:#006600; font-weight:bold;">&#40;</span>responseMessage<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#wyświetlamy w okienku Sketchupa informację zwrotną:)</span><br />
<br />
streamSock.<span style="color:#9900CC;">close</span>   <span style="color:#008000; font-style:italic;">#zamykamy socket</span><br />
<br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Jedna UWAGA: Najnowszą wersją Ruby jest 1.9.2, ale (najnowszy) Sketchup 8 używa 1.8.6 i w związku z tym konieczne jest używanie modułu &#8216;socket&#8217; właśnie z biblioteki skompilowanej w 1.8.6 (wyższa nie działa)</p>
<p>Poniżej kod dla serwera:</p>
<div class="codecolorer-container csharp twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:400px;"><div class="csharp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666cc; font-weight: bold;">class</span> Server<br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> TcpListener tcpListener<span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> Thread listenThread<span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">int</span> port <span style="color: #008000;">=</span> <span style="color: #FF0000;">2011</span><span style="color: #008000;">;</span><br />
<br />
<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><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
Server serv <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Server<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">public</span> Server<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">tcpListener</span> <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> TcpListener<span style="color: #008000;">&#40;</span>IPAddress<span style="color: #008000;">.</span><span style="color: #0000FF;">Any</span>, <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">port</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">listenThread</span> <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Thread<span style="color: #008000;">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> ThreadStart<span style="color: #008000;">&#40;</span>ListenForClients<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">listenThread</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Start</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> ListenForClients<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">tcpListener</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Start</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//blocks until a client has connected to the server</span><br />
<br />
TcpClient client <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">tcpListener</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AcceptTcpClient</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//create a thread to handle communication</span><br />
<br />
<span style="color: #008080; font-style: italic;">//with connected client</span><br />
<br />
Thread clientThread <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Thread<span style="color: #008000;">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> ParameterizedThreadStart<span style="color: #008000;">&#40;</span>HandleClientComm<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
clientThread<span style="color: #008000;">.</span><span style="color: #0000FF;">Start</span><span style="color: #008000;">&#40;</span>client<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> HandleClientComm<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> client<span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
TcpClient tcpClient <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>TcpClient<span style="color: #008000;">&#41;</span>client<span style="color: #008000;">;</span><br />
<br />
NetworkStream clientStream <span style="color: #008000;">=</span> tcpClient<span style="color: #008000;">.</span><span style="color: #0000FF;">GetStream</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">byte</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> dataReceived <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> <span style="color: #6666cc; font-weight: bold;">byte</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">4096</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">int</span> bytesRead<span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
bytesRead <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">try</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//blocks until a client sends a message</span><br />
<br />
bytesRead <span style="color: #008000;">=</span> clientStream<span style="color: #008000;">.</span><span style="color: #0000FF;">Read</span><span style="color: #008000;">&#40;</span>dataReceived, <span style="color: #FF0000;">0</span>, <span style="color: #FF0000;">4096</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">catch</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//a socket error has occured</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">break</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>bytesRead <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span><br />
<br />
<span style="color: #008000;">&#123;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//the client has disconnected from the server</span><br />
<br />
<span style="color: #0600FF; font-weight: bold;">break</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #008080; font-style: italic;">//message has successfully been received</span><br />
<br />
ASCIIEncoding encoder <span style="color: #008000;">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> ASCIIEncoding<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">string</span> messageRecived <span style="color: #008000;">=</span> encoder<span style="color: #008000;">.</span><span style="color: #0000FF;">GetString</span><span style="color: #008000;">&#40;</span>dataReceived, <span style="color: #FF0000;">0</span>, bytesRead<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">string</span> messageReply <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;You said: &quot;</span> <span style="color: #008000;">+</span> messageRecived <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;<span style="color: #008080; font-weight: bold;">\n</span>We say: Welcome designer in our external server;)&quot;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #6666cc; font-weight: bold;">byte</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> dataToSent <span style="color: #008000;">=</span> encoder<span style="color: #008000;">.</span><span style="color: #0000FF;">GetBytes</span><span style="color: #008000;">&#40;</span>messageReply<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
clientStream<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>dataToSent, <span style="color: #FF0000;">0</span>, dataToSent<span style="color: #008000;">.</span><span style="color: #0000FF;">Length</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
tcpClient<span style="color: #008000;">.</span><span style="color: #0000FF;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><br />
<br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #008000;">&#125;</span></div></div>
<p>Jedyne co trzeba zrobić to skompilować kod C#, uruchomić serwer, a potem zapisać skrypt klienta (z rozszerzeniem *.rb) do katalogu &#8216;Plugins&#8217; tam, gdzie jest zainstalowany Sketchup (to wystarczający warunek, aby Sketchup przyjął nasz skrypt!),  uruchomić Sketchup i kliknąć Plugins-&gt;Connect to server, aby dostać po oczach okienkiem:</p>
<p><a href="http://www.kamilhawdziejuk.pl/wp-content/uploads/2011/07/sketchupcommunication.png"><img class="alignnone size-full wp-image-938" title="sketchupcommunication" src="http://www.kamilhawdziejuk.pl/wp-content/uploads/2011/07/sketchupcommunication.png" alt="" width="416" height="229" /></a></p>
<p>Taka komunikacja, choć wymagająca jeszcze rozbudowania, może się przydać do pewnej obróbki danych tworzonych podczas projektowania, podczas której zewnętrzny serwer &#8222;pilnuje&#8221; lub informuje projektanta o poczynionych krokach na bieżąco;) Całość operacji moglibyśmy zaszyć dzięki temu w zewnętrznym serwerze, a skrypt w Sketchup potrzebny byłby nam w zasadzie jedynie do wysłania danych z programu do projektowania. Notabene analogicznie moglibyśmy zrobić z AutoCadem, ujednolicając sposób obróbki danych gdzieś na zewnątrz, ale o tym może wkrótce&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/07/09/komunikacja-projektanta-z-oprogramowaniem-do-projektowania-googlesketchup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warsztaty z AutoCad</title>
		<link>http://www.kamilhawdziejuk.pl/2011/05/21/warsztaty-z-autocad/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/05/21/warsztaty-z-autocad/#comments</comments>
		<pubDate>Sat, 21 May 2011 10:30:14 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=884</guid>
		<description><![CDATA[Dzisiejszy wpis jest wzmiankowy;) W menu po prawej powstała strona (AutoCad) z krótkim opisem prowadzonych przeze mnie zajęć w tym semestrze ze studentami 3. roku fizyki (i nie tylko) Uniwersytetu Jagiellońskiego w Krakowie;) Pozdrowienia dla uczestników.]]></description>
			<content:encoded><![CDATA[<p>Dzisiejszy wpis jest wzmiankowy;) W menu po prawej powstała strona (AutoCad) z krótkim opisem prowadzonych przeze mnie zajęć w tym semestrze ze studentami 3. roku fizyki (i nie tylko) Uniwersytetu Jagiellońskiego w Krakowie;) Pozdrowienia dla uczestników.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/05/21/warsztaty-z-autocad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postanowienia noworoczne 2011</title>
		<link>http://www.kamilhawdziejuk.pl/2011/01/09/postanowienia-noworoczne-2011/</link>
		<comments>http://www.kamilhawdziejuk.pl/2011/01/09/postanowienia-noworoczne-2011/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 15:47:20 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=860</guid>
		<description><![CDATA[Kolejny rok na karku jak zwykle daje do myślenia;) Nadszedł właśnie kolejny, którego nie mogę pozwolić sobie zmarnować. Zbyt wiele wysiłku, energii i powolnych kroków do przodu poczyniłem w poprzednim okresie, aby teraz nie wycisnąć z tego maksa:) Tym samym postaram się wypisać na początku kilka z moich noworocznych, pourlopowych postanowień, które związane są z [...]]]></description>
			<content:encoded><![CDATA[<p>Kolejny rok na karku jak zwykle daje do myślenia;) Nadszedł właśnie kolejny, którego nie mogę pozwolić sobie zmarnować. Zbyt wiele wysiłku, energii i powolnych kroków do przodu poczyniłem w poprzednim okresie, aby teraz nie wycisnąć z tego maksa:) Tym samym postaram się wypisać na początku kilka z moich noworocznych, pourlopowych postanowień, które związane są z pewnymi ostatnimi decyzjami:</p>
<p><strong>1. Doktorat</strong><br />
Przede mną trudne zadanie &#8211; pierwsza sesja na studiach doktoranckich. Dla przypomnienia &#8211; w październiku zeszłego roku rozpocząłem studia informatyczne na Polskiej Akademii Nauk przy współpracy z Uniwersytetem Jagiellońskim w Krakowie w Zakładzie Projektowania i Grafiki Komputerowej. Obecnie zajęć nie jest wiele, ale bynajmniej wykład, na który uczęszczam nie jest wcale taki łatwy. Konkretnie, zdawać będę egzamin u prof. Flasińskiego z Zaawansowanej Teorii Języków i Automatów. Głównie chodzi tu o zagadnienia taksonomii Janssensa-Rosenberga gramatyk grafowych oraz o ich zastosowania.<br />
Poza egzaminami, wyklarowania wymagają też moje badania naukowe. Mam pewien pomysł, który może być zastosowany zarówno w grach komputerowych jak i w CADach, o którym jeszcze zapewne kiedyś wspomnę. Wymaga to wszystko jednak pracy.</p>
<p><strong>2. Praca zawodowa</strong><br />
Tutaj głównie chodzi o to, aby rozwijać się w zespole przynajmniej w takim samym tempie, w jakim to było dotychczas. Obecnie pracuję w firmie Komandor S.A. na stanowisku Projektanta-Programisty .NET w zespole tworzącym CAD do modelowania mebli i nie ukrywam, że cholernie podoba mi się ta praca:) Bez owijania w bawełnę, myślę, że póki co jestem spełnionym zawodowo człowiekiem, który dostaje jak najbardziej adekwatne do swoich oczekiwań zadania, wymagające ciągłego wysiłku intelektualnego. Tutaj (być może tylko poza zarobkami) naprawdę nie chciałbym, żeby zbyt wiele się zmieniło!</p>
<p><strong>3. Zespół Game.Play() i rozwijanie gry komputerowej</strong><br />
Na fali sukcesu z poprzedniego roku (5. miejsce w Polsce w konkursie Maćka Aniserowicza pt. &#8222;Daj się poznać&#8221;) przy tworzeniu gry komputerowej w technologii XNA&#8230; skompletowałem zespół, który dalej będzie ją rozwijał. Gra idzie do przodu, a całe przedsięwzięcie, tj. grę komputerową pod roboczą nazwą &#8222;Mobots: Morphable Robots&#8221; można śledzić obecnie na stronie:<br />
<center><br />
<a href="http://www.KamilHawdziejuk.pl/mobots/">http://www.KamilHawdziejuk.pl/mobots/</a><br />
</center><br />
W tym miejscu pragnę też podziękować obecnemu zespołowi za to, że im również chce się robić i rozwijać coś &#8222;po godzinach&#8221;. Ciągle zapraszam też innych programistów i grafików, chcących spróbować swoich sił w programowaniu 3D. Mam nadzieję, że, przynajmniej na komórkę Phone 7, gra w pewnej podstawowej wersji wydana zostanie już na gwiazdkę tego roku!</p>
<p><strong>4. Język niemiecki</strong><br />
To pewna nowość, na którą mam nadzieje znaleźć czasami czas. Otóż, jak to mawiają, znajomość dodatkowego języka nigdy nie zaszkodzi. Ponieważ uczyłem się go przez 8 lat w szkole, a potem zupełnie, ale to kompletnie przestałem mieć z nim styczność przez dobre 7 lat, to czuję się tutaj zupełnie początkującym lingwistą i sporo jeszcze przede mną. Niemniej plan jest &#8211; szlifować znajomość swojego języka niemieckiego&#8230;przynajmniej do poziomu komunikatywnego.</p>
<p><strong>5. Portal KtoZeMna.pl</strong><br />
O tak, to dzieło roku 2009, które stworzyłem razem z moim kolegą. Obecnie portal ma się świetnie, działa szybko, całkiem stabilnie i nawet ładnie wygląda, ale&#8230; brakuje mu reklamy. Tak naprawdę, to brakuje mu pieniędzy na reklamę. Ten rok przeznaczam więc również na pozyskanie inwestora dla portalu. Inwestora, który za pokaźny pakiet udziałów zechce kompletnie sfinansować promocję portalu ogłoszeniowo-społecznościowego www.KtoZeMna.pl.<br />
<center><br />
<a href="http://www.KtoZeMna.pl">http://www.KtoZeMna.pl</a><br />
</center><br />
Tym samym, jeśli jesteś chętny podjęcia współpracy, znasz takie osoby, tudzież widzisz w nim tyle potencjału, ile faktycznie w nim drzemie &#8211; czekamy na kontakt (biuro@ktozemna.pl).</p>
<p>W skrócie, to tyle z moich planów na ten rok. Jest ich aż za nadto, dlatego nie będę ich więcej już żyłował&#8230;tylko starał się będę od czasu do czasu pisać o ich postępach. Może stałym czytelnikom się to spodoba, a nowi jakoś się do tego przyzwyczają:) Pozdrawiam!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2011/01/09/postanowienia-noworoczne-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobots: Morphable Robots i Game.Play() Team</title>
		<link>http://www.kamilhawdziejuk.pl/2010/12/15/mobots-morphable-robots-i-game-play-team/</link>
		<comments>http://www.kamilhawdziejuk.pl/2010/12/15/mobots-morphable-robots-i-game-play-team/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 22:33:25 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=847</guid>
		<description><![CDATA[Całe swoje moce przerobowe przerzuciłem teraz na swój zespół o nazwie &#8222;Game.Play()&#8221;, w którym realizujemy grę komputerową pt. &#8222;Mobots: Morphable Robots&#8221;. Oto nasza oficjalna strona: http://www.kamilhawdziejuk.pl/mobots/ ! Zapraszam !]]></description>
			<content:encoded><![CDATA[<p>Całe swoje moce przerobowe przerzuciłem teraz na swój zespół o nazwie &#8222;Game.Play()&#8221;, w którym realizujemy grę komputerową pt. &#8222;Mobots: Morphable Robots&#8221;. Oto nasza oficjalna strona:</p>
<p>http://www.kamilhawdziejuk.pl/mobots/</p>
<p>! Zapraszam ! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2010/12/15/mobots-morphable-robots-i-game-play-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oficjalna strona projektu już jest</title>
		<link>http://www.kamilhawdziejuk.pl/2010/12/09/oficjalna-strona-projektu-juz-jest/</link>
		<comments>http://www.kamilhawdziejuk.pl/2010/12/09/oficjalna-strona-projektu-juz-jest/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 21:22:29 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=843</guid>
		<description><![CDATA[Dzisiaj bardzo wzmiankowo:) Powstała oficjalna strona projektu, którą będziemy dopieszczać i uaktualniać: http://www.kamilhawdziejuk.pl/gamexna/ Zapraszam:)]]></description>
			<content:encoded><![CDATA[<p>Dzisiaj bardzo wzmiankowo:) Powstała oficjalna strona projektu, którą będziemy dopieszczać i uaktualniać:</p>
<p><a href="http://www.kamilhawdziejuk.pl/gamexna/">http://www.kamilhawdziejuk.pl/gamexna/</a></p>
<p>Zapraszam:)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2010/12/09/oficjalna-strona-projektu-juz-jest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zespół skompletowany &#8211; projekt oficjalnie rozpoczęty!</title>
		<link>http://www.kamilhawdziejuk.pl/2010/12/08/zespol-skompletowany-projekt-oficjalnie-rozpoczety/</link>
		<comments>http://www.kamilhawdziejuk.pl/2010/12/08/zespol-skompletowany-projekt-oficjalnie-rozpoczety/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 22:15:07 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=840</guid>
		<description><![CDATA[Dzisiaj oficjalnie rozpoczynamy prace nad rozwojem gry komputerowej w technologii C#/XNA na platformy microsoftowe (Windows/Xbox/Phone7)! Przez ostatnie 3 tygodnie kompletowaliśmy zespół do rozwoju projektu, który został zapoczątkowany na potrzeby ogólnopolskiego konkursu internetowego pt. &#8222;Daj się poznać&#8221;, w którym zdobyłem 5miejsce! Udało się to i zgłosiło się sześciu (łącznie jest więc nas siedmiu) chętnych programistów, którzy [...]]]></description>
			<content:encoded><![CDATA[<p>Dzisiaj oficjalnie rozpoczynamy prace nad rozwojem gry komputerowej w technologii C#/XNA na platformy microsoftowe (Windows/Xbox/Phone7)! Przez ostatnie 3 tygodnie kompletowaliśmy zespół do rozwoju projektu, który został zapoczątkowany na potrzeby ogólnopolskiego konkursu internetowego pt. &#8222;Daj się poznać&#8221;, w którym zdobyłem 5miejsce! <img src='http://www.kamilhawdziejuk.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Udało się to i zgłosiło się sześciu (łącznie jest więc nas siedmiu) chętnych programistów, którzy chcą rozwijać swoje umiejętności programowania gier. Już widać, że możemy stanowić bardzo &#8222;mocny&#8221; zespół, a tym samym być może stworzyć świetny produkt.</p>
<p>Lista członków zespołu &#8222;GameXna&#8221; wypisana w kolejności zgłoszeń jest następująca:</p>
<p>1. Kamil Hawdziejuk &#8211; absolwent matematyki/informatyki UJ, doktorant z informatyki, 3 lata zawodowego doświadczenia w programowaniu<br />
2. Bartłomiej Filipek &#8211; absolwent informatyki UJ, doktorant z informatyki<br />
3. Mateusz Mikulski &#8211; student Wyższej Szkoły Informatyki Stosowanej i Zarządzania<br />
4. Marcin Sałata &#8211; absolwent kierunku Automatyka i Robotyka na Politechnice Wrocławskiej<br />
5. Sebastian Brózda &#8211; 6 lat doświadczenia w programowaniu w .NET<br />
6. Damian Sobczak &#8211; 4 lata doświadczenia w programowaniu w .NET<br />
7. Adrian Szarek &#8211; student V roku informatyki AGH</p>
<p>Wszyscy jesteśmy po wstępnych ustaleniach i organizacji pracy. W b.dużym skrócie pracujemy przy użyciu narzędzi:<br />
a) VS2010 (XNA 4.0) &#8211; do programowania<br />
b) Redmine &#8211; do zarządzania projektem, kwestią przydzielania zadań i przechowywania plików<br />
c) GoogleGroups / Skype &#8211; do komunikacji na szybko<br />
d) GIT &#8211; rozproszony system kontroli wersji do przechowywania zrodel</p>
<p>Aktualnie pracujemy nad stworzeniem strony projektu i stworzeniem GameDesignu gry!:) Zgodnie z apelem na stronie http://www.kamilhawdziejuk.pl/2010/11/16/dalszy-rozwoj-gry-wszyscy-mile-widziani-rekrutacja/ , istnieje jeszcze możliwość dołączenia do zespołu.</p>
<p>Trzymajcie kciuki! Już wkrótce więcej informacji o projekcie&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2010/12/08/zespol-skompletowany-projekt-oficjalnie-rozpoczety/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dalszy rozwój gry &#8211; wszyscy mile widziani:) Rekrutacja!</title>
		<link>http://www.kamilhawdziejuk.pl/2010/11/16/dalszy-rozwoj-gry-wszyscy-mile-widziani-rekrutacja/</link>
		<comments>http://www.kamilhawdziejuk.pl/2010/11/16/dalszy-rozwoj-gry-wszyscy-mile-widziani-rekrutacja/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 08:07:22 +0000</pubDate>
		<dc:creator>Kamil Hawdziejuk</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.kamilhawdziejuk.pl/?p=821</guid>
		<description><![CDATA[Korzystając z obecnej popularności bloga chciałbym ogłosić nabór chętnych do kontynuacji projektu! Otóż, gra 3D, której fundamenty stworzyłem w technologii XNA na potrzeby konkursu &#8222;Daj się poznać&#8221;, a którą można sobie ściągnąć, zobaczyć i podejrzeć od strony kodu&#8230; potrzebuje wsparcia. Sam tego dalej w szybkim tempie nie rozwinę, a chciałbym. W skrócie &#8211; chciałbym stworzyć [...]]]></description>
			<content:encoded><![CDATA[<p>Korzystając z obecnej popularności bloga chciałbym ogłosić nabór chętnych do kontynuacji projektu! Otóż, gra 3D, której fundamenty stworzyłem w technologii XNA na potrzeby konkursu &#8222;Daj się poznać&#8221;, a którą można sobie ściągnąć, zobaczyć i podejrzeć od strony kodu&#8230; potrzebuje wsparcia. Sam tego dalej w szybkim tempie nie rozwinę, a chciałbym.</p>
<p>W skrócie &#8211; chciałbym stworzyć team, który mógłby rozwijać ze mną grę. Team chętnych projektantów/programistów i nie tylko takich osób, które chciałyby &#8222;po godzinach&#8221; rozwijać się w kierunku technologii microsoftowych.</p>
<p>W konkursie Maćka Aniserowicza pt. &#8222;Daj się poznać&#8221; &#8230; dałem Wam się poznać i jeśli jesteście zainteresowani, to zapraszam do współpracy. Może po kolei&#8230;</p>
<p><strong>Kogo potrzebuję?</strong></p>
<p>Jeśli jesteś osobą, która spełnia prawie wszystkie z poniższych założeń:<br />
- chciałaby się rozwijać w programowaniu gier 3D, w szczególności w technologii microsoftowej C#/XNA,<br />
- poszukuje ciekawego projektu, gry komputerowej 3D we wczesnej fazie rozwoju, do której może łatwo dołączyć<br />
- poszukuje doświadczenia w pracy zespołowej, w projektach, w realizacji wspólnego przedsięwzięcia<br />
- lubi wyzwania, ma zacięcie i trochę wolnego czasu<br />
- chciałaby mieć swój udział w potencjalnych zyskach (o tym poniżej)<br />
to oczekuję właśnie na Twoje zgłoszenie. Bardzo proszę zastanów się czy chciałbyś dołączyć do nowotworzonego zespołu.</p>
<p><strong>Dlaczego potrzebuję osób?</strong></p>
<p>Z kilku względów:<br />
- chcę dalej rozwijać grę i poszerzać jej funkcjonalności, możliwości i atrakcyjność<br />
- widzę potencjał drzemiący w projekcie, a sam nie będę w stanie wykrzesać z niego tak dużo<br />
- chcę się dalej rozwijać oraz dalej dzielić się swoją wiedzą<br />
- mogę zarządzać projektem informatycznym, który rozpocząłem</p>
<p><strong>Co oferuję?</strong></p>
<p>Przede wszystkim:<br />
- zdobycie doświadczenia przy kompleksowej realizacji projektu tworzenia gry komputerowej<br />
- uczestnictwo we wspólnym przedsięwzięciu, wytyczenie sobie wspólnego celu, poznanie się nawzajem<br />
- dzielenie się wiedzą,<br />
- blogowanie (proponuję stworzyć osobny blog, w którym opisywalibyśmy od czasu do czasu swoje zmagania, poprawki, dyskusje publicznie)<br />
- łącznie 49% udział w potencjalnych zyskach (jeśli uda nam się uruchomić i zacząć sprzedawać grę na Xbox lub WindowsPhone7, do czego będziemy dążyć!)<br />
- wsparcie merytoryczne, własne doświadczenie, własne zaangażowanie</p>
<p><strong>Co i jak będziemy tworzyć?</strong></p>
<p>Projekt, który będzie rozwijany, to gra komputerowa, którą można sobie zobaczyć przechodząc po prawej stronie menu &#8222;Projekt gry w XNA&#8221;. Są to dopiero fundamenty, ale już działają. Na daną chwilę wiele rzeczy podlega jeszcze weryfikacji i istnieje wiele możliwości zmiany. Obecnie gra przedstawia starcie wehikułów (helikopter kontra samochód), które na planszy mają się zestrzelić. Planuję dodać obsługę multiplayer (i więcej niż 2 wehikuły na planszy!). Planuję dodać więcej wehikułów (m.in. łódź podwodną). Planuję umożliwić też inny tryb gry, polegający na wspólnym przemierzaniu planszy w celu rozbicia &#8222;szeregów&#8221; przeciwnika, itd.</p>
<p>Technologia, która przyświeca projektowi to: XNA i C#.<br />
Platformy, na które byłaby rozwijana to: XBox, PC, WindowsPhone7 (jednocześnie)<br />
Używane narzędzia: Visual Studio 2010, Redmine i jakiś (najlepiej rozproszony) system wersjonowania<br />
Projekt tworzony zdalnie (również przy wspomożeniu komunikatora Skype).</p>
<p>Oto cały mój apel. Chciałbym do połowy grudnia skompletować zespół (choć później jak najbardziej mogłyby dołączać jeszcze do niego osoby). Każda osoba, która się zgłosi, będzie musiała być zaakceptowana, ale w zasadzie najważniejsze są chęci i nie widzę powodu, dla którego miałaby nie zostać przyjęta:)</p>
<p>Zastrzegam sobie też prawo do braku rozpoczęcia prac nad rozwojem gry w zespole&#8230; jeśli zgłoszą się mniej niż 3 osoby.</p>
<p><strong>Prośba</strong></p>
<p>Bardzo proszę o rozpropagowanie tej informacji do jak największej liczby użytkowników/znajomych w sieci. Nawet w przypadku, gdy nie jesteście zainteresowani bądź to uczestnictwem w takim projekcie, bądź to nakreśloną powyżej tematyką, to możliwe, że ktoś z Waszych znajomych się do tego skusi i z chęcią podejmie współpracę, bądź przynajmniej jej próbę! Zapraszam do kontaktu mailowego oraz do komentowania.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilhawdziejuk.pl/2010/11/16/dalszy-rozwoj-gry-wszyscy-mile-widziani-rekrutacja/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

