A gdyby tak…

24 05 2009

Zastanawiam się nad tą nieszczęsną Javą. Jakkolwiek by nie patrzeć jej wydajność rzeczywiście bardzo wzrosła w porównaniu do kilku poprzednich lat. Skoro niektórzy uważają, że prędkością działania jest zbliżona do C to być może lepiej byłoby używać Javy. W końcu wieloplatformowość mamy całkowicie za darmo, a programy tworzy się całkiem szybko i przyjemnie.

Wobec powyższego postanowiłem pokombinować trochę z wykorzystaniem OpenGL w Javie i zobaczyć co też da się z niego wycisnąć. W końcu – jak wszyscy wiemy – programowanie gier i grafiki to taka “formuła 1″ programowania. Tutaj każda część sekundy jest bardzo cenna. Sądzę, że takie badania pozwolą rzeczywiście stwierdzić co jest szybsze na polu bitwy zamiast w jakichś przykładach, które mogą być specjalnie przygotowane.

Chciałbym dodać, że nie zamierzam zrobić tego po to aby dowieść, że Java jest wolna. Podchodzę do tego z nadzieją, że okaże się zupełnie inaczej i że programowanie gier wieloplatformowych przestanie spędzać sen z powiek wielu programistów. Obawiam się jednak, że moja nadzieja nie wystarzcy… trzymajcie kciuki ;)

Niestety w chwili obecnej mam pewien natłok różnych rzeczy do zrobienia więc całą sprawą zacznę się zajmować jakoś po 10 czerwca, a pełną parą w wakacje (od 22 czerwca).

Na koniec jako ciekawostkę dam link do gry, która została napisana w Javie z użyciem OpenGL i umieszczona na stronie internetowej dzięki czemu możemy cieszyć się (biednym co prawda,ale wciąż), 3D bez instalowania czegokolwiek na swoim komputerze. Mam na myśli oczywiście Rune Scape. To dość popularna gra. Być może ze względu na to, że nie polega wyłącznie na zabijaniu wszystkiego co się rusza…





Titoe zakończone

23 05 2009

Titoe – mój projekt zaliczeniowy z przedmiotu Java został zakończony. No… jego główna część. W tej chwili program ma się świetnie i pozwala na grę do 10 osób na nieskończonej planszy. Zasady są identyczne jak w klasycznym kółko i krzyżyk na 5. Prawdę mówiąc nie jestem wcale pewien czy brak ograniczenia graczy jest dobry czy nie, jednak w projektach zaliczeniowych nie jest to najważniejsze, prawda? ;)

Cieszę się, że udało mi się zaimplementować taki sposób gry aby podczas rozgrywki sieciowej na kilku graczy możliwa była gra więcej niz jednej osoby z jednego komputera. Dzięki temu można mając dwa komputery i dwa klienty grać w 3 i więcej osób. Niestety na chwilę obecną gra nie posiada sztucznej inteligencji. Jednak dzięki temu złemu i niedobremu fanatyzmowi obiektowemu, o który ktoś mnie posądzał dodanie obsługi graczy komputerowych jest bardzo proste. Mimo tego zapewne taka opcja się nie pojawi – a przynajmniej nie wcześnie. W najbliższym czasie czeka mnie dużo ciekawych rzeczy do zrobienia (w tym kilka egzaminów, kolokwiów i jakiś ślub brata), a wszystko w ciągu jednego tygodnia :)

Wracając jednak do projektu zaliczeniowego z Javy to na chwilę obecną wygląda on tak:

Kółko i krzyżyk na nieskończonej planszy i na wielu graczy.

Kółko i krzyżyk na nieskończonej planszy i na wielu graczy.

Jeśli chodzi o sterowanie programem to wymaga ono jeszcze trochę dopracowania. Niektóre opcje można wyrzucić, kilka możnaby dodać jednak są to już tylko kosmetyczne zmiany, które (znając życie) będą czekały na swoją kolej przez resztę czasu trwania wszechświata ;)

Całkowity czas jaki poświęciłem na ten projekt zaczynając od pierwszego kliknięcia w Netbeansie do efektu alfa-końcowego wynosi około 3-4 dni kodzenia (wliczając spanie ;) ).  Mam nadzieję, że się pzyjmie i dostanę jakąś pozytywną ocenę…





Co z tym projektem?

9 05 2009

Projekt, który tworzę na Javę musiał troszkę poczekać ze względu na brak czasu spowodowany natłokiem różnych obowiązków (taak.. studiuje w moim rodzinnym mieście…) oraz kolokwiami. Na szczęście wyniki kolokwiów sa wiecej niż zadowalające więc teraz ze spokojem mogę oddać się tworzeniu mojego dzieła.

Postanowiłem napisać protokół sieciowy w taki sposób, aby możliwa była gra wielu osób (więcej niż 2) oraz aby z jednego komputera mogło się połączyć kilku graczy. W jeśli w efekcie końcowym uznam, że jednak gra na n+2 graczy jest bez sensu to ograniczę to w kodzie i będzie po sprawie.

Drugą zaletą tego rozwiązania jest fakt, że jeśli chcemy zagrać z kolegą/koleżanką który/a nas odwiedził/a to wystarczy stworzyć serwer dla dwóch graczy i podłączyć ich z jednego komputera. W ten sposób nie musiałem Tworzyć osobnego mechanizmu dla gry przy jednym komputerze.

Niestety w ogniu walki zaginęły mi gdzieś klasy okna głównego i wyświetlania planszy. Okno główne zostało już odtworzone (bo nie bylo specjalnie rozbudowane) ale wyświetlanie planszy muszę teraz właśnie napisać.