Ofrezca a sus jugadores algo para recoger a medida que avanzan en su juego.
Los potenciadores y los coleccionables son elementos esenciales del juego que pueden mejorar la experiencia de juego y agregar emoción a los juegos de arcade. Proporcionan a los jugadores habilidades, recompensas y desafíos adicionales. Con la biblioteca de arcade, podrás crear juegos atractivos con potenciadores y coleccionables en muy poco tiempo.
Crea un juego simple
Comience con una configuración básica donde el el jugador puede moverse en cuatro direcciones (izquierda, derecha, arriba y abajo) usando las entradas del teclado. Además, introduce un objeto enemigo para proporcionar interacción dentro del entorno del juego.
El código utilizado en este artículo está disponible en este repositorio GitHub y es gratis para su uso bajo la licencia MIT.
Crear un nuevo archivo llamado juego-simple.py y agregue el siguiente código:
importar arcada
azul = arcada.color. AZUL
rojo = arcada.color. ROJO
negro = arcada.color. NEGRO
blanco = arcada.color. BLANCO
amarillo = arcada.color. AMARILLO
verde = arcada.color. VERDE
naranja = arcada.color. NARANJAclaseJuego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)
arcade.set_background_color (negro)self.jugador = arcade. SpriteCírculo(20, azul)
self.player.center_x = ancho // 2
self.player.center_y = altura // 2self.enemy = arcada. SpriteSolidColor(20, 20, rojo)
self.enemy.center_x = ancho // 4
self.enemy.center_y = altura // 4definitivamenteen_dibujar(ser):
arcade.start_render()
self.player.draw()
self.enemy.draw()definitivamenteactualizar(uno mismo, delta_time):
aprobardefinitivamenteon_key_press(auto, clave, modificadores):
si clave == arcade.clave. IZQUIERDA:
self.player.center_x -= 10
elif clave == arcade.clave. BIEN:
self.player.center_x += 10
elif clave == arcade.clave. ARRIBA:
self.player.center_y += 10
elif clave == arcade.clave. ABAJO:
self.player.center_y -= 10definitivamenteprincipal():
juego = juego(800, 600)
arcade.ejecutar()
si __nombre__ == "__principal__":
principal()
Ejecute este código y tendrá un juego básico con el movimiento del jugador y un objeto enemigo.
Creación de estados de juego
Para incorporar potenciadores y coleccionables, debe establecer estados de juego como puntuación y salud. Puede gestionar puntuación y salud usando una variable separada. Modifique el código para incluir estas funciones. La salud del jugador disminuirá cuando colisione con el objeto enemigo.
claseJuego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)self.score = 0
auto.salud = 100definitivamenteen_dibujar(ser):
arcade.draw_text(Puntuación f": {puntuación propia}", 10, 10, blanco)
arcade.draw_text(f"Salud: {auto.salud}", 10, 30, blanco)definitivamenteactualizar(uno mismo, delta_time):
si arcade.check_for_collision (self.player, self.enemy):
auto.salud -= 10si auto.salud <= 0:
self.game_over()
definitivamentejuego terminado(ser):
# Agregue la lógica del juego aquí
aprobar
Ahora, la salud del jugador se reduce en 10 cuando choca con el enemigo, y la puntuación y los valores de salud se muestran en la pantalla.
Agregar coleccionables
Luego, crea coleccionables que aumentarán la puntuación del jugador en 10 cuando los recoja. Estos coleccionables tendrán diferentes formas para una variedad visual. Crear un nuevo archivo llamado coleccionables.py y agregue el código con la siguiente actualización:
claseJuego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)self.coleccionables = arcade. lista de sprites()
para _ en rango(5):
coleccionable = arcade. SpriteSolidColor(20, 40, amarillo)
coleccionable.center_x = aleatorio.randint(0, ancho)
coleccionable.center_y = aleatorio.randint(0, altura)
self.collectibles.append (coleccionable)definitivamenteen_dibujar(ser):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.coleccionables.draw()
arcade.draw_text(Puntuación f": {puntuación propia}", 10, 10, blanco)
arcade.draw_text(f"Salud: {auto.salud}", 10, 30, blanco)
definitivamenteactualizar(uno mismo, delta_time):
para coleccionable en auto.coleccionables:
si arcade.check_for_collision (self.player, coleccionable):
puntuación propia += 10
coleccionable.remove_from_sprite_lists()
Cree una lista de coleccionables con cinco instancias, cada una representada por un rectángulo amarillo. Cuando el jugador choca con un coleccionable, su puntaje aumenta en 10 y el coleccionable se elimina de la lista de sprites.
Adición de potenciadores
Ahora, puedes agregar potenciadores a tu juego. Cuando el jugador recoge un encendido, aparecerá un escudo a su alrededor durante 10 segundos. Durante este tiempo, si el jugador choca con el enemigo, destruirán al enemigo. Crear un nuevo archivo llamado power-ups.py y agregue el código con la siguiente actualización:
claseJuego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)self.power_up = arcada. SpriteSolidColor(50, 20, verde)
self.power_up.center_x = random.randint(0, ancho)
self.power_up.center_y = random.randint(0, altura)self.shield_active = FALSO
self.shield_duration = 10
self.shield_timer = 0definitivamenteen_dibujar(ser):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.coleccionables.draw()
self.power_up.draw()
arcade.draw_text(Puntuación f": {puntuación propia}", 10, 10, blanco)
arcade.draw_text(f"Salud: {auto.salud}", 10, 30, blanco)definitivamenteactualizar(uno mismo, delta_time):
si arcade.check_for_collision (self.player, self.enemy):
sino self.shield_active:
auto.salud -= 10
si auto.salud <= 0:
self.game_over()
demás:
self.enemy.remove_from_sprite_lists()si self.shield_active:
self.shield_timer += delta_timesi self.shield_timer >= self.shield_duration:
self.shield_active = FALSO
self.shield_timer = 0para coleccionable en auto.coleccionables:
si arcade.check_for_collision (self.player, coleccionable):
puntuación propia += 10
coleccionable.remove_from_sprite_lists()
si arcade.check_for_collision (self.player, self.power_up):
self.shield_active = Verdadero
self.power_up.remove_from_sprite_lists()
A continuación se muestra la salida:
Incluyendo funciones adicionales
Puede mejorar aún más el sistema de potenciadores y coleccionables agregando funciones adicionales. Por ejemplo, puede crear un encendido de temporizador que extienda el tiempo de juego cuando se recopile. Crear un nuevo archivo llamado timer-power-up.py y agregue el código con la siguiente actualización:
claseJuego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)
arcade.set_background_color (negro)self.jugador = arcade. SpriteCírculo(20, azul)
# ...self.timer_power_up = arcada. SpriteSolidColor(40, 20, naranja)
self.timer_power_up.center_x = random.randint(0, ancho)
self.timer_power_up.center_y = random.randint(0, altura)self.game_time = 60# Tiempo de juego inicial en segundos
self.timer_power_up_duration= 10# ...
definitivamenteactualizar(uno mismo, delta_time):
# ...si 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()# ...
definitivamenteprincipal():
juego = juego(800, 600)
arcade.ejecutar()
si __nombre__ == "__principal__":
principal()
Mejores prácticas para potenciadores y coleccionables
Los potenciadores y los coleccionables juegan un papel crucial en la mejora de la experiencia de juego de los juegos de arcade. Para garantizar que estos elementos se disfruten y estén bien integrados en el juego, es esencial seguir algunas prácticas recomendadas:
Claridad visual y consistencia
Use sprites distintos y visualmente atractivos para potenciadores y coleccionables para que se destaquen de otros elementos del juego. Asegúrate de que la apariencia de los potenciadores y los coleccionables se alinee con sus efectos y propósito en el juego.
Mantén la coherencia en el diseño, los esquemas de color y el tamaño de los potenciadores y los coleccionables a lo largo del juego.
Equilibrio y Desafío
Ajuste la rareza y la distribución de potenciadores y coleccionables para mantener una sensación de desafío y recompensa para los jugadores. Evite abrumar a los jugadores con demasiados potenciadores o coleccionables, ya que podría disminuir el impacto y la emoción de encontrarlos.
Equilibre cuidadosamente la efectividad y la duración de los potenciadores para evitar que sean demasiado abrumadores o decepcionantes.
Indicadores claros y comentarios
Proporcione indicadores visuales y de audio claros cuando el jugador recolecta un encendido o un objeto coleccionable. Muestre efectos visuales temporales, como animaciones o partículas, para indicar la activación de potenciadores y su duración.
Relación Desafío-Recompensa
Asegúrese de que los potenciadores y los coleccionables brinden recompensas significativas al jugador, como una mayor puntuación, habilidades adicionales o más tiempo de juego. Alinea la dificultad de obtener power-ups y coleccionables con los beneficios que ofrecen. Las tareas más desafiantes deberían generar recompensas más valiosas.
Pruebas de juego y equilibrio
Prueba el juego extensamente para observar cómo los jugadores interactúan con los potenciadores y los coleccionables. Use los comentarios de los jugadores para ajustar la distribución, la duración y los efectos de los potenciadores y los coleccionables para crear una experiencia equilibrada y agradable.
Al seguir estas prácticas recomendadas, puede crear un sistema de coleccionables y potenciadores cautivador y bien equilibrado que mejore la experiencia de juego y mantenga a los jugadores interesados en su juego de arcade.
Haz que los juegos sean más divertidos con potenciadores y coleccionables
Los potenciadores y los coleccionables agregan una capa adicional de emoción y compromiso a los juegos de arcade. No solo brindan a los jugadores nuevas habilidades y recompensas, sino que también crean desafíos interesantes y opciones estratégicas.
Al incorporar estas funciones mediante la biblioteca de Python Arcade, puede hacer que sus juegos sean más divertidos y mejorar la experiencia de juego general para sus jugadores. Recuerde experimentar, iterar y dar rienda suelta a su creatividad para crear potenciadores y coleccionables únicos y cautivadores que se alineen con el tema y la mecánica de su juego.