Mostrar Mensajes

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

Mensajes - penumbra

1186
Preguntas y respuestas / Re:Compras desde el juego
Septiembre 23, 2014, 10:12:16 PM
Según la documentación oficial, primero se tiene que crear una cuenta en la store deseada, y proporcionar tus datos para hacer cargos con tarjeta. Luego se tiene que configurar GMS para aceptar compras desde la aplicación (In app purchase)

http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/global%20game%20settings/in%20app%20purchases%20tab.html

La misma documentación proporciona un ejemplo tanto de cómo inicializar las compras desde la aplicación como de un ejemplo de compra
http://help.yoyogames.com/entries/29734673.html

Cómo probar la IAP
http://help.yoyogames.com/entries/29736883

Referencia de las funciones (manual)
http://docs.yoyogames.com/source/dadiospice/002_reference/in%20app%20purchases/index.html
1187
El aspecto profesional no lo da ningún programa, eso depende del talento y la dedicación del artista grafico. Un artista bueno puede hacer maravillas con un programa limitado. Un artista malo hará sprites malos aunque use el programa más caro y avanzado.

http://www.inkscape.org/es/
http://www.gimp.org/downloads/
http://www.getpaint.net/
http://www.artrage.com/artrage-4/
1188
Preguntas y respuestas / Re:GM8 o GM:Studio??????
Septiembre 21, 2014, 11:15:50 PM
¿Pero por qué tanto coqueteo y preguntas?  XD Estoy casi 100% seguro de que al final lo vas a instalar y te vas a enamorar de él a pesar de que le hayan quitado cosas que tenía el GM8.  8) Además, nada mejor que comprobar por ti mismo cómo va. "Cada quién habla como le va en la feria" dicen en mi rancho. Nada impide usar los dos
1189
En el create de cada objeto:
[gml]x = room_width/2[/gml]
Obviamente los sprites de esos objetos deben tener configurado el origen en el centro del sprite
1190
Imagina que te dan unos cubos como estos

con todas las letras del alfabeto y que obligatoriamente sólo pudieras comunicarte con las demás personas usando los cubos para formar palabras.

Bueno, los cubos vendrían a ser los íconos o accciones Drag & Drop en GM, con lo cual quiero decir que son (opinión personal) horribles de manejar, creo que por eso en el 99.9% de los temas del foro no se habla de D&D. Respondiendo tu pregunta anterior, sí, se pueden usar íconos y GML al mismo tiempo.

Lo de que "uso D&D porque es más sencillo que GML" a mi me parece más un mito muy extendido que maliciosamente YoYo y Mark Overmars se encargaron en su momento de difundir para hacerle publicidad al GM. ("¡Con GM no necesitas usar código para programar un juego, adquiérelo ya!"). A mediano y largo plazo es mucho más simple y flexible usar GML que drag and drop. Es como decir "los cubos con letras son más sencillos de usar que la escritura a mano". A lo mejor soy muy tendencioso, pero de verdad le tengo antipatía a las acciones D&D
1191
Cita de: kostra en Septiembre 21, 2014, 10:15:28 PM
en un principio he pensado, "ERES DIOS!!", pero luego pienso... y no se volverá loco al tener confrontados en cada step un deactivate region que desactiva X puertas y a la vez esa función que las activa? :/
A menos que el jugador se mueva a una supervelocidad, el codigo de desactivación se puede poner en una alarma que se ejecute cda 1, 2 o 3 segundos, porque no tiene caso estar desactivando instancias que ya están desactivadas en cada STEP. El código de activación también se puede usar solo en ciertos momentos, para no tener que activar siempre.


No lo he probado, pero a lo mejor funciona
[gml]
with (all)
{
     if (object_index != obj_puerta) and (object_index != obj_jugador)
     {
          if ( abs(x - obj_player.x) < offset_x ) and ( abs(y - obj_player.y) < offset_y )
               instance_deactivate_object(self)
     }   
}[/gml]
offset_x y offset_y son un valor que define qué tan grande quieres que sea la región alrededor del jugador. Yo creo que este código también sería mejor ponerlo en una alarma que se ejecute cada 2 o 3 segundos para mejorar la optimización, por la razón que ya comenté más arriba
1192
¿Si no usas el código anti-lag, tu juego presenta lag?


1193
Prácticamente cualquier juego 2D se puede hacer en GM. Si es GM 8 sólo se puede hacer para PC. Si es con GMS, se puede además hacer para android, pero el módulo para exportar a esa plataforma cuesta 100 dólares extra + la licencia PRO.

No es por desanimar, es más bien para que tengas una perspectiva real: Hacer un juego como el que quieres es bastante difícil y si no tienes experiencia con el programa ni estás familiarizado con su metodología e ideología, entonces es mucho más difícil comenzar haciendo (o intentando hacer) un juego que no es nada sencillo. Eso sin contar con otros aspectos, como los gráficos, etc, etc.

No digo que nunca puedas hacer el juego, pero para poder hacerlo será necesaria preparación y conocimiento de las bases de GM.
1194
Preguntas y respuestas / Re:Efecto Slowmotion?
Septiembre 20, 2014, 10:57:42 PM
Mmm yo no implementaría el slowmotion como lo haces, creo que lo estás enredando mucho. No hay necesidad de crear un objeto slow adicional que luego se destruya en una alarma, esto sólo hace más engorrosa la implementación.

Cita de: king195 en Septiembre 20, 2014, 10:20:53 PM
Lo que querría es que cuando pasen esos 4 segundos el personaje no cambie el slowmotion hasta que toque el suelo en el caso de que estuviese saltando(es decir "!ground"), esa sería una gran idea para quitarme todo este lió entre variables.
Estás usando dos variables (noground y yesground) cuando una sola variable puede servir para saber si se pisa (noground = false) o no (noground = true) el suelo.

En el evento Alarma del slowmotion (para que funcione, el jugador debe hacer que noground sea falsa si está tocando el suelo)
[gml]
if (global.slow == true) and global.noground == false){
     //apagar slowmotion
     // ¿destruir obj_slowmotion?
}[/gml]

En el evento STEP del jugador
[gml]
if (global.slow == true) and global.noground == false)
{
      //apagar slowmotion
      // ¿destruir obj_slowmotion?
      // if instance_exists(obj_slowmotion)
      // with (obj_slowmotion) { instance_destroy() }
}[/gml]
Mientras no toque el suelo (si slowmotion está activa) se mantiene slowmotion.
1195
Preguntas y respuestas / Re:iluminacion
Septiembre 20, 2014, 10:09:49 PM
En Youtube hay tutoriales al respecto


Te recomiendo hacer los tutoriales de Surfaces (1 y 2) que vienen incluidos con GM:S. Ya que muchos efectos de luces en GM usan surfaces
1196
Una manera es que un objeto controlador dibuje al jugador y al círculo (y que el jugador no se dibuje a sí mismo, como mencioné en el mensaje anterior). Pimero dibujaría el círculo y luego al jugador, lo que haría que el jugador siempre quedara encima..

Otra manera que yo nunca he probado, pero que creo que funcionaría es usar el evento Draw Begin para cosas que quieras que se dibujen debajo y DRAW END para cosas que se dibujen encima. Por ejemplo, el blog de YoYo meciona  que es posible usar DRAW BEGIN para dibujar las sombras de los objetos, DRAW normal para dibujar objetos y DRAW END para dibujar efectos especiales.
1197
depth sirve para eso, no sé qué es lo que quieras hacer, pero si quieres que el jugador quede tapado por un árbol, al árbol le das una profundidad menor a la del jugador o al jugador una profundidad mayor que la del árbol. También se puede usar un objeto controlador que dibuje en el orden deseado las cosas deseadas. Por ejemplo, desde el objeto controlador
[gml]
with(obj_player)
    draw_self()

with (obj_arbol)
     draw_self()[/gml]

Para que funcione correctamente hay que evitar que tanto el árbol como el jugador dibujen automáticamente su sprite, lo que se hace por ejemplo, poniendo un evento DRAW en esos objetos y dejando el evento vacío.
1198
Preguntas y respuestas / Re:Efecto Slowmotion?
Septiembre 20, 2014, 01:51:52 AM
Cita de: king195 en Septiembre 20, 2014, 01:42:21 AM
Yap, pero eso no me soluciona el salto, el salto que quiero hacer es en movimiento y es necesario llegar a otra plataforma, si activo la ralentización no se debe de ver afectado ni en el salto ni antes de efectuarse dicho salto.

Quien controla la ralentización y si se activa o no, o sobre qué objetos se activa y sobre cuales no, o a qué variables afecta (gravedad, velocidad, desplazamiento, altura) y a cuales no o cuando las afecta eres tú. Si el salto no funciona bien es porque no has especificado bien su comportamiento (ayudaría que colocaras el código de salto)

Si no quieres que al saltar la ralentización afecte a hspeed, pues no uses master_speed en el código de salto. Si sólo quieres que la animación vaya lenta, entonces nada más image_speed debe usar master_speed y hspeed o vspeed los usas como si no existiera master_speed. Lo que sí no debes hacer es usar la velocidad del sprite(image_speed) para controlar hspeed o vspeed.

EDITADO: Algo de lo que me estaba olvidando era la gravedad. Esto es dependiendo del juego, pero es probable que en ciertos casos se quiera que la gravedad disminuya cuando la ralentización está activa (por ejemplo, con una gravedad menor, QUIZÁS tu personaje si alcance a llegar a la otra plataforma)
1199
Preguntas y respuestas / Re:Juego en segundo plano
Septiembre 20, 2014, 01:24:47 AM
date_current_datetime() es una función  de GMS que devuelve la fecha y la hora actual. Esta variable se usa en conjunto con otras funciones para leer un dato en específico (día, hora, mes, etc). Hay MUCHAS funciones de tiempo en GMS, te recomiendo que leas el manual, porque lo que quieres hacer se puede hacer usando distintas funciones.

Esto es sólo una idea. Cuando se cierre el juego, usas
[gml]fecha_de_guardado = date_current_datetime()[/gml]
y guardas la variable en el INI

Luego, al cargar el juego, lees desde el ini esa fecha
[gml]
     fecha_de_guardado = ini_read_real(blah, blah, blah)
     diferencia = date_hour_span(fecha_de_guardado, date_current_datetime());
[/gml]

No lo he probado, por ejemplo. La función  date_current_datetime() devuelve un número real, según el manual, por lo que para guardar su valor en un ini sedebe usar write_real y read_real para leerlo, pero no sé si la función date_hour_span() acepte correctamente ese valor real almacenado en fecha_de_guardado. Yo pienso que sí, y creo que esta es la manera más directa, pero si no se pudiera, la solución sería guardar individualmente (por separado) los días de las horas y calcular por separado la diferencia en días y al final dejar todo en horas

Pero bueno, como dije, consultando las funciones en el manual se puede hacer
http://docs.yoyogames.com/source/dadiospice/002_reference/date%20and%20time/index.html

Por ejemplo, en lugar de date_current_datetime() que devuelve toda la fecha completa, se puede usar current_hiour(), current_day(), current_month(), etc
1200
Preguntas y respuestas / Re:Background con contador
Septiembre 20, 2014, 01:05:29 AM
Define una fuente en GM:S, según la tipografia que tu quieras


Luego, cuando quieras dibujar elmarcador, usa (en evento DRAW)
[gml]draw_set_font(nombre-de_la_fuente)
darw_text(100, 50, mi_marcador)[/gml]

Otra manera es usar sprite fonts, aquí en el foro si buscas hay hilos con ese tema