Creación de videojuegos de rol, MOBA, estrategia, arcade etc, con fines educativos que permitan el desarrollo mental, psíquico y motriz de estudiantes de secundaria y superior usando tendencias tecnológicas de vanguardia, acordes a los tiempos de hoy.
jueves, 24 de diciembre de 2015
Desarrollando la historia del juego
Cabe destacar que para la realización del juego, un paso fundamental e importante es el borrador del juego; es decir: La historia que está detrás del juego que vayamos a realizar.
Pues bien, vamos a ello!
En primer lugar, deberíamos tener una idea centrada, un tema específico y un guión detallado del mismo. Además de la mecánica del juego, obviamente.
Para su elaboración, deberíamos ser capaces de contar con al menos tres personajes que representen pilares del videojuego: Villanos, héroes, robots, androides, ciudades, dioses, etc, etc, etc.
También deberíamos de elegir el escenario, si es un lugar alejado de la galaxia, o un bosque, una alcantarilla, una biblioteca, en las ruinas de los incas, en otros planetas, aquí también la imaginación juega un papel importantísimo.
Finalmente un guión detallado no de los personajes sino del tema en cuestión. ¿Qué inicia el juego?, ¿Cómo se desarrolla en el medio? ¿Con quiénes se pelea en la batalla final?. Todas estas preguntas se irán desarrollando paulatinamente, pero no perder la visión y la meta del videojuego es la clave.
viernes, 5 de junio de 2015
Idea del proyecto de videojuego en Unity
Bitácora del Desarrollador
Luego de 3 clases en Unity, he podido vislumbrar el proyecto que quiero hacer ... Se trata de un juego plataforma que simula a los clásicos juegos arcade de antaño, con una idea sencilla de realizar pero que a medida que pasan los stages se hará más compleja. Contará con muchas vistas de cámara, y además se modificará el clima automáticamente a medida que avanza la historia en el juego.
La historia aún no la he desarrollado completamente pero ya tengo un borrador.
Al ver lo ejemplos de juegos creados en Unity me permitió ver más allá de la ventana de edición, incluso más del juego en sí. Me llamó muchísimo la atención el impacto que genera un videojuego sobre la persona que lo juega, ya que absorbe los paradigmas del desarrollador. Es decir, que el usuario adquiere por momentos aspectos ligados a la persona que creó el juego como creencias, miedos, alegrías y sentimientos de algarabía, soledad, etc. Es por eso que he decidido que si voy a hacer un videojuego "profesionalmente" hablando, quiero que sea uno que permita la educación y el descubrimiento a su máxima expresión.
En fin, antes de despedirme quisiera dejarles el tema de fondo del primer video, ya que no sé por qué, pero me animó a emprender este maravilloso mundo de la creación de videojuegos. Hasta la próxima!!
miércoles, 3 de junio de 2015
Creación de Scripts
Bitácora del Desarrollador
La creación de Scripts en Unity fue todo un descubrimeinto para mí, pues programar algo y luego verlo en acción simplemente es maravilloso. Hoy en la clase de Unity vimos como lograr rotaciones y traslaciones de un objeto usando Scripts C#. Comencemos!
Cargar proyecto anterior del Cubo
Si, para no perder lo ya aprendido trabajaremos sobre el proyecto que trabajamos hace un momento.
Luego de haberlo cargado nos situaremos en la parte inferior de nuestro entorno llamado "Assets". Luego en el espacio en blanco hacemos clic derecho y elegimos la primera opción "Create" y luego escogemos "Folder". Seguidamente le pondremos un nombre, en este caso "Scripts".
Luego daremos doble clic a la carpeta, y dentro de ella nuevamente nos dirigimos al espacio en blanco y hacemos clic derecho para crear un script de tipo C#.
Como nos pide nombrarlo lo llamaremos "RotateObject" que significa RotarObjeto y le damos Enter,
¡Oh, sorpresa! Si, ya sé lo que están pensando: "¡En menos de un segundo se ha generado la clase para codificar eventos y demás cosas!" Por si no lo vieron, la ventana derecha cambió y ahora se llama "Imported Object".
El siguiente paso es de especial consideración: Si han instalado bien el programa Unity, no habrá inconvenientes, pero si hay fallas después de este paso, sírvanse tratar de repararlo.
Luego de haber nombrado a nuestro script como "RotateObject" le damos doble clic y nos aparecerá la siguiente pantalla.
MonoDevelop es como un editor de código (es, un editor de código) que viene instalado con Unity. Si hay mensajes de error, cierren el programa y vuélvanlo a abrir. Al menos así se corrigieron algunas fallas que siempre salían cuando iniciaba el programa.
Como pueden observar, nuestro script llamado "RotateObject" ha sido desplegado a un editor de código, para que en él podamos modificar a nuestra entera disposición todos los eventos que queramos definir. Para este caso será el de rotar un objeto.
Ahora simplemente nos ubicamos con el cursor en la línea 13, justo debajo de la definición "void Update () {"
Ahora crearemos nuestra línea de código:
Básicamente se podría "traducir" la línea de código de la siguiente manera:
Quiero transformar un objeto. No quiero que sea escalar (aumento o disminución de tamaño), ni posicional (es decir, que se desplace); quiero que sea Rotacional. Es por eso que crearé este método usando un Vector que almacena 3 posiciones necesarias: X, Y y Z, los cuales capturarán valores específicos que yo decidiré.
Una vez terminada la línea, guardamos el archivo machucando las teclas Ctrl + S y acto seguido nos dirigimos al entorno Unity. (No cierren el programa MonoDevelop)
Luego, haremos clic a nuestro Cubo para que la ventana Inspector muestre sus propiedades. Es aquí donde arrastraremos el script hacia la ventana Inspector y lo soltaremos únicamente cuando se nos habilite el signo "+" en nuestro cursor. Aquí el ejemplo demostrativo.
Prueben cambiando los valores del Script con 0,5,0 ¿Qué es lo que ocurre? ¿Por qué se da este fenómeno? Escriban sus comentarios y no olviden seguir practicando!!
Componentes en Unity
Bitácora del desarrollador:
Creando componentes en Unity
Al abrir nuestro entorno de desarrollo Unity, veremos que están claramente definidos los espacios que debemos tener en cuenta en todo momento: Por una parte tenemos al escenario que esta claramente posicionado en el centro de la pantalla y ligeramente hacia arriba, luego tenemos a la mano derecha el Inspector que es el lugar donde se alojan las propiedades, los scripts, etc,etc. Por lo pronto conoceremos estos dos aspectos del entorno Unity.
A la amno izquierda veremos una ventana llamada "Hierarchy" o Jerarquía. Aquí veremos una lista de los componentes que actualmente están interviniendo en nuestro escenario. Como es lógico, debería estar en blanco, sin embargo en esta versión, ya venía por defecto la cámara y la luz direccional. Podemos mover la cámara haciéndole clic a la pequeña cruz que esta en la parte superior izquierda al costado de la herramienta Mano; luego seleccionamos la cámara y veremos que tiene 3 componentes direccionales (vectores) que representan la posición de la cámara en un preciso instante.
Seguidamente crearemos un componente llamado "Cube" o Cubo. Esto lo hacemos de la siguiente manera:
Abriimos el menú "GameObject" y seleccionamos la ficha 3D, enseguida nos mostrará una lista de posibles objetos a insertar, Elegimos "Cube"
Podemos jugar ahora con sus movimientos jalando de los tiradores y modificando su forma, tamaño, anchura, etc.
Como hemos podido experimentar, cada vez que jalamos de los tiradores, nuestro objeto se agranda, rota, se eleva, en fin, pero podemos hacer eso de otras dos formas: la primera es situándonos en la ventana Inspector y elegimos la pestaña Transform que debería estar en primer lugar. Lo único que haremos será modificar los valores de la Posicion (Position) en X, Y y Z. Colocaremos en cada una de las cajas el valor de cero. Veremos que el Cubo se ha asentado en la posición 0,0,0 y estará en equilibrio de las 3 coordenadas. Probemos modificarlo en otras posiciones.
La segunda forma alternativa es colocando el cursor sobre las letras X, Y o Z pero sin hacer clic, veremos que aparecen dos flechas más de forma horizontal y jalándolos por ambos extremos también logramos que nuestro Cubo se posicione.
Otra de las herramientas que usaremos sera la rotación de los objetos, y eso se logra con la tercera herramienta de los iconos de la esquina superior izquierda, justo en el medio hay un icono con dos flechas medio entrelazadas, como si fuera el icono de Actualizar. Pues bien hagamos clic y veamos lo que pasa con nuestros objetos.
Ahora añadiremos un nuevo componente. Se trata de "Point Light" o Punto de Luz, el cual se encuentra también en el Menú "GameObject" y en "Light". Podemos cambiar el color al que queramos y lo arrastramos sobre la superficie del Cubo. Observaremos que irradia el color sobre los objetos.
Antes de comenzar con la programación añadiremos un último elemento que será un Plano y que la mecánica para agregarlo es similar a los anteriores, así que no habrás problemas en esa parte. Como tarea adicional prueben todos los componentes para familiarizarse aún más.
Finalmente guardamos nuestra escena y con eso terminaríamos el ejercicio básico de reconocimiento de los componentes de Unity.
martes, 2 de junio de 2015
Desarrollo de Videojuegos en Unity
Bitácora del desarrollador:

Pues bien, hemos comenzado con esta aventura única en el desarrollo de videojuegos y a manera de introducción veremos una breve historia de la herramienta que usaremos, sus inicios y aspectos necesarios para un aprendizaje más integral. Sería bueno darle una mirada porque está muy bien explicada. Se encuentra en el siguiente enlace: Unity.
Para poder desarrollar cómodamente es necesario tener una idea clara y concisa de qué es lo que quiere realizar. Como en muchos campos, la idea central es primordial en cualquier planteamiento, ya sea de un trabajo de investigación como monografías, tesis, trabajos científicos, etc. Creo que durante el proceso podremos avanzar respecto a esto (la idea), Mientras tanto no perdamos más tiempo y sumerjámonos en el mundo Unity. Comencemos!
Ingresando al entorno Unity
Es necesario esclarecer en este punto que la versión que estoy usando es la 5.0.2f1 para Windows de 64-bits. Sin embargo, la versión anterior que es la 4.6 sirve exactamente igual, así que no es necesario tener la última versión
Conociendo la presentación
Luego de ejecutar la aplicación Unity 5.0.2f1 (64-bit), se nos abrirá una ventana en la cual veremos una lista de los proyectos ya trabajados con anterioridad, es decir, que si es la primera vez que ejecutamos el programa simplemente no la veremos.
Seguidamente haremos clic en el botón "New Project" o Nuevo Proyecto y en el primer cuadro de texto escribimos el nombre que queramos.
En el segundo cuadro de texto, Unity nos pide la localización donde se guardará nuestro archivo. La sugerencia es cambiarla por una ruta que sea familiar, sin embargo la podemos dejar por defecto. Cabe señalar que para sesiones más adelante, siempre deberemos crear carpetas antes de crear el proyecto.
Una vez creada la carpeta ponemos "Seleccionar Carpeta" y nos aparecerá la ventana siguiente con los datos de ruta del archivo y nombre como sigue:
Veremos que existen dos logotipos que definen el tipo de modelado que haremos, 2D o 3D. Podemos dejarlo como está puesto que para familiarizarnos con el software, creemos que resultaría más beneficioso usar el 3D. Abajo de estos logotipos aparece un botón denominado "Asset packages ..." el cual no tocaremos y lo dejaremos tal como está.
Luego de esto hacemos clic en el botón "Create Project" o Crear Proyecto, esperamos unos segundos y voilà, nos aparece la pantalla principal de Unity.
Los programadores, ¿nacen o se hacen?
Les contaré una historia que ocurrió hace muchos años atrás. Es la historia de un niño que estuvo maravillado con el increíble regalo que le habían comprado por Navidad, era el regalo perfecto, dispuesto a obsequiarle horas enteras de diversión "sana" y además compañera acérrima de travesuras que aún hoy las recuerda como si fueran ayer.
Era un Polystation, más exactamente era un Gold Leopard King GLK - 6303, la versión popular del grandioso PlayStation, pero que tenía una característica especial: poseía un teclado tipo Win95 de 78 piezas que permitían la interacción con el monitor de formas absolutamente geniales. Prueba de ello fue el programa - videojuego que despertó al programador que residía en mí (ok, el niño era yo): el G-Basic, un programa que estaba mezclado, casi escondido, como si no quisiera ser revelado, dentro de la lista interminable (al menos eso creía) de juegos clásicos como Super Mario Bros, Pooyan, Duck Hunt (si, esa conocida como "Matapatos"), Circus, Lone Runner, etc, etc, etc ...
G-Basic es sin más, (y digo "es" porque me rehúso a verlo como algo que ya no existe, aunque sea cierto), una versión crackeada del FamilyBASIC desarrollado por HU-Soft para la Nintendo Famicom.
Aquí una descripción hecha por el usuario DANSCREP el 26 de Marzo del 2013 en la página http://www.zonadepruebas.com, sitio web creado por phpBB Group que se dedica a tópicos de programación, sistemas operativos, electrónica de videojuegos, y muchos otros temas desarrollados bajo la licencia GNU (Licencia Pública General) que son de libre distribución.
El G-BASICLa verdad es que este BASIC es muy completo y con un juego de instrucciones que ya querrían para si muchos equipos de 8 bits. Una vez entras en el G-BASIC aparece el editor en blanco y negro con un formato de 24 filas por 28 columnas. Dispones de 32 KB de memoria libres. Ahora mismo, la única pega que le he encontrado es que solo trabaja con números enteros de dos bytes. O sea entre +/- 32767.Bueno, hay una pega peor... El equipo no permite grabar ni recuperar ningún programa, ni conectándolo a un dispositivo externo, ni en una memoria interna. Es una lástima, y esto si lo permitía la unidad original de Nintendo. Volviendo al BASIC, tiene un muy completo juego de instrucciones, y hasta nos permite usar SPRITES, acceder a los joystick, PEEK y POKE, PLAY, etc. Muy, muy similar al MSX-BASIC.
Luego afirma que en efecto, posee no una sino muchas más limitaciones:
Por lo pronto he visto que el LOAD y el SAVE no funcionan, cosa lógica porque no lo puedes conectar a un casete.Las instrucciones clásicas tipo PRINT, LOCATE, GOTO, GOSUB, RETURN, IF-THEN-ELSE, INPUT, etc, funcionan todas, pero curiosamente el TAB no. ¿?Pero los comandos para definir y controlar los SPRITES aún no los he conseguido hacer funcionar.Los ejemplos que hay por Internet no me han funcionado con el G-BASIC. Pero realmente tiene la instrucción SPRITE.
(tomado de la página http://www.zonadepruebas.com/viewtopic.php?f=42&t=3219)
En ese tiempo, para suerte mía, contaba con algunos libros de metodología de Basic que eran de mis tíos y que estaban "temporalmente" inutilizados. Fue en ese momento donde amé a la programación.
Sin embargo, la vida me enseñaría que a pesar de tener las aptitudes y la vocación para estudiar lo que más anhelaba, me condicionaría a estudiar lo que está de moda. Este caso, como el de muchos, ha sido motivo de estudio de muchos investigadores que han dedicado tiempo y recursos para definir qué es lo que sucede cuando un joven se enfrenta a la dura decisión de su vida: qué estudiar. Me sucedió a mí, les sucedió a muchos y les seguirá sucediendo a nuestras generaciones más jóvenes sino hacemos algo al respecto: dejarlos elegir la carrera de sus vidas es ciertamente una decisión importante, pero si los hacen felices, será la decisión adecuada.
Es así que me animé a estudiar Ingeniería de Sistemas e Informática, porque quería que otras personas como yo, amen y disfruten experiencias de interacción con la máquina. Que se sorprendan al ver cuán beneficiosa podría llegar a ser una aplicación para determinado trabajo, o qué ventajas competitivas podrían adquirir alguna empresa sobre otra, usando Sistemas de Información que reduzcan el tiempo y dinero, recursos fundamentales de cualquier organización. La industria de las Telecomunicaciones, las TI´S, las inteligencias artificiales y demás están al servicio de la población y traerán mayores beneficios que desventajas si las administramos de manera eficiente.
Para terminar quisiera compartir la respuesta de el usuario Mark sobre la pregunta de si los programadores nacen o se hacen:
Sólo tienes que tener las ganas de aprender...Programar realmente es 90% lógica y el otro 10% es conocimiento del lenguaje, por lo que si tienes el 90% de la lógica o lo desarrollas (es muy fácil, sólo es ver las cosas como si pasaran en la vida real) la parte del lenguaje de programación se vuelve mucho más fácil.Es por esa razón que quienes aprenden 1 lenguaje de programación bien aprendido se les facilita mucho aprender otros lenguajes ya que la lógica no cambia (rara vez cambia solo un poco dependiendo del lenguaje) solo la sintaxis.Practica mucho y no te quedes con lo que te enseñan en la escuela, comienza tus proyectos propios (con lo que ya has aprendido) por muy pequeños que sean.
(tomado de la página https://espanol.answers.yahoo.com/question/indexqid=20120703082445AAL3CTv)
Suscribirse a:
Comentarios (Atom)




