Foros del Web » Creando para Internet » Flash y Actionscript »

[Tutorial] Como programar un videojuego en Flash.

Estas en el tema de [Tutorial] Como programar un videojuego en Flash. en el foro de Flash y Actionscript en Foros del Web. Objetivo: Al terminar el tutorial, vas a tener el conocimiento mínimo sobre la creación de videojuegos en flash, Además un marco de trabajo básico que ...
  #1 (permalink)  
Antiguo 12/12/2010, 23:32
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
[Tutorial] Como programar un videojuego en Flash.

Objetivo:
Al terminar el tutorial, vas a tener el conocimiento mínimo sobre la creación de videojuegos en flash, Además un marco de trabajo básico que puedes utilizar para futuros proyectos. Como incorporar elementos gráficos y sonoros en la programación de tu videojuegos y una máquina de estados para controlar los diferentes estados del videojuego.
Descripción del videojuego:
El videojuego será ambientado en la casa de una bruja, los ingredientes para crear una poción caerán del cielo y el jugador tendrá que mover una olla, para atrapar todos los ingredientes que sean posibles.

Requisitos:
  • Adobe Flash CS3 o superior.
  • Conocimientos mínimos de programación orientada a objetos.

Preparar el ambiente de trabajo:
Crear un archivo Flash ActionScript 3.0 nuevo.

Guardar y nombrar el archivo con la ubicacion y nombre de tu preferencia. El tutorial usará el archivo: juego.fla

Crear un archivo ActionScript:

Guardar el archivo ActionScript con el mismo nombre y misma ubicación que el archivo anterior. (juego.as para el Tutorial)


Regresar al archivo juego.fla, y en el panel de propiedades, en el campo Clase del documento, escribir el nombre (sin la extension) del archivo .as que acabamos de crear. Si estás siguiendo el Tutorial, deberás escribir juego


Creación de MovieClips
Regresar al entorno de diseño de flash (la pestaña que dice juego.fla)
Presionar Ctrl+F8
Nombrar el MovieClip
Hacer click en el botón "Avanzado"
Activar la casilla Exportar para ActionScript
(*)Cambiar el campo de texto "Clase" por "Ingredientes" (sin comillas).



(*)El nombre de la clase se tiene que cambiar, respecto al movieclip que estamos creando, en este caso, estamos creando el movieclip que contendrá las imagenes de los ingredientes.
(!) Al momento de hacer click en el botón aceptar, aparecerá un mensaje de advertencia. Simplemente hacer click en Aceptar y continuar con el tutorial.


Ingredientes: Este MovieClip, contendrá los ingredientes que caeran del techo de la cabaña, 5 fotogramas y cada fotograma con la imagen de un ingrediente diferente, en un fotograma clave.



Olla: El movieclip, contendrá la imagen de la olla en donde los ingredientes serán depositados.



Escenario: El movieclip del escenario. Es importante utilizar una imagen de fondo por varias razones, dentro de las mas importantes es que cuando se publican videojuegos en una página web, la etiqueta <embed> de HTML puede cambiar el fondo del pantalla de nuestro swf y arruinar todo el diseño del videojuego. Otra razón es que una imagen de fondo, hace mas atractivo el diseño del videojuego. El escenario, es el laboratorio de la bruja. La imagen del tutorial tiene marca de agua de su autor. El resto de las imagenes fueron encontradas en iconfinder.com




Guardar los cambios en el archivo .fla, regresar al archivo .as y ya nos encontramos listos para empezar a programar. Si todo se encuentra en su lugar, al hacer click en el icono al lado de la clase del documento flash deberá cambiarse automaticamente al entorno de programación.

El código.
En este punto del tutorial te estarás muriendo por empezar a programar. Este es el código completo. copialo y pegalo en el entorno de programación, y después del código escribiré la explicación.

Código:
package {
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.display.*;
	import flash.events.*;
	import flash.geom.Rectangle;
	public class juego extends flash.display.MovieClip {
		public static  const ESTADO_INICIAR:int = 10;
		public static  const ESTADO_JUGAR:int = 20;
		public static  const ESTADO_FIN:int = 30;
		public var estadoDeJuego:int = 0;
		public var vidaPerdidas:int = 0;
		public var ingredientesAtrapados:int = 0;
		public var bg:MovieClip;
		public var ingredientes:Array;
		public var ollaImagen:MovieClip;
		public var nivel:Number = 0;
		
		public function juego() {
			addEventListener(Event.ENTER_FRAME, cicloDelJuego);
			bg = new background();
			addChild(bg);
			estadoDeJuego = ESTADO_INICIAR;
		}
		public function cicloDelJuego(e:Event):void {
			switch (estadoDeJuego) {
				case ESTADO_INICIAR :
					inicializarJuego();
					break;
				case ESTADO_JUGAR :
					jugar();
					break;
				case ESTADO_FIN :
					terminarJuego();
					break;
			}
		}

		public function inicializarJuego():void {
			vidaPerdidas = 0;
			ollaImagen = new Olla();
			ingredientes = new Array();
			nivel = 1;
			addChild(ollaImagen);
			ollaImagen.startDrag(true,new Rectangle(0,272,422,0));
			estadoDeJuego = ESTADO_JUGAR;
		}
		public function jugar():void {
			crearIngredientes();
			tirarIngredientes();
			loAtrapo();
			condicionParaPerder();
		}
		public function crearIngredientes():void {
			var crearTemporal:Number = Math.floor(Math.random() *75);
			var ingredienteTemporal:MovieClip;
			if (crearTemporal < 2 + nivel) {
				ingredienteTemporal = new Ingredientes();
				ingredienteTemporal.velocidad = 3 + nivel;
				ingredienteTemporal.gotoAndStop(Math.floor(Math.random()*5) + 1);
				ingredienteTemporal.y = 0;
				ingredienteTemporal.x = Math.floor(Math.random() * 515);
				addChild(ingredienteTemporal);
				ingredientes.push(ingredienteTemporal);
			}
		}
		public function tirarIngredientes():void {
			var ingredienteTemporal:MovieClip;
			for (var i:int = ingredientes.length -1; i >= 0; i--) {
				ingredienteTemporal = ingredientes[i];
				ingredienteTemporal.y += ingredienteTemporal.velocidad;
				if (ingredienteTemporal.y > 464) {
					vidaPerdidas++;
					ingredientes.splice(i,1);
					removeChild(ingredienteTemporal);
				}
			}
		}

		public function loAtrapo():void {
			var ingredienteTemporal:MovieClip;
			for (var i:int = ingredientes.length -1; i >= 0; i--) {
				ingredienteTemporal = ingredientes[i];
				if (ingredienteTemporal.hitTestObject(ollaImagen)) {
					ingredientes.splice(i,1);
					removeChild(ingredienteTemporal);
				}
			}
		}
		public function condicionParaPerder():void {
			if (vidaPerdidas>= 5) {
				estadoDeJuego = ESTADO_FIN;
			} else if (ingredientesAtrapados > nivel*20) {
				nivel++;
			}
		}
		public function terminarJuego():void {
			for (var i:int = 0; i < ingredientes.length; i++) {
				removeChild(ingredientes[i]);
			}
			ingredientes =[];
			ollaImagen.stopDrag();
		}
	}
}
Guarda los cambios en el archivo .as
Prueba el juego, presionando Ctrl+Enter para compilar el código y ejecutarlo.
Si estas siguiendo el tutorial al pie de la letra, no deberas tener ningun problema al momento de ejecutarlo. Sin embargo si cambiaste el nombre del proyecto a algo diferente de juego.fla, y juego.as, entonces en el código, deberás cambiar lo siguiente:


public class juego extends flash.display.MovieClip {
public function juego() {
por:

public class EL_NOMBRE_DE_TU_ARCHIVO extends flash.display.MovieClip
public function EL_NOMBRE_DE_TU_ARCHIVO() {

Si todo sale correctamente, verás en tu pantalla algo muy parecido a lo siguiente:




Los archivos:
Puedes descargar los archivos utilizados en el tutorial, de la siguiente dirección.

juego.zip

Y ver el juego en ejecución en la siguiente dirección:
juego en ejecucion
  #2 (permalink)  
Antiguo 12/12/2010, 23:33
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Código explicado
package {
es una directiva que siempre tenemos que utilizar al empezar a programar un archivo .as externo, nos permite incorporar toda una estructura jerarquica de clases al momento de programar en flash, pero son temas mas avanzados, de momento dejemoslo así.

Imports
Aqui es donde vamos a importar las librerías necesarias para manejar diferentes objetos en pantalla.
Utilizamos la librería geometríca rectangulo, porque vamos a definir un rectangulo en donde la olla se puede mover para atrapar los objetos.

La clase y su constructor.
public class juego extends flash.display.MovieClip {

En esta linea empezamos a definir una nueva clase, la palabra reservada "extends" quiere decir que "extiende" o "hereda" todos los métodos de la clase nativa "MovieClip", es decir que nuestra clase juego, al ser instanciada como un objeto, tendrá todos los métodos (y los que deseemos agregar) de la clase MovieClip, cada clase dependiendo de su comportamiento, puede extender o no, a otras clases nativas.

Este es el constructor del juego:
Código:
public function juego() {
			addEventListener(Event.ENTER_FRAME, cicloDelJuego);
			bg = new background();
			addChild(bg);
			estadoDeJuego = ESTADO_INICIAR;
		}
El constructor debe tener el mismo nombre de la clase. Es el método/función que se encarga de inicializar las variables de una clase. Al momento de instanciar la clase, es donde el programa empieza a ejecutarla.

En el constructor, estamos diciendole al programa que al momento en el que entre a un fotogramadel flash, va a ejecutar la funcion cicloDeJuego y va a pasar como argumento, el evento ENTER_FRAME

bg = new background();

recordemos, que cuando exportamos el movieclip del fondo de pantalla a ActionScript, lo exportamos con el nombre "background".
Lo que hizo flash, fue transformar ese MovieClip en una clase, y esta linea estamos instanciando la clase, convirtiendola en un objeto llamado bg que podremos manipular a nuestro gusto.

El método addChild, nos permite agregar dicho objeto ya instanciado, al escritorio de trabajo de flash.

Y finalmente inicializamos la variable de estado, al estado inicial.

Las variables
  • ESTADO_INICIAR,ESTADO_JUGAR,ESTADO_FIN. Son las variables de la máquina de estados que esta constantemente monitoreando el comportamiento del videojuego, dependiendo del estado en el que se encuentre el juego, es como se comportará el videojuego.
  • estadoDeJuego. Es la variable que se encuentra de almacenar el estado actual del videojuego. Si se encuentra activo, si esta por inicializarse, o si ya se alcanzó el final del juego.
  • vidaPerdidas. Define la cantidad de vidas que el jugador puede perder, antes de que la variable estadoDeJuego se cambie a ESTADO_FIN, que termina con la ejecución del juego.
  • ingredientesAtrapados. Lleva control de los ingredientes que han sido atrapados por la olla. La función que incrementa el nivel del juego, monitorea esta variable, para que en función de la misma, el nivel incremente.
  • bg, es una variable de tipo Movieclip que almacena la imagen de fondo del videojuego.
  • ingredientes. Es un arreglo, que almacena el indice de los diferentes ingredientes que se pueden agregar al videojuego.
  • ollaImagen. Una variable tipo Movieclip que almacena la imagen de la olla.
  • nivel. La variable que se encuentra de monitorear el nivel actual del videojuego.

Las funciones
  • cicloDeJuego(e:Event):void
    En este método, creamos nuestra máquina de estados. Es la función que se va a encargar de monitorear el estado actual del videojuego, y dependiendo del estado, entonces va a ejecutar una función.
  • incializarJuego()
    En éste método incializamos todo lo necesario para que nuestro juego empieze a funcionar.
    La linea:
    ollaImagen.startDrag(true,new Rectangle(0,272,422,0));

    Define un rectangulo, en la posición (0,272) de 422 pixeles de alto, y 0 alto, en la cual se puede mover la imagen (por eso el uso del metodo startDrag).

    Esta linea, restringe el movimiento de la olla, al eje de las X.
  • jugar()
    Esta función es la que ejecuta secuencialmente las instrucciones al juego.
  • crearIngredientes()
    Esta función, genera un número aleatorio entre 0 y 75. Verifica si ese número aleatorio es menor a 2 + nivel actual.
    Si la condición resulta ser positiva, va a instanciar la clase Ingredientes, que previamente habíamos exportado al ActionScript, y vamos a definir la variable velocidad, la cual va a aumentar conforme aumente el nivel del juego.
    Esta misma funcion genera otro número aleatorio, entre 1 y 5, para accesar a los diferentes ingredientes que tenemos en nuestro MovieClip.
    Definimos el punto de partida de donde van a empezar a salir los ingredientes, y despues, los dibujamos en pantalla, en una posicion aleatoria a lo largo de la pantalla.
  • tirarIngredientes()
    Es el método que se encarga de mover los ingredientes a lo largo de la pantalla. Conforme aumenta el nivel, mas rápido caen. Tambien verifica que si despues de que el ingrediente, salga de la pantalla, entonces lo va a remover del stack en la memoria, para no llegar a un overhead innecesario y repercutir en la ejecución del juego.
  • loAtrapo()
    Es el método que se encarga de monitorear las colisiones entre la olal y los ingredientes. Si existe una colisión el método elimina el ingrediente con el que se encuentra colisionando de la lista.
  • condicionParaPerder()
    Es el método que se encuentra monitoreando la variable de vidasPerdidas, en el momento en el que la variable de vidasPerdidas alcance el valor de 5. El método, cambia la variable de estado, a estado final.
  • terminarJuego()
    Es el metodo que se encarga de terminar la ejecución del juego.

Ejercicios
Modifica el código del juego de tal manera que:
  • Solo se permita atrapar un tipo de ingrediente.
  • Caigan Ingredientes de Bonus, de tal manera que al momento de atrapar dicho ingrediente, se le de una bonificación al jugador.
  • Cuando se pierda, se muestre el texto "Fin del Juego" en pantalla.
  • Las ingredientes que caigan, se encuentren animados.
  • Tener un texto, que muestre la puntuación.
Notas finales
Este no es el método mas efectivo, ni el recomendado para crear videojuegos. Si se trabaja en proyectos mas grandes, los videojuegos serán tardados de compilar, y sobretodo de mantener. crearía un archivo externo pesadísimo y muy díficil de trabajar en equipo, pero si proporciona un punto de inicio para el curioso programador que quiere aprender a programar videojuegos en Flash.

Elegí realizar el tutorial en Flash, debido a que Flash proporciona un ambiente de diseño, programación y animación en el mismo programa. No hay necesidad de instalar librerías gráficas externas, y el lenguaje de programación es facil de aprender y los métodos basicos para la programación de videojuegos, flash ya los tiene incrustados de manera nativa.

Espero les haya servido mi tutorial. Posteriormente escribiré uno acerca de como conectar un videojuego (o cualquier aplicación) a facebook y empezar a hacer un videojuego de distribución viral.

Estoy apenas realizando mi propia página web, en donde pondré este tutorial, y muchos mas, relacionado con la programación de videojuegos en diferentes lenguajes, primordialmente flash, php y c++

Cualquier comentario, respondan a este thread y les deseo que aprendan mucho. :)

Recuerden las imagenes no son mías, fueron obtenidas de IconFinder.com y de ToonBoom.com, los derechos son de sus respectivos autores y no deben usuarse con animos de lucro. Pueden usar este código libremente, sin necesidad de dar crédito.

Este tutorial tambien lo he publicado en otra página web, y lo publicaré en mi página personal, donde se encuentran hospedados los archivos.

http://alanchavez.com/2010/12/13/tut...-en-flash-as3/

Última edición por AlanChavez; 13/12/2010 a las 00:05
  #3 (permalink)  
Antiguo 13/12/2010, 04:46
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Hola Alan! Felicitaciones por el tutorial! No lo he leido en detenimiento, pero parece que esta muy bueno! Igualmente estos tipos de tutoriales deberían ir en Recursos Flash, no? Para que no se pierda en la marea de post de preguntas.

Saludos!
  #4 (permalink)  
Antiguo 13/12/2010, 06:12
Avatar de txabier7  
Fecha de Ingreso: noviembre-2010
Ubicación: Tudela
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Hola a todos:
Alguien sabe donde puedo descargame algun tutorial para programar en flash
Cita:
Iniciado por AlanChavez Ver Mensaje
Objetivo:
Al terminar el tutorial, vas a tener el conocimiento mínimo sobre la creación de videojuegos en flash, Además un marco de trabajo básico que puedes utilizar para futuros proyectos. Como incorporar elementos gráficos y sonoros en la programación de tu videojuegos y una máquina de estados para controlar los diferentes estados del videojuego.
Descripción del videojuego:
El videojuego será ambientado en la casa de una bruja, los ingredientes para crear una poción caerán del cielo y el jugador tendrá que mover una olla, para atrapar todos los ingredientes que sean posibles.

Requisitos:
  • Adobe Flash CS3 o superior.
  • Conocimientos mínimos de programación orientada a objetos.

Preparar el ambiente de trabajo:
Crear un archivo Flash ActionScript 3.0 nuevo.

Guardar y nombrar el archivo con la ubicacion y nombre de tu preferencia. El tutorial usará el archivo: juego.fla

Crear un archivo ActionScript:

Guardar el archivo ActionScript con el mismo nombre y misma ubicación que el archivo anterior. (juego.as para el Tutorial)


Regresar al archivo juego.fla, y en el panel de propiedades, en el campo Clase del documento, escribir el nombre (sin la extension) del archivo .as que acabamos de crear. Si estás siguiendo el Tutorial, deberás escribir juego


Creación de MovieClips
Regresar al entorno de diseño de flash (la pestaña que dice juego.fla)
Presionar Ctrl+F8
Nombrar el MovieClip
Hacer click en el botón "Avanzado"
Activar la casilla Exportar para ActionScript
(*)Cambiar el campo de texto "Clase" por "Ingredientes" (sin comillas).



(*)El nombre de la clase se tiene que cambiar, respecto al movieclip que estamos creando, en este caso, estamos creando el movieclip que contendrá las imagenes de los ingredientes.
(!) Al momento de hacer click en el botón aceptar, aparecerá un mensaje de advertencia. Simplemente hacer click en Aceptar y continuar con el tutorial.


Ingredientes: Este MovieClip, contendrá los ingredientes que caeran del techo de la cabaña, 5 fotogramas y cada fotograma con la imagen de un ingrediente diferente, en un fotograma clave.



Olla: El movieclip, contendrá la imagen de la olla en donde los ingredientes serán depositados.



Escenario: El movieclip del escenario. Es importante utilizar una imagen de fondo por varias razones, dentro de las mas importantes es que cuando se publican videojuegos en una página web, la etiqueta <embed> de HTML puede cambiar el fondo del pantalla de nuestro swf y arruinar todo el diseño del videojuego. Otra razón es que una imagen de fondo, hace mas atractivo el diseño del videojuego. El escenario, es el laboratorio de la bruja. La imagen del tutorial tiene marca de agua de su autor. El resto de las imagenes fueron encontradas en iconfinder.com




Guardar los cambios en el archivo .fla, regresar al archivo .as y ya nos encontramos listos para empezar a programar. Si todo se encuentra en su lugar, al hacer click en el icono al lado de la clase del documento flash deberá cambiarse automaticamente al entorno de programación.

El código.
En este punto del tutorial te estarás muriendo por empezar a programar. Este es el código completo. copialo y pegalo en el entorno de programación, y después del código escribiré la explicación.

Código:
package {
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.display.*;
	import flash.events.*;
	import flash.geom.Rectangle;
	public class juego extends flash.display.MovieClip {
		public static  const ESTADO_INICIAR:int = 10;
		public static  const ESTADO_JUGAR:int = 20;
		public static  const ESTADO_FIN:int = 30;
		public var estadoDeJuego:int = 0;
		public var vidaPerdidas:int = 0;
		public var ingredientesAtrapados:int = 0;
		public var bg:MovieClip;
		public var ingredientes:Array;
		public var ollaImagen:MovieClip;
		public var nivel:Number = 0;
		
		public function juego() {
			addEventListener(Event.ENTER_FRAME, cicloDelJuego);
			bg = new background();
			addChild(bg);
			estadoDeJuego = ESTADO_INICIAR;
		}
		public function cicloDelJuego(e:Event):void {
			switch (estadoDeJuego) {
				case ESTADO_INICIAR :
					inicializarJuego();
					break;
				case ESTADO_JUGAR :
					jugar();
					break;
				case ESTADO_FIN :
					terminarJuego();
					break;
			}
		}

		public function inicializarJuego():void {
			vidaPerdidas = 0;
			ollaImagen = new Olla();
			ingredientes = new Array();
			nivel = 1;
			addChild(ollaImagen);
			ollaImagen.startDrag(true,new Rectangle(0,272,422,0));
			estadoDeJuego = ESTADO_JUGAR;
		}
		public function jugar():void {
			crearIngredientes();
			tirarIngredientes();
			loAtrapo();
			condicionParaPerder();
		}
		public function crearIngredientes():void {
			var crearTemporal:Number = Math.floor(Math.random() *75);
			var ingredienteTemporal:MovieClip;
			if (crearTemporal < 2 + nivel) {
				ingredienteTemporal = new Ingredientes();
				ingredienteTemporal.velocidad = 3 + nivel;
				ingredienteTemporal.gotoAndStop(Math.floor(Math.random()*5) + 1);
				ingredienteTemporal.y = 0;
				ingredienteTemporal.x = Math.floor(Math.random() * 515);
				addChild(ingredienteTemporal);
				ingredientes.push(ingredienteTemporal);
			}
		}
		public function tirarIngredientes():void {
			var ingredienteTemporal:MovieClip;
			for (var i:int = ingredientes.length -1; i >= 0; i--) {
				ingredienteTemporal = ingredientes[i];
				ingredienteTemporal.y += ingredienteTemporal.velocidad;
				if (ingredienteTemporal.y > 464) {
					vidaPerdidas++;
					ingredientes.splice(i,1);
					removeChild(ingredienteTemporal);
				}
			}
		}

		public function loAtrapo():void {
			var ingredienteTemporal:MovieClip;
			for (var i:int = ingredientes.length -1; i >= 0; i--) {
				ingredienteTemporal = ingredientes[i];
				if (ingredienteTemporal.hitTestObject(ollaImagen)) {
					ingredientes.splice(i,1);
					removeChild(ingredienteTemporal);
				}
			}
		}
		public function condicionParaPerder():void {
			if (vidaPerdidas>= 5) {
				estadoDeJuego = ESTADO_FIN;
			} else if (ingredientesAtrapados > nivel*20) {
				nivel++;
			}
		}
		public function terminarJuego():void {
			for (var i:int = 0; i < ingredientes.length; i++) {
				removeChild(ingredientes[i]);
			}
			ingredientes =[];
			ollaImagen.stopDrag();
		}
	}
}
Guarda los cambios en el archivo .as
Prueba el juego, presionando Ctrl+Enter para compilar el código y ejecutarlo.
Si estas siguiendo el tutorial al pie de la letra, no deberas tener ningun problema al momento de ejecutarlo. Sin embargo si cambiaste el nombre del proyecto a algo diferente de juego.fla, y juego.as, entonces en el código, deberás cambiar lo siguiente:


public class juego extends flash.display.MovieClip {
public function juego() {
por:

public class EL_NOMBRE_DE_TU_ARCHIVO extends flash.display.MovieClip
public function EL_NOMBRE_DE_TU_ARCHIVO() {

Si todo sale correctamente, verás en tu pantalla algo muy parecido a lo siguiente:




Los archivos:
Puedes descargar los archivos utilizados en el tutorial, de la siguiente dirección.

[URL="http://www.alanchavez.com/Tutoriales/Videojuegos/Tutorial%201/juego.zip"]juego.zip[/URL]

Y ver el juego en ejecución en la siguiente dirección:
[URL="http://www.alanchavez.com/Tutoriales/Videojuegos/Tutorial%201/index.html"]juego en ejecucion[/URL]
  #5 (permalink)  
Antiguo 13/12/2010, 09:58
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Cita:
Iniciado por lucasiramos Ver Mensaje
Hola Alan! Felicitaciones por el tutorial! No lo he leido en detenimiento, pero parece que esta muy bueno! Igualmente estos tipos de tutoriales deberían ir en Recursos Flash, no? Para que no se pierda en la marea de post de preguntas.

Saludos!
Lucasiramos, estaba segurisimo que ahi mismo lo habia puesto!
Seguramente me equivoque de ventana al momento de presionar el boton de Tema nuevo.
Ahora mismo lo reporto para que lo muevan.
Gracias :)
  #6 (permalink)  
Antiguo 13/12/2010, 10:30
 
Fecha de Ingreso: noviembre-2010
Mensajes: 94
Antigüedad: 13 años, 5 meses
Puntos: 11
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Cita:
Iniciado por AlanChavez Ver Mensaje
Lucasiramos, estaba segurisimo que ahi mismo lo habia puesto!
Seguramente me equivoque de ventana al momento de presionar el boton de Tema nuevo.
Ahora mismo lo reporto para que lo muevan.
Gracias :)
Es curioso yo habia hecho un juego parecido hace un tiempo. Muy buen tutorial, sobretodo muy bien explicado. Solo quedaria agregar que para que sea un juego de verdad hay que agregarle un score, que es facil sólo poniendo un acumulador que vaya aumentando el score cada vez que cae un objeto en la olla.
  #7 (permalink)  
Antiguo 13/12/2010, 10:55
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Cita:
Iniciado por fletcher2009 Ver Mensaje
Es curioso yo habia hecho un juego parecido hace un tiempo. Muy buen tutorial, sobretodo muy bien explicado. Solo quedaria agregar que para que sea un juego de verdad hay que agregarle un score, que es facil sólo poniendo un acumulador que vaya aumentando el score cada vez que cae un objeto en la olla.
Bueno, lo del score lo dejo como ejercicio adicional. El score ya esta siendo monitoreado en la variable que se encarga de aumentar el nivel. Lo unico que quedaria seria pasar el valor de esa variable, a un texto que se muestre en pantalla.

Tambien puede variar el score dependiendo del ingrediente que caiga en la olla. Vaya pues, las posibilidades son muchas con un pequeno codigo como este.
Como aclare, no es la mejor manera de programar un juego, pero solamente es para calentar los motores, que estoy trabajando en mas tutoriales ;)
Muchas gracias por leerlo ;)
  #8 (permalink)  
Antiguo 07/01/2011, 00:42
Avatar de Deoz  
Fecha de Ingreso: enero-2011
Ubicación: Ciudad de cancún quintana roo méxico
Mensajes: 187
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Hola a todos.

Disculpen mi ignoracia pero soy nuevo, tengo un par de dudas y quisiera un poco de ayuda.

Lo que pasa es que estoy interezado en desarollar un juego social para facebook. Queria consultar si para iniciarme en mi tarea este tutorial puede servirme. Les hablo de un proyecto que espero completar en no mas de 5 años incluyendo mi capacitacion y estudios de programacion en flash y las apis de face.

Actulmente se que la mayoria de juegos exitosos de facebook trabajan bajo flash, pero todo esto es un bisne, es decir un negocio tanto de facebook como de la compañia de juegos.

Lo que pretendo son saber las bases de lo que necesito para iniciarme ademas de saber programar en flash. A continuacion les dire mas o menos mi vision de las cosas y quiero que de favor me digan si mas o menos tengo un poco claro las cosas.

.................................................. .................................................. ......................

En primera -

1. Desarrollo primero el juego en flash y despues busco como integralo usando la api que facebook ofrece? o se va programando el juego de manera lineal junto con la api de face?

2. Dicen que facebook no hostea, significa que yo debo hostiar todo en otro lugar? aclarenme por favor. si hacer esto significa que si existe mucho trafico en mi juego, facebook me ayuda con la banda ancha? o eso depende de mi? Aclarenme otra cosa, como hacen para lidiar con la banda ancha los juegos populares de Zynga... como no se almacenan en facebook, significa que Facebook no da nada de banda ancha para el trafico? y la banda ancha es problema de la compañia de juegos? o es que existe acuerdo por parte de la compañia con facebook para que facebook lidie con el trafico?

3. Suponiendo que el juego empieza a distribuirse con exito.... que puede empezar a suceder si no he hecho acuerdos con facebook, todo se saldra de control?

Bueno si hacerla tan larga, lo que quiero lograr es programar este juego, me siento capaz de ello por que pienso echarle muchas ganas al estudio, en la misma linea estudiare como funcionan la API... No se si este en lo correcto con lo que dire pues soy totalmente ignorante del tema, pero asimple vista creo que no es complicado lo que hacen estas compañias de juegos.

Basicamente a simple ojo (perdonenme si me equivoco)

Crean un juego complatible en flash enlazado con la api de face de manera que tanto la programacion en flash como la api trabajen juntos. El juego flash hace sus funciones programadas en flash, y la api de face, lo que hace es crear una interface de manejo que autodistribuya el juego mediante la red social?

Supongo que tambien administran grande bases de datos con respecto a los perfiles de cada usuario, no tengo claro como es que estas estan programadas, pero supongo que la base de datos no la controla facebook sino la misma programacion en flash.... (disculpa si me equibovo)

Por favor, si ustedes tienen un panorama mas claro de estas situaciones, diganme que necesito... porfavor no me digan que es dificil o cosas asi y que voy a perder mi tiempo porque si fuera tan sensillo ya todos hubieran echo juegos... Estoy muy conciente que esto no es facil, pero se que hay gente que tiene la experiencia que yo apenas voy a adquirir.... Estoy buscando una ayuda abstracta de lo que debo seguir aun que esta signifique tener una gran dificultad.

Agradesco de antemano su ayuda...
  #9 (permalink)  
Antiguo 10/01/2011, 03:29
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: [Tutorial] Como programar un videojuego en Flash.

1. Desarrollo primero el juego en flash y despues busco como integralo usando la api que facebook ofrece? o se va programando el juego de manera lineal junto con la api de face?


Puedes desarrollar primero el juego en flash y posteriormente integrarlo utilizando la api que facebook ofrece, de hecho me parece que sería lo mas recomendable, ya que de cierta manera haces un código generico y lo puedes integrar con otras redes sociales como myspace,hi5 o algun sitio de juegos como pogo.

2. Dicen que facebook no hostea, significa que yo debo hostiar todo en otro lugar?
Exactamente, tu tienes que hostear tus archivos en un servidor externo. No se exactamente a que te refieres con que si facebook te ayuda con el ancho de banda. Cada vez que se establezca una conexion con tu servidor web , se generara una cantidad de ancho de banda. Los juegos populares de Zynga lidian con el ancho de banda con servidores dedicados. Tienen 48 millones de usuarios mensualmente. Se pueden costear un servidor dedicado con ancho de banda ilimitado.



3. Suponiendo que el juego empieza a distribuirse con exito.... que puede empezar a suceder si no he hecho acuerdos con facebook, todo se saldra de control?

A que le llamas acuerdos? Quien va a tener propiedad del juego? No sabria contestarte, debes ver los terminos y condiciones en facebook para asegurarte.
Metete a http://www.facebook.com/developers y seguramente ahi encontraras la informacion que necesitas saber.


Crean un juego complatible en flash enlazado con la api de face de manera que tanto la programacion en flash como la api trabajen juntos. El juego flash hace sus funciones programadas en flash, y la api de face, lo que hace es crear una interface de manejo que autodistribuya el juego mediante la red social?

Exactamente, realmente lo dificil es hacer un buen juego que mantenga a la gente entretenida y que siga regresando a jugar, la conectividad con facebook no representa mayor problema.

Supongo que tambien administran grande bases de datos con respecto a los perfiles de cada usuario, no tengo claro como es que estas estan programadas, pero supongo que la base de datos no la controla facebook sino la misma programacion en flash.... (disculpa si me equibovo)

Exactamente, las bases de datos son hospedades ya sea en servidores dedicados, o en los servidores web donde los juegos estan hospedados. Facebook no tiene acceso directo alguno a la base de datos de tu videojuego.



Por favor, si ustedes tienen un panorama mas claro de estas situaciones, diganme que necesito... porfavor no me digan que es dificil o cosas asi y que voy a perder mi tiempo porque si fuera tan sensillo ya todos hubieran echo juegos... Estoy muy conciente que esto no es facil, pero se que hay gente que tiene la experiencia que yo apenas voy a adquirir.... Estoy buscando una ayuda abstracta de lo que debo seguir aun que esta signifique tener una gran dificultad.

Agradesco de antemano su ayuda...

Lo que te recomiendo es que pienses en una idea de videojuego (que al parecer ya la tienes), la desarrolles y aprendas lo que tengas que aprender para desarrrollara y finalmente la publicas. Si lo haces en facebook, my space, hi5 o donde sea que sea lo ultimo que te preocupe.
  #10 (permalink)  
Antiguo 11/01/2011, 22:00
Avatar de Deoz  
Fecha de Ingreso: enero-2011
Ubicación: Ciudad de cancún quintana roo méxico
Mensajes: 187
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: [Tutorial] Como programar un videojuego en Flash.

Cita:
Iniciado por AlanChavez Ver Mensaje
1. Desarrollo primero el juego en flash y despues busco como integralo usando la api que facebook ofrece? o se va programando el juego de manera lineal junto con la api de face?


Puedes desarrollar primero el juego en flash y posteriormente integrarlo utilizando la api que facebook ofrece, de hecho me parece que sería lo mas recomendable, ya que de cierta manera haces un código generico y lo puedes integrar con otras redes sociales como myspace,hi5 o algun sitio de juegos como pogo.

2. Dicen que facebook no hostea, significa que yo debo hostiar todo en otro lugar?
Exactamente, tu tienes que hostear tus archivos en un servidor externo. No se exactamente a que te refieres con que si facebook te ayuda con el ancho de banda. Cada vez que se establezca una conexion con tu servidor web , se generara una cantidad de ancho de banda. Los juegos populares de Zynga lidian con el ancho de banda con servidores dedicados. Tienen 48 millones de usuarios mensualmente. Se pueden costear un servidor dedicado con ancho de banda ilimitado.



3. Suponiendo que el juego empieza a distribuirse con exito.... que puede empezar a suceder si no he hecho acuerdos con facebook, todo se saldra de control?

A que le llamas acuerdos? Quien va a tener propiedad del juego? No sabria contestarte, debes ver los terminos y condiciones en facebook para asegurarte.
Metete a [url]http://www.facebook.com/developers[/url] y seguramente ahi encontraras la informacion que necesitas saber.


Crean un juego complatible en flash enlazado con la api de face de manera que tanto la programacion en flash como la api trabajen juntos. El juego flash hace sus funciones programadas en flash, y la api de face, lo que hace es crear una interface de manejo que autodistribuya el juego mediante la red social?

Exactamente, realmente lo dificil es hacer un buen juego que mantenga a la gente entretenida y que siga regresando a jugar, la conectividad con facebook no representa mayor problema.

Supongo que tambien administran grande bases de datos con respecto a los perfiles de cada usuario, no tengo claro como es que estas estan programadas, pero supongo que la base de datos no la controla facebook sino la misma programacion en flash.... (disculpa si me equibovo)

Exactamente, las bases de datos son hospedades ya sea en servidores dedicados, o en los servidores web donde los juegos estan hospedados. Facebook no tiene acceso directo alguno a la base de datos de tu videojuego.



Por favor, si ustedes tienen un panorama mas claro de estas situaciones, diganme que necesito... porfavor no me digan que es dificil o cosas asi y que voy a perder mi tiempo porque si fuera tan sensillo ya todos hubieran echo juegos... Estoy muy conciente que esto no es facil, pero se que hay gente que tiene la experiencia que yo apenas voy a adquirir.... Estoy buscando una ayuda abstracta de lo que debo seguir aun que esta signifique tener una gran dificultad.

Agradesco de antemano su ayuda...

Lo que te recomiendo es que pienses en una idea de videojuego (que al parecer ya la tienes), la desarrolles y aprendas lo que tengas que aprender para desarrrollara y finalmente la publicas. Si lo haces en facebook, my space, hi5 o donde sea que sea lo ultimo que te preocupe.
No tienes ni idea de como te agradesco esta enorme respuesta que me acabas de dar.

Es muy valiosa para mi la respuesta que me acabas de dar. Me aclaraste todas mis dudas y ademas de diste un gran consejo.

Empezare cuanto antes con mi proyecto y espero poder seguir contando con su valiosa ayuda, estoy seguro que la necesitare pues el camino pienso yo es un poco largo.

Y si en algun momento el exito me pega, creeme que te recordare.

Un saludo y muchisimas gracias.

Etiquetas: flash, programación, tutoriales, video-juegos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 19:30.