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

1
Dudo mucho que eso sea posible. Necesitar?as buscar un motor de video que tenga renderizado v?a Direct3D (como VLC), y aunque sea el caso, yo no he sabido de ninguna blblioteca que pueda implementar cambios o embeber funciones en el motor gr?fico de GameMaker.

Aunque no sea propiamente una soluci?n directa a tu problema (ni tampoco vers?til), quiz? te convendr?a utilizar (y aprender) otra plataforma; si no mal recuerdo SFML (Simple and Fast Media Library) pod?a reproducir videos renderizados en la ventana de juego, ve a su p?gina oficial. Para facilitarte la vida, puedes utilizar el binding para lenguaje Python, que no te costar? nada aprender a manejar (Python es un lenguaje sumamente sencillo, elegante y f?cil de aprender).

Aqu? hay un tutorial para instalar PySFML en Windows, y ac? una tarjeta de referencia de la API de SFML. Aqu? hay un tutorial de video con SFML (en C++) pero no deber?a costarte mucho traducirlo a Python.

Saludos.
2
Preguntas y respuestas / Re: DirectX 9 Y GM8
Enero 04, 2012, 11:19:42 PM
?Cu?l es la necesidad? GameMaker utiliza DirectX, y es compatible hasta con la versi?n 8.

Si te refieres a utilizar la API nativa de DirectX, no estoy muy seguro de que haya alguna forma, pero puedes buscar una biblioteca externa que utilice Direct3D, creo que el mejor ejemplo es Xtreme3D, que no se que tan actualizada est? ahora, pero hace unos dos a?os utilizaba DirectX 9.0c.

Saludos.
3
Genial, pues muchas gracias a todos por los datos, har? un par de pruebas. El test me servir? mucho Wadk. Pueden dar el tema por resuelto.

En todo caso, si execute_string va a ser excluida de GMStudio, creo que optar? por otras soluciones :). Saludos.
4
Preguntas y respuestas / Re: Game maker mac
Diciembre 31, 2011, 08:10:21 AM
GameMaker no podr? exportar a Android/iOS/PSP hasta que salga GameMaker Studio.

GameMaker for Mac, es una versi?n de GameMaker ?nicamente para ser ejecutada bajo Mac OS X. Es decir, que hasta ahora todav?a NO hay un m?todo que te permita exportar a Mac/iOS desde Windows.

El fichero DMG es de un formato parecido a las im?genes ISO, frecuentemente las aplicaciones Mac o instaladores vienen en esta clase de formato.

Saludos.
5
Estoy en medio de un proyectillo; ahora mismo tengo en mente c?mo voy a programar algunos sistemillas. La cuesti?n es...

A como tengo planeado programarlo, necesito utilizar continuamente las funciones object_event_add();, object_event_clear();, script_get_text(); y execute_string();, que b?sicamente realizan operaciones sobre los recursos del juego y sobre el lenguaje.

Algunos me dijeron que esta clase de funciones afectan al rendimiento del juego, y aunque no he hecho todav?a ning?n test para corroborarlo, ?alguien sabe si esto es cierto?

Saludos :).
6
Nop, los archivos INI tampoco sirven en GMHtml5; en teoria cualquier archivo que trabaje de manera local no va a funcionar en GMHtml5.

Has revisado si tiene soporte de Cookies? Podria ser un buen reemplazo para configuraciones locales.

Sin embargo, si lo que quieres son highscores online, tendras que optar por otra via; podrias hacerlo en PHP con una base de datos.

http://gmc.yoyogames.com/index.php?showtopic=521202

Ahi hay un tutorial para la comunicacion de GM con PHP

http://gmc.yoyogames.com/index.php?showtopic=526795

Este otro te explica como programar tu sistema de highscores utilizando ese metodo :).

Saludos.
7
GM HTML5 no permite el uso de DLLs (obviamente, ya que no es algo soportado en la Web); sin embargo si puedes implementar librer?as javaScript.

Respecto a la conectividad online, considero muy poco probable que puedas trabajar con ello, ya que veo dif?cil que se implemente el uso de TCP/IP en una aplicaci?n Web. CREO que nativamente gmhtml5 NO implementa un modo de conectividad multiplayer.

Pero, aqu? est? una librer?a javaScript que te lo permitir? (39js):
http://gmc.yoyogames.com/index.php?showtopic=520438

Que es una implementaci?n de la librer?a 39dll en javaScript.

Posiblemente, y si tienes conocimiento en desarrollo Web, tal ves puedas extender tu juego haciendo implementaciones con alg?n framework.

Saludos.
8
En un evento DRAW de otro objeto (ya que si lo agregas al de tu personaje, dejar? de dibujarse su sprite).

Anexa esto:
[gml]
//color del fondo de la barra.
draw_set_color(c_black);
//dibujado del rectangulo de fondo.
draw_rectangle(view_xview + 19, view_yview + 19, view_xview + 21 + resplayer.maxresistencia, view_yview + 46, false);

//color de la barra.
draw_set_color(c_green);
//dibujado de la barra.
draw_rectangle(view_xview + 20, view_yview + 20, view_xview + 20 + resplayer.resistencia, view_yview + 45, false);
[/gml]

[view_xview] y [view_yview] son los valores donde se situa la view en ese momento.

Si no te familiarizas con la funci?n [draw_rectangle], te explico:

draw_rectangle maneja 4 coordenadas: x1, y1, x2, y2, que en un rect?ngulo corresponden a esto:


.----y1----.
|          |
x1        x2
|          |
.____y2____.


X1 va a ser la posici?n X donde se situar? el borde izquierdo del rect?ngulo. Y1 va a ser la posici?n donde se situar? el borde superior del rect?ngulo, as? mismo X2 corresponde al borde derecho, y Y2 al borde inferior.

Saludos.
9
Lo m?s com?n ser?a utilizar una DLL especializada en encriptaci?n de texto; en Game Maker est? disponible Base64, la puedes encontrar en el anexo de DLLs del subforo de F.A.Q.

En mi experiencia, utilizar sistemas o algoritmos de encriptaci?n populares por si solo no sirve de mucho (finalmente, alguien utilizando el mismo m?todo, te va a desencriptar el archivo y volverlo a encriptar). Tienes que darle un apoyo o crear tu propio algoritmo de encriptaci?n.

Hace tiempo, utilizaba archivos de lenguaje externo para tener varias traducciones del juego de la manera m?s f?cil posible, y me preocupaba mucho que un pelele metiera mano a los archivos haciendo uso de su bendito argot.

Lo que hice fue crear un algoritmo que generase un "c?digo de seguridad", parseando letra por letra el contenido del archivo. El "c?digo de seguridad" se generaba haciendo toda clase de operaciones (conversiones a valores ASCII, valores ASCII modificados por ecuaciones, reemplazo de cadenas por s?mbolos  especiales, etc?tera). La idea era que el algoritmo generara un "c?digo de seguridad" corto, pero al ser resultado de un parseo letra a letra, UNA SOLA LETRA diera resultado a un c?digo totalmente distinto.

OBVIO, ese c?digo era IMPOSIBLE de desencriptar (hasta para m?), por la p?rdida de informaci?n en las operaciones y conversiones.

?Y eso de qu? serv?a si NO encriptaba el archivo? Bueno, teniendo el generador de "c?digos de seguridad", generaba los c?digos del contenido de MIS archivos originales, insert?ndolos al final del archivo. Posteriormente, en el juego, utilizando el mismo algoritmo, se parseaba el archivo generando de nuevo un c?digo de seguridad, para compararlo con el c?digo anexado en el archivo.

Si los c?digos coincid?an, quer?a decir que el archivo NO hab?a sido maleado; si eran diferentes, significaba que ALGUIEN modific? por lo menos una letra del archivo, pues el algoritmo habr?a generado un c?digo DISTINTO al anexado en el archivo original, y de esa manera pod?as EVITAR  su lectura.

En pocas palabras, aunque le dabas permiso al usuario de poder leer el contenido de los archivos, si se atrev?an a modificarlos (pasandose de listillos), se hallar?an con la linda sorpresa de que su archivo no puede ser le?do.

Hacer un algoritmo de ese tipo no es muy complejo, aqu? te anexo un ejemplo MUY soso y programado a la r?pida:"

[gml]texto = argument0;
//ejemplo: ""Lorem ipsum dolor sit amet ac nisi enim. Duis tempor risus id massa placerat lacinia."";\
encriptacion = 0;
contador = 0;

for(i = 0; i <=string_length(texto); i += 1)
{
   letra = string_char_at(texto, i);
   
   if(contador == 0)
   {encriptacion += (real(ord(letra)) ^ 2);}
   else if(contador == 1)
   {encriptacion *= (real(ord(letra)) / 3);}
   else  if(contador == 2)
   {encriptacion /= real(ord(letra));}
   else if(contador == 3)
   {encriptacion -= real(ord(letra));}
   else if(contador == 4)
   {encriptacion += (real(ord(letra)) / 10) ^ 3;}
   else if(contador == 5)
   {encriptacion /= (real(ord(letra)) / 8) ^ 2;}
   
   if(contador < 5)
   {contador += 1;}
   else
   {contador = 0;}
}

return encriptacion;[/gml]

Lo que har?a este algoritmo (repito soso y mal hecho) ser?a regresarte un valor num?rico de acuerdo al string insertado (argument0), que deber?a ser distinto nada mas con cambiar una sola letra de un string.

Tu puedes reforzarlo agregando mas operaciones a los valores ASCII (obtenidos de la funci?n ord(); ), o reemplazando letras por cadenas, etc?tera.

El mecanismo para hacer todo lo que te dije no se te deber?a complicar mucho programarlo :P.

Saludos.