Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Programming

Consejo rápido: Introducción a la programación orientada a objetos para el desarrollo de juegos

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called Beginner's Guide to OOP.
Quick Tip: The OOP Principle of Cohesion

Spanish (Español) translation by Andrea J (you can also view the original English article)

¡Bienvenido a una nueva serie de consejos rápidos sobre la Programación Orientada a Objetos! Vamos a repasar los principios de la POO y cómo se pueden usar para crear un código organizado. En esta primera parte, hablaremos sobre qué es la POO y por qué es útil, con algunos ejemplos de cómo podría usarse en el desarrollo de juegos.


¿Qué es la programación orientada a objetos?

La programación orientada a objetos (POO), en su sentido más básico, es un estilo de programación utilizado para organizar el código. Los videojuegos pueden ejecutarse desde unos pocos miles de líneas de código (Cut the Rope tiene 15.000) hasta millones de líneas de código (Crysis tiene más de un millón). Puedes ver por qué es tan importante escribir un código que se pueda modificar y mantener fácilmente.

Los estilos de programación, como la POO, ayudan a organizar el código de tal manera que sea más fácil mantenerlo y modificarlo. La POO ayuda a ordenar el código organizándolo en lo que se conoce como objetos.

Los objetos contienen información sobre el estado y el comportamiento:

Los estados son las características del objeto, o las palabras que usarías para describirlo, y por lo general toman la forma de descriptores como es o tiene. Una computadora está encendida o apagada, una silla tiene cuatro patas y tú tienes un nombre.

Los comportamientos son las cosas que el objeto puede hacer, o las acciones que el objeto puede realizar y suelen ser verbos que terminan en ing. Estás sentado, usando una computadora, y leyendo este artículo.


¿Por qué es útil?

Como indiqué anteriormente, la POO es útil porque ayuda a crear un código que se puede mantener: un código que es comprensible, adaptable y ampliable.

También ayuda a crear un código reutilizable siguiendo el método DRY (Don't Repeat Yourself): escribe el código una vez y, luego, reutilízalo, en lugar de copiarlo y pegarlo.

La forma de pensar de la programación orientada a objetos también se presta bien para traducir directamente en código objetos e interacciones del mundo real.


Cómo aplicarlo

Enumeraré tres ejemplos diferentes de cómo aplicar la POO a los videojuegos. En artículos posteriores, veremos cómo codificar estos ejemplos, pero por ahora nos quedaremos con aprender a identificar objetos y sus estados y comportamientos.

Asteroids

Primero, imaginemos que queríamos hacer el clásico juego Asteroids. Para identificar cuáles son los objetos en Asteroids, intenta describirlos.

Wikipedia describe Asteroids de la siguiente manera:

El objetivo de Asteroids es sumar tantos puntos como sea posible destruyendo asteroides y platillos voladores. El jugador controla una nave de forma triangular que puede girar hacia la izquierda y hacia la derecha, disparar hacia adelante y acelerar hacia adelante. A medida que la nave se mueve, no se conserva el impulso: finalmente la nave se detiene nuevamente cuando no está acelerando.

Piensa en lo que en esta descripción podría ser independiente, o en las cosas que se describen que podrían tener estado y comportamiento. Estos se convierten en nuestros objetos.

Los objetos de Asteroids son: una nave, un asteroide, un platillo volador y una bala (¡no puedo olvidarlos!). Lo bueno de los objetos es que normalmente describimos las cosas en términos de objetos en una conversación cotidiana, por lo que generalmente se muestran a través de una descripción.

The classic game of Asteroids
El clásico juego de Asteroids

Ya que hemos identificado nuestros objetos, definamos el estado y el comportamiento de uno de ellos: la nave del jugador. Piensa en qué atributos describen la nave; estos son sus estados. Después piensa en lo que la nave puede hacer; estos son sus comportamientos.

Un barco tiene estados de:

  • Rotación
  • Impulso
  • Aceleración

y comportamientos de:

  • Giro
  • Movimiento
  • Tiro

Te dejaré determinar cuáles son los estados y comportamientos de los objetos restantes.

Tetris

A continuación, analicemos otro juego clásico, Tetris. Una vez más, comenzamos describiendo Tetris para encontrar sus objetos.

Una secuencia aleatoria de Tetrominos caen por el campo de juego. El objetivo del juego es manipular estos Tetrominos, moviendo cada uno de lado y girándolo en unidades de 90 grados, con el objetivo de crear una línea horizontal de diez bloques sin espacios.

Tetris
Tetris

En Tetris, realmente el único objeto es un Tetromino. Tiene estados de:

  • Rotación (en unidades de 90 grados)
  • Forma
  • Color

y comportamientos de:

  • Caída
  • Movimiento (de lado)
  • Rotación

Pac-Man

El último juego que usaremos como ejemplo es Pac-Man.

El jugador controla a Pac-Man a través de un laberinto, comiendo puntos o bolitas. Cuatro enemigos [fantasmas] deambulan por el laberinto, tratando de atrapar a Pac-Man. Cerca de las esquinas del laberinto hay cuatro puntos parpadeantes más grandes conocidos como bolitas de energía que le dan a Pac-Man la habilidad temporal de comerse a los enemigos. Los enemigos se vuelven de un azul oscuro, cambian la dirección y generalmente se mueven más lentamente.

The original Pac-Man arcade game
El juego arcade original de Pac-Man

Para Pac-Man, hay tres objetos: Pac-Man, un fantasma y un punto. Una bolita de poder realmente no es su propio objeto porque es un punto especial (hablaremos sobre qué hacer al respecto en un artículo posterior). Vamos a describir el objeto fantasma porque es más interesante.

El fantasma tiene estados de:

  • Color
  • Nombre (+1 si puedes nombrar a todos los fantasmas en la parte superior de tu cabeza)
  • Estado (comestible o no)
  • Dirección
  • Velocidad

y comportamientos de:

  • Movimiento
  • Estado cambiante

Conclusión

La programación orientada a objetos es una forma de organizar el código en un videojuego. La POO se centra en los objetos definidos por su estado y su comportamiento.

En el siguiente consejo rápido, hablaremos sobre el principio de cohesión y comenzaremos a codificar la estructura básica de un objeto. Síguenos en Twitter, Facebook o Google+ para mantenerte al día con las últimas publicaciones.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.