Anna pelaajillesi jotain poimia, kun he edistyvät pelissäsi.
Tehostukset ja keräilyesineet ovat tärkeitä pelielementtejä, jotka voivat parantaa pelikokemusta ja lisätä jännitystä arcade-peleihin. Ne tarjoavat pelaajille lisäkykyjä, palkintoja ja haasteita. Pelihallikirjaston avulla voit luoda kiinnostavia pelejä tehosteilla ja keräilyesineillä hetkessä.
Luo yksinkertainen peli
Aloita perusasetuksista, joissa pelaaja voi liikkua neljään suuntaan (vasen, oikea, ylös ja alas) käyttämällä näppäimistön tuloja. Lisäksi esittele yksi vihollisobjekti vuorovaikutuksen aikaansaamiseksi peliympäristössä.
Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.
Luo uusi tiedosto nimeltä simple-game.py ja lisää alla oleva koodi:
tuonti pelihalli
sininen = arcade.color. SININEN
punainen = arcade.color. PUNAINEN
musta = arcade.color. MUSTA
valkoinen = arcade.color. VALKOINEN
keltainen = arcade.color. KELTAINEN
vihreä = arcade.color. VIHREÄ
oranssi = arcade.color. ORANSSIluokkaaPeli(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
arcade.set_background_color (musta)self.player = pelihalli. SpriteCircle(20, sininen)
self.player.center_x = leveys // 2
self.player.center_y = korkeus // 2itse.vihollinen = pelihalli. SpriteSolidColor(20, 20, punainen)
self.enemy.center_x = leveys // 4
self.enemy.center_y = korkeus // 4defon_draw(itse):
arcade.start_render()
self.player.draw()
self.vihollinen.draw()defpäivittää(itse, delta_aika):
kulkeadefon_key_press(itse, avain, muokkaajat):
jos avain == arcade.key. VASEN:
self.player.center_x -= 10
elif avain == arcade.key. OIKEALLA:
self.player.center_x += 10
elif avain == arcade.key. YLÖS:
self.player.center_y += 10
elif avain == arcade.key. ALAS:
self.player.center_y -= 10defpää():
peli = peli(800, 600)
arcade.run()
jos __nimi__ == "__main__":
pää()
Suorita tämä koodi, niin sinulla on peruspeli, jossa pelaaja liikkuu ja vihollisobjekti.
Pelitilojen luominen
Jotta voit lisätä tehoja ja keräilyesineitä, sinun on määritettävä pelin tilat, kuten pisteet ja terveys. Sinä pystyt hallita pisteitä ja terveys erillisellä muuttujalla. Muokkaa koodia sisällyttääksesi nämä ominaisuudet. Pelaajan terveys heikkenee, kun hän törmää vihollisen esineeseen.
luokkaaPeli(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)itse.pisteet = 0
itse.terveys = 100defon_draw(itse):
arcade.draw_text(f"Pistemäärä: {itse.pisteet}", 10, 10, valkoinen)
arcade.draw_text(f"Terveys: {itse.terveys}", 10, 30, valkoinen)defpäivittää(itse, delta_aika):
jos arcade.check_for_collision (self.player, self.enemy):
itse.terveys -= 10jos itse.terveys <= 0:
self.game_over()
defpeli ohi(itse):
# Lisää peli logiikkaan tähän
kulkea
Nyt pelaajan terveys heikkenee 10 törmäyksessä vihollisen kanssa, ja pisteet ja terveysarvot näkyvät näytöllä.
Keräilykohteiden lisääminen
Luo seuraavaksi keräilyesineitä, jotka nostavat pelaajan pistemäärää 10, kun ne kerätään. Näillä keräilyesineillä on eri muotoja visuaalisen vaihtelun vuoksi. Luo uusi tiedosto nimeltä collectionibles.py ja lisää koodi alla olevan päivityksen kanssa:
luokkaaPeli(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)itse.keräilykohteet = pelihalli. SpriteList()
varten _ sisään range(5):
keräilykohde = pelihalli. SpriteSolidColor(20, 40, keltainen)
collectionible.center_x = random.randint(0leveys)
collectionible.center_y = random.randint(0, korkeus)
self.collectibles.apend (keräily)defon_draw(itse):
arcade.start_render()
self.player.draw()
self.vihollinen.draw()
self.collectibles.draw()
arcade.draw_text(f"Pistemäärä: {itse.pisteet}", 10, 10, valkoinen)
arcade.draw_text(f"Terveys: {itse.terveys}", 10, 30, valkoinen)
defpäivittää(itse, delta_aika):
varten kerättävä sisään itse.keräilykohteet:
jos arcade.check_for_collision (self.player, keräily):
itse.pisteet += 10
collectionible.remove_from_sprite_lists()
Luo luettelo keräilyesineistä, joissa on viisi tapausta, joista jokaista edustaa keltainen suorakulmio. Kun pelaaja törmää keräilyesineeseen, hänen pistemääränsä kasvaa 10:llä ja keräilykohde poistetaan sprite-listalta.
Tehosteiden lisääminen
Nyt voit lisätä tehoja peliisi. Kun pelaaja saa virran, hänen ympärilleen ilmestyy kilpi 10 sekunniksi. Tänä aikana, jos pelaaja törmää viholliseen, he tuhoavat vihollisen. Luo uusi tiedosto nimeltä power-ups.py ja lisää koodi alla olevan päivityksen kanssa:
luokkaaPeli(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)self.power_up = pelihalli. SpriteSolidColor(50, 20, vihreä)
self.power_up.center_x = random.randint(0leveys)
self.power_up.center_y = random.randint(0, korkeus)self.shield_active = Väärä
self.shield_duration = 10
self.shield_timer = 0defon_draw(itse):
arcade.start_render()
self.player.draw()
self.vihollinen.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(f"Pistemäärä: {itse.pisteet}", 10, 10, valkoinen)
arcade.draw_text(f"Terveys: {itse.terveys}", 10, 30, valkoinen)defpäivittää(itse, delta_aika):
jos arcade.check_for_collision (self.player, self.enemy):
josei self.shield_active:
itse.terveys -= 10
jos itse.terveys <= 0:
self.game_over()
muu:
self.enemy.remove_from_sprite_lists()jos self.shield_active:
self.shield_timer += delta_timejos self.shield_timer >= self.shield_duration:
self.shield_active = Väärä
self.shield_timer = 0varten kerättävä sisään itse.keräilykohteet:
jos arcade.check_for_collision (self.player, keräily):
itse.pisteet += 10
collectionible.remove_from_sprite_lists()
jos arcade.check_for_collision (self.player, self.power_up):
self.shield_active = Totta
self.power_up.remove_from_sprite_lists()
Alla on tulos:
Sisältää lisäominaisuuksia
Voit parantaa teho- ja keräilyjärjestelmää lisäämällä lisäominaisuuksia. Voit esimerkiksi luoda ajastimen käynnistyksen, joka pidentää peliaikaa kerättynä. Luo uusi tiedosto nimeltä timer-power-up.py ja lisää koodi alla olevan päivityksen kanssa:
luokkaaPeli(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
arcade.set_background_color (musta)self.player = pelihalli. SpriteCircle(20, sininen)
# ...self.timer_power_up = pelihalli. SpriteSolidColor(40, 20, oranssi)
self.timer_power_up.center_x = random.randint(0leveys)
self.timer_power_up.center_y = random.randint(0, korkeus)self.game_time = 60# Ensimmäinen peliaika sekunneissa
self.timer_power_up_duration = 10# ...
defpäivittää(itse, delta_aika):
# ...jos 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()# ...
defpää():
peli = peli(800, 600)
arcade.run()
jos __nimi__ == "__main__":
pää()
Parhaat käytännöt tehostukseen ja keräilyyn
Tehosteilla ja keräilyesineillä on ratkaiseva rooli pelihallipelien pelikokemuksen parantamisessa. Varmistaaksesi, että nämä elementit ovat nautinnollisia ja integroituvat hyvin peliin, on tärkeää noudattaa joitain parhaita käytäntöjä:
Visuaalinen selkeys ja johdonmukaisuus
Käytä erillisiä ja visuaalisesti houkuttelevia spritejä lisävoimiin ja keräilyesineisiin, jotta ne erottuvat muista pelielementeistä. Varmista, että lisävoimien ja keräilyesineiden ulkonäkö vastaa niiden vaikutuksia ja tarkoitusta pelissä.
Säilytä johdonmukaisuus suunnittelussa, värimaailmassa ja koossa tehosteita ja keräilyesineitä varten koko pelin ajan.
Tasapainoa ja haastetta
Säädä tehosteiden ja keräilyesineiden harvinaisuutta ja jakautumista ylläpitääksesi haasteen ja palkitsemisen tunnetta pelaajille. Vältä huijaamasta pelaajia, joilla on liikaa lisävoimia tai keräilyesineitä, sillä se saattaa heikentää niiden löytämisen vaikutusta ja jännitystä.
Tasapainota tehokkuutta ja tehoa huolellisesti, jotta ne eivät ole liian ylivoimaisia tai alivoimaisia.
Selkeät indikaattorit ja palaute
Tarjoa selkeät visuaaliset ja äänimerkit, kun soitin kerää lisävirtaa tai keräilyesinettä. Näytä tilapäisiä visuaalisia tehosteita, kuten animaatioita tai hiukkasia, jotka osoittavat käynnistysten aktivoitumisen ja niiden keston.
Haaste-palkitseva suhde
Varmista, että tehostukset ja keräilyesineet tarjoavat pelaajalle mielekkäitä palkintoja, kuten lisää pisteitä, lisäkykyjä tai pidentynyttä peliaikaa. Yhdistä tehosteiden ja keräilyesineiden hankkimisen vaikeus niiden tarjoamien etujen kanssa. Haastavampien tehtävien pitäisi tuottaa arvokkaampia palkintoja.
Pelitestaus ja tasapainotus
Testaa peliä laajasti nähdäksesi, kuinka pelaajat ovat vuorovaikutuksessa lisälaitteiden ja keräilyesineiden kanssa. Käytä pelaajien palautetta tehosteiden ja keräilyesineiden jakelua, kestoa ja vaikutuksia hienosäätämään luodaksesi tasapainoisen ja nautinnollisen kokemuksen.
Seuraamalla näitä parhaita käytäntöjä voit luoda kiehtovan ja tasapainoisen teho- ja keräilyjärjestelmän, joka parantaa pelikokemusta ja pitää pelaajat mukana arcade-pelissäsi.
Tee peleistä hauskempia lisävoimilla ja keräilyesineillä
Tehosteet ja keräilyesineet lisäävät jännitystä ja sitoutumista pelihallipeleihin. Ne eivät ainoastaan tarjoa pelaajille uusia kykyjä ja palkintoja, vaan luovat myös mielenkiintoisia haasteita ja strategisia valintoja.
Kun sisällytät nämä ominaisuudet Python Arcade -kirjastoon, voit tehdä peleistäsi nautinnollisempia ja parantaa pelaajien yleistä pelikokemusta. Muista kokeilla, iteroida ja päästää luovuutesi valloilleen luodaksesi ainutlaatuisia ja kiehtovia tehosteita ja keräilyesineitä, jotka sopivat pelisi teemaan ja mekaniikkaan.