Dejte svým hráčům něco, co si vyzvednou, když postupují vaší hrou.
Vylepšení a sběratelské předměty jsou základní herní prvky, které mohou zlepšit herní zážitek a přidat vzrušení do arkádových her. Poskytují hráčům další schopnosti, odměny a výzvy. S arkádovou knihovnou budete moci během okamžiku vytvářet poutavé hry s vylepšeními a sběratelskými předměty.
Vytvořte jednoduchou hru
Začněte se základním nastavením, kde hráč se může pohybovat čtyřmi směry (doleva, doprava, nahoru a dolů) pomocí vstupů z klávesnice. Navíc představte jeden nepřátelský objekt, který zajistí interakci v herním prostředí.
Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.
Vytvořte nový soubor s názvem jednoduchá hra.py a přidejte níže uvedený kód:
import pasáž
modrá = arkáda.barva. MODRÝ
červená = arkáda.barva. ČERVENÉ
černá = arkáda.barva. ČERNÁ
bílá = arkáda.barva. BÍLÝ
žlutá = arkáda.barva. ŽLUTÁ
zelená = arkáda.barva. ZELENÁ
oranžová = arkáda.barva. ORANŽOVÝtřídaHra(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)
arcade.set_background_color (černá)self.player = arkáda. SpriteCircle(20, modrá)
self.player.center_x = šířka // 2
self.player.center_y = výška // 2sebe.nepřítel = arkáda. SpriteSolidColor(20, 20, Červené)
self.nemy.center_x = šířka // 4
self.nemy.center_y = výška // 4defon_draw(já):
arcade.start_render()
self.player.draw()
self.nemy.draw()defAktualizace(self, delta_time):
složitdefon_key_press(vlastní, klíč, modifikátory):
-li klíč == arcade.key. VLEVO, ODJET:
self.player.center_x -= 10
elif klíč == arcade.key. ŽE JO:
self.player.center_x += 10
elif klíč == arcade.key. NAHORU:
self.player.center_y += 10
elif klíč == arcade.key. DOLŮ:
self.player.center_y -= 10defhlavní():
hra = hra(800, 600)
arcade.run()
-li __jméno__ == "__hlavní__":
hlavní()
Spusťte tento kód a budete mít základní hru s pohybem hráče a nepřátelským objektem.
Vytváření herních stavů
Chcete-li začlenit vylepšení a sběratelské předměty, musíte vytvořit herní stavy, jako je skóre a zdraví. Můžeš spravovat skóre a zdraví pomocí samostatné proměnné. Upravte kód tak, aby zahrnoval tyto funkce. Hráčovo zdraví se sníží, když se srazí s nepřátelským objektem.
třídaHra(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)sebe.skóre = 0
sebe.zdraví = 100defon_draw(já):
arcade.draw_text(f" Skóre: {self.score}", 10, 10, bílá)
arcade.draw_text(f" Zdraví: {self.health}", 10, 30, bílá)defAktualizace(self, delta_time):
-li arcade.check_for_collision (self.player, self.nemy):
vlastní.zdraví -= 10-li vlastní zdraví <= 0:
self.game_over()
defkonec hry(já):
# Zde přidejte hru přes logiku
složit
Nyní se zdraví hráče při střetu s nepřítelem sníží o 10 a na obrazovce se zobrazí skóre a hodnoty zdraví.
Přidávání sběratelských předmětů
Dále vytvořte sběratelské předměty, které při sesbírání zvýší hráčovo skóre o 10. Tyto sběratelské předměty budou mít různé tvary pro vizuální rozmanitost. Vytvořte nový soubor s názvem sběratelské předměty.py a přidejte kód s níže uvedenou aktualizací:
třídaHra(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)self.sběratelství = podloubí. SpriteList()
pro _ v rozsah(5):
sběratelská = arkáda. SpriteSolidColor(20, 40, žlutá)
collectible.center_x = random.randint(0, šířka)
collectible.center_y = random.randint(0, výška)
self.collectibles.append (sběratelské)defon_draw(já):
arcade.start_render()
self.player.draw()
self.nemy.draw()
self.collectibles.draw()
arcade.draw_text(f" Skóre: {self.score}", 10, 10, bílá)
arcade.draw_text(f" Zdraví: {self.health}", 10, 30, bílá)
defAktualizace(self, delta_time):
pro sběratelský v vlastní sběratelské předměty:
-li arcade.check_for_collision (self.player, sběratelský předmět):
sebe.skóre += 10
collectible.remove_from_sprite_lists()
Vytvořte seznam sběratelských předmětů s pěti instancemi, každou reprezentovanou žlutým obdélníkem. Když se hráč srazí se sběratelským předmětem, jeho skóre se zvýší o 10 a sběratelský předmět je odstraněn ze seznamu sprite.
Přidávání Power-Ups
Nyní můžete do hry přidat vylepšení. Když hráč získá power-up, objeví se kolem něj na 10 sekund štít. Během této doby, pokud hráč se srazí s nepřítelem, zničí nepřítele. Vytvořte nový soubor s názvem power-ups.py a přidejte kód s níže uvedenou aktualizací:
třídaHra(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)self.power_up = arkáda. SpriteSolidColor(50, 20, zelená)
self.power_up.center_x = random.randint(0, šířka)
self.power_up.center_y = random.randint(0, výška)self.shield_active = Nepravdivé
self.shield_duration = 10
self.shield_timer = 0defon_draw(já):
arcade.start_render()
self.player.draw()
self.nemy.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(f" Skóre: {self.score}", 10, 10, bílá)
arcade.draw_text(f" Zdraví: {self.health}", 10, 30, bílá)defAktualizace(self, delta_time):
-li arcade.check_for_collision (self.player, self.nemy):
-line self.shield_active:
vlastní.zdraví -= 10
-li vlastní zdraví <= 0:
self.game_over()
jiný:
self.nemy.remove_from_sprite_lists()-li self.shield_active:
self.shield_timer += delta_time-li self.shield_timer >= self.shield_duration:
self.shield_active = Nepravdivé
self.shield_timer = 0pro sběratelský v vlastní sběratelské předměty:
-li arcade.check_for_collision (self.player, sběratelský předmět):
sebe.skóre += 10
collectible.remove_from_sprite_lists()
-li arcade.check_for_collision (self.player, self.power_up):
self.shield_active = Skutečný
self.power_up.remove_from_sprite_lists()
Níže je výstup:
Včetně dalších funkcí
Systém vylepšení a sběratelských předmětů můžete dále vylepšit přidáním dalších funkcí. Můžete například vytvořit zapnutí časovače, který prodlouží herní dobu při sběru. Vytvořte nový soubor s názvem timer-power-up.py a přidejte kód s níže uvedenou aktualizací:
třídaHra(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)
arcade.set_background_color (černá)self.player = arkáda. SpriteCircle(20, modrá)
# ...self.timer_power_up = arkáda. SpriteSolidColor(40, 20, oranžový)
self.timer_power_up.center_x = random.randint(0, šířka)
self.timer_power_up.center_y = random.randint(0, výška)self.game_time = 60# Počáteční doba hry v sekundách
self.timer_power_up_duration = 10# ...
defAktualizace(self, delta_time):
# ...-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()# ...
defhlavní():
hra = hra(800, 600)
arcade.run()
-li __jméno__ == "__hlavní__":
hlavní()
Osvědčené postupy pro vylepšení a sběratelské předměty
Vylepšení a sběratelské předměty hrají zásadní roli při vylepšování herního zážitku z arkádových her. Aby byly tyto prvky příjemné a dobře integrované do hry, je nezbytné dodržovat některé osvědčené postupy:
Vizuální jasnost a konzistence
Používejte výrazné a vizuálně přitažlivé skřítky pro vylepšení a sběratelské předměty, abyste je odlišili od ostatních herních prvků. Ujistěte se, že vzhled vylepšení a sběratelských předmětů odpovídá jejich efektům a účelu ve hře.
Udržujte konzistenci v designu, barevných schématech a velikosti pro vylepšení a sběratelské předměty v průběhu hry.
Rovnováha a výzva
Upravte vzácnost a distribuci vylepšení a sběratelských předmětů, abyste si zachovali pocit výzvy a odměny pro hráče. Vyhněte se zahlcení hráčů příliš mnoha vylepšeními nebo sběratelskými předměty, protože by to mohlo snížit dopad a vzrušení z jejich hledání.
Pečlivě vyvažte účinnost a dobu trvání power-upů, abyste zabránili jejich přílišnému přemáhání nebo přemožení.
Jasné indikátory a zpětná vazba
Poskytněte jasné vizuální a zvukové indikátory, když hráč sbírá power-up nebo sběratelský předmět. Zobrazte dočasné vizuální efekty, jako jsou animace nebo částice, které označují aktivaci power-upů a jejich trvání.
Vztah výzva-odměna
Zajistěte, aby vylepšení a sběratelské předměty poskytovaly hráči smysluplné odměny, jako je zvýšené skóre, další schopnosti nebo prodloužená doba hraní. Slaďte obtížnost získávání vylepšení a sběratelských předmětů s výhodami, které nabízejí. Náročnější úkoly by měly přinést hodnotnější odměny.
Playtesting a balancování
Hru si důkladně otestujte a sledujte, jak hráči interagují s vylepšeními a sběratelskými předměty. Pomocí zpětné vazby hráčů dolaďte distribuci, trvání a efekty vylepšení a sběratelských předmětů, abyste vytvořili vyvážený a příjemný zážitek.
Dodržováním těchto osvědčených postupů můžete vytvořit podmanivý a dobře vyvážený systém vylepšení a sběratelských předmětů, který zlepší herní zážitek a udrží hráče v zapojení do vaší arkádové hry.
Udělejte ze hry větší zábavu s vylepšeními a sběratelskými předměty
Vylepšení a sběratelské předměty dodávají arkádovým hrám další vrstvu vzrušení a zapojení. Poskytují hráčům nejen nové schopnosti a odměny, ale také vytvářejí zajímavé výzvy a strategické volby.
Začleněním těchto funkcí pomocí knihovny Python Arcade můžete své hry zpříjemnit a zlepšit celkový herní zážitek pro vaše hráče. Nezapomeňte experimentovat, opakovat a popustit uzdu své kreativitě, abyste vytvořili jedinečné a strhující vylepšení a sběratelské předměty, které budou v souladu s tématem a mechanismy vaší hry.