¿Cómo agregar monstruos a un juego de Pokémon?
-
09-06-2019 - |
Pregunta
Mis amigos y yo estamos comenzando un juego como Pokémon y queríamos saber cómo agregaremos monstruos al juego.Estamos usando VisualBasic porque el hermano de mi amigo dijo que sería más fácil.
Hasta ahora podemos poner imágenes de los monstruos en la pantalla y puedes hacer clic para atacar y esas cosas.
Ahora mismo, cuando queramos agregar un monstruo, tenemos que crear una nueva ventana.Esto nos llevará mucho tiempo hacer todas las ventanas para cada tipo de monstruo.¿Existe alguna herramienta o algo para hacer que esto vaya más rápido?¿Cómo hacen esto las empresas de juegos?
Solución
Creo que la mejor solución sería crear una ventana genérica que pueda aceptar algunos parámetros que describan el monstruo.
No estoy completamente actualizado con VB, pero en un lenguaje OO tendríamos una clase base Monster y una herencia para crear un Pikachu.La clase base definiría las cosas básicas que tiene un monstruo (como una imagen, un nombre y un tipo) y las cosas que un monstruo podría hacer (como atacar, huir, etc.).Incluso podrías usar un segundo nivel y tener clases base para cada tipo (como ElectricMonster que hereda de Monster y Pikachu que hereda de ElectricMonster).
Entonces resulta realmente fácil pasar un objeto Monster a una ventana y hacer que la ventana sepa cómo extraer toda la información relevante.
Otros consejos
Sugeriría hacer una lista de todos los atributos que necesitarías para cada monstruo y almacenar todo eso en una base de datos como mysql.De esta manera no necesitas crear ventanas para cada monstruo, solo cada vez que aparece un monstruo (en cuyo caso simplemente obtendrás la información necesaria de la base de datos).
Si no está familiarizado con ninguna base de datos, consulte la Tutorial MySQL para levantarse y ponerse en marcha.
Creo que el mayor problema será crear todos los diferentes ángulos (para cuando los personajes giran, etc.).¿Puedes desarrollar modelos 3D de los personajes basados en diferentes fotogramas del programa de televisión/juego de cartas?
Te sugiero que intentes extraer los diversos atributos que podría poseer un monstruo.Piense en los mejores triunfos...
Luego puede crear una única clase Monster con cada atributo representado por una Propiedad/Campo.
Algo como
Class Monster
Public Name as String
Public Filename as String ' Location of graphics file on disk
Public Strength as Integer
Public Speed as Integer
Public Sub New(Name as String, Filename as String, Strength as Integer, Speed as Integer)
Me.Name = Name
Me.Filename = Filename
Me.Strength = Strength
Me.Speed = Speed
End Sub
End Class
Entonces podrás crear monstruos como este.
Dim Monster1 as New Monster("monster1", "C:\Graphic1.jpg", 50, 10)
Dim Monster2 as New Monster("monster2", "C:\Graphic2.jpg", 1, 100)
Dim Monster3 as New Monster("monster3", "C:\Graphic3.jpg", 60, 17)
pero no es necesario crear una nueva "Ventana" cada vez.
De la misma manera podrás obtener tus datos "Monster" de otros lugares...como una base de datos por ejemplo.
Una vez que haya creado su obra de arte, la cargaría dinámicamente desde el disco duro en lugar de compilarla en un archivo EXE grande.Puede utilizar el método LoadPicture del control PictureBox.
Necesita aprender sobre datos, estructuras de datos y bucles.Tus monstruos deben consistir en datos, y tal vez algo de código, luego la pantalla de visualización de tu monstruo mostrará y operará un monstruo basado en estos datos y código.
Copiar y pegar widgets no funcionará para usted.Aprenda a abstraer datos y lógica de los widgets.
Deja de usar VB ahora mismo y ve a jugar http://scratch.mit.edu es mucho más adecuado.
¿Qué quieres decir con "cuando queremos agregar un monstruo"?¿Quieres decir que tienes una ventana individual para cada monstruo, que se muestra cuando aparece ese monstruo?Para aprovechar lo que dijo sit;diseño, diseño, diseño.Los métodos de diseño ad hoc no van más allá de los programas más pequeños.
Debes tener los datos de tu monstruo almacenados en archivos o una base de datos y cargarlos desde una ventana genérica.Por ejemplo, tienes una imagen de pikachu y una de bulbasaur almacenadas en tu disco duro.Luego crea una ventana con una imagen en blanco, cuando muestra la ventana le dice al objeto de imagen que cargue la imagen que necesita.