<?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>3dgames</title>
	<atom:link href="http://3dgames.pl/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://3dgames.pl/blog</link>
	<description>Kolejny blog oparty na WordPressie</description>
	<lastBuildDate>Mon, 23 Jan 2012 19:59:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Jak stworzyć wszechświat cz. 1</title>
		<link>http://3dgames.pl/blog/2012/01/jak-stworzyc-wszechswiat-cz-1/</link>
		<comments>http://3dgames.pl/blog/2012/01/jak-stworzyc-wszechswiat-cz-1/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:58:55 +0000</pubDate>
		<dc:creator>The_Lord</dc:creator>
				<category><![CDATA[Galactic Storm]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=855</guid>
		<description><![CDATA[Witam. Niniejszym wpisem rozpoczynam serię na temat produkcji Project Galactic Storm, naszej zapowiedzianej jakiś czas temu kosmicznej sieciówki. Jedną z najważniejszych rzeczy przy tworzeniu takich gier jest danie graczom miejsca i możliwości ekspansji. Głównym (chociaż nie jedynym) źródłem tych rzeczy będą w tym przypadku układy planetarne. Moglibyśmy pójść po najmniejszej linii oporu i użyć jednego, [...]]]></description>
			<content:encoded><![CDATA[<p>Witam. Niniejszym wpisem rozpoczynam serię na temat produkcji Project Galactic Storm, naszej zapowiedzianej jakiś czas temu kosmicznej sieciówki.</p>
<p>Jedną z najważniejszych rzeczy przy tworzeniu takich gier jest danie graczom miejsca i możliwości ekspansji. Głównym (chociaż nie jedynym) źródłem tych rzeczy będą w tym przypadku układy planetarne. Moglibyśmy pójść po najmniejszej linii oporu i użyć jednego, zrobionego “ręcznie” układu i dawać graczom po prostu jego kopie, ale jako że astronomia jest moim konikiem postanowiłem rozwiązać to bardziej realistycznie.</p>
<p><span id="more-855"></span></p>
<p>Jak? Biorąc pod uwagę nasze ograniczone zasoby jedynym realnym rozwiązaniem są generatory losowe. Słowo “losowe” sprawia, że brzmi to dość łatwo, wystarczy kazać komputerowi losować cyferki, ale w rzeczywistości wcale takie, niestety, nie jest. Jak ktoś nie wierzy to polecam poczytać development blog (wstrzymanej ;/) gry Subversion firmy Introversion Software. Tam mamy do czynienia z losowym generatorem miast. Wydawałoby się, że wystarczy wrzucić do generatora jakieś budynki i wylosować parę liczb, ale żeby miasto wyglądało realistycznie trzeba uwzględnić całą masę czynników.</p>
<p>Tak samo ma się sprawa z układami planetarnymi, chociaż jest tu o tyle prościej, że astronomia po prostu jeszcze nie dysponuje danymi na temat jakiegoś zewnętrznego układu planetarnego, choćby w dziesięciu procentach tak dokładnymi jak o naszym Układzie Słonecznym. Urbanistyka ma dużo więcej statystyk na temat miast, no i trzeba mieć jakąś wiedzę z zakresu architektury itd. Czemu to ułatwia sprawę? Ano temu, że nie mając danych porównawczych między róznymi układami nie dysponujemy tak naprawdę definicją “realistycznego” układu planetarnego, możemy więc pozwolić sobie na generowanie układów, które będą pasowały do mechaniki gry, bez ryzyka narażenia się na przesadną niezgodność z danymi naukowymi. Nie oznacza to jednak wcale wolnej amerykanki, bo chciałbym zachować zgodność z tym, co jednak wiemy.</p>
<p>Najwięcej wiemy o naszym własnym układzie, więc najlepiej zacząć od tego. Układ Słoneczny ma w centrum swoją gwiazdę, czyli Słońce i wiemy, że jest to podstawa istnienia układu planetarnego. Wcale nie ze względu na światło, czy ciepło, tylko ze względu na grawitację. Planety muszą krążyć wokół masywnego obiektu. Chcąc więc wygenerować układ planetarny musimy zacząć od gwiazdy. Trzeba więc napisać osobny generator, który stworzy nam realistyczną gwiazdę.</p>
<p>O gwiazdach wiemy sporo i trzeba tą wiedzę uwzględnić, najlepiej z zastosowaniem jednej, prostej zasady losowego generowania realistycznych obiektów złożonych (sam to wymyśliłem, nawet nie googlajcie), która brzmi: “losuj jak najmniej”. A ściślej &#8211; “nie losuj rzeczy, które możesz wyznaczyć”. A dokładniej &#8211; “określ jak najmniejszą liczbę parametrów, z których będzie można wyznaczyć wszystkie pozostałe”. Krótko mówiąc im mniej rzeczy w losowym generatorze jest stricte losowych, tym większy realizm. Jeśli zabrnęliście już tak daleko w ten wpis, to w nagrodę możecie zrobić sobie przerwę i spróbować (jeśli Was to interesuje) wymyślić które parametry gwiazdy są tymi podstawowymi, z których można określić wszystkie pozostałe jej cechy, przynajmniej w zakresie potrzebnym grze. Podpowiem, że są dwa. Jeśli wymyśliliście, albo nie chciało wam się tego robić, to zapraszam do następnego akapitu.</p>
<p>Pierwszy z tych parametrów jest dość oczywisty. Jest to masa gwiazdy, która pozwala określić między innymi siłę jej oddziaływania grawitacyjnego. Sama masa jednak nie wystarczy, gdyż gwiazdy ewoluują. Z wiekiem ulegają przemianom tak samo jak ludzie. Masa nie pozwoli nam określić wieku gwiazdy. Drugim niezbędnym parametrem jest więc&#8230; aktualnie spalany przez nią pierwiastek. Jeśli zgadliście, to szacun ;]</p>
<p>Co to w ogóle znaczy “aktualnie spalany pierwiastek”? Z fizyki w szkole powinniście pamiętać, że zjawiskiem powodującym jasne (i ciepłe) świecenie gwiazd przez miliardy lat jest fuzja. Większość gwiazd na początku swojego istnienia składa się z wodoru, który jest najlżejszym i najczęściej występującym pierwiastkiem we wszechświecie. Siła grawitacji wytwarza w jej wnętrzu wielkie ciśnienie, które z kolei powoduje wzrost temperatury. Atomy wodoru przyspieszają do olbrzymich prędkości, co sprawia, że zwykle odpychające się cząstki zaczynają się zderzać. Zderzenie dwóch atomów wodoru przy takiej prędkości powoduje, że łączą się one w jeden atom helu, wyzwalając przy tym energię. Dużo energii. Gdy kończy się wodór, fuzja zabiera się za hel. Kolejność spalanych pierwiastków jest stała i kończy się na żelazie, które zamiast wyzwalać &#8211; pochłania energię i powoduje śmierć gwiazdy w ciągu kilku sekund. Dotyczy to jednak tylko największych gwiazd, zdolnych wybuchnąć jako supernowe. Najcięższy możliwy do spalenia przez daną gwiazdę pierwiastek wyznaczamy z jej masy, mając w kodzie generatora stałą określającą jaka masa jest potrzebna do spalenia danego pierwiastka.</p>
<p>Tak więc mając te dwa parametry możemy wyznaczyć wszystkie pozostałe, a przynajmniej wszystkie potrzebne grze. To jednak nie wszystko, czego potrzeba do wygenerowania tysięcy gwiazd. Potrzebujemy jeszcze odrobiny statystyk i rachunku prawdopodobieństwa. Gwiazdy typu słonecznego nie występują z tą samą częstotliwością co supernowe, gwiazdy neutronowe, czy inne. Nie losujemy jednak typu gwiazdy, trzeba więc uwzględnić te statystyki przy losowaniu masy i spalanego pierwiastka (w tej kolejności, bo potrzebujemy masy, żeby określić najcięższy możliwy do spalenia pierwiastek). Można w miarę bezpiecznie założyć, że najczęściej występują najmniejsze gwiazdy spalające najlżejsze pierwiastki. Tutaj nie musimy się stricte trzymać realiów (chociaż wypada częściowo je uwzględnić) i możemy sobie pozwolić na dostosowanie tych statystyk do potrzeb gry (układy planetarne z mniejszymi, bardziej stabilnymi gwiazdami łatwiej skolonizować).</p>
<p>Do tego wszystkiego wystarczy dołożyć kilka stałych pomagających przy obliczeniach, jak na przykład diagram Hertzsprunga-Russela, rozpisać wszystko matematycznie i zacząć generatora używać, dostosowując jego parametry aż jego działanie będzie zgodne z oczekiwaniami, co oznacza długie godziny prób i błędów.</p>
<p>W następnym odcinku: generator planet.</p>
<p>P.S. Jeśli macie jakieś pytania/uwagi, to zapraszam do komentowania.</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2012/01/jak-stworzyc-wszechswiat-cz-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Przegląd frameworków WebGL</title>
		<link>http://3dgames.pl/blog/2011/11/przeglad-frameworkow/</link>
		<comments>http://3dgames.pl/blog/2011/11/przeglad-frameworkow/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 20:47:36 +0000</pubDate>
		<dc:creator>RecRoot</dc:creator>
				<category><![CDATA[Slidebar]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=815</guid>
		<description><![CDATA[Pomimo iż technologia WebGL jest stosunkowo młoda, już dostępna jest bogata baza frameworków. W zasadzie jest ich tak dużo, że na początku trudno któryś wybrać. W ostatnim czasie miałem okazję spróbować kilku z nich i podzielę się z  wami moimi spostrzeżeniami. Ostrzegam, że pewne cechy bibliotek, o których piszę mogą się zmienić w czasie (np. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://3dgames.pl/blog/data/notes/frameworks/frameworks.jpg" style="float: left;" alt="frameworks_logo"/></p>
<p>Pomimo iż technologia WebGL jest stosunkowo młoda, już dostępna jest bogata baza frameworków. W zasadzie jest ich tak dużo, że na początku trudno któryś wybrać. W ostatnim czasie miałem okazję spróbować kilku z nich i podzielę się z  wami moimi spostrzeżeniami.</p>
<p>Ostrzegam, że pewne cechy bibliotek, o których piszę mogą się zmienić w czasie (np. uwagi dot. niepełnych dokumentacji). Dodatkowo oceniałem ich możliwości pod kątem swoich potrzeb, ktoś inny może mieć inne wrażenia.</p>
<p><span id="more-815"></span></p>
<p style="clear: both;"><strong><a href="http://scenejs.org/">SceneJS</a></strong></p>
<p>Dynamicznie rozwijany Framework z API sceny opartym na formacie JSON. Projekt zapoczątkowany przez Lindsay Key, aktualnie rozwijany przez kilka osób.</p>
<p>Framework poprzez specyfikę swojego API oddala nas od niskopoziomowego WebGLa.</p>
<p>Zalety:</p>
<ul>
<li>Dobrze zaprojektowane API.</li>
<li>Dobra dokumentacja z wieloma przykładami.</li>
<li>Bardzo dobre wsparcie poprzez grupę google, szybkie rzeczowe odpowiedzi.</li>
<li>Bogata otoczka: facebook, youtube, Wiki, Google group, github.</li>
<li>Sporo przydatnych feature’ów (świetny picking).</li>
<li>Wydajna, wygodna przy tworzeniu statycznych scen.</li>
</ul>
<p>Wady:</p>
<ul>
<li>Bardziej skomplikowana przy tworzeniu dynamicznych scen (duże modyfikacje grafu sceny w czasie rzeczywistym są mało wygodne oraz niezbyt wydajne).</li>
<li>Brak narzędzi przydatnych przy tworzeniu gier (kolizje itp.).</li>
<li>Trudno zaadoptować dodatkowe narzędzia wspomagające np. fizykę.</li>
<li>Abstrakcja oddalona od niskopoziomowego API WebGL’a nie każdemu może odpowiadać.</li>
</ul>
<p>Podsumowując biblioteka nadaje się do tworzenia raczej statycznych scen, schematów oraz wizualizacji. Jednak przy programowaniu gier, gdzie potrzebujemy łatwej możliwości modyfikacji sceny, może okazać się nieco toporna.</p>
<p><strong><a href="http://www.x3dom.org/">X3DOM</a></strong></p>
<p>Ciekawy Framework umożliwiający opisywanie scen za pomocą znaczników, przy czym poszczególne elementy sceny stają się fragmentami drzewa DOM i można manipulować nimi za pomocą JavaScriptu w podobny sposób jak typowymi elementami strony.</p>
<p>Zalety:</p>
<ul>
<li>Ciekawe, wygodne API.</li>
<li>Prostota, nie potrzeba posiadać szczególnej wiedzy o grafice, ani o WebGL aby stworzyć ładnie wyglądającą scenę.</li>
<li>Export do formatu .x3d dostępny natywnie w blenderze.</li>
</ul>
<p>Wady:</p>
<ul>
<li>Brak dostępu do niskopoziomowego API.</li>
<li>Kiepska z dokumentacja.</li>
<li>Zdecydowanie nie nadaje się do dużych, dynamicznych scen.</li>
<li>Ani do gier.</li>
</ul>
<p><strong><a href="http://www.ambiera.com/copperlicht/">CopperLicht</a></strong></p>
<p>Framework tworzony przez firmę Ambiera, twórców popularnej biblioteki IrrLicht.</p>
<p>Zalety:</p>
<ul>
<li>Framework dedykowany do tworzenia gier komputerowych.</li>
<li>Dużo przydatnych narzędzi przy tworzeniu gier.</li>
<li>Kontakt przez Forum.</li>
<li>Dość przyzwoita dokumentacja, kilka tutoriali oraz dem.</li>
<li>Zintegrowany z edytorem CupperCube, który służy do tworzenia scen oraz eksportu do formatu obsługiwanego przez CopperLicht.</li>
</ul>
<p>Wady:</p>
<ul>
<li>Powolny rozwój. Nad kodem pracuje jedna osoba.</li>
<li>Zamknięty kod. Pełne, czytelne źródło biblioteki jest płatne.</li>
<li>Mało przykładów w sieci.</li>
<li>Narzędzie CupperCube (które zdaniem niektórych jest największą zaletą biblioteki) płatne.</li>
</ul>
<p><strong><a href="https://github.com/mrdoob/three.js/">Three.js</a></strong></p>
<p>Ciekawy Framework zainicjowany na potrzeby projektu RO.ME “Three Dreams of Black”. Stale rozwijany przez mrdoob i wielu innych.</p>
<p>Zalety:</p>
<ul>
<li>Dynamiczny rozwój. Obecnie pracuje przy nim ponad 50 <a href="https://github.com/mrdoob/three.js/contributors">programistów</a>.</li>
<li>Spore możliwości (narzędzia przydatne przy tworzeniu gier).</li>
<li>Bogata baza przykładów.</li>
<li>Wiele imponujących dem oraz przykładów działania w sieci.</li>
<li>Zaczynają powstawać stronki z tutorialami, dokumentacjami… <a href="http://threejs.org/">threejs.org</a> <a href="http://learningthreejs.com/">learningthreejs.com</a> <a href="http://aerotwist.com/lab/getting-started-with-three-js/">aerotwist.com/lab/getting-started-with-three-js</a> na pewno będzie ich coraz wiecej.</li>
<li>Wszyscy polecają <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p>Wady:</p>
<ul>
<li>Brak pełnej dokumentacji. Mamy ‘tylko’ bogatą bazę z przykładami.</li>
<li>API nie jest zamrożone. Każdy update w głównej gałęzi projektu może spowodować, że coś przestanie działać w naszym projekcie.</li>
<li>Hmmm… To chyba tyle <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Nie opisałem wszystkich frameworków WebGL, ponieważ nie wszystkich miałem czas/okazję spróbować. Pominąłem m.in.: <a href="http://senchalabs.github.com/philogl/">PhiloGL</a>, <a href="http://www.spidergl.org/">SpiderGL</a>, <a href="http://www.glge.org/">GLGE</a>, <a href="http://energize.cc/">EnergizeGL</a>, <a href="https://github.com/OneGeek/WebGLU/">WebGLU</a>, <a href="http://www.c3dl.org/">C3DL</a>, <a href="https://github.com/drojdjou wszystkich/J3D">J3D</a>. Aktualną listę frameworków znaleźć można na stronie <a href="http://www.khronos.org/webgl/wiki/User_Contributions#Frameworks">www.khronos.org/webgl/wiki/User_Contributions#Frameworks</a></p>
<p>Podsumowując do tworzenia gier najlepiej przystosowane są biblioteki CopperLicht oraz ThreeJS. Z tych dwóch wybieram ThreeJS &#8211; jest w pełni otwarta i darmowa, jest bardzo dynamicznie rozwijana przez wielu programistów i już teraz zawiera dużo przydatnych narzędzi. Trochę gorzej wygląda tutaj kwestia dokumentacji, ale w zamian Three.js udostępnia wiele ciekawych przykładów.</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/11/przeglad-frameworkow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nowość &#8211; Katalog gier</title>
		<link>http://3dgames.pl/blog/2011/10/nowosc-katalog-gier/</link>
		<comments>http://3dgames.pl/blog/2011/10/nowosc-katalog-gier/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 20:32:19 +0000</pubDate>
		<dc:creator>RecRoot</dc:creator>
				<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=801</guid>
		<description><![CDATA[Właśnie dodaliśmy na naszym wortalu katalog gier stworzonych w WebGL. Lista będzie uzupełniana w miarę pojawiania się kolejnych ciekawych pozycji w sieci. W katalogu możecie również sami rejestrować nowe pozycje więc jeśli znaleźliście lub zrobiliście fajną grę &#8211; podzielcie się nią! Dodatkowo na 3dgames.pl możecie zauważyć kilka innych drobnych usprawnień wizualno-techniczno-użytkowych. Wszystkie propozycje dotyczące poprawek, [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie dodaliśmy na naszym wortalu <a href="http://3dgames.pl/blog/webgl-games/">katalog</a> gier stworzonych w <strong>WebGL</strong>. Lista będzie uzupełniana w miarę pojawiania się kolejnych ciekawych pozycji w sieci. W katalogu możecie również sami rejestrować nowe pozycje więc jeśli znaleźliście lub zrobiliście fajną grę &#8211; podzielcie się nią!<br />
<span id="more-801"></span></p>
<p>Dodatkowo na <strong>3dgames.pl</strong> możecie zauważyć kilka innych drobnych usprawnień wizualno-techniczno-użytkowych. Wszystkie propozycje dotyczące poprawek, nowości będą mile widziane, więc jeśli coś leży Wam na sercu – walcie śmiało <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/10/nowosc-katalog-gier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Galactic Storm</title>
		<link>http://3dgames.pl/blog/2011/09/project-galactic-storm/</link>
		<comments>http://3dgames.pl/blog/2011/09/project-galactic-storm/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 20:17:29 +0000</pubDate>
		<dc:creator>The_Lord</dc:creator>
				<category><![CDATA[Galactic Storm]]></category>
		<category><![CDATA[gra]]></category>
		<category><![CDATA[projekt]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=766</guid>
		<description><![CDATA[Tak właśnie brzmi kodowa nazwa projektu wspomnianego we wpisie z 12 kwietnia. Zadanie jest ambitne, a środki ograniczone, ale wspólnymi siłami damy radę. Chcemy zrobić strategiczną grę przeglądarkową przy wykorzystaniu najnowszych technologii dostępnych w specyfikacji HTML5 (WebGL, websockets, itp.). Mamy w tej chwili przygotowany wstępny design, który będzie rozwijany w miarę możliwości. Ja (The_Lord) zajmuję [...]]]></description>
			<content:encoded><![CDATA[<p>Tak właśnie brzmi kodowa nazwa projektu wspomnianego we wpisie z 12 kwietnia.</p>
<p>Zadanie jest ambitne, a środki ograniczone, ale wspólnymi siłami damy radę. Chcemy zrobić strategiczną grę przeglądarkową przy wykorzystaniu najnowszych technologii dostępnych w specyfikacji HTML5 (WebGL, websockets, itp.). Mamy w tej chwili przygotowany wstępny design, który będzie rozwijany w miarę możliwości.</p>
<p>Ja (The_Lord) zajmuję się stroną serwera. Aplikacja powstanie w Ruby on Rails, bo ten framework najlepiej znam i przy okazji ma najlepsze (i najwcześniejsze) wsparcie dla pojawiających się nowinek, takich jak na przykład baza danych MongoDB, z której również będziemy korzystać.</p>
<p>Synchronizacja stanu między graczami odbywać się będzie przy użyciu websockets zrobionym w Ruby, ale jeśli popularność przekroczy nasze wszelkie marzenia i będziemy potrzebowali większej wydajności tego systemu &#8211; przesiądziemy się na Erlanga. To tyle ode mnie, oddaję głos kolegom <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Natomiast ja (RecRoot) kodze silnik gry po stronie klienta (fizyka, grafika). Aby się nie zakopać z pracą postanowiliśmy wykorzystać któryś z frameworków WebGL. O tym który wybraliśmy i dlaczego napisze niebawem w osobnej notce.</p>
<p><span id="more-766"></span></p>
<p>Stworzyliśmy już wstępny model interfejsu dla silnika oparty na JSON. Będzie on służył do komunikacji ze stroną serwera oraz do generatorów. Silnik umożliwia obecnie stworzenie prostego ukladu planetarnego (gwiazda, planety, księżyce) oraz jego podstawowe modyfikacje. Działa również LOD dla sfer (siatki pregenerowane proceduralnie).</p>
<p>Pracy jest sporo więc jesteśmy otwarci na współpracę <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Pozdrawiam!</p>
<p>Karlos Wita!</p>
<p>Do tej pory w projekcie galactic_storm wymodelowałem prosty, roboczy statek kosmiczny. Na pewno nie będzie to jedyny obiekt przeze mnie stworzony. Przede mną duzo pracy. Całe przedsięwzięcie jest dla mnie wielkim wyzwaniem któremu, mam nadzieję, podołam. Cieszę się, że ludzie z którymi współtworzę ten projekt są otwarci na moje sugestie. Ja zaś jestem otwarty na ich sugestie.</p>
<p>Uważam, że jako część zespołu chcę (i muszę:) poddać się wizji i w niej uczestniczyć. Dlatego ważne są dla mnie konstruktywna krytyka i rady <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pozdro dla wszystkich!</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/09/project-galactic-storm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Przeniesienie na nowy serwer</title>
		<link>http://3dgames.pl/blog/2011/08/przeniesienie-na-nowy-serwer/</link>
		<comments>http://3dgames.pl/blog/2011/08/przeniesienie-na-nowy-serwer/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 15:19:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Inne]]></category>
		<category><![CDATA[serwer]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=754</guid>
		<description><![CDATA[Nasz cały wortal został przeniesiony na nowy serwer. Odświeżenie ustawień domeny może trochę potrwać, jeśli jednak czytasz ten wpis to znaczy, że przeglądasz 3dgames.pl na nowym serwerze! Wykonaliśmy testy i wszystko wydaje się działać ok. Gdyby jednak ktoś zauważył nieprawidłowe działanie któregoś z modułów &#8211; będziemy wdzięczni za przesłanie informacji na adres admin@3dgames.pl lub zamieszczenie [...]]]></description>
			<content:encoded><![CDATA[<p>Nasz cały wortal został przeniesiony na nowy serwer. Odświeżenie ustawień domeny może trochę potrwać, jeśli jednak czytasz ten wpis to znaczy, że przeglądasz 3dgames.pl na nowym serwerze!</p>
<p>Wykonaliśmy testy i wszystko wydaje się działać ok. Gdyby jednak ktoś zauważył nieprawidłowe działanie któregoś z modułów &#8211; <strong>będziemy wdzięczni za przesłanie informacji na adres admin@3dgames.pl lub zamieszczenie jej w komentarzu.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/08/przeniesienie-na-nowy-serwer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tegoroczne Eventy: ZTG, onGameStart</title>
		<link>http://3dgames.pl/blog/2011/07/tegoroczne-eventy-ztg-ongamestart/</link>
		<comments>http://3dgames.pl/blog/2011/07/tegoroczne-eventy-ztg-ongamestart/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 05:13:16 +0000</pubDate>
		<dc:creator>RecRoot</dc:creator>
				<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=745</guid>
		<description><![CDATA[W tym roku czekają nas 2 bardzo ciekawe wydarzenia dotyczące gamedevu: onGameStart Konferencja dotycząca tworzenia gier w HTML5. Prelekcje będą prowadzone przez doświadczonych programistów z całego świata. Termin wydarzenia 22-23 września. Miejsce &#8211; Warszawa! Cena biletu 79 euro. Najnowsze technologie, frameworki, przykłady gier. Na pewno warto wziąć w tym udział! IV Zjazd Twórców Gier. Tegoroczny [...]]]></description>
			<content:encoded><![CDATA[<p>W tym roku czekają nas 2 bardzo ciekawe wydarzenia dotyczące gamedevu:</p>
<p><a href="http://ongamestart.com/">onGameStart</a><br />
Konferencja dotycząca tworzenia gier w <strong>HTML5</strong>. Prelekcje będą prowadzone przez doświadczonych programistów z całego świata. Termin wydarzenia <strong>22-23 września</strong>. Miejsce &#8211; <strong>Warszawa</strong>! Cena biletu 79 euro. Najnowsze technologie, frameworki, przykłady gier. Na pewno warto wziąć w tym udział!</p>
<p><a href="http://www.zjazdtworcowgier.pl/">IV Zjazd Twórców Gier.</a><br />
Tegoroczny cykl konferencji odbędzie się w dniach <strong>8-11 Września w Łodzi</strong>. Koszt uczestnictwa wynosi symboliczne 25zł. Tematyka prelekcji jest bardzo szeroka i na pewno każdy znajdzie dla siebie coś interesującego. Dodatkowo może poznać wielu ciekawych ludzi z polskiej branży gier.</p>
<p>Jak widać zapowiada się gorrący wrzesień <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/07/tegoroczne-eventy-ztg-ongamestart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nowy projekt na horyzoncie – mierzymy wysoko ;)</title>
		<link>http://3dgames.pl/blog/2011/04/nowy-projekt-na-horyzoncie-mierzymy-wysoko/</link>
		<comments>http://3dgames.pl/blog/2011/04/nowy-projekt-na-horyzoncie-mierzymy-wysoko/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 06:57:33 +0000</pubDate>
		<dc:creator>The_Lord</dc:creator>
				<category><![CDATA[Galactic Storm]]></category>
		<category><![CDATA[gra]]></category>
		<category><![CDATA[projekt]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=734</guid>
		<description><![CDATA[Witam! Jako nowo przyjęty (wnioskuję po tym, że dostałem passy do bloga ) członek ekipy pozwolę sobie poinformować, że zaczyna się tworzyć nowy, ekscytujący (designerzy uwielbiają to słowo), otwarty (Bill nienawidzi tego słowa) projekt. W związku z tym poszukujemy ludzi posiadających doświadczenie w takich dziedzinach jak grafika 2D/3D, programowanie WebGL (Javascript), względnie muzyka (ambient/battle) + [...]]]></description>
			<content:encoded><![CDATA[<p>Witam!</p>
<p>Jako nowo przyjęty (wnioskuję po tym, że dostałem passy do bloga <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) członek ekipy pozwolę sobie poinformować, że zaczyna się tworzyć nowy, ekscytujący (designerzy uwielbiają to słowo), otwarty (Bill nienawidzi tego słowa) projekt. W związku z tym poszukujemy ludzi posiadających doświadczenie w takich dziedzinach jak grafika 2D/3D, programowanie WebGL (Javascript), względnie muzyka (ambient/battle) + efekty dźwiękowe.</p>
<p>Teraz kilka słów o samym projekcie &#8211; jest większy niż te, które dotychczas widzieliście w wykonaniu 3dgames.pl. Naszym celem jest pokazanie, że WebGL to nie tylko zabawkowa technologia dla introwertyków z zespołem Aspergera, ale pełnoprawna technologia, która szybko się rozpowszechni (w końcu jest już stabilny Firefox 4) i będzie miała szansę konkurować z Flashem, czy Silverlightem, a nawet pokonać je na polu tworzenia interaktywnych aplikacji, a przede wszystkim &#8211; gier.</p>
<p>Chcemy stworzyć kosmicznego (na razie w sensie środowiska gry &#8211; skala przyjdzie później) rts-a, w stylu Homeworlda, Hegemonii, czy Master of Orion. Nie myślcie, o tym jednak tak, że celujemy za wysoko i projekt umrze jak wypali się nasz słomiany zapał &#8211; wychodząc na przeciw takim obawom postanowiliśmy zacząć od implementacji najbardziej podstawowych mechanizmów gry i jak najszybciej udostępnić grywalną alfę, aby gracze mogli jak najszybciej przekazywać nam swój feedback &#8211; i żebyśmy mogli lepiej wykorzystać nasze zasoby i skupiać się na poprawianiu/dodawaniu tych rzeczy, które gracze uznają za najbardziej potrzebne.<br />
<span id="more-734"></span><br />
Myślę, że taki model się sprawdzi (w końcu Minecraft daje radę <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) i w połączeniu z tym, że gra będzie darmowa &#8211; uda nam się stworzyć coś ciekawszego i większego niż to co widzieliście do tej pory, a więc pełnokrwistego rts-a z bogatym interfejsem, statystykami, badaniami naukowymi, a może nawet fabułą i dialogami&#8230; ale na razie o tym sza&#8230; <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Podsumowując &#8211; jeśli jesteście zainteresowani współpracą i macie potrzebne umiejętności oraz czas i chęci &#8211; zapraszam do pisania na adres mailowy podany w dziale współpraca. Przypuszczalnie zostaniecie poddani jakiemuś teścikowi sprawdzającemu zdolności, którymi się pochwalicie, a potem &#8211; mam nadzieję &#8211; powitamy was w zespole i przydzielimy pierwsze zadanie.</p>
<p>Pozdrawiam ;]</p>
<p>P.S. Mamy też w planach uruchomienie listy mailingowej, przez którą osoby zainteresowane poinformujemy o postępach w projekcie. Dodatkowo osoby, które w ten sposób zadeklarują zainteresowanie zostaną w przyszłości wynagrodzone wcześniejszym dostępem do nowych funkcji lub innymi fajnymi rzeczami w grze, więc wypatrujcie dalszych newsów <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/04/nowy-projekt-na-horyzoncie-mierzymy-wysoko/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blender -&gt; JSON Exporter (with english translation)</title>
		<link>http://3dgames.pl/blog/2011/02/blender-json-exporter-with-english-translation/</link>
		<comments>http://3dgames.pl/blog/2011/02/blender-json-exporter-with-english-translation/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 20:02:28 +0000</pubDate>
		<dc:creator>Gliniak</dc:creator>
				<category><![CDATA[Slidebar]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[exporter]]></category>
		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=710</guid>
		<description><![CDATA[Artykuł poświęcony jest eksportowaniu modeli (stworzonych w programie blender) do formatu JSON i ładowaniu ich w WebGL. Zrobimy również mały porządek z shaderami, które wrzucimy do osobnych plików, co daje lepszą czytelność i pozwala chociażby na kolorowanie składni, jeśli mamy edytor, który rozpoznaje GLSL. Lekcja ta jest modyfikacją poprzedniej lekcji. Efekt końcowy na rysunku poniżej [...]]]></description>
			<content:encoded><![CDATA[<p>Artykuł poświęcony jest eksportowaniu modeli (stworzonych w programie blender) do formatu JSON i ładowaniu ich w WebGL. Zrobimy również mały porządek z shaderami, które wrzucimy do osobnych plików, co daje lepszą czytelność i pozwala chociażby na kolorowanie składni, jeśli mamy edytor, który rozpoznaje GLSL.</p>
<p>Lekcja ta jest modyfikacją <a href="http://3dgames.pl/blog/2010/07/oswietlenie-globalne-oraz-swiatlo-kierunkowe-w-webgl/">poprzedniej lekcji</a>. Efekt końcowy na rysunku poniżej lub na żywo <a href="http://3dgames.pl/blog/data/notes/20/program/index.html">tutaj</a>.</p>
<p><img src="http://3dgames.pl/blog/data/notes/20/images/effect.jpg" /><br />
<span id="more-710"></span></p>
<p>JSON (JavaScript Object Notation) jest czytelnym i intuicyjnym formatem, który ma swoje korzenie w JavaScript (więcej możecie doczytać na <a href="http://pl.wikipedia.org/wiki/JSON"> wikipedii</a>). JavaScript posiada wbudowany obiekt globalny JSON, który potrafi parsować ten format. Poniżej mamy zawartość pliku &#8222;file_functions.js&#8221;
<pre>
// Zwraca zawartosc pliku tekstowego
var getSourceSynch = function(url) {
    var req = new XMLHttpRequest();
    req.open("GET", url, false);
    req.send(null);
    return (req.status === 200) ? req.responseText : null;
};

// Zwraca obiekt zawarty w pliku .json
var loadJSON = function(url) {
    return JSON.parse(getSourceSynch(url));
};
		</pre>
<p>Pierwsza z funkcji, używając obiektu XMLHttpRequest, czyta zawartość pliku synchronicznie (więcej tu <a href="https://developer.mozilla.org/en/using_xmlhttprequest">XMLHttpRequest</a>), natomiast druga (loadJSON) zamienia zawartość pliku w obiekt JavaScript. Rozdzieliliśmy te dwie funkcje, gdyż pierwszej z użyjemy dodatkowo do ładowania shaderów z osobnego pliku (po prostu skopiowaliśmy shadery z pliku html i zapisaliśmy je osobno do plików &#8222;shaders/vertex.shdr&#8221; oraz &#8222;shaders/fragment.shdr&#8221;). Modyfikacja funkcji getShader wygląda teraz tak:</p>
<pre>
function getShader(gl, type, path){
	var shader = gl.createShader(type);
	gl.shaderSource(shader, getSourceSynch(path));
	gl.compileShader(shader);

	if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
		alert(gl.getShaderInfoLog(shader));
		return null;
	}

	return shader;
}
</pre>
<p> &#8211; przyjmuje ona parametry: kontekst graficzny, typ shadera (gl.VERTEX_SHADERS lub gl.FRAGMENT_SHADER) oraz ścieżka do pliku z shaderem. Jest wywoływana więc dwukrotnie w funkcji initShaders:
<pre>
function initShaders(){
	var fragmentShader = getShader(gl, gl.FRAGMENT_SHADER, "shaders/fragment.shdr");
	var vertexShader = getShader(gl, gl.VERTEX_SHADER, "shaders/vertex.shdr");

	shaderProgram = gl.createProgram();
	gl.attachShader(shaderProgram, vertexShader);
	gl.attachShader(shaderProgram, fragmentShader);
	...</pre>
</p>
<p>Mając plik json (<a href="#eksportowanie">eksportowanie z blendera omówione jest niżej</a>) z danymi modelu (koordynatami wierzchołków, wektorami normalnymi, koordynatami tekstur oraz indeksami wierzchołków) ładujemy go teraz w następujący sposób:
<pre>
function g_Init()
{
    var monkeyData = loadJSON("objects/monkey.json");
    Sphere.init("textures/monkey.png", 0, 0,
            monkeyData.vertices, monkeyData.texCoords, monkeyData.indices, monkeyData.normals);
}</pre>
</p>
<p>Z racji, że WebGL czyta odwrotnie obrazki (do góry nogami), w funkcji ładującej teksturę włączymy specjalną opcję przywracającą &#8222;normalność&#8221;:</p>
<pre>
tempImage.onload = function()
{
	gl.bindTexture(gl.TEXTURE_2D, that.Texture);
	gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
	...</pre>
</p>
<p><i>Uwaga! Przeglądarka chrome / chromium, z powodów bezpieczeństwa, ma domyślnie wyłączoną możliwość ładowania plików z lokalnego dysku. Oznacza to, że w czasie testów na lokalnym komputerze będzie zgłaszał błąd (gdy umieścimy naszą aplikację na serwerze wliczając w to lokalny serwer http, wszystko będzie działać). Aby wyłączyć tą funkcję na czas testowania, należy dodać jako parametr uruchamiania przeglądarki(we właściwościach skrótu) &#8211;allow-file-access-from-files</i></p>
<p>	<!-- Eksportowanie z blendera --></p>
<h2 id="eksportowanie">Eksportowanie z blendera</h2>
<p>Oprócz opisanego tutaj eksportera, znalazłem w sieci jeszcze dwa inne:</p>
<ul>
<li><a href="http://jslibs.googlecode.com/svn/trunk/src/jstrimesh/blender_json_export.py">jslibs</a>
<li><a href="http://code.google.com/p/blender-webgl-exporter/">kompleksowy eksporter (eksportuje do glge, scenejs lub natywnego JavaScriptu (z tego ostatniej opcji można trywialnie stworzyć JSONa)) &#8211; jednak nieekonomicznie eksportuje indeksy</a>
		</ul>
</p>
<p>
		Aby użyć skrypu: </p>
<ol>
<li>ściągnij go <a href="http://3dgames.pl/blog/data/notes/20/export_json.py">stąd</a> i zapisz w folderze skryptów blendera (w windowsXP domyślnie: C:\Documents and Settings\USERNAME\Dane aplikacji\Blender Foundation\Blender\.blender\)
<li>przeładuj skrypty w blenderze (Script Window -> Scripts/Update Menus) lub prościej zrestartuj blendera
<li>zaznacz wierzchołki obiektu, który chcesz wyeksportować (jeśli masz tylko 1 obiekt wciśnij <b>A</b>)
<li>(opcjonalnie) usuń zduplikowane trójkąty &#8211; mesh/vertices/remove doubles
<li>unwrap (U) &#8211; wcześniej trzeba porozcinać szwami obiekt i oczywiście otworzyć okno UV (więcej tu: <a href="http://www.blender.org/development/release-logs/blender-234/uv-unwrapping/">UV unwrapping</a>) &#8211; powinno wyglądać mniej więcej tak: <img src="http://3dgames.pl/blog/data/notes/20/images/unwrap.jpg">
<li>wymuś trójkąty (WebGL nie potrafi rysować czworokątów GL_QUADS) <b>CTRL-T</b> <img src="http://3dgames.pl/blog/data/notes/20/images/triangles.jpg">
<li>export UV z menu UV/Scripts/Save UV face layout (blender zapisze siatkę w formacie .tga, którą można otworzyć np w gimpie)<img src="http://3dgames.pl/blog/data/notes/20/images/uvexport.jpg">
<li>wyeksportuj do JSONa z menu file/export/JSON by gliniak (w obecnej wersji niech nie zmyli was domyślne rozszerzenie .blend &#8211; po prostu zastąpcie je przez .json) <img src="http://3dgames.pl/blog/data/notes/20/images/jsonexport.jpg">
		</ol>
</p>
<p>W razie pytań lub zgłoszeń błedów, czy propozycji poprawek, piszcie na naszym forum w <a href="http://3dgames.pl/forum/viewtopic.php?f=32&#038;t=39">tym</a> temacie</p>
<p>	<!-- Eksportowanie z blendera (ENG) --></p>
<h2 id="eksportowanieEng">Exporting from blender (english translation)</h2>
<p>Additionaly to the one described here, I found 2 others:</p>
<ul>
<li><a href="http://jslibs.googlecode.com/svn/trunk/src/jstrimesh/blender_json_export.py">jslibs</a>
<li><a href="http://code.google.com/p/blender-webgl-exporter/">complex exporter (it can export to GLGE, SceneJs or to nativ JavaScript object &#8211; but indices are exported in wasteful way</a>
		</ul>
</p>
<p>
		To use our exporter script: </p>
<ol>
<li>download it from <a href="http://3dgames.pl/blog/data/notes/20/export_json.py">here</a> and save it in blender&#8217;s scripts folder (in windowsXP default path is: C:\Documents and Settings\USERNAME\Application Data\Blender Foundation\Blender\.blender\)
<li>reload scripts in blender (Script Window -> Scripts/Update Menus) or just restart blender
<li>select all vertices of object you want to export (if you have only one object on the scene just press <b>A</b>)
<li>(optional) delete deplicated vertices (blender likes to create them f.e. when using extrude function) via Mesh/vertices/remove doubles
<li>unwrap UV texture &#8211; press <b>U</b> &#8211; you have to have opened UV window and mark certain edges (just read: <a href="http://www.blender.org/development/release-logs/blender-234/uv-unwrapping/">UV unwrapping</a>) &#8211; it should look more or less like that: <img src="http://3dgames.pl/blog/data/notes/20/images/unwrap.jpg" />
<li>force triangles (WebGL can not draw GL_QUADS) <b>CTRL-T</b> <img src="http://3dgames.pl/blog/data/notes/20/images/triangles.jpg">
<li>export UV net via UV/Scripts/Save UV face layout (blender will save it as .tga that you can open and edit with f.e. Gimp)<img src="http://3dgames.pl/blog/data/notes/20/images/uvexport.jpg" />
<li>export to JSONa via File/export/JSON by gliniak (in the current version you have to / should change extension from (default) .blend to .json)<br />
<img src="http://3dgames.pl/blog/data/notes/20/images/jsonexport.jpg" />
		</ol>
</p>
<p>If you found some bugs, have questions or improvement advice just drop me e-mail biegunka(at)op(dot)pl or post in <a href="http://3dgames.pl/forum/viewtopic.php?f=32&#038;t=39">this</a> thread</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/02/blender-json-exporter-with-english-translation/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>„Vehicle Soccer” – życzymy przyjemnej jazdy :)</title>
		<link>http://3dgames.pl/blog/2011/01/vehicle-soccer-zyczymy-przyjemnej-jazdy/</link>
		<comments>http://3dgames.pl/blog/2011/01/vehicle-soccer-zyczymy-przyjemnej-jazdy/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 20:16:05 +0000</pubDate>
		<dc:creator>RecRoot</dc:creator>
				<category><![CDATA[Inne]]></category>
		<category><![CDATA[Slidebar]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[vehicle soccer]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=673</guid>
		<description><![CDATA[Ukończyliśmy właśnie prace nad grą &#8222;Vehicle Soccer&#8221;. Jest to trójwymiarowa zręcznościówka polegająca na umiejętnym manewrowaniu jednym z pojazdów w celu łapania, uderzania oraz omijania różnych piłek na arenach. Grać można samemu przechodząc i odblokowując kolejne rundy (tryb single) lub w 2 osoby na jednej klawiaturze starając się zdobyć więcej punktów od przeciwnika (tryb multi). Gra [...]]]></description>
			<content:encoded><![CDATA[<p>
Ukończyliśmy właśnie prace nad grą &#8222;Vehicle Soccer&#8221;. Jest to trójwymiarowa zręcznościówka polegająca na umiejętnym manewrowaniu jednym z pojazdów w celu łapania, uderzania oraz omijania różnych piłek na arenach. Grać można samemu przechodząc i odblokowując kolejne rundy (tryb single) lub w 2 osoby na jednej klawiaturze starając się zdobyć więcej punktów od przeciwnika (tryb multi).
</p>
<p>
Gra została wystawiona do konkursu Mozilla Labs &#8211; Game ON więc możecie trzymać kciuki i jeśli wam się spodoba &#8211; oddać swój głos <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   Lista wszystkich gier zgłoszonych do konkursu znajduje się w <a href="https://gaming.mozillalabs.com/games/">galerii gier konkursu Game On</a>.
</p>
<p>
Aby zagrać wystarczy kliknąć w screen, natomiast poniżej znajduje się krótkie podsumowanie projektu oraz użytych technologii.
</p>
<p><a href="http://3dgames.pl/vehicle-soccer/" title="vehicle soccer game"><br />
<img src="http://3dgames.pl/blog/data/notes/19/screen1.jpg" alt="screen_shot_3"/><br />
</a></p>
<p><span id="more-673"></span></p>
<p>Projekt ten jest w zasadzie prototypem tak samo jak standard HTML5, którego użycie było głównym założeniem. Przekonaliśmy się na własnej skórze, że nie wszystkie technologie wchodzące w jego skład są w 100% gotowe.</p>
<p>Największe problemy napotkaliśmy podczas programowania dźwięku z użyciem API HTML5 audio. Odtwarzanie krótkich sampli w pętli daje niezbyt ciekawe efekty. Mimo różnych technik, których próbowaliśmy użyć efekt zawsze był nieczysty. Poza tym API audio nie pozwala kontrolować wszystkich parametrów dźwięku, co jest niezbędne jeśli chce się zasymulować np. realistyczne odgłosy silnika samochodowego. Ostatecznie zrezygnowaliśmy z efektów dźwiękowych oszczędzając graczom nieprzyjemnych odgłosów.</p>
<p>Najlepiej z wypróbowanych technologii wypadł WebGL i to nas bardzo cieszy. Choć kilkukrotne zmiany w API zmuszały do przepisywania kodu &#8211; generalnie udało się tutaj osiągnąć bardzo dużo. Największym problemem technologii WebGL wydaje się być w tej chwili wydajność. Musieliśmy więc wybierać spośród efektów graficznych, jakich chcieliśmy użyć. Ucierpiało na tym m.in. oświetlenie.</p>
<p>Podsumowując gra jest w pełni grywalna i jej ukończenie uważam za sukces. Mimo sporych problemów technicznych, jakie napotkaliśmy na swojej drodze przekonaliśmy się, że używając nowych otwartych technologii webowych można stworzyć dość ciekawą produkcję.</p>
<p>Jeśli znajdziecie błędy w aplikacji &#8211; będziemy wdzięczni za informację. Czekamy również na wasze opinie o grze &#8222;Vehicle Soccer&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2011/01/vehicle-soccer-zyczymy-przyjemnej-jazdy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Prace dobiegają końca&#8230;</title>
		<link>http://3dgames.pl/blog/2010/12/prace-dobiegaja-konca/</link>
		<comments>http://3dgames.pl/blog/2010/12/prace-dobiegaja-konca/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 21:33:20 +0000</pubDate>
		<dc:creator>RecRoot</dc:creator>
				<category><![CDATA[Inne]]></category>
		<category><![CDATA[gra]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://3dgames.pl/blog/?p=648</guid>
		<description><![CDATA[Wszystkich naszych wiernych czytelników, którzy coraz bardziej zniecierpliwieni oczekują na kolejne tutoriale oraz posty pragnę uroczyście poinformować że nasz wortal nadal żyje!! Odzywamy się rzadziej, ponieważ pracujemy ciężko nad sporym projektem, który dostępny będzie już niebawem oczywiście na 3dgames.pl. Wczesny prototyp powstającej gry zobaczyć możecie na screenach poniżej. Narazie nie powiem nic więcej, poza tym, [...]]]></description>
			<content:encoded><![CDATA[<p>Wszystkich naszych wiernych czytelników, którzy coraz bardziej zniecierpliwieni oczekują na kolejne tutoriale oraz posty pragnę uroczyście <img src='http://3dgames.pl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  poinformować że nasz wortal nadal żyje!!</p>
<p>Odzywamy się rzadziej, ponieważ pracujemy ciężko nad sporym projektem, który dostępny będzie już niebawem oczywiście na 3dgames.pl. Wczesny prototyp powstającej gry zobaczyć możecie na screenach poniżej. Narazie nie powiem nic więcej, poza tym, że będzie to gra przeglądarkowa ;P</p>
<p><span id="more-648"></span></p>
<p>Osoby, które chciałyby pomóc przy testowaniu gry prosimy o kontakt pod adresem <strong>krzysztofk@3dgames.pl</strong></p>
<p style="text-indent: 0;">
<img src="http://3dgames.pl/blog/data/notes/18/shot3.jpg" alt="screen_shot_3"/><br />
<img src="http://3dgames.pl/blog/data/notes/18/shot4.jpg" alt="screen_shot_4"/>
</p>
<p>Pozostańcie na linii!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgames.pl/blog/2010/12/prace-dobiegaja-konca/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

