Hola , hace tiempo estoy caliente con esto http://snakehillgames.com/spritelamp/ , explico como va-

Es un software pa' iluminar elementos 2d dentro de algun motor x (esta siendo portado a GM , orgasmo) , pues la iluminacion se basa en 4 ejes (x , -x , y , -y) , la idea es que haces tu sprite , dibujas de 2 a 5 "perfiles de iluminacion" y el programa calcula y dibuja su sombra segun estas coordenadas , segun donde pongas la fuente de luz , aca se ve un example- http://snakehillgames.files.wordpress.com/2013/10/zombie_horizontalpreview_grey2.gif?w=640&h=580

Ahora , yo siempre he pensado que los graficos 2d con la tecnologia actual pueden parecer casi 3d , en hd y esas vainas. Algo asi se puede hacer en el GMS? quiza no tan tecnico. Yo he hecho algunos experimentos con sombras y luces , queda bien sip , pero no tanto como lo haria esta aplicacion.

Probablemente se pueda hacer algo similar, pero adaptado a las herramientas de GM.  Esa iluminación es parecida a lo que usan en este juego.

http://www.kilobite.com/


[spoiler][/spoiler]

[spoiler][spoiler][/spoiler][/spoiler]

CitarWe simply blend 8 different images between each other; however it is done in a special way so every one of the prepared sprites is visible at the same time. After some simple math we obtain the final image and, voila! We have a consistent result regardless of what the situation might be.

"Símplemente mezclamos 8 imágenes diferentes unas con otras; esto sin embargo se hace de tal manera que TODOS los sprites son VISIBLES A LA VEZ. Después de algunos cálculos sencillos obtenemos la imagen final. Tenemos un resultado consistente sin importar cual pueda ser la situación.

Al parecer necesitarías crear distintas imágenes (en el juego son ocho) y mezclarlas todas, es decir, siempre vas a mostrar las 8 imágenes, el truco (o lo que entiendo) sería controlar el grado de 'blending' de cada imagen dependiendo de la posición de la luz en ese momento.

Sobra decir que se requeriría un trabajo enorme para producir cada una de las imágenes adaptadas a la posición de la luz.

Por supuesto que se puede con game maker, gracias al uso de shader... descragate este ejemplo y me contas

https://www.dropbox.com/s/gb03jegm3idpc9w/normalmap%20example.gmz


Un problema bien planteado, es un problema resuelto.

Visita mi grupo de desarrollo >>>
http://www.comunidadgm.org/index.php?topic=18299.0