Wpis z mikrobloga

Wrzucam trochę późno, ale dodawałem wersję #html5 mojej gry na #ludumdare.

Jest to top-down shooter z proceduralnie generowanymi poziomami, w którym sterując bałwanem strzelamy do buk ( ͡º ͜ʖ͡º). Nie wyrobiłem się z dodaniem dodatkowego contentu jak broni, power-upów czy innych przeciwników, ale udało się odrobinę podpolerować grę więc nie jest to drewno totalne.

Z projektu jestem zadowolony, nigdy wcześniej nie zrobiłem żadnej gry ze strzelaniem, ani żadnej z generowaniem poziomów więc było to ciekawe doświadczenie.

Sterowanie: AWSD - poruszanie się, LPM - strzelanie (można trzymać).

LINK: http://ludumdare.com/compo/ludum-dare-31/?action=preview&uid=28690

Nie zalecam grania w wersję html5, ponieważ gra jest downscalowana oraz może nie działać najlepiej.

#lukzdev #gamedev #libgdx
jasiek13 - Wrzucam trochę późno, ale dodawałem wersję #html5 mojej gry na #ludumdare....
  • 17
@jasiek13: nadal chciałbym zobaczyc jak generujesz poziomy proceduralnie. Zawsze mnie ten temat ciekawil a nigdy do tego nie usiadlem nawet. Jesli chociaż rozpiszesz algorytm to bedzie fajnie.
@sortris: Jeśli chcesz to możesz zajrzeć do źródeł, pliczek GeneratedMap.class czy jakoś tak. Syf totalny ze względu na pośpiech ale conieco da się zrozumieć. Jeśli chodzi o algorytm to jest to chyba najprostsze generowanie map jakie można zrobić.

Mapa składa się z kafelków 32x32.

0. Bierzesz sobie jakąś macierz 2D i czyścisz ją oznaczając wszystkie pola, powiedzmy 0. Oznaczać one będą kafelki ze ścianą.

1. Na mapę rzucam w losowym miejscu
@Adenozynotrifosforan: Dzięki! No udało się trochę podszlifować grę, szkoda że nie wrzuciłem więcej contentu. Co do mgły to wpadłem na to chwilę przed końcem i zrobiłem ją na szybko w 15 min, miałem wątpliwości czy ma sens więc cieszę się, że się podoba :)

Co do melodyjki, to jest to melodia z generatora ( ͡º ͜ʖ͡º)
Porusza nie się:

1. Player ma Vector2 directions, któego x/y ustawiam na -1, 1 w zależności od kierunku, lub zero w momencie puszczenia przycisku http://wklej.org/id/1552503/

2. W update() playera ustawiam jego velocity na direction przeskalowane przez speed

Strzelanie:

1. W momencie dotknięcia ekranu ustawiam Vector2 target gracza na pozycję dotknięcia w świecie gry. Dodatkowo ustawiam jakiegoś bool'a informującego, że gracz chce strzelać. (Przy przeciągnięciu zmieniam tylko pozycję target, przy puszczeniu ustawiam boola