Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

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 - penumbra

Páginas: 1 2
1
General / Carga optimizada de páginas de textura
« en: Octubre 16, 2015, 10:53:16 pm »
Según las correcciones introducidas en la versión más nueva de EA, ahora se ha agregado una opción para la plataforma windows:

Se puede indicar que las páginas de texturas se carguen en demanda, es decir, sólo las páginas requeridas por la habitación actual se cargarían, al contrario de como se venía haciendo, que era cargarlas todas al inicio del juego.

Según el manual, este tipo de carga "inteligente"  YA existía para las demás plataformas (algo de lo que no tenía conocimiento  :o) y es el método usado en esas plataformas.

La carga por demanda provoca que haya una ligera pausa en el juego mientras se cargan las páginas necesarias, por lo que se recomienda optmizar las páginas de texturas de acuerdo a los recursos usados en las habitaciones/niveles.


2
General / [Des]Igualdad de género en los videojuegos
« en: Marzo 14, 2015, 12:52:32 am »
Aunque está en inglés, me parece interesante. Un estudio sobre la desigualdad de géneros en los personajes de los videojuegos. Al parecer, las mujeres gamers quieren ver más héroes femeninos.
http://www.polygon.com/2015/3/5/8153213/the-games-industry-is-wrong-about-kids-gaming-and-gender


Es curioso, yo prefiero jugar con personajes femeninos el 90% de las veces, sobre todo en RPGs. No creo que sea casualidad que aquí en CGM no recuerdo haber visto un juego en el que la protagonista sea mujer. ¿Seremos muy machistas?

3
General / Recomendaciones sobre arsenal (modelos) de armas (de fuego)
« en: Noviembre 18, 2014, 09:21:31 am »
Más allá del título rebuscado, mi duda es simple. A la par de mi proyecto "Clan de la Luz", he comenzado a desarrollar un shooter 2D con jugabilidad estilo recreativa de los 90's. Es una idea que he tenido desde hace mucho tiempo, pero ahora que GM:S incorpora motor de física, quiero aprovechar algunas de sus características para experimentar con esta idea. (No sé si voy a lograr hacer lo que busco, pero la curiosidad me puede  :D)

La cuestión es que quiero incorporar modelos de armas de fuego que existan realmente y sobre todo, que sean consideradas clásicas o famosas entre los jugadores expertos en el tema. No pretendo emular el comportamiento físico de cada arma (o de su munición), más bien la idea es contar con un catálogo que aunque sea corto (no pretendo meter 20 o 30 armas distintas), contenga lo más "prestigioso" en cuanto a armas de fuego.

Yo me declaro ignorante del tema, pero quizás aquí en el foro haya algun(os) fanático(s) de shooters que sepa(n) de modelos de armas y pueda sugerirme qué modelos incluir. Mi idea básica es incluir alrededor de 8 a 12 armas distintas, habiendo dos versiones de cada tipo, por ejemplo, una pistola "pobre" y una pistola "superpoderosa", un rifle común y un rifle de élite, etc, etc. De momento, se me ocurre incluír

-Pistola
-Rifle
-Ametralladora
-Escopeta
-Granada (de estas probablemente haya un solo tipo, y sería un arma considerablemente dañina)

He buscado información en la web, y por supuesto que hay páginas muy completas con información de cientos de modelos, pero lo que quiero evitar (debido a mi desconocimiento) es meterle al juego modelos de armas que aunque existan en la realidad, sea poco apreciadas o casi desconocidas. Espero recibir alguna orientación o sugerencia. Muchas gracias, makeros.

4
Propuestas y soporte / Actualizar sección de descargas
« en: Noviembre 08, 2014, 02:26:07 am »
Para solicitar que se actualice la sección de descargas, o mejor dicho, el menú "Tipo" que aparece en la plantilla para subir una descarga. Dicho menú contiene entradas para GM5, 6, 7 y 8, pero no para Game Maker Studio. Creo que es necesario hacer la actualización ya que cada vez se usa más el Studio. Sí como a los usuarios se les invita a usar la sección de descargas, es necesario que ésta se halle preparada para admitir ejemplos de GMS

Otra sugerencia es que además de zip o rar, se admitan archivos gmz, por la misma razón.

Gracias.

5
General / GM:S Standard se vuelve gratuito
« en: Junio 06, 2014, 10:33:36 pm »
YoYo ha eliminado de su catálogo la bastante limitada versión "free" de GM:S y la ha sustituído por la versión Standard. Así que ahora cualquiera puede tener de manera gratuita la versión Standard, la cual ofrece "casi" la misma funcionalidad que la versión PRO.

http://www.yoyogames.com/news/227

6
Mercado / Duda, imagen futbolistas famosos.
« en: Mayo 02, 2014, 06:32:17 am »
Hace tiempo me ronda una idea, pero siempre tengo una duda, a ver si me pueden ayudar a aclararla.

Hasta donde entiendo, o creo entender, EA tiene las licencias de la mayoría de equipos de futbol y creo que eso incluye el nombre de jugadores (no estoy seguro)

El caso es ¿podría hacer un juego usando la imagen de jugadores de fútbol famosos de la actualidad? No pretendo hacer un juego de futbol, sino un juego no deportivo pero con protagonistas del mundo del fútbol. Por ejemplo, si es posible, usar sprites de Messi, pero cambiándole el nombre. Si recuerdan algunos no tan jóvenes, en la PSX original, Konami tenía los nombres de los jugadores cambiados, por ejemplo Ranoldo en lugar de Ronaldo, Zamarono en lugar de Zamorano etc  :D

Mi duda es si puedo usar imágenes/sprites donde cláramente se identifique a un jugador, pero se le cambie su nombre. O si de plano, esto no es posible y me estaría metiendo en un lío legal en potencia.

Muchas gracias.

7
Anuncios / Servicio de spriter
« en: Abril 27, 2014, 11:22:54 pm »
Qué tal, comunidad.

Pongo a disposición de los interesados (si los hubiera) mis servicios como spriter. Me enfoco sobre todo en pixel art, pero si requieren otro estilo, también se puede pedir. Lo ideal es que para comenzar a trabajar se me facilite un boceto o una idea inicial que me permita tener una referencia de lo que quieres. En caso de no contar con un boceto, por favor dame detalles y precisiones de qué buscas en el diseño.

Una muestra de mis últimos sprites. Hubiera preferido no poner marca de agua en los tres primeros sprites, pero están siendo usados en un juego y el programador me ha pedido que fueran exclusivos.








http://romanticpixels.deviantart.com/gallery/

Costo: La verdad, es que el precio puede variar bastante, depende del tamaño del sprite, el número de subimágenes, el tema del sprite y el nivel de detalle deseado. Tratándose de sprites animados, el precio varía de 6 - 20 dólares. Para sprites estáticos, el precio varía de 3 - 5 dólares. Si necesitas un pack de sprites (4 o más) podemos acordar el precio (animados o estáticos o una mezcla)

Pago: El método de pago es por Paypal, con un anticipo del 50% al solicitar el trabajo y el otro 50% antes de la entrega del mismo (envío los sprites a tu cuenta de correo)

Sé responsable y serio al solicitar algo, yo ofrezco lo mismo.

8
Autor: penumbra
Descripción: Un ejemplo de cómo usar un sprite para bloquear parcialmente la vista durante una transición entre habitaciones.
Versión: Desarrollado en GM8.1. No lo he probado en GM:S, quizás funcione o quizás necesite pequeños cambios en el código.

Información preeliminar:
Para comprender cómo funciona el script, hay que enteder el método que GM nos ofrece para agregar nuevas transiciones a las ya disponibles, siempre y cuando nos ciñamos a ciertas directivas del propio sistema de transiciones. Me voy a extender un poco, pero considero que esto es preferible a dejar dudas que podrían suponer obstáculos si te decides a usar transiciones personalizadas. A partir de un solo script, es posible crear un nuevo efecto de transición que puede ser llamado como cualquiera de las otras transiciones incluídas por defecto en GM. Cuando llamamos a un efecto de transición, hacemos esto:

transition_kind = 10    //indice_de_la_transicion
room_goto_next();


El índice de la transición apunta a un script interno de GM el cual se encarga de realizar el efecto de transición. Algo fundamental que debemos saber del sistema de transiciones es que los argumentos con los que trabaja el script de transición ya están previamente definidos, son los mismos siempre, de hecho, al llamar al script, GM le provee automáticamente de los argumentos. Lo que a nosotros nos interesa es saber cuáles son esos parámetros, para poder hacer referencia a ellos y usarlos según nos convenga. Los argumentos son:

argument0: Surface con la imagen de la habitación anterior
argument1: Surface con la imagen de la siguiente habitacion
argument2: Ancho de la surface
argument3: Alto de la surface
argument4: Porcentaje de la transición (varía de 0 a 1)

Una vez que creamos un script, hay que registrarlo de manera que GM sepa que es un efecto de transición. Para esto usamos la función transition_define()
transition_define(100, "nombre_del_script")

El primer argumento es el índice del script, el cual puede ser cualquier número SIEMPRE Y CUANDO no sea un índice que ya se use en otro script de transición, incluidas las 21 transiciones por defecto de GM. Para evitar problemas, puedes usar índices para tus transiciones a partir de un número más o menos grande, por ejemplo 50 o 100.

El segundo argumento es el nombre del script, el cual debe especificarse en comillas.

Quizás el mejor lugar para registrar un script de transición sea el evento [GAME START] de algun objeto controlador, aunque se puede registrar en cualquier evento.


También podemos controlar el tiempo que dura la transición, mediante la variable transition_steps. El valor por defecto de esta variable es de 80 steps, aunque es probable que este número sea algo corto para la mayoría de transiciones.

Factores a considerar para que el script funcione de manera correcta:
Este script usa un sprite (una simple imagen) como máscara para la transición. La imagen tiene una zona transparente (alfa 0) en su centro y el área alrededor es opaca (alfa 1). La transición inicia con la imagen a tamaño normal, y a medida que se efectúa la transición, el tamaño de sprite aumenta, lo que produce que la zona central (transparente) sea cada vez mayor y revele más y más la vista del juego. Adjunto una imagen que deja más claro de lo que se trata.

spr_mask: LA ZONA CLARA ES EN REALIDAD TRANSPARENTE


Es necesario realizar ciertas preparaciones para que el script funciones de manera correcta, de lo contrario el efecto se hecha a perder (y realmente se ve mal)

  • El sprite que uses como máscara debe ser exactamente del tamaño de la vista (view).
  • La zona transparente del sprite debe ser con alfa = 0, la zona opaca que yo usé es de color negro, pero creo que cualquier color (alfa 1) funcionaría igual. Obviamente el formato recomendado de la imagen debe ser PNG-24
  • En GM, debes indicar el origen del sprite EN SU CENTRO (en las propiedades del sprite)
  • El sprite debe estar cargado en el árbol de recursos de GM, en el ejemplo el nombre del sprite es spr_mask, pero se puede usar otro nombre siempre y cuando se modifique el script.
  • Debes declarar una variable global (en cualquier objeto persistente) de nombre inc e iniciarla a 0 antes de llamar al script.

Después de tanto rollo, el script:
Código: [Seleccionar]
/*
Descripcion: Script para usar un sprite como máscara en una transición entre habitaciones
Autor: penumbra
*/
var surfaces, ancho, alto, fraction;
surfaces[0] = argument0; // surface con la imagen de la habitación anterior.
surfaces[1] = argument1; // surface con la imagen de la habitación siguiente.
ancho = argument2; // ancho de la surface
alto = argument3; // alto de la surface
fraction = argument4; // porcentaje de la transición (entre 0 y 1)
draw_clear(c_black);

var mascara, f, w, esc;                                    //surface de mascara, factor normalizador, ancho del sprite máscara, factor de escala.

mascara = surface_create(ancho, alto)
surface_copy(mascara, 0, 0, surfaces[1])                        // copiar la superficie de la habitación siguiente en la superficie de máscara
surface_set_target(mascara)
draw_set_blend_mode(bm_subtract)
draw_set_color(c_black)

inc += 0.01 // incremento del escalado
w = sprite_get_width(spr_mask)
//hacer que el factor f sea tal que f*x_scale y f*y_scale sea 1 para el sprite máscara. fraction * w nunca será mayor al ancho del sprite.
if (fraction * w < ancho)
{
    f = fraction * ( ancho/(0.01 + fraction * w) )            //0.01 es para evitar error de división por 0, al inicio de la transición.
    esc = f + f*inc
}
else { esc = 8 }

draw_sprite_ext(spr_mask, 0, view_xview + view_wview/2 , view_yview + view_hview/2, esc, esc, 0, c_white, 1)
draw_set_blend_mode(bm_normal)
surface_reset_target()
draw_surface(surfaces[0], 0, 0)
draw_surface(mascara, 0, 0)
surface_free(mascara)

Para usar esta transición, en el evento [STEP] del obj_jugador harías algo similar a esto:
Código: [Seleccionar]
if place_meeting(x,y,obj_portal)
{
     transition_kind = 100;                 //Yo registré el script con el índice 100, especifica el número de índice que tu hayas registrado
     transition_steps = 300;       
     visible = false
     room_goto_next();
}

¿Por qué uso visible = false? Es por el modo en que GM se comporta cuando se usan las funciones de cambio de habitación. Si no hago invisible el sprite del personaje, el sprite aparece en la superficie especificada por argument0 durante la transición, y eso hecha a perder el efecto, tal vez esto sea confuso, pero es cuestión de que pruebes a mantener el sprite visible y verás que durante la transición el sprite del personaje se puede ver repetido en dos lugares distintos. Es por esto que hay que hacer invisible el sprite. Ahora, para volver a hacerlo visible, usamos el evento ROOM START. En mi caso, luce así:

Objeto jugador, evento [ROOM_START]
Código: [Seleccionar]
if (room == room1)     //Este IF se puede modificar para que sea verdadero en todas las habitaciones excepto la primera
{
  x = 1;                       //El jugador es un objeto persistente, por lo que debemos posicionarlo al comienzo de la nueva habitación
  visible = true              //Hacemos visible de nuevo al jugador
}

Bueno, eso es todo, si hay alguna duda o algo no se entiende, escribe un mensaje. Ah, casi se me olvida. El efecto de máscara luce algo así.

9
Mercado / [Consulta]¿Me pueden recomendar dónde comprar dominio web?
« en: Febrero 08, 2014, 12:15:59 am »
Saludos, comunidad makera. Les planteo mi duda.

Me gustaría, si no es mucha molestia, que los makeros entendidos me recomiendaran una opción buena y barata para registrar un dominio, según su experiencia.

Estoy interesado en registrar un par de dominios .net  o .org para ir subiendo cosillas relacionadas con mis andanzas y cuitas en el desarrollo. Por supuesto que he estado buscando en google, pero las ofertas son muchas y no quiero comprar algo en una empresa "patito" como decimos acá en méxico  :D.  Cualquier info se agradece

Saludos.

10
Videojuegos / ¿Cual es tu género de videojuego favorito?
« en: Enero 25, 2014, 11:18:15 pm »
Y bueno, una pregunta off-topic clásica. Pero no me resistí, es culpa de la nueva versión del foro... qué le vamos a hacer?

Y respondiendo a la pregunta: Para mi, el rey de los géneros es el RPG, en cualquiera de sus modalidades (action, classic, on-line masivo, etc). Porque generalmente las historias son complejas y elaboradas, porque es tal vez el género que se presta mejor para desarrollar totalmente una personalidad para cada personaje, por el tema fantasioso y mítico, la música, diseño de personajes, armas, poderes, etc.

Claro, esa es sólo mi opinión, estoy interesado en ver las tendencias más populares acá en la comu

11
Hola, Comunidad

Hace tiempo que quiero crear una traducción al español del manual de GM. Inicialmente tenía la idea de hacerlo para el GM 8.1,  pero, me he estado planteando que si lograra hacerlo, probablemente en el momento en que lo finalizara sería un manual muy poco útil. Casi como la antiquísima versión que alberga el foro (si no me equivoco, de la versión 6 de GM)

Los que tienen tiempo en el foro se habrán dado cuenta que hace falta un manual así.

1. Porque en general, el manual oficial de GM 8 y anteriores es terriblemente malo al carecer de un índice que te diga en qué página comienza un tema (Ya sé que se puede hacer una búsqueda, por ejemplo, de una función, pero... y si NO tienes la mínima idea de cómo se podría llamar tal función?)

2. Porque tampoco se incluye en el manual oficial un apéndice, que es una parte muy importante de cualquier manual y libro relativo a la programación o algun otro campo técnico.

3. Porque la misma carencia de índice y apéndice repercute en que muchos usuarios ni le hechen una ojeada al manual (Esto se puede comprobar viendo que muchas preguntas de la sección de preguntas y respuestas del foro pudieran evitarse con un vistazo rápido a un hipotético manual bien estructurado)

4. Porque, exceptuando a los usuarios de memorias prodigiosas, los demas usuarios de cuando en cuando necesitamos echarle un vistazo al manual para consultar una referencia.

5. Habrá más puntos, pero ya me habrán entendido a donde quiero llegar.

Como decía, quiero traducir el manual, pues de cuando en cuando hay usuarios nuevos que buscan una versión en español y lo más que hay es la antigua versión del GM6. Ahora, creo que acorde a los tiempos, lo más adecuado seria hacer una traducción del manual de GM Studio, el cual es horrible consultar como archivo de ayuda (presionando F1), está totalmente fragmentado, no se puede subir ni bajar por él (como en un pdf), etc etc.

Hace un año, todavía eran mayoría los íconos de GM8 en la sección de P & R, ahora en los últimos meses ya se ha emparejado la situación y cada vez más usuarios usan el GMS. Entonces me he dicho, "¿Y por qué no hacer una traducción del manual de GMS?" Sería genial tener un manual actualizado del GMS, en español, más aun cuando YoYo ni si quiera saca un manual decente en PDF.

Pero inmediatamente me he dado cuenta que es una labor titánica, o al menos enorme. Por eso es que tengo la necesidad de buscar la ayuda de otros makeros que estén interesados en hacer un aporte su comunidad de usuarios en español. Entre varios, podríamos avanzar más rápido y lograr traducir al español el manual.

Bueno, ese es el motivo de mi post. Si hay algún interesado, por favor responda este mismo hilo. Ah, una cosa que debo aclarar, se busca una traducción decente, que sea clara y pueda ser comprendida, requiriendo un nivel decente de redacción. NADA de copiar y pegar en el traductor de google o sitios similares.

En estos momentos tengo el manual de GMS en formato HTML, yo les enviaría secciones del manual a los makeros interesados, habría que modificar el archivo HTML para sustituir el texto en inglés por el texto traducido. Así que los makeros interesados deben de tener nociones de HTML, no para programar, sino para diferenciar el texto leíble de las etiquetas y no hechar a perder el archivo  :-[. Esto es más fácil al tener un editor de HTML visual, pero si son expertos y quieren usar el bloc de notas, adelante.

1. ¿Por qué en HTML y no en PDF? Porque al exportar a PDF, al menos con los programas que he intentado (unos diez), se pierden los enlaces tipo HTML, y es una característica que quiero conservar,  ya que permitiría desplazarse de un tema a otro de manera muy rápida.

2. Porque editar un PDF, al menos en mis intentos, ha supuesto un gran dolor de cabeza: el manual al ser exportado a PDF incluye formas y tablas que más que otra cosa son basura, un click erróneo y el texto desaparece, se empalma, se traba, cambia de formato, se desplaza a lugares inimaginables, etc. Aparecen líneas y formas que no existen en el manual original, líneas y formas que hay que borrar una por una....

Bueno, ojalá alguien pueda ayudarme, obvio que toda persona que colabore aparecerá en los créditos del manual. También le podemos poner el logo de la comunidad al manual, no sé.


Gracias.



12
Preguntas y respuestas / ¿Concurso CGM?
« en: Noviembre 15, 2013, 10:17:40 am »
No sé exáctamente dónde postear esta pregunta, si este no es el lugar, mil disculpas, por favor, que el moderador mueva el post. ¿Se realizará en este o el próximo mes el concurso de CGM para el mejor juego de este año?

13
Preguntas y respuestas / Dudas máscara de colisión
« en: Octubre 26, 2013, 11:27:54 pm »
Buenas tardes. Antes que nada, perdón por la pregunta, que es bastante básica, pero no tengo mucha idea de cómo funciona esto en GM

He decidido usar sprites adicionales como mascara de colisión para las armas de mi juego (principalmente espadas). La duda que me surge creo que es bastante tonta, pero como me imagino que es algo sencillo de explicar, me atrevo a preguntar:

¿La animación de la máscara (sprite adicional) va a la par que la del sprite del arma? Es decir, ¿la máscara corre en sincronía a la misma velocidad que el sprite "original"?

¿Si altero la velocidad de animación del arma original, se altera o no la de la máscara?

¿Si me salto u omito sprites en la animación, mediante image_index, la máscara sufre cambios en su animación?

Gracias de antemano  :-[




14
Preguntas y respuestas / Variables tipo cadena para llamar recursos
« en: Agosto 23, 2013, 02:59:36 am »
Hola gente, yo de nuevo con una pregunta similar a mi duda anterior. Esta vez quiero saber si es posible usar un valor de cadena (string) para llamar a un recurso en GM (sprite). Dicho valor de cadena me interesa que sea alfanumérico, no sólo numérico o real (si no es posible, al final tendré que usar reales  :'( )

Me explico. Tengo un INI, en ese INI hay llaves que me indican el nombre del sprite que le corresponde a cada item (el sprite ya está agregado a los recursos de GM). Por ejemplo, en el INI se vería algo como esto
sprite=espada_10

así que leo esa llave y la asigno a una variable, que al final se ve así
recurso = "espada_10"

Y justamente uno de los sprites que tengo en GM se llama "espada_10"

Lo que quiero hacer es usar la variable recurso para cambiar el sprite de un objeto, por ejemplo, dentro de un objeto menú

sprite_index = recurso

Bueno, intenté los pasos anteriores en GM, pero no me funcionó.  XD. La variable recurso adquiere correctamente el valor string "espada_10" pero , en el debugger el sprite_index toma valor de 0 y no aparece ningun sprite en pantalla  ???. Quisiera saber si se puede hacer algo como lo que propongo, o de plano tengo que olvidarme de usar cadenas en el INI.

Gracias

15
Preguntas y respuestas / Real vs String
« en: Agosto 14, 2013, 11:08:27 pm »
De antemano sé que estoy complicando las cosas y que hay maneras más sencillas de lograrlo, aun así me atrevo a preguntar lo siguiente a los que saben más de GML

Imaginen que leo un valor del tipo cadena desde un ini y lo almaceno en una variable, digamos que al final, la variable se ve así

valor_ini = "pistola"             //variable almacenando una cadena leída desde un archivo ini

Ahora imaginen que tengo en CREATE una variable:

pistola = 5

¿Hay alguna manera de hacer que Game Maker interprete la variable valor_ini como si me estuviera refiriendo a la variable pistola? O dicho de otra manera, hacer que la cadena "pistola" la interprete como variable pistola

A lo mejor estoy preguntando aberraciones, pero es una duda que tengo, agradezco que me digan si se puede o no. Gracias

Páginas: 1 2