Dajte svojim hráčom niečo, čo si môžu vyzdvihnúť, keď postupujú vašou hrou.

Vylepšenia a zberateľské predmety sú základnými hernými prvkami, ktoré môžu zlepšiť herný zážitok a pridať vzrušenie do arkádových hier. Poskytujú hráčom ďalšie schopnosti, odmeny a výzvy. S arkádovou knižnicou budete môcť okamžite vytvárať pútavé hry s vylepšeniami a zberateľskými predmetmi.

Vytvorte jednoduchú hru

Začnite so základným nastavením, kde hráč sa môže pohybovať štyrmi smermi (vľavo, vpravo, hore a dole) pomocou vstupov z klávesnice. Okrem toho predstavte jeden nepriateľský objekt, ktorý poskytne interakciu v hernom prostredí.

Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

Vytvorte nový súbor s názvom jednoduchá hra.py a pridajte nižšie uvedený kód:

importovať pasáž

modrá = arkáda.farba. MODRÁ
červená = arkáda.farba. ČERVENÁ
čierna = arkáda.farebná. ČIERNA
biela = arkáda.farba. BIELY
žltá = arkáda.farba. ŽLTÁ
zelená = arkáda.farba. ZELENÁ
oranžová = arkáda.farba. ORANŽOVÝ

instagram viewer

triedaHra(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (čierna)

self.player = arkáda. SpriteCircle(20, Modrá)
self.player.center_x = šírka // 2
self.player.center_y = výška // 2

seba.nepriateľ = arkáda. SpriteSolidColor(20, 20, červená)
self.nemy.center_x = šírka // 4
self.nemy.center_y = výška // 4

defon_draw(ja):
arcade.start_render()
self.player.draw()
self.nepriateľ.draw()

defaktualizovať(self, delta_time):
prejsť

defon_key_press(ja, kľúč, modifikátory):
ak kľúč == arcade.key. VĽAVO:
self.player.center_x -= 10
elif kľúč == arcade.key. SPRÁVNY:
self.player.center_x += 10
elif kľúč == arcade.key. HORE:
self.player.center_y += 10
elif kľúč == arcade.key. DOLE:
self.player.center_y -= 10

defHlavná():
hra = hra(800, 600)
arcade.run()

ak __meno__ == "__Hlavná__":
Hlavná()

Spustite tento kód a získate základnú hru s pohybom hráča a nepriateľským objektom.

Vytváranie herných stavov

Ak chcete zahrnúť vylepšenia a zberateľské predmety, musíte vytvoriť herné stavy, ako je skóre a zdravie. Môžeš spravovať skóre a zdravie pomocou samostatnej premennej. Upravte kód tak, aby obsahoval tieto funkcie. Hráčovo zdravie sa zníži, keď sa zrazí s nepriateľským objektom.

triedaHra(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)

seba.skóre = 0
seba.zdravie = 100

defon_draw(ja):
arcade.draw_text(f" Skóre: {self.score}", 10, 10, biely)
arcade.draw_text(f"Zdravie: {self.health}", 10, 30, biely)

defaktualizovať(self, delta_time):
ak arcade.check_for_collision (self.player, self.nepriateľ):
seba.zdravie -= 10

ak seba.zdravie <= 0:
self.game_over()

defkoniec hry(ja):
# Tu pridajte hru cez logiku
prejsť

Teraz sa hráčovo zdravie pri zrážke s nepriateľom zníži o 10 a na obrazovke sa zobrazia hodnoty skóre a zdravia.

Pridávanie zberateľských predmetov

Ďalej vytvorte zberateľské predmety, ktoré pri zozbieraní zvýšia hráčovo skóre o 10. Tieto zberateľské predmety budú mať rôzne tvary pre vizuálnu rozmanitosť. Vytvorte nový súbor s názvom zberateľské predmety.py a pridajte kód s aktualizáciou nižšie:

triedaHra(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)

self.zberateľské predmety = arkáda. SpriteList()

pre _ v rozsah(5):
zberateľská = arkáda. SpriteSolidColor(20, 40, žltá)
collectible.center_x = random.randint(0, šírka)
collectible.center_y = random.randint(0, výška)
self.collectibles.append (collectible)

defon_draw(ja):
arcade.start_render()
self.player.draw()
self.nepriateľ.draw()
self.collectibles.draw()
arcade.draw_text(f" Skóre: {self.score}", 10, 10, biely)
arcade.draw_text(f"Zdravie: {self.health}", 10, 30, biely)

defaktualizovať(self, delta_time):
pre zberateľský v vlastné.zberateľské predmety:
ak arcade.check_for_collision (prehrávač pre seba, zberateľský predmet):
seba.skóre += 10
collectible.remove_from_sprite_lists()

Vytvorte zoznam zberateľských predmetov s piatimi inštanciami, z ktorých každý predstavuje žltý obdĺžnik. Keď hráč narazí na zberateľský predmet, jeho skóre sa zvýši o 10 a zberateľský predmet sa odstráni zo zoznamu sprite.

Pridávanie Power-Ups

Teraz môžete do svojej hry pridať vylepšenia. Keď hráč získa vylepšenie, na 10 sekúnd sa okolo neho objaví štít. Počas tejto doby, ak hráč sa zrazí s nepriateľom, zničia nepriateľa. Vytvorte nový súbor s názvom power-ups.py a pridajte kód s aktualizáciou nižšie:

triedaHra(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)

self.power_up = arkáda. SpriteSolidColor(50, 20, zelená)
self.power_up.center_x = random.randint(0, šírka)
self.power_up.center_y = random.randint(0, výška)

self.shield_active = Nepravdivé
self.shield_duration = 10
self.shield_timer = 0

defon_draw(ja):
arcade.start_render()
self.player.draw()
self.nepriateľ.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(f" Skóre: {self.score}", 10, 10, biely)
arcade.draw_text(f"Zdravie: {self.health}", 10, 30, biely)

defaktualizovať(self, delta_time):
ak arcade.check_for_collision (self.player, self.nepriateľ):
aknie self.shield_active:
seba.zdravie -= 10
ak seba.zdravie <= 0:
self.game_over()
inak:
self.nemy.remove_from_sprite_lists()

ak self.shield_active:
self.shield_timer += delta_time

ak self.shield_timer >= self.shield_duration:
self.shield_active = Nepravdivé
self.shield_timer = 0

pre zberateľský v vlastné.zberateľské predmety:
ak arcade.check_for_collision (prehrávač pre seba, zberateľský predmet):
seba.skóre += 10
collectible.remove_from_sprite_lists()

ak arcade.check_for_collision (self.player, self.power_up):
self.shield_active = Pravda
self.power_up.remove_from_sprite_lists()

Nižšie je výstup:

Vrátane ďalších funkcií

Systém vylepšení a zberateľských predmetov môžete ďalej vylepšiť pridaním ďalších funkcií. Môžete napríklad vytvoriť zapnutie časovača, ktoré po zbieraní predĺži herný čas. Vytvorte nový súbor s názvom timer-power-up.py a pridajte kód s aktualizáciou nižšie:

triedaHra(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (čierna)

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, šírka)
self.timer_power_up.center_y = random.randint(0, výška)

self.game_time = 60# Počiatočný čas hry v sekundách
self.timer_power_up_duration = 10

# ...

defaktualizovať(self, delta_time):
# ...

ak 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()

ak __meno__ == "__Hlavná__":
Hlavná()

Osvedčené postupy pre vylepšenia a zberateľské predmety

Vylepšenia a zberateľské predmety zohrávajú kľúčovú úlohu pri zlepšovaní herného zážitku z arkádových hier. Aby boli tieto prvky príjemné a dobre integrované do hry, je nevyhnutné dodržiavať niektoré osvedčené postupy:

Vizuálna čistota a konzistentnosť

Použite zreteľné a vizuálne príťažlivé škriatkovia na vylepšenia a zberateľské predmety, aby ste ich odlíšili od ostatných herných prvkov. Zabezpečte, aby vzhľad vylepšení a zberateľských predmetov zodpovedal ich účinkom a účelu v hre.

Udržujte konzistentnosť dizajnu, farebných schém a veľkosti pre vylepšenia a zberateľské predmety počas celej hry.

Rovnováha a výzva

Upravte vzácnosť a distribúciu vylepšení a zberateľských predmetov, aby ste udržali pocit výzvy a odmeny pre hráčov. Vyhnite sa zahlcovaniu hráčov príliš veľkým množstvom vylepšení alebo zberateľských predmetov, pretože by to mohlo znížiť vplyv a vzrušenie z ich nájdenia.

Dôkladne vyvážte účinnosť a trvanie vylepšenia, aby ste zabránili tomu, aby boli príliš presilené alebo ohromujúce.

Jasné indikátory a spätná väzba

Poskytnite jasné vizuálne a zvukové indikátory, keď prehrávač zbiera vylepšenie alebo zberateľský predmet. Zobrazte dočasné vizuálne efekty, ako sú animácie alebo častice, ktoré označujú aktiváciu vylepšenia a ich trvanie.

Vzťah výzva-odmena

Zaistite, aby vylepšenia a zberateľské predmety poskytovali hráčovi zmysluplné odmeny, ako napríklad zvýšené skóre, ďalšie schopnosti alebo predĺžený herný čas. Zosúlaďte náročnosť získavania vylepšení a zberateľských predmetov s výhodami, ktoré ponúkajú. Náročnejšie úlohy by mali priniesť hodnotnejšie odmeny.

Playtesting a Balancing

Rozsiahlo si hru otestujte a sledujte, ako hráči interagujú s vylepšeniami a zberateľskými predmetmi. Pomocou spätnej väzby od hráčov dolaďte distribúciu, trvanie a efekty vylepšení a zberateľských predmetov, aby ste vytvorili vyvážený a príjemný zážitok.

Dodržiavaním týchto osvedčených postupov môžete vytvoriť podmanivý a dobre vyvážený systém vylepšenia a zberateľských predmetov, ktorý vylepší zážitok z hry a udrží hráčov zapojených do vašej arkádovej hry.

Urobte z hier väčšiu zábavu s vylepšeniami a zberateľskými predmetmi

Vylepšenia a zberateľské predmety dodávajú arkádovým hrám ďalšiu vrstvu vzrušenia a zapojenia. Poskytujú hráčom nielen nové schopnosti a odmeny, ale vytvárajú aj zaujímavé výzvy a strategické voľby.

Začlenením týchto funkcií pomocou knižnice Python Arcade môžete svoje hry spríjemniť a zlepšiť celkový herný zážitok pre vašich hráčov. Nezabudnite experimentovať, opakovať a popustiť uzdu svojej kreativite, aby ste vytvorili jedinečné a podmanivé vylepšenia a zberateľské predmety, ktoré sú v súlade s témou a mechanikou vašej hry.