Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Twister

Páginas: [1]
1
Juegos completos / (Android) The Slimeking's Tower
« en: Septiembre 18, 2015, 12:30:30 pm »

The Slimeking\'s Tower

RPG

GM: Studio

¿Estás buscando el juego de aventuras definitivo que ofrezca un gameplay increible y una banda sonora estelar? Bienvenido a The Slimeking\'s Tower, un increíble juego de acción que te permitirá explorar una cantidad masiva de mazmorras con un solo objetivo, y este solo se trata de eliminar cualquier slime que se interponga en tu camino.
The Slimeking\'s Tower te permite adquirir items especiales a medida que avanzas en la mazmorra que podrás usar para mejorar aún más tus habilidades.

Hay una gran cantidad de encuentros con jefes en el juego, y para acabar con ellos necesitaras usar todas las habilidades, items y talentos a tu disposición. Explorar las profundidades de una mazmorra nunca ha sido tan divertido y excitante.

He mencionado que la torre cambia cada vez que juegas? Bueno, eso es, items, enemigos, jefes y habitaciones pueden que sean diferentes la próxima vez que entres en la torre!

Por otro lado, en The Slimeking\'s Tower también podrás encontrar capacidades de ranking para demostrar que eres el Nº1 eliminando slimes.

Elimina enemigos, busca en cada rincón de la mazmorra y elimina al Rey Slime, todo mientras disfrutas de un gameplay excelente. En The Slimeking\'s Tower podrás encontrar docenas de horas de diversión, así que no dudes, pulsa el botón de instalar, y empieza a disfrutar una aventura como nunca has jugado antes.




https://play.google.com/store/apps/details?id=com.revampedpro.theslimekingtower


El juego cuenta con publicidad para generar ingresos, pero como no podía ser menos, si a algún makero le gusta el juego y quiere una versión sin publicidad que se sienta libre de pedirmela vía mensaje privado y se la mandaré sin ningún problema :)


2
Juegos completos / [Android] Running Guy
« en: Marzo 03, 2015, 11:27:20 pm »

Running Guy

Plataformas

GM: Studio

Prepárate para una buena carrera en este nuevo juego de estilo clásico-retro!

Running Guy combina el estilo de gráficos retro con un moderno estilo de juego platafórmico para traerte mucha acción super-sónica mientras saltas por encima de monstruos y huecos entre islas para coleccionar una gran cantidad de monedas de oro!
Los adorables gráficos, las carreras a gran velocidad, los saltos, los planeos, todo esto muestra la verdadera raiz de los videojuegos mientras ofrece una grata experiencia que te recordará tu amor por los juegos de plataformas.
Asegurate de usar tus monedas de oro para comprar increibles objetos y mejoras que haran a tu personaje aún más genial! Y le ayudarán a escalar el ranking de jugadores por supuesto!

Diviértete y corre, corre, corre tan lejos como puedas!




https://play.google.com/store/apps/details?id=com.wildtwistedstudios.runningguy


■ Divertido y adictivo.
■ Geniales gráficos retro.
■ Misiones aleatorias con útiles premios.
■ Controles modernos y sencillos.
■ Juego para todas las edades.
■ Juego de carreras a gran velocidad.
■ Increibles objetos y mejoras para más diversión.
■ Perfectamente diseñado y desarrollado.
■ Rankings, compite con tus amigos y con gente alrededor del mundo.
■ Vuela, salta y corre mientras evitas obstáculos.
■ El juego más épico desde tu aventura con un fontanero italiano.


3
Juegos completos / Blocked Online
« en: Julio 05, 2014, 07:41:47 pm »

Blocked Online

Otro

GM: Studio

Blocked Online es un juego de puzzles al más puro estilo arcade en el que podrás enfrentate a tus amigos o a oponentes elegidos al azar para ver quién consigue llegar antes a la puntuación fijada.
Su orientación multijugador online junto a los diversos componentes sociales que incorpora (¡Y los que están por llegar!) dan como resultado un juego extremadamente divertido a la par que competitivo.
Gracias a su conexión con facebook y twitter, podrás hacer saber a todos tus amigos que retarte implica morder el polvo.
Quién iba a pensar que romper unos cuantos bloques iba a ser tan adictivo... ¡Y gratis!




https://play.google.com/store/apps/details?id=com.wildtwistedstudios.blockedonline


Características de Blocked Online:
·Juega desde tu dispositivo con miles de personas de forma online.
·Hazlo con cuidado... ¡Puede llegar a ser muy adictivo!
·Comparte tus victorias a través de Facebook y Twitter.
·Completa los diferentes logros para conseguir medallas.
·Navega en su elegante interfaz gráfica.
·Lo bueno, si es gratis, ¡es dos veces bueno!


4
General / Mejor método para trabajar en grupo
« en: Mayo 31, 2014, 02:33:17 pm »
Buenas chic@s,

Llevo ya bastante tiempo trabajando con mi grupo de desarrollo, pero a veces el trabajo no es todo lo fluido que debería ser, nos comunicamos mayormente mediante skype y teamviewer para presentaciones, pero se hace un poco tosco a la hora de enseñar bocetos, mantener un orden en las cosas habladas y dejar guardado los datos enviados y/o escritos.

Así que mi pregunta es esa, ¿Conocéis algún método más eficaz para trabajar en equipo? ¿Algún programa mas eficiente que skype/teamviewer quizás? ¿Que usáis los que trabajáis en algún equipo de desarrollo?

Saludos!

5
Preguntas y respuestas / Facebook y Android
« en: Abril 21, 2014, 08:34:25 pm »
Buenas!

Hacia lustros que no me pasaba por aquí para consultar una duda, pero como ahora están tan de moda los juegos en dispositivos móviles hechos con GM:S quizás alguien se haya topado con esto y sabe resolverme la duda. Al caso:

Estoy haciendo un sistema de búsqueda de amigos en Facebook, para ello mando una solicitud de graph a Facebook con facebook_graph_request(). Ahora bien, si hago un graph /me/friends va todo correcto, me devuelve la lista de amigos sin problemas (sin problemas aparentes) pero cuando intento añadir el campo "installed" al graph y depurar la lista con "installed == 1" no me devuelve nada. Y aquí viene lo bizarro del tema, en Android no me devuelve nada con "installed==1" pero en iOS funciona perfectamente.

¿Alguna idea de si en Android se hace diferente a iOS? Enviando el graph directamente al depurador de Facebook también funciona, por lo que se que el fallo es de Android >.<

Gracias por adelantado!

6
Desarrolladores / Wild Twisted Studios
« en: Marzo 25, 2014, 11:45:09 am »

Wild Twisted Studios

Manuel Jesús Bolaños Gómez, Gabriel García García.


Noviembre, 2013.

España


Somos un pequeño y serio estudio con visión empresarial y varios trabajos a la espalda. Trabajamos juegos principalmente para dispositivos móviles y de género casual.

Aunque Wild Twisted Studios fué creado recientemente, llevamos más de 10 años en el mundillo de la creación de videojuegos.

Actualmente buscamos personal para unirse a nuestra pequeña familia, los campos que buscamos cubrir son los siguientes:

  • Diseñador gráfico con soltura en el dibujo vectorial.
  • Comercial/Relaciones Públicas.

Ambos puestos son remunerados. Si estás interesado en unirte a nosotros, puedes contactarnos a través del siguiente e-mail: wildtwistedstudios@gmail.com


- https://play.google.com/store/apps/details?id=com.wildtwisted.flappyfly
- https://play.google.com/store/apps/details?id=com.companyname.Jump_Up
- https://play.google.com/store/apps/details?id=com.WildTwistedStudios.FreaQuiz&hl=en


- Tap & Run
- Project Blocks


Contáctenos sin problemas si desea saber algo más acerca del estudio o de los puestos que ofrecemos.

Nuestra web es: www.wildtwistedstudios.com

wildtwistedstudios@gmail.com

7
Juegos en desarrollo / Cosmic Hope (Beta 1.0)
« en: Julio 04, 2012, 09:08:14 pm »

Cosmic Hope

Shooter

GM8

Modo historia en desarrollo, la beta incluye el modo supervivencia.




http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=2337


CONTROLES:
WASD: Movimiento
R: Recargar
Q: Cambiar Arma
Espacio: Tecla de Acción
Enter: Chat (Modo multijugador)
Click Izquierdo: Disparar/Seleccionar

MEJORAS: (No se acumulan)
Titán: Aumenta la vida en 2 puntos.
Doble Tiro: Reduce la cadencia de disparo de las armas automáticas.
Recarga Rápida: Reduce a la mitad el tiempo de recarga.

CAJA SORPRESA: Invocará un arma aleatoria de todas las disponibles.

SOBRE EL ONLINE: El puerto usado por defecto es 14804, en caso de no tener abierto dicho puerto será necesario el uso de Hamachi.

BLOG: Sigue todas las novedades de Cosmic Hope en: http://cosmic-hope.blogspot.com.es/



Cualquier pregunta, sugerencia, bug, crítica será bien recibida  :D y también imágenes de vuestros records y máxima ronda a la que habéis llegado son bienvenidas, os apuesto a que no llegais a la ronda 25. (De hecho, yo no lo he conseguido :P)

8
Desarrollo de Scripts / Colisiones Perfectas (Cenital)
« en: Marzo 02, 2010, 10:01:30 am »
* Nombre del creador: Twister
* Breve descripción de su función: Script para realizar unas colisiones perfectas, independientemente de la velocidad, en un juego de vista cenital. Podría aplicarse a otro género con ligeras modificaciones.
* Versión GM utilizada:  Game Maker 8 GM8 PRO, no se si funcionará en otras versiones.
* Código del Script:
Código: [Seleccionar]
//SCRIPT COLISIONES PERFECTAS VISTA CENITAL
//-------------------------------------------
//ARGUMENTOS
//-------------------------------------------
//Argument0 - Tecla Izquierda
//Argument1 - Tecla Derecha
//Argument2 - Tecla Arriba
//Argument3 - Tecla Abajo
//Argument4 - Velocidad
//Argument5 - Precision en Steps (Recomendable 1 ó 0.5)
//-------------------------------------------
//Creado por ~Twister (Gameart) :: twister_cgm@hotmail.es

                                       //Script Principal//
if keyboard_check(argument0) {for(i=0; i<argument4; i+=argument5){if !place_free(x-argument5,y){break} x-=argument5}}
if keyboard_check(argument1) {for(i=0; i<argument4; i+=argument5){if !place_free(x+argument5,y){break} x+=argument5}}
if keyboard_check(argument2) {for(i=0; i<argument4; i+=argument5){if !place_free(x,y-argument5){break} y-=argument5}}
if keyboard_check(argument3) {for(i=0; i<argument4; i+=argument5){if !place_free(x,y+argument5){break} y+=argument5}}

Se agradecen créditos pero no son necesarios.

9
Desarrollo de Scripts / Encadenador de Acciones
« en: Marzo 02, 2010, 09:59:44 am »
* Nombre del creador: Twister
* Breve descripción de su función: Este script, encadena una serie de acciones pre-establecidas dentro del mismo.
* Versión GM utilizada:  Game Maker 8 GM8 PRO, no se si funcionará en otras versiones.
* Código del Script:
Código: [Seleccionar]
//SCRIPT ACCIONES ENCADENADAS
//-------------------------------------------
//ARGUMENTOS
//-------------------------------------------
//Argument0 = Nº de Alarm
//Argument1 = Nº de Accion Activa (Se recomienda usar una variable para este argumento)
//Argument2 = Desencadenar Accion (Se activará la acción cuando sea 1)
//Argument3 = Tiempo en Steps entre acciones.
//-------------------------------------------
//AVISO
//-------------------------------------------
//La alarma elegida en el argument0
//DEBE estar activada, de lo contrario
//no funcionará el script.
//-------------------------------------------
//Creado por ~Twister (Gameart) :: twister_cgm@hotmail.es

var Accion;
Accion=argument1;
if argument2=1 && alarm[argument0]<0
{
//Código Acción Inicial
alarm[argument0]=argument3;
break;
}

//Si la cadena está empezada
if argument2=1 && alarm[argument0]>0
{
switch(Accion)
{
              case 1:
              {
              //Código Acción 1
              break;
              }
              case 2:
              {
              //Código Acción 2
              break;
              }
}
alarm[argument0]=argument3;
}

//EXPLICACIÓN
//Para añadir mas acciones encadenadas, añadir más casos a la cadena principal de acciones.

Se agradecen créditos pero no son necesarios.

10
Desarrollo de Scripts / Generador de Mapas (Plataforma)
« en: Febrero 26, 2010, 05:23:16 pm »
* Nombre del creador: Twister
* Breve descripción de su función: Para su función, ejecuta el script con los correspondientes argumentos (explicados dentro del script) en un room vacío. El script se deberá ejecutar en el evento Create de un objeto.
* Versión GM utilizada:  :GM8: GM8 PRO, no se si funcionará en otras versiones.
* Código del Script:
Código: [Seleccionar]
////////////////////////////VARIABLES PARA EL GENERADOR//////////////////////////////////
//-------------------------------------------------------------------------------------//
// PASO 1: Reconocer Ancho y Alto de pantalla, llenar los bordes con Solidos.          //
// PASO 2: Crear algunos obstáculos.                                                   //
// PASO 3: Crear algunas plataformas.                                                  //
// PASO 4: Crear Agujeros                                                              //
// PASO 5: Crear Jugadores                                                             //
// Creado por ~Twister (Gameart) :: twister_cgm@hotmail.es                             //
//-------------------------------------------------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////

//ARGUMENTOS
//ARGUMENT0 == Plataforma Solida
//ARGUMENT1 == Plataforma No-Solida
//ARGUMENT2 == Parent de Solidos
//ARGUMENT3 == ID Objeto que ejecuta este script
//ARGUMENT4 == J1
//ARGUMENT5 == J2

//EJEMPLO :: GenerarLVL(SOLIDO,PLATAFORMA,solidos,Algoritmo,J1,J2)

//:: INICIO DE VARIABLES :://
var RoomX, RoomY, NumeroDeObstaculos, HayObstaculo, Obstaculo, Altura, Lineas, NumeroDePlataformas, Plataforma;
var Agujeros, Agujero, Distancia;

RoomX=room_width
RoomY=room_height
x=0;
y=0;

//:: PASO 1 ::// Bordes
for (i=0; i<RoomX; i+=32)     {instance_create(i,RoomY-32,argument0)}     //BORDE INFERIOR
for (i=0; i<RoomX; i+=32)     {instance_create(i,0,argument0)}            //BORDE SUPERIOR
for (i=32; i<RoomY-32; i+=32) {instance_create(0,i,argument0)}            //BORDE IZQUIERDO
for (i=32; i<RoomY-32; i+=32) {instance_create(RoomX-32,i,argument0)}     //BORDE DERECHO

//:: PASO 2 ::// Obstaculos
NumeroDeObstaculos=abs(random(RoomX/32)-4)
HayObstaculo=0;
Altura=0;

for (i=32; i<RoomX-32; i+=32)
{
Obstaculo=choose(0,32,64)
HayObstaculo=choose(0,1,2,3,4)
if HayObstaculo=1 && NumeroDeObstaculos>0
{
Altura=choose(0,1,2,3,4)
for (ii=0; ii<Altura; ii+=1)
{
instance_create(i,RoomY-64-(32*ii),argument0)
}
NumeroDeObstaculos-=1
}
}

//:: PASO 3 ::// Plataformas
Altura=0;
Lineas=round(RoomY/160)-1
NumeroDePlataformas=abs(random(RoomX/32)-4)

for (ii=1; ii<Lineas; ii+=1)
{
for (i=32; i<RoomX-32; i+=32)
{
Altura=choose(32,64)
Plataforma=choose(0,1,2,3,4)
if Plataforma=1 && NumeroDePlataformas>0
{
if !place_meeting(i,   RoomY-32-(160*ii)-Altura,argument2){instance_create(i,   RoomY-32-(160*ii)-Altura,argument1)}
if !place_meeting(i+32,RoomY-32-(160*ii)-Altura,argument2){instance_create(i+32,RoomY-32-(160*ii)-Altura,argument1)}

NumeroDePlataformas-=1
}
}
}

//:: PASO 4 ::// Agujeros
Agujeros=round(RoomX/160)
Agujero=0
AgujeroX=0
for (j=0; j<RoomX; j+=32)
{
AgujeroX=j
Agujero=choose(0,0,0,0,0,0,0,0,0,0,1)
if Agujero=1 && place_free(j,RoomY-32) && place_free(j,RoomY-64) && Agujeros>0
{
Agujeros-=1
with(argument0)
{
if x=argument3.AgujeroX && y=room_height-32
{
instance_destroy()
}
}
}
}

//:: PASO 5 ::// Jugadores
Distancia=-1
ID=instance_create(RoomX,RoomY,argument4)
with(ID)
{
if ((!place_free(x,y) || place_free(x,y+32)) || distance_to_object(argument5)<(room_width/2)) && !place_meeting(x,y+32,argument3)
{
do
{
x=random(room_width) y=random(room_height)
move_snap(32,32)
}
until
place_free(x,y) && !place_free(x,y+32)
}
}
ID.visible=1
ID2=instance_create(RoomX,RoomY,argument5)
with(ID2)
{
if ((!place_free(x,y) || place_free(x,y+2)) || distance_to_object(argument4)<(room_width/2)) && !place_meeting(x,y+32,argument3)
{
do
{
x=random(room_width) y=random(room_height)
move_snap(32,32)
Distancia+=1
}
until
place_free(x,y) && !place_free(x,y+2) && distance_to_object(argument4)>(room_width/2)-Distancia
}
}
ID2.visible=1

//ELIMINAR CONFLICTOS
with(argument5){if !place_free(x,y){instance_destroy()}}
//ESCENARIO CREADO
instance_destroy()
object_delete(argument3)


PD: Es bastante mejorable el script, y se podría optimizar mucho más pero no me he parado a hacerlo por falta de tiempo :-[
PD2: Como de costumbre, se agradecen créditos pero no son necesarios. :)

11
Desarrollo de Scripts / Script Guardado/Cargado de Mapas
« en: Enero 15, 2010, 12:41:10 pm »
* Nombre del creador: Twister
* Breve descripción de su función: Estos scripts se dividen en 2 partes, Guardado y Cargado. Está todo explicado dentro de los scripts.
Nota: El script de cargado se divide en 2 partes.
Nota2: Cuando guarda los objetos, el objeto deberá tener 2 variables. Guardar: Deberá ser True si quieres que este objeto se guarde. Y Objeto: Contendrá el nombre de la instancia que quieras cargar luego en el mapa. En caso de no tener variable Objeto se guardara el nombre de la instancia.
* Versión GM utilizada:  :GM8: GM8 PRO, no se si funcionará en otras versiones.
* Código del Script:

Guardado de Mapa:
Código: [Seleccionar]
//SCRIPT GUARDADO DE MAPAS
//------------------------------------
//EJEMPLO DE USO: scr_GuardarMapa(1000)
//------------------------------------
//ESTE SCRIPT BUSCA TODOS LOS OBJETOS Y TILES Y LOS GUARDA EN UN ARCHIVO .map
//EL ARGUMENT0, ES LA TOLERANCIA DE SALTO, LOS ID DE LOS OBJETOS Y TILES VAN DESDE 100000 Ó 10000000 RESPECTIVAMENTE, HASTA EL NUMERO DE OBJETOS QUE HAYA EN EL MAPA
//EL PROBLEMA QUE SURGE ES QUE SI CREAS UN OBJETO/TILE EN EL EDITOR DEL GM, Y LUEGO LO BORRAS, SE QUEDA UN HUECO EN EL ID, LA TOLERANCIA COMPRUEBA SI HAY UN SALTO HACIENDO UNA COMPROBACION
//DE X SALTOS EN LA LINEA DE LOS ID.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

var Tolerancia, ToleranciaMax, ID, TileID;
Tolerancia=0;
ToleranciaMax=argument0;
ID=100000-1;
TileID=10000000-1;

//ABRIR ARCHIVO
Archivo=file_text_open_write((get_string("Nombre del Escenario","Map001"))+".map")

//GUARDADO DE PROPIEDADES DEL MAPA
file_text_write_string(Archivo,"MAPA") file_text_writeln(Archivo)
file_text_write_string(Archivo,string(room_width)) file_text_writeln(Archivo)
file_text_write_string(Archivo,string(room_height)) file_text_writeln(Archivo)
file_text_write_string(Archivo,string(background_get_name(background_index[0]))) file_text_writeln(Archivo)
file_text_writeln(Archivo)

//GUARDADO DE OBJETOS
file_text_write_string(Archivo,"OBJETOS")
file_text_writeln(Archivo)
do
{
ID+=1
if !instance_exists(ID) {Tolerancia+=1}
if instance_exists(ID)
{
Tolerancia=0
if variable_local_exists("Guardar")
{
if ID.Guardar=true
{
file_text_write_string(Archivo,"instance_create("+string(ID.x)+",")
file_text_write_string(Archivo,string(ID.y)+",")
if variable_local_exists("ID.Objeto") {file_text_write_string(Archivo,string(ID.Objeto)+")") }
if !variable_local_exists("ID.Objeto") {file_text_write_string(Archivo,string(object_get_name(ID.object_index))+")") }
file_text_writeln(Archivo)
}
}
}
}
until (Tolerancia>=ToleranciaMax)
Tolerancia=0;
file_text_writeln(Archivo)

//GUARDADO DE TILES
file_text_write_string(Archivo,"TILES")
file_text_writeln(Archivo)
do
{
TileID+=1
if !tile_exists(TileID) {Tolerancia+=1}
if tile_exists(TileID)
{
Tolerancia=0
file_text_write_string(Archivo,"tile_add("+string(tile_get_background(TileID))+",")
file_text_write_string(Archivo,string(tile_get_left(TileID))+",")
file_text_write_string(Archivo,string(tile_get_top(TileID))+",")
file_text_write_string(Archivo,string(tile_get_width(TileID))+",")
file_text_write_string(Archivo,string(tile_get_height(TileID))+",")
file_text_write_string(Archivo,string(tile_get_x(TileID))+",")
file_text_write_string(Archivo,string(tile_get_y(TileID))+",")
file_text_write_string(Archivo,string(tile_get_depth(TileID))+")") file_text_writeln(Archivo)
}
}
until Tolerancia>=ToleranciaMax
file_text_writeln(Archivo)

//CERRAR ARCHIVO
file_text_close(Archivo)
show_message("Mapa Guardado")
exit;

Cargado de Mapa 1/2:
Código: [Seleccionar]
//SCRIPT CARGADO DE MAPAS 1
//------------------------------------
//EJEMPLO DE USO: scr_CargarMapa(room_Carga)
//------------------------------------
//EL SCRIPT DE CARGADO DE MAPAS SE DIVIDE EN 2 PARTES, ESTA PRIMERA PARTE SETEA EL ANCHO/ALTO Y BAGCKGROUND DEL ROOM QUE SE VA A CARGAR.
//ES RECOMENDABLE CREAR 2 ROOMS. room_InicioCarga ,DONDE IRÁ ESTE SCRIPT, Y room_Carga QUE SERÁ EL QUE SE EJECUTE LA SEGUNDA PARTE DEL SCRIPT.
//EL ARGUMENT0 ES EL ROOM DONDE SE CARGARÁ EL MAPA.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

//VARIABLES TEMPORALES
var Room;
Room=argument0
//ABRIR ARCHIVO
Archivo=file_text_open_read((get_string("Nombre del Escenario","Map001"))+".map")

//LEER EL ARCHIVO
//LEER MAPA
file_text_readln(Archivo)
room_set_width(Room,file_text_read_real(Archivo)) file_text_readln(Archivo)
room_set_height(Room,file_text_read_real(Archivo)) file_text_readln(Archivo)

global.Background=string(file_text_read_string(Archivo))

file_text_close(Archivo)
room_gotot(Room)


Cargado de Mapa 2/2:
Código: [Seleccionar]
//SCRIPT CARGADO DE MAPAS 2
//------------------------------------
//EJEMPLO DE USO: scr_CargarMapa2()
//------------------------------------
//2º PARTE DE LA CARGA DE MAPAS, EN ESTA PARTE SE CARGAN TODOS LOS TILES Y OBJETOS EN EL ROOM ACTUAL.
//------------------------------------
//AUTOR: Twister (Gameart) :: Contacto: twister_cgm@hotmail.com
//------------------------------------

//VARIABLES TEMPORALES
var Objeto;
var Tile;
execute_string('background_index[0]=' + global.Background)
//LEER OBJETOS
//VARIABLES OBJETO
Archivo=file_text_open_read((get_string("Nombre del Escenario","Map001"))+".map")
do
{
file_text_readln(Archivo)
}
until file_text_read_string(Archivo)="OBJETOS"
file_text_readln(Archivo)
do
{
Objeto=file_text_read_string(Archivo) file_text_readln(Archivo)
execute_string(string(Objeto))
}
until Objeto=""

//LEER TILES
file_text_readln(Archivo)
do
{
Tile=file_text_read_string(Archivo) file_text_readln(Archivo)
execute_string(string(Tile))
}
until Tile=""

file_text_close(Archivo)
show_message("Mapa Cargado")

No hace falta dar crédito, pero se agradecería.

12
Preguntas y respuestas / Problema con texturas
« en: Diciembre 16, 2009, 01:49:11 pm »
Vuelven a surgirme problemas con el 3D de gm :-[

Esta vez es algo que me resulta extraño, el juego en el que trabajo actualmente tenía unas 3 o 4 texturas que usaba para dibujar suelos, paredes, etc.. Hoy he ido a modificar el juego y añadirle nuevas texturas para el jugador, pero, para mi sorpresa, al añadir una nueva textura, y asignarsela a un bloque, el bloque tomaba la forma del sprite del objeto (del object del GM).

Pero eso no es todo, comprobando si tenía mal el código, sin cambiar el código volví a asignarle una textura que ya tenía antes, y funcionó perfectamente, luego modifiqué dicha textura con la que me daba problemas y ahora si funcionaba.

Resumiendo, que tengo 4 texturas y solo puedo usar esas, por más que añada no me funciona ninguna  :-\

A ver si alguno conoceis el porque me ocurre esto :-[

Gracias por leer semejante tocho, ¡Un saludo!

EDIT: Solucionado

13
Preguntas y respuestas / ¿Por qué se ralentiza tanto?
« en: Diciembre 14, 2009, 03:30:29 pm »
Últimamente he estado experimentando con el 3D en gamemaker (sin dlls externas) y no se me está dando mal hasta ahora.

El problema con el que me he chocado es que al cargar modelos al gamemaker (.d3d) se me ralentiza muchísimo el juego, no importa cuantos poligonos tenga el modelo ni la resolución, siempre se ralentiza desde 60 fps hasta unos 10-15, tan solo dibujando 1 vez el modelo.

A ver si alguien sabe a que se debe, y si es posible arreglarlo. :'(

14
Preguntas y respuestas / Diferencias entre el ciclo For y Do/Until
« en: Diciembre 03, 2009, 07:21:44 am »
Buenas, nada más quería saber eso, estube probando ambos ciclos y no noté ninguna diferencia.

¡Alguien es tan amable de explicármela si existe? :)

Un abrazo!

15
Preguntas y respuestas / Composición de variables
« en: Noviembre 25, 2009, 10:57:02 pm »
Buenas, vereís:

Estoy creando un inventario, y estoy usando una serie de variables para cada hueco para items del mismo de este modo: global.Casilla1, global.Casilla2, global.Casilla3...

Y mi duda es la siguiente, ¿Se podría hacer de una forma automatizada, componiendo la variable automáticamente?
Algo así:

string("global.Casilla"+string(NumeroObjeto))

y que esta misma función, me devuelva el valor de la variable global.Casilla1, global.Casilla2, o la que sea dependiendo de la variable NumeroObjeto.

Espero haberme explicado bien :)

Saludos y gracias adelantadas.

Páginas: [1]