Skocz do zawartości

Lab Experiment Demo


Threef

Rekomendowane odpowiedzi

Tytuł: Lab Experiment Demo

 

Gatunek: Platformówka

 

Opis: Platformówka którą zrobiłem na Ludum Dare 24. Mały help jest jest w pliku txt. Cały temat jest po to żebyście obejrzeli timelapse z procesu tworzenia tej gry. Hint: Można zobaczyć jak dłubię w nosie!

 

Download: Link

Rozmiar pliku: 5MB

 

 

Autorzy:

Programowanie:
Threef

Fabuła:
Threef

Grafika:
Threef

Muzyka:
, Threef

Screeny:

15219-shot0.png

 

Timelapse:

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie, skakać się da ale jest to gra logiczna, w dodatku tematem compo była ewolucja dlatego musicie ewoluować aby skakać. :P A gdyby się ktoś czepiał że to nie ten dział to od razu się tłumaczę że "Lab Experiment Demo" to pełna nazwa gry, nie oznacza to że jest to demo! lol!

Odnośnik do komentarza
Udostępnij na innych stronach

Rzeczywiście pomyliłem linki. A co do czasu to tak, nie tego się spodziewałem. Pod koniec filmiku widać jak biegam po projekcie bez celu. Wypaliłem się. Zacząłem w ogóle bez pomysłu. Rysowałem nie wiedząc jeszcze co zrobię za grę. Dopiero podczas rysowania wpadłem na pomysł.

17 godzin? Wstałem w ten dzień o 10 rano a Compo zaczęło się o 3 w nocy = 17 do rozpoczęcia Compo + 22 godziny robienia.

 

Przez ten czas wypiłem 9 herbat, 3 kawy, 1,5 litra Pepsi i jednego Lecha Shandy. :P Zjadłem 6 kanapek, 2 tosty, zupę botwinkę i podżerałem wędlinę z lodówki.

Odnośnik do komentarza
Udostępnij na innych stronach

No to popraw też buga z wchodzeniem w ściany jak sklejają się ze sobą te małe slimy. Wystarczy stać blisko ściany i się złączyć nimi wtedy jesteś wklejony w ścianę.

Edit: Na prawą tez nieraz jest ciężko się przykleić bo jak jesteś odsunięty od niej o 1 pixel to nie da wtedy rady.

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie! W ostatniej chwili [myślałem że] poprawiałem ten błąd z łączeniem i zrobiłem to źle. W step non stop chodziło:

GML
if(place_free(x-4,y)){x-=4}

if(place_free(x+4,y)){x+=4}

Przez to wallump nie działał.

 

Upam nową wersję. :P

Odnośnik do komentarza
Udostępnij na innych stronach

Zagrałem chwilkę w grę i znalazłem bug-a, a mianowicie jak się zmienia w te dwie połówki, spada w dół, a potem przytrzymując lewy klawisz wpada w ścianę, to te dwa gluty zmienia się w normalnego gluta, a później ten glut przy okazji zaklinowuje się w ścianie.

 

Screen zaistniałej sytuacji:

 

bug_1_.png

Odnośnik do komentarza
Udostępnij na innych stronach

Nadal lipnie to działa. Jak postać jest odsunięta od ściany o 1 pixel to się nie przykleja a zwykle jest tak że nie da się dosunąć bardziej. To zepsuło przyklejanie do prawych ścianek.

 

Wiem i to [mam nadzieję] poprawiłem w ostatnim szybkim bugfix-ie.

Nie poprawiłeś :P

Odnośnik do komentarza
Udostępnij na innych stronach

Faktycznie odbijanie od lewej ścianki nie działa, a szkoda, bo bym mógł ocenić :) . Pomysł w miarę, wykonanie w miarę, tylko gdyby wziąć pod uwagę bugi... Aj. Następnym razem prześlij mi źródełko, zawsze mogę pomóc ;) .

 

[tak, wiem, że jest dostępne, ale późno już]

Odnośnik do komentarza
Udostępnij na innych stronach

Grę oceniło już 18 osób, a staram się by ciągle była w pierwszej 10 polecanych. Poprawiłem błąd ze scalaniem i mam zamiar zaraz poprawić WJ. Jakieś pomysły? :D

GML
if(keyboard_check(ord("A")) and keyboard_check(ord("W")) and !place_free(x-2,y) and place_free(x,y+1)
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli robisz platformówkę, podstawową zasadą jest znajomość jakże prostej konstrukcji opartej o pętlę while:

GML
while( place_free( x + a, y ) ) {

x += a;

}

Gdzie a to jedność lub jej przeciwność (1/-1). Gdy w grę wchodzą większę wartości, możesz zaimplementować jakiś algorytm usprawniający takie "przeszukiwanie" (jest nawet art o tym na gmclanie). Ale jak dla mnie to przesada, przy tym projekcie to nawet byłoby mniej wydajne. Przy spadaniu lub skakaniu to samo tyczy się osi y. Wówczas można mówić o ładnych kolizjach, gdzie gracz faktycznie "przylega" do ścian, a nie jest obok nich (i zawsze jest to wartość b, gdzie 0 <= b < prędkość obiektu, do czego można łatwo samemu dojść). Btw., GM oferuje funkcję move_towards_solid, jednak nie ufałbym mu za cholerę ;) .

 

Edit: A no, contact :P .

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Sernat. Widocznie nie rozumiałem czym jest funkcja move_contact_solid() :) Kudos i to wielkie dla Ciebie za to! Wszystko działało już przed edycją przez Ciebie twojego posta. :) Biorąc pod uwagę że to jest moja pierwsza ever gra platformowa to jestem teraz wielce zadowolony! WJ działa już za każdym razem. Z bugów zostało mi wyeliminowanie wnerwiającego eventu który powstaje gdy gracz naciśnie klawisz skoku podczas lotu i jednej animacji która się popsuła przez moje ostatnie próby naprawienia WJ. Byłem bardzo sceptycznie nastawiony do mojego 'level design' ale widzę w komentarzach że ludziom bardzo się to podoba! Już leci na dropbox update, ale aktualna prędkość to 4.4 kB/sec. Trochę to potrwa.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...