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Ý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 // 2seba.nepriateľ = arkáda. SpriteSolidColor(20, 20, červená)
self.nemy.center_x = šírka // 4
self.nemy.center_y = výška // 4defon_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 -= 10defHlavná():
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 = 100defon_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 -= 10ak 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 = 0defon_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_timeak self.shield_timer >= self.shield_duration:
self.shield_active = Nepravdivé
self.shield_timer = 0pre 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.