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

121
Juegos completos / Re:Gato de laboratorio (Lab Cat)
Enero 17, 2013, 04:28:40 PM
  Saludos makero D-jinn:

Fuiste el ganador del concurso Demonio2D.

   Mis respetos ... y puntuación.  ;D 
122
Noticias / Re:Banner participantes CGM 2012
Enero 17, 2013, 04:16:00 PM
   Saludos makero lupino y ComunidadGM:

  El "banner" está muy gracioso.  XD  El azul combina con los tonos nuevos de la comunidad y el naranja nos trae gratos recuerdos a los "veteranos"... ¡Que de tiempos aquellos!  :( :'(


  No lo tomen como crítica negativa sino como un detalle para mejorar tal vez. La velocidad a la que cicla el "banner" puede marear después de un rato, mi consejo es que realice pausas un poco más extendidas antes de cambiar, la velocidad de cambio está bien, es solo que es muy cíclico. ¡Me he mareado un poco!  :o  Cuando realicé los "banners" del Concurso Demonio2D me di cuenta que por el apuro me quedaron muy rápidos y terminan mareándome.

  ¿Fenris78, fardar es sinónimo de presumir? Hombre, que necesito "googlear" para entender lo que se habla en una comunidad hispana.  :)

    D-jinn, que tal si realizas otros "banners" del concurso para identificar a los jueces y al ganador.   :D

  Reitero el saludo y las felicitaciones para D-jinn.  ;D 
123
  ¡Me parece muy buena idea, elviskelley!

  Podrían presentarse los juegos de una manera parecida a Yoyogames, organizados por popularidad, por géneros, con una imagen representativa, una sinopsis, etc.   :) :) :)

Se tendrían a los juegos localizados, organizados y bien presentados. Debería ser parte de la página de presentación de la comunidad en aras de atraer tráfico y, quién sabe, patrocinadores.  :) :) :)

  ¡¡¡Me sumo a la propuesta!!!  ;D 
124
   Saludos makero pucara:

  Puede servirte la función "draw_text_ext_color(x,y,string,sep,w,c1,c2,c3,c4,alpha)"   8)

  El resto de las funciones debajo de esta presentan "alpha value" tambien.  ;D
125
   Bueno, en vista que ya puedo acceder a las variables locales creadas de forma dinámica mediante la la función "variable_local_array2_get" doy por solucionado el tema.  :)

  Aún así si alguien encuentra una manera de hacer sin que medie la estructura "with" será escuchado atentamente.  XD


  ¡Gracias a todos!  ;D
126
Cita de: brunoxzx en Enero 15, 2013, 11:36:43 PM
Aunque esto no me deja clara una cosa, si cada indice es de 32bits esto es 4 bytes y se hacen 32000 indices de j por cada uno de i, esto es 128,000 bytes por cada indice de i, entonces 1000 indices son 128,000 kb que es igual a 128mb y eso no está ni cerca de un gigabyte, quizás no entiendo muy bien esto de los arrays o es que no son 4 bytes por indice, no lo sé quizás alguien aquí tenga la respuesta. Por cierto use gm8 para las pruebas.
  El problema radica que la cantidad de celdas en un "array" bidimensional es la multiplicación de las columnas por las filas.

  Por lo que 1000 indices en (i) y 1000 indices en (j) dan como resultado 1000000 (un millón) de espacios para datos. 1000000 * 128,000 bytes = haz la matemática...  XD XD
127
   Saludos makero penumbra:


Cita de: penumbra en Enero 15, 2013, 08:31:12 PM
perdón por meter mi cuchara, en esta charla de "adultos"  XD
  No te preocupes, todos tenemos lo mismo en común: GM, eso nos hace iguales.   XD XD XD

Cita de: penumbra en Enero 15, 2013, 08:31:12 PM
Creo que no hay diferencia en cuanto al tamaño de local y global. Hasta donde sé, a diferencia de los lenguajes 'mayores', GML maneja únicamente dos tipos de datos, string y real. Ahora, lo que determina el tamaño de una variable, no es el valor que almacena, sino su tipo de datos. Como todas las variables (globalesy locales) son REAL en GM, todas ocuparán el mismo espacio en RAM.

Si no mal recuerdo, en este caso, todas las variables de GM, ocuparían 8bytes en memoria. Para utilizar un Kilobyte de memoria, necesitarías tener 128 variables (un sprite , el que sea, ocupa más que esto). Para ocupar 1 mísero Megabyte de RAM con variables, necesitarías un juego con 131072 variables. Reto a un valiente a que haga un juego con 130000 variables distintas

Después del cálculo anterior, no no le veo sentido a eso de usar variables locales y evitar las globales. Para mi, bienvenidas sean las variables globales. Quizás hace 20 años me hubiera preocupado por no gastarme un megabyte de ram, pero no ahora.  ;D
   Si las variables fueran números puede que sí tengan el mismo tamaño en "Ram", pero en cuanto a los "string" no lo creo. Un "string" es una cadena de caracteres, o sea un "array" de caracteres. Cada caracter pesa, creo que 1 Byte, en dependencia del tipo de codificación. Lo que indica que un "array" de tres caracteres ocupa más espacio que otro de cuatro.  XD   

  ¡Si influye la cantidad!  XD XD XD

  Sería interesante saber si un número entero de más de una cifra ocupa un Byte o más. A mi en lo particular me parece que ocupa un byte por cifra... ???   
128
Cita de: brunoxzx en Enero 15, 2013, 03:06:31 AM
Por cierto puedes hacer que en lugar de añadirse a un mapa se añadan a un array, eso lo haría mas rápido, el problema es que los arrays solo pueden almacenar 32,000 valores.

  Saludos:

  Corrección: Un "array" solo admite hasta 32000 en cada índice, pero el valor total de espacios no puede superar el 1000000 (millón), o sea 1000 por cada uno al unísono.  XD 
129
  Saludos makeros brunoxzx y calio:

  ¡Muchas gracias por contestar!   :D

  En el diseño que estoy tratando prescindo bastante de la estructura objeto nativa de GM, por lo que no tendré muchos objetos con variables distribuidas entre ellos. Simplemente me pareció mejor crear las variables de tipo "local" en lugar de "global". No estoy seguro de las implicaciones, simplemente creí mejor la otra forma, pero no podía acceder a los arreglos locales entre los distintos objetos.

Por supuesto que no se me ocurrió la utilización de la estructura "with".  :-[

Ya anteriormente tenía una lista de todas las variables creadas dinámicamente, solo que al acceder a ellas utilizando dicha función en su forma local no funcionaba y quería saber qué pasaba.

¿Creen que para no tener que utilizar la partícula "with" sea mejor crear las variables globales? ¿Ocupan más espacio las globales que las locales?   ???

    ¿Tendré que crear otro tema en el foro?  XD :-[ XD :-[ XD 
130
Preguntas y respuestas / Re:Teclado y cambio de room
Enero 14, 2013, 11:53:30 PM
  Gracias por ayudarme: Aquí
131
  Saludos makero calio:


   Muchas gracias por contestar tan rápido.  :D

  Entiendo que utilizas la estructura "with", pero dentro del código de la estructura no estamos en el objeto desde donde se realiza la llamada, sino en el objeto donde está la variable "my_array". ¿No habrá una forma de acceder a los valores de dicha variable sin "salirse" del objeto que realiza la llamada?

Por cierto, es normal que la variable "bleh" creada antes del "with" tome los valores de "my_array". La variable "bleh" está en el código "padre" que contiene al segmento del codigo del "with", o sea  un segemento de código  abarca al otro.  ;D   
132
   Saludos makeros:

  Se que esta pregunta debe ser una sencillez solucionarla, pero no logro verla por mi mismo.  :-[

  Cuando utilizo la función: variable_global_array2_get() solo tengo que colocar el nombre de la variable como una cadena de caracteres. Como la variable es global puedo acceder a sus datos desde cualquier objeto.

Pero en el caso de la función: "variable_local_array2_get(name,ind1,ind2)"  ¿Si quiero acceder a la variable cómo indico el objeto donde se encuentra la variable? Al ser local la variable no tengo forma de acceder a ella desde otros objetos.

   No se que hacer...  :'(
133
  Saludos makero Zela:


   Llevo bastante tiempo con GM. Comencé con la versión 6.1 y resolví la versión 5.0 para probarla. Luego intenté el cambio para la 7.0, pero algunos Bugs extraños me hicieron volver a la 6.1. Más tarde, no mucho más de un año salté a la 8.0 y estoy encantado. Ningún problema hasta ahora. De hecho mis proyectos que son grandes los estoy desarrollando en GM8.0.  :D

  No sabía lo del problema con las superficies que menciona Fenris78, lo tendré en cuenta.  :)

PD:  Me parece que en español antes de la letra "E" y "Y" se sustituye la "Z" por la "C". Ejemplo Calzar, calcemos.  En realidad es un chiste gramatical sobre el nombre de tu perfil: Zela...  XD XD

  por favor no lo tomes a mal...  ;D 
134
   ¡Esto muy bueno!  XD XD XD


   Sería interesante poner a prueba todas las posibilidades para determinar cual es más eficiente en cada caso.

  Me interesa mucho el tema... 8)
135
   Saludos makero francordoba:

   Disculpa si opino, pero la intensión es ayudar.

  Opinión:  No creo que puedas solucionar todo lo que quieres lograr con los aliados con un solo código, por eso te propongo recomenzar.  :-[

Propuesta:

1-  Crea  un "script" que generen los puntos de los aliados en la formación. Cada vez que el héroe rote, este "script" calculará cada punto donde deben estar los aliados y los guardará en una array2D. Por ejemplo:

  formacion[a,b] arreglo de valores  | 

  formacion[0,0] = 3;       // esta es la cantidad de aliados en la "formación de tres aliados"
  formacion[1,0] = x1;  formacion[1,1] = y1;  formacion[1,1] = rot1;     //  las coordenadas del primer punto de la formación de tres más la dirección en debe estar mirando ese aliado
  formacion[1,0] = x2;  formacion[1,1] = y2;  formacion[1,1] = rot1;     //  las coordenadas del segundo punto de la formación de tres más la dirección en debe estar mirando ese aliado
  formacion[1,0] = x3;  formacion[1,1] = y3;  formacion[1,1] = rot1;     //  las coordenadas del tercer punto de la formación de tres más la dirección en debe estar mirando ese aliado


  Cada vez que que el héroe cambie el ángulo el "script" calculará los puntos y los ángulos y los sobre escribirá en el array formacion[].

Para ubicar cada aliado en su posición solo debes brindarle esos puntos al aliado dentro de la función "mp_linear_step" y él se moverá en esa dirección. La dirección en debe estar mirando el aliado ya tienes en el array.

En caso de cambiar de formación, se logra con un "script" distinto para cada formación. Siempre sobre escribiendo el mismo array. Es muy importante colocar el número puntos de cada formación en el array (formacion[0,0] = 3;) para poder recorrer el arreglo.

2- En caso de que en este juego el héroe no cambie de ángulo tan seguido, la generación de los puntos puede hacerse relativa a la distancia del héroe, guardarse en el "array" y no deben generarse otra vez hasta que el héroe cambie su ángulo. Por ejemplo: x1 = -10; y1 = 5;     // en este caso no se le pasan estos valores al aliado sino que se le suman cada valor a su correspondiente en las coordenadas del héroe. En este caso, si el héroe tuviera las coordenadas x= 24 y y=9  se realiza la suma x+x1, y+y1  (24 + (-10) ; 9 + 5) = (14 ; 14) y esas son las coordenadas que debe tener el aliado en la posición uno.

  En caso que el cambiar de ángulo sea muy constante en tu juego el "script" debe generar los puntos absolutos y no relativos.  Cada vez que el héroe se desplace de posición simplemente se llama al "script" y se escriben los valores en el "array" correspondiente.


  Por supuesto que esto no es código, sino un algoritmo, pero si lo revisas y logras entenderlo verás que te resuelve la situación. Solo quedaría implementarlo... 8)