niedziela, 15 kwietnia 2012

Gra eksploracyjna

Ten pomysł od długiego już czasu chodzi za mną, a to z tej przyczyny, że eksploracja była i jest jednym z elementów, jakie w grach cenię najbardziej. Zastanawiam się nawet, czy sprawdziłaby się gra wyłącznie eksploracyjna. Gdzie nie ma innych zadań, ani celów - samo zwiedzanie świata. Żadnych zagadek, żadnych pułapek, żadnych wrogów do pokonania, ani nic do znalezienia. Poza drogą.

Po głębszym namyśle można dojść do wniosku, że w sumie, to czasem zagadką będzie "jak tam wejść", a przeszkodą to, że można spaść lub się zgubić. Labirynty nie są nowym typem rozrywki, więc może to nieść nieco przyjemności. W dodatku można solidnie to rozbudować o system zadań: wejdź gdzieś, znajdź coś, wespnij się tam, przebądź coś. A po zrobieniu jednego, mogą odblokowywać się kolejne. Całkiem jak w jakimś sandboksie, tyle że bez tego dodatkowego strzelania do bandytów w międzyczasie.

Nie wiem, czy byłoby to dobrze realizowalne w 2D. Chyba kluczowe byłyby tu doznania wizualne i jakaś zatrważająca, epicka architektura (albo przyroda), którą moglibyśmy zwiedzać. Nie wiem też, czy byłbym w stanie się do tego zabrać właśnie z wymienionych powodów. Ok, grafika mogłaby być bardzo uproszczona, ale wówczas złożonej architektury nie można zaniedbać. Musiałby pobrać solidne korepetycje w tym zakresie. Ale przynajmniej nie będzie problemu z animacją postaci (bo żadnych nie będzie, a perspektywa będzie pierwszoosobowa).

Czyli mogłoby to wyglądać tak: najpierw jakiś mały pokój, drzwi, potem wchodzimy w jakieś korytarze, potem w przestronne wnętrza, wychodzimy na przytłaczającą przestrzeń, wspinamy się po filarach na mosty, które wznoszą się na dużej wysokości, potem znów w dół schodów lub jakiś tunel, przejściami w inne miejsce, które widzieliśmy w oddali a teraz spoglądamy na świat z nowej perspektywy. Może podążamy jedną ścieżką, poszukując celu, a może zbieramy rozrzucone "kule" i staramy się zajrzeć w każdy zakamarek otoczenia.

poniedziałek, 19 marca 2012

Skillowe SRPG

SRPG, czyli strategiczne RPG, gdzie nie bawimy się w taktykę poszczególnych tur i penetrację labiryntów, tylko wysokopoziomowe zarządzanie drużyną, questami, rozwojem, wyposażeniem. Oczywiście "RPG" w tym wypadku oznacza "ekspy i loota" czyli typ gry, gdzie wykonujemy zadania i rozwijamy postać. A nie jakieś śmieszne wcielanie się w postać.

Strategia jest oparta na questach i skillach, przy czym lista umiejętności jest dość obszerna i różnorodna - począwszy od typowych "skradanie się", "walka mieczem" i "rzucanie zaklęć" aż po bardziej egzotyczne "gra na lutni", "gotowanie klusek" i "tresura małp". Zadania dopasowane są do umiejętności - lub może raczej: różne zadania wymagają różnych umiejętności. A zarazem rozwijają różne umiejętności. Oferują też różne nagrody. Cała sztuka to dopasować sobie zadanie, aby nie tylko moc je wykonać, ale i podnieść to, co trzeba (a nie np. zgłupieć). Jeśli ktoś chce być najlepszym treserem małp na świecie, to niech lepiej rozważnie wybiera zadania, których ma zamiar się podjąć.

Od strony interfejsu jest to po prostu lista (i odpowiednie opcje filtrowania/ sortowania), z której możemy wybierać zadania do zrobienia. Zawsze należy rozważyć nie tylko spodziewany zysk, ale i poświęcane zasoby (w tym i czas). Jednym z ciekawszych zadań jest "szukanie nowych zadań", czy nawet "szukanie kogoś, kto wykona za nas zadanie". To przy założeniu, że możemy wykonywać kilka zadań jednocześnie (ale dlaczegóż by nie - jeśli starczy nam roboczogodzin) lub przerywać je na jakiś czas.

Cel gry - wykonanie jakiegoś ultimate challenge, który może być jeden ogólny (i wiele dróg do niego) lub inny dla każdej przewidzianej przez grę "ścieżki rozwoju" (okiełznać King Konga to nie lada wyzwanie).

Nic się nie urodziło

Witam po dziewięciu miesiącach. Tak, chyba się zgadza, dziewięć miesięcy, o rety. Nie, niestety, nic się nie urodziło. Nic nowego. Żadnych nowych projektów. Co robiłem? Obijałem się, jak zwykle. Czy coś zrobię? O tak, z pewnością. Ale nie dzisiaj.

Niniejszym zmieniam nieco charakter tego - pożal się Boże - bloga. Aby całkiem go nie zabić (hej, to już się stało!) i od czasu do czasu cokolwiek jednak tu pisać, postanawiam uczynić go miejscem wrzucania pomysłów, jakie kiedykolwiek przejdą mi przez głowę i nie umkną z niej dostatecznie szybko, bym nie zdążył ich zanotować. W miarę czasu (i pamięci) będę też odnotowywał te różne, które zdarzyło mi się mieć (choćby przelotnie), aby został po nich ślad. Choćby i w internetach.

Im krótsze, prostsze i mniej wymagające będą wpisy, tym większa szansa na regularność. Wpis, który wymaga kompilowania programu i wrzucania plików na serwer, zostaje uśmiercony przez prokrastynację, nim zdoła przyjść na świat.

sobota, 18 czerwca 2011

Testujemy ruch

Trochę oddalam się od tej koncepcji Zeldy, ale nie od koncepcji gry. Postać oznacza masę kłopotów z animacją i to nie natury programistycznej, a raczej mmm... artystycznej. Znaczy ktoś te wszystkie kolorowe obrazki przebierającego nóżkami ludka musi narysować. Pomnożone przez 20, bo przeciwnicy też nie mogą być sztywnymi kołkami.

A może jednak mogą? Gdyby wymienić ich na jakieś pojazdy, roboty, pospolite sprzęty? Na razie testuję koncepcję wymiany na figurę geometryczną. I różne koncepcje ruchu. To jest właściwie główna treść tego testu. Jak powinna poruszać się postać? No tak, jasne, klawisze kursora i mysz do strzelania. Tyle ustaliłem na początku. Ale co właściwie robi klawisz "Up"? Gdzie ma iść postać? W gorę ekranu? Przed siebie? W kierunku kursora? Co robi "Left"? Postać obraca się w lewo? Czy może raczej zaczyna strafować?

Zamiast czczych rozważań, lepiej napisać test - oto więc jest. Na dole są radiobuttony do trzech opcji, można potestować. Póki co, wychodzi mi jednak, że pierwsze rozwiązanie było najlepsze. Jakoś tak najłatwiej ogarnąć gdzie postać idzie, a gdzie ma iść. Ale jeszcze sprawdzę co się stanie, gdy ruch postaci wymienię na ruch tła pod postacią (tak przecież ma wyglądać to docelowo - postać na środku ekranu, a świat przewija się jej pod stopami).

Kolejny krok to będzie zatem dodanie tego świata, który mógłby się przewijać.

Link do obadania:
http://gramowanie.blox.pl/resource/SilverlightApplication2TestPage.html

niedziela, 12 czerwca 2011

Podróbka Zeldy w Silverlight

Obijałem się strasznie ostatnio i w ogóle nie dotknąłem palcem mojego Bouldera. Ale za to, zachęcony nieopatrznym komentarzem torq314, rzuciłem się na Silverlighta niczym wilk na owieczkę. O, jakże łatwiej jest chwycić się nowego projektu (i nowej technologii), niż dociągnąć coś starego do końca. Pocieszam się myślą, że jak rozgrzebię 3 czy 5 projektów, to może powolutku-powolutku uda się któryś dopchać do poziomu przyzwoitości (o poziomie zajebistości na razie nie myślę).
W sumie to pomysł był na flashową Zeldę, ale... Ale póki co zamiast flasha jest silverlight. Co do Zeldy, to też nie jestem do końca przekonany. Może Linka zastąpię czołgiem lub - jeszcze lepiej - latającym spodkiem. Mniej zabaw z animacją.
Zaś Mario? Mario odkładam na później. Może jak najdzie mię ochotą zrobić coś w XNA.

To co jest teraz można zobaczyć tutaj:
http://gramowanie.blox.pl/resource/SilverlightApplication1TestPage.html
(Mam nadzieję, że działa nie tylko u mnie, nie wiem czy zrzuciłem na serwer wszystko co trzeba.)

A co jest? Jest animowana postać, którą poruszamy klawiszami strzałek (lub WSADem), myszką możemy strzelać. Strzałami. Celów nie ma, nie ma kolizji, nie ma mapy. Animacja jest tylko w jedną stronę, bo nie chciało mi się więcej rysować obrazków.
Jeszcze nie zrobiłem solidnego riserczu jeśli idzie o tworzenie gier w SL, więc parę rzeczy jest wykonanych po omacku. Sprajty to Image wrzucane na Canvas. Aktualizacja stanu gry jest w DispatcherTimer. Animacja ludka - podmiana Source w Image. Nie wiem, czy to jest najwłaściwsza ścieżka, ale (póki co) działa.
Jeśli nie opuści mnie zapał, to następne w kolejności będzie dodanie jakiejś mapy i kolizji (w tym zabijania przeciwników). Waham się, czy robić wielką scrollowaną mapę (tricky), czy osobne plansze jak w oryginalne (mowa o Zeldach 2D).

Fota jest na wypadek, gdyby były wątpliwości, czy wygląda tak jak ma wyglądać. Ma wyglądać tak:

niedziela, 22 maja 2011

Bowlder, ver. 0.7

Wrzucam źródła i binarkę do Bowldera. Błędy znalezione i poprawione, interakcja działa jak należy. Jeszcze przyjrzę się ruchom przeszkadzajek, ale to przy okazji dodawania nowych gatunków (ruch tylko w poziomie, ruch tylko w pionie, ruchome działko, śledzenie gracza, ruch losowy, etc.)

Parę elementów wymaga dopieszczenia graficznego, np. dlaczego zjadanie "trawy" sprowadza się do jej zniknięcia? Nie przeszkadzało to przy ruchu krokowym, ale przy płynnym wygląda słabo. Czy nie przydałaby się tu jakaś animacja? Muszę też dodać możliwość zdefiniowania innej liczby kamieni koniecznych do ukończenia poziomu.

Do zwalczenia: pierdzenie dźwięku w Windowsie. A może to wina plików muzycznych?

Windowsowa binarka: https://rapidshare.com/files/2816660835/Bowlder_07.zip
Źródła: https://rapidshare.com/files/1190000989/Bowlder_07_src.zip

100 Bowlderów na sekundę

Chyba za dużo ostatnio czasu spędzam w GIMPie et consortes, tracąc czas na zabawę grafikami, zamiast programować. A i tak nic bardzo pięknego nie udaje mi się uzyskać. Tworzenie to ciężki kawałek chleba...

Uporałem się już za to z wydajnością (wreszcie śmiga na słowniku - teraz ta wielka plansza, która ostatnio zmulała do 20 klatek, teraz szumi w 100fps w trybie oszczędnym lapka, hell yeah), ruch płynny też już wszędzie chodzi tak jak bym chciał. No, może jeszcze ruch "potworów" (ostatnio przerobiłem je na wirujące ostrza) wymaga dopatrzenia, a nawet nie tyle ruch co ich interakcja (wciąż zdarza im się uniknąć zmiażdżenia przez kamień). Dodałem też beczki i skrzynki, które potrafią wybuchnąć w różnych okolicznościach i różnym promieniu (skrzynki docelowo mają eksplodować w klejnoty) oraz działko (to te fioletowe coś podobne do krzyża na obrazku) strzelajace w czterech kierunkach pociskami. Co zostało? Naprawić co wymaga naprawienia, a potem już tylko dodawać kolejne elementy. No i wreszcie zacząć projektować jakieś sensowne plansze. Z tym pewnie będzie najwięcej roboty.

Kody i binaria wrzucę później, bo mam jeszcze parę błędów.

I na dobranoc obrazek: