Daj swoim graczom coś do zdobycia w miarę postępów w grze.
Wzmocnienia i elementy kolekcjonerskie to podstawowe elementy gry, które mogą poprawić wrażenia z gry i dodać emocji do gier zręcznościowych. Zapewniają graczom dodatkowe umiejętności, nagrody i wyzwania. Dzięki bibliotece arcade będziesz mógł błyskawicznie tworzyć wciągające gry z ulepszeniami i przedmiotami kolekcjonerskimi.
Stwórz prostą grę
Zacznij od podstawowej konfiguracji, w której gracz może poruszać się w czterech kierunkach (w lewo, w prawo, w górę i w dół) za pomocą klawiatury. Dodatkowo wprowadź jeden wrogi obiekt, aby zapewnić interakcję w środowisku gry.
Kod użyty w tym artykule jest dostępny w this Repozytorium GitHub i jest darmowy do użytku na licencji MIT.
Utwórz nowy plik o nazwie prosta gra.py i dodaj poniższy kod:
import arkada
niebieski = arkadowy.kolor. NIEBIESKI
czerwony = arkadowy.kolor. CZERWONY
czarny = arkadowy.kolor. CZARNY
biały = arkadowy.kolor. BIAŁY
żółty = arkadowy.kolor. ŻÓŁTY
zielony = arcade.kolor. ZIELONY
pomarańczowy = arkadowy.kolor. POMARAŃCZOWYklasaGra(arkada. Okno):
pok__w tym__(ja, szerokość, wysokość):
super().__init__(szerokość, wysokość)
arcade.set_background_color (czarny)sam.gracz = arkada. SpriteOkrąg(20, niebieski)
self.player.center_x = szerokość // 2
self.player.center_y = wzrost // 2wróg własny = arkada. SpriteSolidColor(20, 20, czerwony)
self.enemy.center_x = szerokość // 4
self.enemy.center_y = wzrost // 4pokon_draw(samego siebie):
arcade.start_render()
sam.gracz.draw()
własny.wróg.draw()pokaktualizacja(ja, delta_czas):
przechodzićpokon_key_press(ja, klucz, modyfikatory):
Jeśli klucz == klucz.zręcznościowy. LEWY:
self.player.center_x -= 10
Elif klucz == klucz.zręcznościowy. PRAWIDŁOWY:
sam.gracz.centrum_x += 10
Elif klucz == klucz.zręcznościowy. W GÓRĘ:
self.player.center_y += 10
Elif klucz == klucz.zręcznościowy. W DÓŁ:
self.player.center_y -= 10pokgłówny():
gra = gra (800, 600)
arcade.run()
Jeśli __nazwa__ == "__główny__":
główny()
Uruchom ten kod, a będziesz mieć podstawową grę z ruchem gracza i wrogim obiektem.
Tworzenie stanów gry
Aby włączyć ulepszenia i elementy kolekcjonerskie, musisz ustalić stany gry, takie jak wynik i zdrowie. Możesz zarządzać wynikiem i zdrowia za pomocą oddzielnej zmiennej. Zmodyfikuj kod, aby uwzględnić te funkcje. Zdrowie gracza zmniejszy się, gdy zderzy się z wrogim obiektem.
klasaGra(arkada. Okno):
pok__w tym__(ja, szerokość, wysokość):
super().__init__(szerokość, wysokość)własny.wynik = 0
samo.zdrowie = 100pokon_draw(samego siebie):
arcade.draw_text(f"Wynik: {samo.wynik}", 10, 10, biały)
arcade.draw_text(f"Zdrowie: {samo.zdrowie}", 10, 30, biały)pokaktualizacja(ja, delta_czas):
Jeśli arcade.check_for_collision (samodzielny gracz, własny wróg):
samo.zdrowie -= 10Jeśli samo.zdrowie <= 0:
self.game_over()
pokkoniec gry(samego siebie):
# Dodaj logikę game over tutaj
przechodzić
Teraz zdrowie gracza zmniejsza się o 10 podczas zderzenia z wrogiem, a wynik i wartości zdrowia są wyświetlane na ekranie.
Dodawanie przedmiotów kolekcjonerskich
Następnie stwórz przedmioty kolekcjonerskie, które po zebraniu zwiększą wynik gracza o 10. Te przedmioty kolekcjonerskie będą miały różne kształty dla urozmaicenia wizualnego. Utwórz nowy plik o nazwie kolekcje.py i dodaj kod z poniższą aktualizacją:
klasaGra(arkada. Okno):
pok__w tym__(ja, szerokość, wysokość):
super().__init__(szerokość, wysokość)self.collectibles = arcade. SpriteList()
Do _ W zakres(5):
kolekcjonerskie = arkadowe. SpriteSolidColor(20, 40, żółty)
element kolekcjonerski.centrum_x = losowy.randint(0, szerokość)
element kolekcjonerski.center_y = random.randint(0, wysokość)
self.collectibles.append (do kolekcjonowania)pokon_draw(samego siebie):
arcade.start_render()
sam.gracz.draw()
własny.wróg.draw()
self.collectibles.draw()
arcade.draw_text(f"Wynik: {samo.wynik}", 10, 10, biały)
arcade.draw_text(f"Zdrowie: {samo.zdrowie}", 10, 30, biały)
pokaktualizacja(ja, delta_czas):
Do kolekcjonerskie W przedmioty kolekcjonerskie:
Jeśli arcade.check_for_collision (samodzielny gracz, przedmiot kolekcjonerski):
własny.wynik += 10
kolekcjonerska.remove_from_sprite_lists()
Utwórz listę przedmiotów kolekcjonerskich z pięcioma instancjami, z których każda jest reprezentowana przez żółty prostokąt. Kiedy gracz zderza się z przedmiotem kolekcjonerskim, jego wynik wzrasta o 10, a przedmiot kolekcjonerski jest usuwany z listy sprite'ów.
Dodawanie ulepszeń
Teraz możesz dodawać ulepszenia do swojej gry. Gdy gracz zbierze wzmocnienie, wokół niego na 10 sekund pojawi się tarcza. W tym czasie, jeśli gracz zderza się z wrogiem, zniszczą wroga. Utwórz nowy plik o nazwie power-upy.py i dodaj kod z poniższą aktualizacją:
klasaGra(arkada. Okno):
pok__w tym__(ja, szerokość, wysokość):
super().__init__(szerokość, wysokość)self.power_up = zręcznościowa. SpriteSolidColor(50, 20, zielony)
self.power_up.center_x = random.randint(0, szerokość)
self.power_up.center_y = random.randint(0, wysokość)self.shield_active = FAŁSZ
self.shield_duration = 10
self.shield_timer = 0pokon_draw(samego siebie):
arcade.start_render()
sam.gracz.draw()
własny.wróg.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(f"Wynik: {samo.wynik}", 10, 10, biały)
arcade.draw_text(f"Zdrowie: {samo.zdrowie}", 10, 30, biały)pokaktualizacja(ja, delta_czas):
Jeśli arcade.check_for_collision (samodzielny gracz, własny wróg):
Jeślinie self.shield_active:
samo.zdrowie -= 10
Jeśli samo.zdrowie <= 0:
self.game_over()
w przeciwnym razie:
self.enemy.remove_from_sprite_lists()Jeśli self.shield_active:
self.shield_timer += delta_timeJeśli self.shield_timer >= self.shield_duration:
self.shield_active = FAŁSZ
self.shield_timer = 0Do kolekcjonerskie W przedmioty kolekcjonerskie:
Jeśli arcade.check_for_collision (samodzielny gracz, przedmiot kolekcjonerski):
własny.wynik += 10
kolekcjonerska.remove_from_sprite_lists()
Jeśli arcade.check_for_collision (self.player, self.power_up):
self.shield_active = PRAWDA
self.power_up.remove_from_sprite_lists()
Poniżej znajduje się wyjście:
W tym dodatkowe funkcje
Możesz dodatkowo ulepszyć system ulepszeń i przedmiotów kolekcjonerskich, dodając dodatkowe funkcje. Na przykład możesz stworzyć ulepszenie timera, które po zebraniu wydłuży czas gry. Utwórz nowy plik o nazwie timer-power-up.py i dodaj kod z poniższą aktualizacją:
klasaGra(arkada. Okno):
pok__w tym__(ja, szerokość, wysokość):
super().__init__(szerokość, wysokość)
arcade.set_background_color (czarny)sam.gracz = arkada. SpriteOkrąg(20, niebieski)
# ...self.timer_power_up = zręcznościowa. SpriteSolidColor(40, 20, Pomarańczowy)
self.timer_power_up.center_x = random.randint(0, szerokość)
self.timer_power_up.center_y = random.randint(0, wysokość)własny.czas_gry = 60# Początkowy czas gry w sekundach
self.timer_power_up_duration = 10# ...
pokaktualizacja(ja, delta_czas):
# ...Jeśli arcade.check_for_collision (self.player, self.timer_power_up):
self.game_time += self.timer_power_up_duration
self.timer_power_up.remove_from_sprite_lists()# ...
pokgłówny():
gra = gra (800, 600)
arcade.run()
Jeśli __nazwa__ == "__główny__":
główny()
Najlepsze praktyki dotyczące ulepszeń i przedmiotów kolekcjonerskich
Ulepszenia i przedmioty kolekcjonerskie odgrywają kluczową rolę w ulepszaniu rozgrywki w grach zręcznościowych. Aby upewnić się, że te elementy są przyjemne i dobrze zintegrowane z grą, konieczne jest przestrzeganie kilku najlepszych praktyk:
Przejrzystość wizualna i spójność
Używaj wyróżniających się i atrakcyjnych wizualnie sprite'ów do ulepszeń i przedmiotów kolekcjonerskich, aby wyróżniały się na tle innych elementów gry. Upewnij się, że wygląd ulepszeń i elementów kolekcjonerskich jest zgodny z ich efektami i przeznaczeniem w grze.
Zachowaj spójność w projektowaniu, schematach kolorów i rozmiarach ulepszeń i elementów kolekcjonerskich przez całą grę.
Równowaga i wyzwanie
Dostosuj rzadkość i rozmieszczenie ulepszeń i przedmiotów kolekcjonerskich, aby zachować poczucie wyzwania i nagrody dla graczy. Unikaj przytłaczania graczy zbyt dużą liczbą ulepszeń lub elementów kolekcjonerskich, ponieważ może to zmniejszyć wrażenie i emocje związane z ich odnajdywaniem.
Ostrożnie zrównoważ skuteczność i czas trwania ulepszeń, aby nie były one zbyt silne lub rozczarowujące.
Jasne wskaźniki i informacje zwrotne
Zapewnij wyraźne wizualne i dźwiękowe wskaźniki, gdy gracz zbierze ulepszenie lub element kolekcjonerski. Wyświetlaj tymczasowe efekty wizualne, takie jak animacje lub cząsteczki, aby zaznaczyć aktywację ulepszeń i czas ich trwania.
Relacja wyzwanie-nagroda
Upewnij się, że ulepszenia i elementy kolekcjonerskie zapewniają graczowi znaczące nagrody, takie jak lepszy wynik, dodatkowe umiejętności lub wydłużony czas gry. Dopasuj trudność zdobycia ulepszeń i przedmiotów kolekcjonerskich do oferowanych przez nie korzyści. Bardziej wymagające zadania powinny przynieść bardziej wartościowe nagrody.
Testowanie i balansowanie
Przetestuj grę, aby obserwować, jak gracze wchodzą w interakcje z ulepszeniami i przedmiotami kolekcjonerskimi. Korzystaj z opinii graczy, aby dostroić dystrybucję, czas trwania i efekty ulepszeń i elementów kolekcjonerskich, aby zapewnić zrównoważone i przyjemne wrażenia.
Postępując zgodnie z tymi najlepszymi praktykami, możesz stworzyć urzekający i dobrze wyważony system ulepszeń i przedmiotów kolekcjonerskich, który poprawia wrażenia z gry i utrzymuje zaangażowanie graczy w grę zręcznościową.
Spraw, by gry były przyjemniejsze dzięki ulepszeniom i elementom kolekcjonerskim
Wzmocnienia i elementy kolekcjonerskie dodają dodatkowej warstwy emocji i zaangażowania do gier zręcznościowych. Nie tylko zapewniają graczom nowe umiejętności i nagrody, ale także tworzą ciekawe wyzwania i strategiczne wybory.
Włączając te funkcje za pomocą biblioteki Python Arcade, możesz sprawić, że twoje gry będą przyjemniejsze i poprawić ogólne wrażenia z gry dla twoich graczy. Pamiętaj, aby eksperymentować, iterować i uwalniać swoją kreatywność, aby tworzyć unikalne i wciągające ulepszenia i elementy kolekcjonerskie, które pasują do motywu i mechaniki twojej gry.