Note: Most of this blog was typed up at the early hours of the morning before yesterday morning, with a few additions this morning. Feel free to skip most of it.
Love my new banner, OR ELSE…. it'll eat you.I've been studying Raycast rendering for a few months (And by 'study' I mean lightly glossing over the materials I have),and thanks to it I have gained a firm understanding of the way a Raycaster computes lighting for objects in a scene, as well as the way it constructs the final image.I then got the thought: If the final result is just an image, can't I approximate those lighting calculations in my 2D art? The answer is, after much trial and error, that the human brain can perform a close approximation of various lighting and shading methods to a reasonable degree of accuracy. The net result is that I turned this:Into my new banner. How did I do it? In three phases:First, I created a pure black layer over the main image and set it's opacity to about 85%.Then I painted some basic ambient lighting onto that layer (Diffuse, no specular).Then I created a "Screen" layer, and painted the specular highlights and light reflections.Oh, and I removed the wings and modified the horns. And painted christmassy Tron lights onto him in the Specular layer.Here's another old image of mine, polished up and re-lit:Which has a lot more ambient light than the dragon (Ambient light coming from the right hand side of the screen, main Diffuse spot coming from the left. Of course, all these lights are imaginary, but keeping them in mind I can create much better images out of what basically looks like crap in comparison).The primary difference between the two images is the amount of light reflected. The dragon absorbs more light, and the robot reflects more (Especially on the silvered parts).I also experimented with some fine detailing (Mostly on the horns).Winter comp entry - Redundant. See end of blog.Well, I have lots of ideas for this one, but I'm making a rule for myself: Stick to platformers. It's the genre I know best.Now, my design document this morning stood at "Linear platformer on skates". I'm still considering this… =PAnd I'm staying away from Metroidvania. Metroidvania style platformers and comps don't mix. Looking backI've been browsing around my projects folder again… And I am ashamed of the number of games I started, posted screenshots of, then dropped. Specifically, that 3D First Person Roguelike with the awesome sword I had made. D:What I'm doing now is rushing to finish my current WIP's; I intend to release them before New Years. Then I'm resolving to start 2012 with a clean slate. Who knows? I might actually re-boot that roguelike project again! (I know a lot more about 3D game development now. Spent most of the year reading Andre Lamothe's books, and articles off Gamedev.net).Amusement in C++I discovered to my great joy that the C++ pre-processor isn't very picky about what you #define. Here's a set of perfectly legal statements:// Defines
#define Begin int main(int argc, char** argv){
#define End }
#define Print(str) printf(str);
#define Println(str) printf("%s\n",str);
#define If if(
#define Then ) {
#define Else } else {
#include <stdio.h>
// Code
Begin
If 1 == 1 Then
Println("This is weird");
Else
Println("And highly amusing.");
End
End
// Normal function with exception
int foo(int n) throw (MyException)
{
return n;
}
int foo(int n) throws_int
{
return 0;
}
Response to comment by death in previous blog, 'cause I don't want to bump it
Hey. I DO have a PayPal account… I made it early this year with the intention of buying stuff…Also, my avatar can stay as-is for now… until I come up with a new one.I just noticed the grass blocks in your avatar. Neat.
We did exceptions the other day in programming class
I did not understand any of itToast, you just catch them.
Man, this makes me wish I was able to understand other languages besides GML. And I've barely scratched the surface of what I can do with gml. (I recently understood how surfaces work. lol)