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

31
Cita de: NiuWeb en Diciembre 06, 2015, 05:44:49 AM
Quisiera saber, 1: Si se puede usar file_exists con directorios online, así:
No. Las funciones para manejo de archivo en GMS trabajan sobre una zona sandbox, y hasta donde tengo entendido, no es posible seleccionar un sandbox online, sólo local.

Cita de: NiuWeb en Diciembre 06, 2015, 05:44:49 AM
2: En caso de que no se pueda, cómo puedo emular esta función.
No se puede emular en GM. Lo que se puede hacer es recurrir a PHP, que se ejecuta del lado del servidor, que es donde se supone que estarían ubicados los directorios y archivos a los que quieres acceder. PHP tiene su propia función file_exists() y también su función para escanear (enumerar) directorios y ficheros.
32
Preguntas y respuestas / Re:¿Que es ini?
Diciembre 05, 2015, 02:27:26 AM
Ini es un tipo de archivos conocido como "archivo de opciones de configuración".

ini no tiene relación con bases de datos, aunque ambos sirven para guardar información (una base de datos es mucho mas compleja que un ini)

El ini se usa mucho en juegos de GM y también en aplicaciones de windows para guardar preferencias de los programas. En GM sirve para guardar cosas sencillas, como valores de variables, posiciones, puntajes, etc. Un archivo ini es fácil de usar porque se puede abrir y editar en cualquier editor de texto simple, como el bloc de notas.

Si usas el buscador del foro, vas a encontrar más información sobre los inis y su uso.

33
La idea básica es usar un ciclo para ir recorriendo la cadena (for, while, repeat, se puede con cualquiera). Si no se encuentran espacios ni caracteres especiales, un contador va a cumulando el número de iteraciones. Cuando se encuentre un espacio, se consulta el valor del contador, ese valor contendría la longitud de la primera palabra en la cadena. Se usa el valor del contador para extraer la primera palabra de la cadena original y guardarla en el arreglo. Se aumentaría el índice del arreglo en 1 para pasar a la siguiente posición. El proceso se repetiría.

Para encontrar caracteres especiales, se pueden usar ifs dentro del ciclo, y preguntar si el caracter actual es igual a una coma, o punto, o signo +, etc. Si no se quiere usar muchos ifs o un switch, como alternativa se puede crear un arreglo que contenga todos los caracteres especiales (o su código ascii/utf-8) y mediante otro ciclo anidado, recorrer el arreglo para ver si el caracter actual corresponde a uno de los caracteres del arreglo. De ser así, se guarda el caracter en la siguiente posición del arreglo, el proceso dentro del ciclo anidado termina y se comenzará la siguiente iteración en el ciclo exterior.
34
El principal problema por el que pienso que rechazaron tu muestra  es que la fuente
https://marketplace.yoyogames.com/assets/573/min-font
es una fuente TTF creada por el usuario, y la fuente se puede usar directamente en GMS (como spritefont o como fuente TTF). En cambio, en tu fuente se ve una sprite font, que no es nada difícil de crear por cualquier usuario, ya que en la web abundan bitmap fonts gratuitas y lo único que hay que hacer para crear una es acomodar en una plantilla las letras y caracteres a partir de cualquier fuente descargada de internet.

Supongo que el criterio es que el material tiene que ser algo que que sea único o poco convencional o difícil de encontrar o muy útil. Quizás el problema es que tu imagen da la apariencia de ser una sprite font creada a partir de X fuente de internet (not show relevant material). Creo que hay cláusulas del marketplace donde se especifica que el material a subir debe ser 100% de tu autoría.
35
Preguntas y respuestas / Re:entero demasiado grande!
Diciembre 04, 2015, 03:38:50 AM
Yo tengo entendido que GM almacena los reales como números de coma flotante de 64 bits.

http://gmc.yoyogames.com/index.php?showtopic=653938
http://gmc.yoyogames.com/index.php?showtopic=658673
36
Se trata de algo así como un control de calidad. Les debes mostrar un ejemplo del trabajo que quieres colocar en el marketplace, de tu autoría, obviamente (música o un script o una imagen/sprite/fondo).  En base a eso, ellos te aprueban (o no). No sé qué tan estrictos sean, pero no creo que mucho, realmente.
37
Que extraño. Nunca me ha pasado eso. ¿GM detecta que hay un control conectado? ¿Qué descripción devuelve GM del gamepad?

Cita de: Ponzalskov en Diciembre 03, 2015, 02:25:28 AM
EDITADO:
El problema era el emulador Xinput que al parecer había instalado anteriormente en la carpeta de GM.. Borré todos sus archivos y ahora funciona perfecto, gracias !
EDITADO: Ah, ok. Menos mal.
38
Tienes que agregar código en step para revisar que encima del personaje no hay nada con lo que pueda colisionar (pared, por ejemplo), y si es así, hacerlo que suba. cambiando su coordenada Y.
39
Cita de: josesito1432 en Diciembre 03, 2015, 01:12:58 AM
aaaaaa y que tipo de solucion podria usar para hacer multiplayer mi juego, si no es con l 39dll.....
La 39dll permite crear clientes y servidores mediante sockets. En GMS ya no se necesita la 39dll porque GMS ya incorpora funciones para implementar sockets.

http://docs.yoyogames.com/source/dadiospice/002_reference/networking/index.html
https://www.yoyogames.com/tech_blog/11
http://help.yoyogames.com/entries/25891363-Networking-Overview
41
Esos cambios no servirán para el método de las dos sombras.

"Sé la celda, sé la celda." Repite "Soy la celda".

Soy la celda. Si a mi izquierda o arriba de mi hay otra celda, dibujaré la sombra recortada. En caso contrario, dibujo la sombra normal.

Caso especial: soy una  celda de la última columna de la derecha, y debajo de mi no hay otra celda. Pregunto si a mi derecha y hacia abajo no hay otras celdas. En caso que no haya, dibujo la sombra normal.

42
Utiliza dos tipos de sombras:



Dependiendo de si a la izquierda o arriba hay otra celda.

Citar
Precisamente lo que quise evitar al escribir código para la sombra es modificar el sprite, ya que tengo muchos datos que están relacionados con su tamaño, y tendría que, básicamente reescribir el 50% de mi código
Esto tiene solución fácil: Usar una sprite como máscara. Para todo lo que tenga que ver con colisiones y tamaños, se usaría la máscara (que no contendría sombra, sólo la forma básica cuadrada). Los demás objetos y código nunca le harían caso a la sombra, ni sabrían que existe.
43
Los empalmes ocurren porque se está dibujando más de una vez lo mismo en en mismo lugar (obvio) y además, con un alfa menor a 1 (pero mayor a 0). Creo que una solución consistiría en llevar un control de las zonas donde se ha dibujado, para no volver a dibujar un triángulo ahí, solución que no me convence del todo. Tampoco veo (no estoy seguro) que usar blend modes + surfaces sea buena solución, porque el código necesario para dibujar algo simple aumentaría, y además, creo que independientemente del modo blend que se use, dibujar dos veces algo con una opacidad intermedia causaría empalmes de todas maneras (no lo puedo asegurar, necesitaría hacer pruebas).

Mi solución:
Usar un simple sprite que ya contenga la forma final deseada. Es decir, una celda azul como la segunda imagen que colocaste.

Resultado:


Quienes hayan usado algo así (cubo con perspectiva), seguramente se han topado con el error de que los cubos se ven desordenados o empalmados (según se los haya colocado en la habitación o creado mediante código). Una solución a este problema es dibujar los cubos siguiendo cierto orden determinado, para que no se vea que el borde de un cubo se empalma con otro de manera rara. Lo que yo hice para evitar este problema fue que cada cubo pregunte si a su izquierda o arriba hay otro cubo (que podría causar el empalme no deseado) si es así, modificar las profundidades de los dos cubos involucrados, de manera que el cubo de arriba (o de la izquierda) cambie su profundidad a una mayor, y así evitar los traslapes.

Seguramente a alguien se le ocurre otra solución. Lo que más quise evitar fue el dibujo recurrente de triángulos.
44
Intercambio / Re:Tasación de sprites en píxel art
Diciembre 02, 2015, 10:45:46 PM
Creo (no lo aseguro) que el sprite de Gabe tiene un tamaño real de aproximadamente 64 pixeles de alto. En pantalla se ve más grande que eso porque el juego esta aplicando zoom (creo)

Si el sprite fuera de 32px, obviamente sería más fácil de hacer, pero a ese tamaño, el movimiento no se vería tan dinámico y dramático como se ve actualmente. Ganas una cosa, pierdes otra.
45
Intercambio / Re:Tasación de sprites en píxel art
Diciembre 02, 2015, 10:15:43 PM
La animación de Gabe Newell  :D

Por la calidad de la animación, yo la colocaría en "skilled", pero (según mi experiencia personal) creo que podrías encontrar a algún artista que te creara una animación de ese estilo en el rango de "Decent" es decir, entre $10 y $30. Claro que también puede que te encuentres a un artista muy desesperado que cobre menos, y quizás también cuente si eres bueno regateando.

Lo que no entiendo es que mencionas que las imágenes son de 32X32, pero el sprite de gabe newell es más grande.