Bueno, no es que garantice que vayas a ser como Will Wright si lees esta guía que acabo de publicar en Colectivo Guma, pero lo que sí te puedo asegurar es que al final de este primer capítulo habrás terminado tu primer juego: Un sencillo PONG para dos jugadores en el mismo teclado. ¿Perfecto para vacilar con tus amigos, verdad?
Como podréis comprobar si lo leéis, está escrito en un formato totalmente diferente a lo habitual y, según lo que me viene diciendo la gente, es mucho más divertido de seguir que las guías tradicionales. Puede que hasta resulte divertido para algunos consumados desarrolladores.
Si alguna vez se os ha pasado por la cabeza lo de crear un juego o simplemente tenéis curiosidad, os lo recomiendo encarecidamente.

Pingbacks to “Guía para aprender a crear videojuegos (Lee esto si quieres ser como Will Wright)”
35 comentarios en “Guía para aprender a crear videojuegos (Lee esto si quieres ser como Will Wright)”
He detectado que el enlace que menciono en la guía ya no funciona. De momento, podéis usar la siguente página para descargarlo: http://fenixpack.blogspot.com/
Cuando tenga más ganas revisaré el capítulo para adaptarlo a estos cambios.
el elace de descara ya no funciona podrias subirlo denuevo porfavor
Ya lo he corregido, ¡Gracias por el aviso!
estoy siguiendo el tutorial y me da error no se que pasa y no lo consigo corregir, me da en “drawing_color” te dejo lo que llevo
//————————————————-
//Program: MI PRIMER PONG
//Author: IGNACIO
//Team: Team Inforg
//————————————————-
///////////////////////////////////////////
// Función incial (aquí empieza todo)
Program MIPONG;
Global
int RESOLUCION_X;
int RESOLUCION_Y;
int x_Paleta_1;
int y_Paleta_1;
int Ancho_paleta_1;
int Alto_Paleta_1;
int Color_Paleta_1;
BEGIN
// INICIALIZAR ASPECTOS GRÁFICOS
set_title(“Mi Primer Pong”); // Establece el título de la ventana de juego
Full_screen = true; // No queremos que se ejecute a pantalla completa
Graph_mode = mode_16bits; // El modo gráfico será de 16 bits
set_mode (m640×480); // Resolución de 640×480
set_fps(60, 60/10); // Establecemos los fps que queremos
RESOLUCION_X = 640; // Almacenamos en dos variables la resolucion
RESOLUCION_Y = 480; // para utilizarlo después
// ESCRIBIR INFORMACIÓN SOBRE EL JUEGO EN PANTALLA
write(0,10,10,0,”Mi Primer Pong, v. 0.01″);
write(0,10,20,0,”Team Inforg”);
write_int(0,300,10,1,&fps);
// HEMOS TERMINADO DE INICIALIZR, LANZAMOS EL BUCLE PRINCIPAL
Controlador_Juego(); // Arrancamos el controlador del juego
END
///////////////////////////////////////////
// Controlador del juego (aquí se controla el juego)
Process Controlador_juego()
BEGIN
Inicializar(); // Inicializar al estado inicial
Loop // Bucle principal
If(key(_esc)) // si se pulsa escape
exit(0,0); // salir del juego
END
Dibujar(); // dibujar todos los elementos en pantalla.
Frame; // Refrescar pantalla
End // del loop
End
////////////////////////////////////////////
// Inicializar el juego a su estado inicial
Process Inicializar()
BEGIN
X_Paleta_1=30;
Y_Paleta_1=240;
Ancho_Paleta_1=20;
Alto_Paleta_1=100;
END
///////////////////////////////////////////
// Dibuja los elementos del juego en pantalla
Process Dibujar()
Begin
clear_screen(); // Limpiar la pantalla
drawing_map(0,0) // Establecer que se dibuje en el fondo1
// DIBUJAR PALETA 1
drawing_color(rgb(0,0,0)); // indicamos el color de dibujo
draw_box(X_Paleta_1-Ancho_Paleta_1/2, Y_paleta_1-Ancho_paleta_1/2,
x_Paleta_1 Ancho_Paleta_1/2, y_Paleta_1 Alto_1/2;
End
ayudame a ver donde esta el error
Te falta un punto y coma en la linea anterior, la de drawing_map(0,0)
Sin saber el error concreto que te da el compilador no puedo estar seguro, pero creo que puede ser eso.
Un saludo.
muchas gracias lo probare
soy yo de nuevo ya corregir el error pero a continuar me da otro error haber si puedes solucionarlo como antes estoy ya en el final del tutorial.
//————————————————-
//Program: MI PRIMER PONG
//Author: IGNACIO
//Team: Team Inforg
//————————————————-
///////////////////////////////////////////
// Función incial (aquí empieza todo)
Program MIPONG;
Global
int RESOLUCION_X;
int RESOLUCION_Y;
// VARIABLES GLOBALES
int Velocidad_Paletas;
//CARACTERISTICAS DE LA PALETA 1
int X_Paleta_1;
int Y_Paleta_1;
int Ancho_Paleta_1;
int Alto_Paleta_1;
int Color_Paleta_1;
//CARACTERISTICAS DE LA PALETA 2
int X_Paleta_2;
int Y_Paleta_2;
int Ancho_Paleta_2;
int Alto_Paleta_2;
int Color_Paleta_2;
//CARACTERISTICAS DE LA BOLA
int X_BOLA;
int Y_BOLA;
int Ancho_BOLA;
int Alto_BOLA;
int Color_BOLA;
int Velocidad_Bola_X = 3;
int Velocidad_Bola_Y = 3;
BEGIN
// INICIALIZAR ASPECTOS GRÁFICOS
set_title(“Mi Primer Pong”); // Establece el título de la ventana de juego
Full_screen = false; // No queremos que se ejecute a pantalla completa
Graph_mode = mode_16bits; // El modo gráfico será de 16 bits
set_mode (m640×480); // Resolución de 640×480
set_fps(60, 60/10); // Establecemos los fps que queremos
RESOLUCION_X = 640; // Almacenamos en dos variables la resolucion
RESOLUCION_Y = 480; // para utilizarlo después
// ESCRIBIR INFORMACIÓN SOBRE EL JUEGO EN PANTALLA
write(0,10,10,0,”Mi Primer Pong, v. 0.01″);
write(0,10,20,0,”Team Inforg”);
write_int(0,300,10,1,&fps);
// HEMOS TERMINADO DE INICIALIZR, LANZAMOS EL BUCLE PRINCIPAL
Controlador_Juego(); // Arrancamos el controlador del juego
END
///////////////////////////////////////////
// Controlador del juego (aquí se controla el juego)
Process Controlador_juego()
BEGIN
Inicializar(); // Inicializar al estado inicial
Loop // Bucle principal
If(key(_esc)) // si se pulsa escape
exit(0,0); // salir del juego
END
Actualizar(); // Actualiza la lógica del juego
Dibujar(); // dibujar todos los elementos en pantalla.
Frame; // Refrescar pantalla
End // del loop
End
////////////////////////////////////////////
// Inicializa el juego a su estado inicial
Process Inicializar()
BEGIN
velocidad_paletas = 5;
// INICIALIZAR PALETA 1
X_Paleta_1=30;
Y_Paleta_1=240;
Ancho_Paleta_1=20;
Alto_Paleta_1=100;
// INICIALIZAR PALETA 2
X_Paleta_2=610;
Y_Paleta_2=240;
Ancho_Paleta_2=20;
Alto_Paleta_2=100;
// INICIALIZAR BOLA
X_BOLA=320;
Y_BOLA=240;
Ancho_BOLA=15;
Alto_BOLA=15;
END
///////////////////////////////////////////
// Dibuja los elementos del juego en pantalla
Process Dibujar()
Begin
clear_screen(); // Limpiar la pantalla
drawing_map(0,0); // Establecer que se dibuje en el fondo1
// DIBUJAR PALETA 1
drawing_color(rgb(255,255,255)); // Indicamos el color de dibujo
draw_box(X_Paleta_1-Ancho_Paleta_1/2, Y_paleta_1-Alto_paleta_1/2,
X_Paleta_1 Ancho_Paleta_1/2, Y_Paleta_1 Alto_Paleta_1/2);
// DIBUJAR PALETA 2
drawing_color(rgb(255,255,255)); // Indicamos el color de dibujo
draw_box(X_Paleta_2-Ancho_Paleta_2/2, Y_paleta_2-Alto_paleta_2/2,
X_Paleta_2 Ancho_Paleta_2/2, Y_Paleta_2 Alto_Paleta_2/2);
// DIBUJAR BOLA
drawing_color(rgb(255,255,255)); // Indicamos el color de dibujo
draw_box(X_BOLA-Ancho_BOLA/2, Y_BOLA-Alto_BOLA/2,
X_BOLA Ancho_BOLA/2, Y_BOLA Alto_BOLA/2);
End
///////////////////////////////////////////
// Actualiza la lógica del juego
Process Actualizar()
Begin
//ACTUALIZAR PALETA 1
// Si se pulsa “arriba” y la paleta no ha llegado arriba
if(key(_up) AND Y_Paleta_1-Alto_Paleta_1/2 > 50)
Y_paleta_1 -= velocidad_paletas; // Hacemos que suba
End
// Si se pulsa “abajo” y la paleta no ha llegado abajo
if(key(_down) AND Y_PALETA_1 Alto_Paleta_1/2 50)
Y_paleta_2 -= velocidad_paletas; // Hacemos que suba
End
// Si se pulsa “abajo” y la paleta no ha llegado abajo
if(key(_m) AND Y_PALETA_2 Alto_Paleta_2/2 < 430)
Y_Paleta_2 = velocidad_paletas; // Hacemos que baje
End
Control_Bola();
End
/////////////////////////////////////////
// Actualiza la lógica de la bola
Process Control_Bola()
Begin
// Colisiones con Paleta 1
If(velocidad_Bola_X X_Paleta_1 // si la bola está en zona de colisionar con la paleta 1
&& X_Bola-Ancho_Bola/2<=x_Paleta_1 Ancho_Paleta_1/2)
If(abs(Y_Paleta_1-Y_Bola)0 && X_bola<x_paleta_2 //si la bola está en la zona de colision con la paleta 2
&& x_Bola-Ancho_Bola/2<=x_Paleta_2 Ancho_Paleta_2/2)
If(abs(Y_Paleta_2-Y_Bola)<Alto_Paleta_2*0.5 Alto_Bola*0.5) // Si la paleta 2 está bien colocada
Velocidad_Bola_x *=-1;
End
//COLISIONES CON PAREDES SUPERIORES E INFERIOR
If(Velocidad_Bola_Y<0 && Y_Bola-Ancho_Bola*0.5<=50) // si la bola colisiona con la pared superior
Velocidad_Bola_Y *=-1;
End
If(Velocidad_Bola_Y<0 && Y_Bola-Ancho_Bola*0.5<=430) // si la bola colisiona con la pared inferior
Velocidad_Bola_Y *=-1;
End
X_Bola =Velocidad_Bola_X;
Y_Bola =Velocidad_Bola_Y;
End
de nuevo muchas gracias
Tienes que decirme cuál es el error del compilador; si no tendría que revisar todo el código… Además, tienes que intentar acostumbrarte a corregir estos errores por ti mismo: Más adelante no vas a tener a nadie que te revise tu código
Necesito aprender a desarrollar videojuegos, Necesito que me recomiendes documentacion, para leer y aprender… me manejo en C/C++ y visual Basic (Nivel Intermedio)….
Espero tu respuesta, muchas gracias.
tienes razon lo revisare yo mismo gracias
Ya he terminado el juego y lo e modificado, lo pongo como ejemplo.
http://rapidshare.de/files/40368351/mi_pinpollo.rar.html
¡Muy bien! Pero has cometido un pequeño error al generar el .rar… Tienes que incluir también el archivo con extensión .dcb, que es en realidad el que contiene toda la información del juego. Sin eso no puedes ejecutarlo.
Si lo corriges y me pasas el enlace nuevo, igual escribo una entrada en el blog para q lo vea todo el mundo
Ya lo he solucionado, aquí esta el nuevo enlace.
http://rapidshare.de/files/40377589/mi_pinpollo.rar.html
Perdón ese era el fácil este es el enlace del juego en modo normal.
rapidshare.de/files/40378084/mipinpollo.rar.html
Me lo he descargado y no me funciona… Dice que el formato del .dcb es incorrecto. Si a ti te funciona seguramente sea por algún problema concreto del Windows Vista, o vaya usted a saber… xD
Si quieres, puedes grabar un pequeño vídeo (de unos pocos segundos, tampoco forcemos) y también lo pondría en una entrada de mi blog.
También, si te interesa esto de hacer videojuegos, te recomiendo que te introduzcas en el foro de stratos-ad (http://forums.stratos-ad.com). Esa es seguramente la comunidad más activa de desarrolladores de juegos hispanohablantes y seguro que te ayudará un montón a seguir avanzando.
heyy estoy interesado en crear videojuegos…ablo en boca de cuatro fantasmillas k somos XD k estamos empezando en esto…uno d nosotros kontrola muxisisisimo mac ..yo controlo linux un poko y tngo estudios de musika y se usar varios programas para crear…y luego tnemos a otro que se encargaria del rollo de grafikos enkuanto a crear un personaje …y otra que se le da mu bien los guiones y todo eso….bueno como e dicho estamos empezando y e visto este tutorial par air yo poniendome a kaldo por mi parte….el problema esque me pierdo cuando hay tanto link podrias indicarme que archivo necesito bajar del fenix ese…y en donde porque me baje el fenixpack2.9 pero eso no tiene lo que nombras en la guia.
gracias
PD:buenisima guia es mucho mas amena que cualkier toste d esos que t enkuentras por google oi en dia^^
Pues yo me he descargado el fenixpack y sí que viene todo.
Me lo he descargado de aquí http://www.mediafire.com/?4ngtnwzgzdx y encontré los archivos esos en la carpeta /bin.
Todo lo demás no hace falta para este primer capítulo…
ten en cuenta k uso ubuntu 8.10 y abro los archivos para windows con el wine^^
ya me funciona..pero el archivo zlib1.dll no lo enkuentro :S
ME LO E BAJADO A PARTE FUNCIONARA?…ESPERO K SI…M GUSTA M GUSTA :p
siento ser tan pesado..pero solo dispongo de linux y la konsola de windows no m ayuda muxo kuando aparece en la guia….no m ejecuta el cmd que pides…supongo porke se referira a la consola d windows…entonces abro la terminal d ubuntu …pero d ai palante no se komo llegar a la karpeta y aser el resto :S lo siento
Para trabajar en linux tienes que utilizar el compilador de fenix para Linux. La verdad es que no lo utilicé nunca y no sé de dónde se descarga… Tienes que currártelo y buscarlo tú xD
Buenas, voy a empezar a revisar el tuto a ver q tal. Por lo pronto leo que algunos tienen problemas con la descarga…
Aqui pongo el enlace para los archivos de windows:
http://fenix.divsite.net/download/Fenix-084b-win32-binary.zip
Y aqui los de linux:
http://fenix.divsite.net/download/Fenix-084b-win32-binary.zip
Un saludo
Perdonad copie el enlace de windows 2 veces xD
El enlace para los archivos de linux es:
http://fenix.divsite.net/download/Fenix-084b-bin.tar.gz
Una pregunta, el Fenixpack solo sirve para Linux o tamien en windows?
Gracias
Que yo sepa, es para Windows.
Otra pregunta, me baje las 6 cosas que hay aki ya que el link que hay en la guía no sirve
http://fenixpack.blogspot.com/
me lo bajé de ahí
Fenix Docs
Installer Tools
Basic examples
medium examples
advanced examples
dll examples
Que hago con los 6 archivos? como funciona eso?
hola me pasa k hago el primer codigo i no me da ningun error al compilar con el codigo
//Author: Oscar
//Team: Team Inforg
//————————————————————–
//////////////////////////////////////////////////////
// Funcion inicial (aqui empieza todo)
Program MIPONG;
Global
int RESOLUCION_X;
int RESOLUCION_Y;
BEGIN
//INICIALIZAR ASPECTOS GRAFICOS
set_title (“Mi primer pong”);
Full_screen = false;
Graph_mode = mode_16bits;
set_mode (m640×480);
set_fps (60, 60/10);
RESOLUCION_X = 640;
RESOLUCION_Y = 480;
write(0,10,10,0, “Mi primer Pong, v. 0.01″);
write(0,10,20,0, “Team Inforg”);
write_int(0,300,10,1,&fps);
Controlador_Juego();
END
Process Controlador_Juego();
BEGIN
Loop
if (key(_esc))
exit (0, 0);
End
Frame;
End
END
el problema es que obtengo el dcb i lo interpreto con el FXI i me da error
si alguien tiene la respuesta le estaria muy agradecido
gracias de antemano
Lei el primer capitulo
muy bueno
pero eso paso de verdad???
lo digo por curiosidad ^^
y como puedo hacer para que se reinicie la bola cuando se va?
es que no se mucho de computacion
se poquito y queria saber si podias ayudarme
salu2!
Hola que Tal señor Miguel
Bueno lo que pasa que yo desde pequeño he querido hacer videojuegos es lo que mas me gusta
y de verdad le agradesco por estos tutoriales SOn muy buenos para comenzarte a meterte en el tema Muchas gracias
Esperto algun dia ser mejor que usted
Gracias No mames Es usted Genial
EChenle cacumen
hola mi nombre es alejandro y ps a mi me gusta mucho todo esto de la cultura de los videojuegos. se podria decir que soy un vicio para los videojuegos pero puedo controlarlo, pero no solo me gusta jugarlos tambien me gustaria crear.
he creado un juego con FPScreator pero quiero algo mas que eso, quiero hacer mis propios juegos desde cero, quiero hacer de mis pensamientos e imaginaciones un videojuego por eso pido ayuda.
pues me llamo mucho la atencion esta guia que pusiste por que no es aburrida como cualquier otra guia por eso te felicito. ademas de ser como un libro de una historia para leer es una exelente guia para desarrollar videojuegos.
mi problema es que descargue el fenix que dice la guia, empece todo muy bien, hice los codigos como lo decia, iba todo bien hasta que al compilar el juego con el FXI me aparecio un error de que el compilador no sirve, intente buscarlo en google pero no encontre nada y los links que pusiste aca ya no funcionan.
por favor quiero seguir con esto ya que me gusta muchisimo asi que si pudieras arreglar los links o poner otro te lo agradecere, me urge por favor.
saludos a todos.