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ŃCZOWY

instagram viewer

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.player.center_x = szerokość // 2
self.player.center_y = wzrost // 2

wróg własny = arkada. SpriteSolidColor(20, 20, czerwony)
self.enemy.center_x = szerokość // 4
self.enemy.center_y = wzrost // 4

pokon_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 -= 10

pokgłó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 = 100

pokon_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 -= 10

Jeś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 = 0

pokon_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_time

Jeśli self.shield_timer >= self.shield_duration:
self.shield_active = FAŁSZ
self.shield_timer = 0

Do 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.