Številne igre vključujejo neke vrste sovražnika, s katerim se lahko borite. Raziščite različne načine, na katere lahko dodate — in prefinite — bojevanje s sovražnikom.
Sovražniki igrajo ključno vlogo pri tem, da so igre vznemirljive in zahtevne za igralce. Ne glede na to, ali ustvarjate 2D platformer, strelec od zgoraj navzdol ali igro igranja vlog, lahko dodajanje sovražnikov znatno izboljša izkušnjo igranja.
Godotov uporabniku prijazen vmesnik in intuitivni skriptni jezik GDScript naredita postopek učinkovit in prijeten.
Nastavitev igre Godot
Preden se potopite v ustvarjanje sovražnika, nastavite osnovno strukturo vaše 2D igre igralni motor Godot.
Ustvarite nov 2D projekt v Godotu. V glavnem prizoru ustvarite novega KinematicBody2D vozlišče in ga poimenujte Igralec. Znotraj vozlišča predvajalnika dodajte a CollisionShape2D s pravokotno obliko, ki bo igralčev hit box. Dodajte tudi a Sprite vozlišče kot vizualna predstavitev igralčevega lika.
Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.
Priložite naslednjo kodo GDScript Igralec vozlišče za omogočanje osnovnega gibanja:
extends KinematicBody2D
const SPEED = 200
func _physics_process(delta):
var motion = Vector2.ZEROif Input.is_action_pressed("ui_right"):
motion.x += SPEEDif Input.is_action_pressed("ui_left"):
motion.x -= SPEEDif Input.is_action_pressed("ui_down"):
motion.y += SPEEDif Input.is_action_pressed("ui_up"):
motion.y -= SPEED
motion = move_and_slide(motion)
S to kodo se lahko igralec premika levo, desno, gor in dol z uporabo puščičnih tipk ali tipk WASD.
Ustvarjanje preprostega sovražnika
Zdaj, ko imate nastavljenega lika igralca, lahko ustvarite preprostega sovražnika.
Ustvarite novo sceno in dodajte a Statično telo2D imenovano vozlišče Sovražnik. Znotraj vozlišča Enemy dodajte a CollisionShape2D vozlišče v obliki kroga za določitev sovražnikovega udarnega polja. Dodajte tudi a Sprite vozlišče za vizualno predstavitev sovražnika.
Z nastavljenim trčenjem bo sovražnik pripravljen na interakcijo z igralcem in drugimi elementi v vašem svetu igre.
Naredite sovražnika, da sledi igralcu
Ustvarjanje sovražnikov, ki sledijo igralcu, doda igri novo raven izziva.
Ustvarite novo sceno za naslednjo vrsto sovražnika in dodajte a KinematicBody2D imenovano vozlišče FollowEnemy s CollisionShape2D. Priložite naslednjo kodo GDScript vozlišču FollowEnemy, da sledi igralcu:
extends KinematicBody2D
const SPEED = 100
func _physics_process(delta):
var player = get_parent().get_node("Player")
var player_position = player.global_position
var enemy_position = global_position
var direction = player_position - enemy_position
direction = direction.normalized()
var motion = direction * SPEED * delta
move_and_collide(motion)
Zdaj pa FollowEnemy se bo premaknil proti igralčevemu položaju v vsakem okvirju.
Dodajanje sovražnih krogel
Zdaj lahko sovražnika prisilite, da strelja naboje proti igralcu. Ustvarite novo sceno in jo poimenujte Bullet.tscn. Dodaj a KinematicBody2D vozlišče do scene. Priložite Bullet.gd skript v vozlišče KinematicBody2D v sceni Bullet.tscn. Dodajte naslednjo kodo, da definirate razred Bullet:
extends KinematicBody2D
const BULLET_SPEED = 300
var bullet_direction = Vector2.ZEROfunc _physics_process(delta):
var motion = bullet_direction * BULLET_SPEED * delta
move_and_collide(motion)
func set_direction(direction):
bullet_direction = direction.normalized()
Zdaj ustvarite novo vozlišče za sovražnika s kroglami in ga poimenujte ShootingEnemy. Znotraj vozlišča ShootingEnemy dodajte a CollisionShape2D vozlišče s pravokotno obliko kot hitbox.
Priložite naslednjo kodo GDScript vozlišču ShootingEnemy, da bo streljalo naboje:
extends KinematicBody2D
const SPEED = 100
const SHOOT_DELAY = 1.5
var shoot_timer = SHOOT_DELAY# Import the Bullet scene
const BulletScene = preload("res://Bullet.tscn")func _physics_process(delta):
# Shooting logic
shoot_timer -= delta
if shoot_timer <= 0:
shoot_timer = SHOOT_DELAY
var bullet_instance = BulletScene.instance()
bullet_instance.global_position = global_position
bullet_instance.set_direction(direction)
get_parent().add_child(bullet_instance)
Sovražnik bo zdaj občasno streljal naboje proti igralčevemu položaju. Uporabite pogojnik če izjava da preverite, ali shoot_timer je manj kot 0. Če je, potem izstreli naboj.
Naključno premikajoči se sovražnik
Poleg sovražnikov, ki sledijo ali streljajo na igralca, lahko naključno premikajoči se sovražnik v vašo igro vnese element nepredvidljivosti in izziva. Ustvarjanje sovražnika z naključnimi vzorci gibanja zahteva kombinacijo preproste logike in generiranja naključnih števil.
Začnite z ustvarjanjem novega prizora in dodajte a KinematicBody2D imenovano vozlišče RandomEnemy. Ustvari nov skript z imenom RandomEnemy.gd in ga pritrdite na vozlišče RandomEnemy. Skript bo obravnaval logiko naključnega gibanja.
extends KinematicBody2D
const MOVE_SPEED = 100
const MOVE_INTERVAL_MIN = 1.0
const MOVE_INTERVAL_MAX = 3.0var move_timer = 0.0
var move_interval = 0.0
var move_direction = Vector2.ZEROfunc _ready():
choose_new_direction()func choose_new_direction():
move_interval = rand_range(MOVE_INTERVAL_MIN, MOVE_INTERVAL_MAX)
move_timer = move_interval
move_direction = Vector2(randf(), randf()).normalized()func _physics_process(delta):
move_timer -= deltaif move_timer <= 0.0:
choose_new_direction()
var motion = move_direction * MOVE_SPEED * delta
move_and_collide(motion)
Vključno z dodatnimi funkcijami
Obstaja veliko dodatnih funkcij, ki jih lahko dodate svojim sovražnikom, da bo igranje bolj zanimivo.
Bitke za šefe
Bitke s šefi služijo kot vrhunec vaše igre, saj zagotavljajo nepozabna in zahtevna srečanja, ki preizkušajo sposobnosti in vztrajnost igralcev. Sovražniki šefov so običajno večji in močnejši od navadnih sovražnikov, zato morajo igralci uporabiti posebne strategije in taktike, da jih premagajo.
Dinamično drstenje sovražnikov
Implementirajte dinamični sistem drstenja, ki prilagaja srečanja s sovražniki glede na igralčevo zmogljivost, lokacijo ali dogodke v igri. To ustvari bolj odzivno in prilagojeno izkušnjo igranja.
Prilagajanje okolju
Ustvarite sovražnike, ki se lahko prilagodijo okolju, na primer sovražnike, ki lahko letijo, plavajo ali plezajo po stenah. Ta vsestranskost odpira nove možnosti igranja in izziva igralce, da krmarijo po različnih terenih.
Sovražnikove slabosti in odpori
Sovražnikom dodelite specifične slabosti in odpornosti ter tako spodbudite igralce k eksperimentiranju z različnimi pristopi in taktikami. Nekateri sovražniki so lahko ranljivi za določene napade ali elemente, drugi pa so imuni ali odporni.
Prilagajanje sovražnika in variacije vedenja
Dodajte raven nepredvidljivosti tako, da sovražnikom ponudite naključne različice vedenja. Na primer, sovražnik ima lahko različne vzorce napadov ali hitrosti gibanja v različnih igranjih, zaradi česar je igranje sveže in ga je mogoče ponovno igrati.
Vključitev različnih teh dodatnih funkcij lahko obogati zasnovo sovražnika vaše igre, zaradi česar je vsako srečanje edinstveno in nepozabno za igralce.
Ne pozabite, da je uvajanje novih mehanik sicer lahko vznemirljivo, vendar je ključnega pomena ohraniti ravnovesje in skladnost v celotni zasnovi vaše igre.
Najboljše prakse za ustvarjanje sovražnikov
Ko ustvarjate sovražnike v igri Godot, upoštevajte naslednje najboljše prakse:
Jasna vizualna komunikacija
Uporabite različne oblike sovražnikov, ki izstopajo iz okolja, da bodo sovražniki zlahka prepoznavni.
Razmislite o uporabi barvnega kodiranja ali edinstvenih silhuet za razlikovanje vrst sovražnikov. Prepričajte se, da sovražnikove animacije in vizualni učinki okrepijo njihovo vedenje in napade.
Težave z uravnoteženjem
Postopoma predstavljajte sovražnike z naraščajočo kompleksnostjo, ko igralec napreduje skozi igro. Preizkusite srečanja s sovražniki z igralci različnih stopenj spretnosti, da zagotovite, da so izzivi primerni za vse igralce. Izogibajte se nenadnim težavnostnim skokom, ki lahko frustrirajo igralce.
Izogibanje poceni udarcem
Oblikujte sovražnike z napadi, ki se jim lahko igralec izmika ali blokira, kar jim daje možnost, da se odzovejo. Za napade sovražnikov uporabite pošteno polje zadetkov in se izogibajte napadom, ki zadenejo zunaj njihove vizualne predstavitve. Uporabite opozorilne znake ali znake, da nakažete nevarne napade.
Testiranje predvajanja in ponovitev
Med razvojem redno preizkušajte srečanja s sovražniki, da ocenite njihov zabavni faktor in težavnost. Zberite povratne informacije igralcev in jih uporabite za natančno nastavitev sovražnikovega vedenja, prednosti in slabosti.
Zvočni učinki
Zvočni učinki igrajo ključno vlogo pri ustvarjanju privlačnega in očarljivega igralnega okolja. Ko sovražnik prejme udarec, dodajte ustrezno zvočni učinki brez avtorskih pravic okrepiti občutek vpliva in angažiranosti v boju.
Vaša igra lahko spremlja vsak udarec ali udarec z različnimi zvočnimi znaki, ki ustrezajo vrsti napada in značilnostim sovražnika.
Kako narediti igre Godot bolj privlačne za sovražnike
Sovražniki so temeljni sestavni del mnogih iger, saj nudijo izzive, ovire in občutek dosežka, ko so premagani. Z dodajanjem različnih vrst sovražnikov z različnimi vedenji, zdravstvenimi točkami in mehaniki streljanja lahko ustvarite raznolike in privlačne igralne izkušnje za igralce.
Ne pozabite uravnotežiti težavnosti, ponuditi vizualne in slušne povratne informacije ter temeljito preizkusiti svoje sovražnike, da boste igralcem zagotovili prijetno in koristno igralno izkušnjo.