< > wszystkie blogi

salival's absurdlog

Potwornie absurdalny blog

XNA - napisz sobię grę na XBox360

25 kwietnia 2008

Jakiś czas temu pisałem notkę o homebrew, czyli takiem "domowym tworzeniu" aplikacji dla różnych platform, czesto w sprzeczności z prawem, gdyż wymaga to modyfikacji oryginalnego firmware czy też częściowo samego sprzętu. Firmy jednak zamiast walczyć z tym zaczęły się przyłączać dając możliwość pisania domorosłym użytkownikom. Tak powstało XNA Game Studio, czyli pakiet przeznaczony do tworzenia gier w języku C# dla XBox360.


1. Wstęp.

XNA jest o ile się nie mylę pierwszą legalnie dostępną platformą deweloperską przeznaczoną dla twórców-amatorów ( choć nie tylko ) i pozwalającą tworzyć aplikację na konsole. Microsoft odwalił naprawdę kawał dobrej roboty. Oczywiście roboty nie za darmo. XNA wymaga specjalnego membership w XNA Creators Club. Można co prawda obejść się bez niego, bo mamy możliwość kompilowania aplikacji do architektury x86. Daje to możliwość testowania jej bez potrzeby przesyłania jej do konsoli. Membership jednak jest wymagany jeśli chcemy mieć możliwość testowania gry bezpośrednio na XBox360.

2. Znów nic za darmo.

Oczywiście i w tym przypadku popieram poczynania Microsoft. Po pierwsze programista zanim zdecyduje się zostać deweloperem dla XBox pomyśli dwa razy czy temu podoła, bo kasę tak w błoto wyrzucić to raczej nie jest opłacalna inwestycja. Druga sprawa, Microsoft zatrudnia sztab ludzi odpowiedzialnych za testowanie napisanych tak gier w przypadku, gdy deweloper zdecyduje się je opublikować w XBoxLive Arcade ( Tak! Jest to możliwe i można na tym również zarobić! :) ). Generalnie licencja za $99 ( ja zapłaciłem jakieś 60GBP kupując na Wyspach ) na rok nie jest aż tak droga jeśli porównać to, co otrzymujemy w zamian. A otrzymujemy dużo: - Możliwość publikacji gry, - Możliwość zarabiania na opublikowanej grze, - Profesjonalny support techniczny, - Doskonale udokumentowane, w pełni funkcjonalne SDK, z przykładami, dopracowane w każdym detalu ( ale tym MS mnie nie zaskoczył ;) ), Dostajemy jeszcze jedną możliwość, niematerialną, ale bardzo cenną. Komercyjny deweloper, taki, który wykupuje licencje na pełne SDK z dostępem do wszelkich tajemnic konsoli płaci ogromne pieniądze, musi również udowodnić, że jego firma wie co robi, dać listę ludzi, jacy będą mieli dostęp do SDK itp. Generalnie, zwykły szary człowiek nie ma szans zapoznać się z konsolami od kuchni. XNA daje więc możliwość zdobycia doświadczenia w pisaniu na konsolę. Już teraz można znaleźć w ogłoszeniach o pracę, że doświadczenie w XBoxLive Arcade ( tam nasze gry są publikowane ) jest często ważnym atutem!

2. Zaczynamy.

Oprogramowanie potrzebne, by zacząć pisać cokolwiek dla XNA jest darmowe. Potrzebujemy w tym celu: - Visual C# Express 2005 ( koniecznie 2005, nie 2008 ! ) - XNA Game Studio 2.0 ( 3.0 w przygotowaniu jest ) W czasie instalacji instalator może poprosić o ściągnięcie dodatkowego service pack dla VC# Express, wtedy wiadomo - ze strony Microsoft, poszukać, ściągnąć i zainstalować. Generalnie instalacja przebiega bardzo łatwo i przyjemnie ;) XNA Game Studio integruje się z VC# Express, więc tworzenie nowego projektu można rozpocząć od ręki. Dla testów można wybrać platformę Windows jako target dla aplikacji, jednak docelowo raczej będziemy chcieli użyć XBox360.

3. Po stronie XBox360..

Jak już wspomniałem, zaczynamy od zakupu membership. Wchodzimy w Marketplace i wybieramy albo "All Games" lub "Games". Warto zresztą wybrać gry posortowane według "Genres" by się za dużo nie naszukać. Rodzaj aplikacji jaki nas interesuje to "Other", znajdziemy tam aplikację, która nazywa się XNA Creators Club. Pojawią się trzy pozycje: Memberships, XNA Game Studio Connect oraz XNA Game Launcher. Ten ostatni nas nie interesuje, dotyczy on starej wersji XNA. W nowej używamy tylko XNA Game Studio Connect ( chociaż zalecana jest instalacja obu ). Również musimy kupić membership na 4 miesiące lub na rok. To już do wyboru prywatnego należy. Teraz możemy połączyć XBox z PC.

4. Transfer aplikacji z PC do XBox360

Jest to dosyć łatwe o ile nie napotka się na pewne problemy natury technicznej. Generalnie odpalamy w menu Start -> Microsoft XNA Game Studio 2.0 -> XNA Game Studio Device Center, po czym klikamy "Add device", nadajemy jakąś nazwę mu i następnie jesteśmy proszeni o kod. Odpalamy więc na XBox "XNA Game Studio Connect" i po chwili na dole ekranu ilustrującego próbę połączenia powinniśmy zobaczyć kod, należy go wpisać i przejść dalej. Wiadomo oczywiście, że zarówno konsola jak i PC muszą być w tej samej podsieci. Jak się połączą to mamy urządzenie dodane. Teraz już w projekcie przeznaczonym dla XBox pojawi się mały pasek wyboru urządzenia do tzw. deploymentu ( po lewe stronie okna na lewo od zielonego plusa ). Wybieramy więc naszego Xbox i aby przesłać aplikację do konsoli musimy znów uruchomić "XNA Game Studio Connect". Tym razem zamiast kodu pokaże się nazwa komputera z jakim uzyskano połączenie. Xbox jest gotowy na przyjęcie aplikacji. W VC# Express w menu Build wybieramy opcję "Deploy solution" i nasza aplikacja w parę sekund ( choć może to zależeć od łącza lokalnego oraz jej wielkości ) trafi na konsolę. Uruchamiamy ją jak każdą inną ściągniętą grę :)

4. Problemy z połączeniem

Można napotkać drobne problemy z połączeniem PC i konsoli. Ja spędziłem sporo czasu na próbie wykrycia Xbox przez PC. Wymienię więc powody jakie mogą spowodować, że urządzenia nie widzą się: - Nie są w tej samej podsieci lokalnej, - Nie działa serwis Xbox Live ( a musi, bo NXA GSConnect sprawdza zawsze ważność licencji ) - Mamy zainstalowany wirtualny interfejs sieciowy, to akurat mnie spotkało, długo się naszukałem rozwiązania, generalnie wszelkie VirtualPC, VMWare, andLinux mogą powodować blokowanie połączenia. Inne problemy raczej nie powinny wystąpić :) Można więc przystąpić do pisania gier ( i zarabiania na nich ) :C

5. Na zakończenie

Moja pierwsza aplikacja, w sumie z template zrobiona, tylko dodałem jakieś tam popierdółki, żeby w ogóle sprawdzić czy deployment działa i toto się uruchamia ;) http://www.youtube.com/watch?v=1SuYZL3TJPs A to XNA Racing Game, robi wrażenie jak na home development ;) http://www.youtube.com/watch?v=TgChURF5fQE Microsoft zaczął nawet ten projekt wspierać :)

 

Dobra, dobra. Chwila. Chcesz sobie skomentować lub ocenić komentujących?

Zaloguj się lub zarejestruj jako nieustraszony bojownik walczący z powagą

Napędzana humorem dzięki Joe Monsterowi