Tuesday, November 16, 2010

Color Theory Part II: The Theory (or Color Design)

A while back, I was going to talk about the design aspect of color a little more. Knowing how to get different colors is important, but knowing what colors your working towards is more important.

I'm going to relate everything in terms of my own game Cygnus, because I put a lot of effort into the color design. Well, the first level at least, which dictated the colors I would use in subsequent levels. The player ship for example...


...when it came time to decide the color for the player ship, I could have chosen any color in the world, obviously, but I knew I wanted the color to represent something; stand out and be unique. There have been a lot of games where the player's ship is of a boring color and I definitely didn't want that for Cygnus. Also, I wanted the player to be able to know where there ship was among all the other lines.

One day, Nick was playing Super Metroid for the first time and I noticed that the over all color of Samus's suit (bright yellow) was an 'almost' exact compliment of the color of the very first level, which was a cold blue.


These two colors came together to really visually give the impression that this area was cold, old and Samus didn't belong and was trudging through, really upsetting the place. Also it was very visually stunning.

I knew from that, that the player's color in Cygnus should be a compliment to whatever the first level was. Since I knew the first level was going to be some sort of dirt-ish planet. I chose a light brown that I liked. Which actually ended up affecting the choice for every other color in the game; because I got the player compliment color from this, and each world had to be visually different. Since everything in the game is drawn with just lines, being different meant having a unique color. (And animation, but that's a differant post.)

So the "compliment" for the brown that I chose was a mute blue.
















Also, since Gravitar was a big influence on the look and play of the game, I wanted to have the spawner be the same colors and animation as the spawner on Gravitar. So that blew the nice color compliment but it's okay cause it gives the first level a cohesive prop, which maybe the second screen doesn't have.

Since walls kill you, I really didn't feel the need for enemies, but, for things that move and animate around a lot, I colored red to let the player know that they are more dangerous than a wall.

- Tony

Top-Secret P.S. - I forgot to comment out a piece of code in Cygnus that let's you hit the 'F' key for brakes. It was a line I wrote very early on when I was testing the movement code. It also sets your fuel to exactly 10. So if your going for a high fuel score don't press it, cause' it will cause your fuel to reset.

Tuesday, September 14, 2010

color theory Part I : The tech

The first time you look at something like this

255, 94, 0

your like whaa?? But once you figure out what it is and you use it a while you start seeing it more like this







Or at least hopefully you do. Those three numbers separated by comas, is the RGB that describes a color to the computer. The first one is red, followed by green then blue. You combine those three colors and you will get the color your looking for.

Natively.

Theres another way for the computer to use those numbers. instead of "RGB" the alternative way is "HSL". (well to be honest the computer can do ANYTHING it wants with those numbers. But I really want to talk about HSL cause its fun.)

-The 'H' stands for "hue", which basically defines the color.
-The 'S' stands for "saturation", which basically means all white or all hue. or anywhere in between.
-The 'L' stands for "lightness", which also basically means all black or all hue. or (again) anywhere in between.

This is cool because using RGB can be very difficult if you, say, want to take a color and just make it darker. or would like to cycle through colors to create one of those psychedelic Jeff Minter style things. if you had the color defined as HSL you could just change the H "hue", and you got a different color with the same brightness and saturation. This is how i did the rainbow level in Cygnus.

Now, I know what your saying, Tony!, this sounds AWESOME but how do I convert to and from RGB and HSL? Well I found this c# code online a while ago,


And I converted it to c++ and using openFrameworks(OF is awesome!). This bit will take an RGB color and convert it to HSL...

// Given a Color (RGB Struct) in range of 0-255
// Return H,S,L in range of 0-1
static ofColor twRGB2HSL (ofColor rgb)
{
float r = rgb.r / 255.0f;
float g = rgb.g / 255.0f;
float b = rgb.b / 255.0f;
float v;
float m;
float vm;
float r2, g2, b2;

float h = 0; // default to black
float s = 0;
float l = 0;
v = max(r,g);
v = max(v,b);
m = min(r,g);
m = min(m,b);
l = (m + v) / 2.0;
if (l <= 0.0)
{
ofColor hsl;
hsl.r = h;
hsl.g = s;
hsl.b = l;
return hsl;
}
vm = v - m;
s = vm;
if (s > 0.0)
{
s /= (l <= 0.5) ? (v + m ) : (2.0 - v - m) ;
}
else
{
ofColor hsl;
hsl.r = h;
hsl.g = s;
hsl.b = l;
return hsl;
}
r2 = (v - r) / vm;
g2 = (v - g) / vm;
b2 = (v - b) / vm;
if (r == v)
{
h = (g == m ? 5.0 + b2 : 1.0 - g2);
}
else if (g == v)
{
h = (b == m ? 1.0 + r2 : 3.0 - b2);
}
else
{
h = (r == m ? 3.0 + g2 : 5.0 - r2);
}
h /= 6.0;

ofColor hsl;
hsl.r = h;
hsl.g = s;
hsl.b = l;
return hsl;
}



And this next bit will convert from HSL back to RGB...


// Given H,S,L in range of 0-1
// Returns a Color (RGB struct) in range of 0-255
static ofColor twHSL2RGB(float h, float sl, float l)
{
float v;
float r,g,b;

r = l; // default to gray
g = l;
b = l;
v = (l <= 0.5) ? (l * (1.0 + sl)) : (l + sl - l * sl);
if (v > 0)
{
float m;
float sv;
int sextant;
float fract, vsf, mid1, mid2;

m = l + l - v;
sv = (v - m ) / v;
h *= 6.0;
sextant = (int)h;
fract = h - sextant;
vsf = v * sv * fract;
mid1 = m + vsf;
mid2 = v - vsf;
switch (sextant)
{
case 0:
r = v;
g = mid1;
b = m;
break;
case 1:
r = mid2;
g = v;
b = m;
break;
case 2:
r = m;
g = v;
b = mid1;
break;
case 3:
r = m;
g = mid2;
b = v;
break;
case 4:
r = mid1;
g = m;
b = v;
break;
case 5:
r = v;
g = m;
b = mid2;
break;
}
}
ofColor rgb;
rgb.r = r * 255.0f;
rgb.g = g * 255.0f;
rgb.b = b * 255.0f;
return rgb;
}


The code isn't formatted very well here, but i'm lazy so I don't care.

Coming...(maybe)... color theory part II : The theory

Thursday, August 12, 2010

Battle Stations

"There comes a time in every man's life when he must kiss his wife and tell his family that he is leaving home and he will not be returning for he is going to war. "With what?", they may ask. And you'll tell them it is with one of the worst kinds of enemies, one that walks in the shadows, one that goes by no rules, one that preys on the innocent and weak. Your family may try to stop you. Mine did. That is why I killed them."

That was an excerpt from my recent novel "Stations Over Moonbase 94" for our new game 'Station'. What's that? Oh, right, I forgot, we have a new game!

Download: Station

Station can be summed up in six words: Space fights. Oh yeah. Space fights.

Some other descriptory words: It's a turn-based Strategy game on a 8x8 grid. If that sentence gets any kind of hot and/or bothered, please do download at GameJolt by means of the link above the paragraph above this paragraph.

Friday, June 25, 2010

Cygnus









It's an adventure game with Gravitar or Asteroid type controls. I've wanted to do a game like this for a while.

And I just uploaded it...ok ok I uploaded it like an hour ago, I went to go eat a sandwhich before I wrote this post.

You can download it here.

Wednesday, June 23, 2010

Pie in space




Intergalactic confections!


Sunday, June 20, 2010

screenshot?


from what? A new game?









maybe : ) Click on it to make it BIG!


Thursday, May 27, 2010

This Post Suffers From The Following Side Effects: Loss of Direction, A Questionable Existence, and Anal Leakage

Thought I'd update the blog and bump that Dio picture down. That things starting to creep me out.

So. How's everyone doin'? Let's see, what day is it today? Ah, yes, everyone geared up for Memorial Day? Uh, if you're in the US. I don't want to presuppose.

No news right now. Bad time to have a blog, really.

I'm thinking about doing some excersizing, perhaps some light aerobics. Sitting and eating isn't giving me the abs/buns/thighs/arms of steel I originally thought it would. I was thinking Cobb Salad, then push-ups, then coffee, then Krispy Kreme. No, wait, scratch that. I won't have any coffee.

Alright, I'll stop this while I'm behind.

Sunday, May 16, 2010

Tuesday, May 11, 2010

very special belated Mammy day!

We spent Mother's day eve making this game for out mother.

Your probably not our mother but its a fun 10 minutes to play through anyway! Then again you probably are our mother.


Thursday, April 15, 2010

Thunderware...one year old....

Today is the birthday of the website. And to celebrate were watching xbox live die. Both on Giantbomb and playing halo 2.

But enough of that, we do have some happy news, in preparation for the thunder birthday, I spent a little time tweaking sticky situation, the game that started it all and I'm now re-releasing it under the apply named moniker, "Sticky Situation 1.2".

Basically I smoothed out enemy spawning and the rate at which they shoot. Hopefully any long time Sticky Situation fans out there will appreciate the change.

If not, complain on our forums, email your congressman and start an online petition and I'll change it back. I want at least 7 signatures on that bad boy though.

Here's it's happy new home. Good Thunder-Thursday!

Friday, March 26, 2010

10 ten

here's a game I made in about a week. I didn't have any kind of image of what the game would look like in my head while I was working on it and I never got one, so it looks horrid. please excuse that.

here

The 'game' itself is based around the idea that you have ten seconds to do stuff and then it's the computers turn. I'll probably never get it passed this unfinished state but whatever and the game probably doesn't even deserve the amount of words I'm writing about it. pff

Check it out anyway!

~ Anthony R.

Wednesday, March 3, 2010

Station

[EDIT: This game is postponed.]

We just posted a video from our new game that we are working on.

It's called Station and we've been working on it for quite a while. Put a lot of blood sweat and tears into it. Were extremely excited that it's really close to being done.

The Video is of two computer controlled players duking it out on a map we call Symmetry.




More to come.


Thursday, February 18, 2010

1st Annual 2010 Golden Bass Awards



Hello, Ladies and Gentlemen and welcome to the 1st Annual 2010 Thunderware Golden Bass Awards! As par for our usual proceedings, we are giving out the awards, tonight, judged by a game's capacity to simulate and emulate the real-world pasttime of Aquatic Life Hunting and Capture, or as it is known colloquially: Fishing!


We give and deduct points based on the:
- Realism
- Entertainment Value
- Cost of Bait and
- Number of Puzzles Involving Capturing A Fish Weighing 10 or More lbs.

Tonight's list is categorized as "All-Time Best Fishing Mini-Games". Tonight's winner will recieve a gold paint-sprayed Golden Bass Award and a check worth $15 (USD)! Second Place Winner gets a Nintendo Wii.

The Nominees for the 1st Annual 2010 Golden Bass Award are:
1.) The Legend of Zelda: Ocarina of Time
2.) Harvest Moon
3.) Animal Crossing
4.) Super Backwoods Bass Fishing '99

Let's kick things off and get down to the Second Place Winner, shall we?
The Second Place Winner of the 1st Annual 2010 Golden Bass Awards is:

2.) The Legend of Zelda: Ocarina of Time
Nintendo, your Wii is being shipped to you as we speak!

Now, let's move on to our final category:
The Winner(s) of the 1st 2010 Golden Bass Award, with no contest, is:

1.) People who don't play Fishing mini-games.
Everyone, your checks and Golden Bass awards are in the mail!

Alright, that concludes tonight's proceedings! Congratulations to our winner(s) and, to the losers, better luck next time!

Thank you, and good night!

Wednesday, January 6, 2010

Desktop Chess

A long time ago I wanted to have a game of solitaire chess going that whenever I have a down-time point I could look at it and take a turn. There are many online java based chess games, but I wanted it to just be there and not have to have it open all the time.
My bro and I had just watched THIS...

...and the point where the character does some choice art with his desktop icons gave me an idea...

I give you desktop chess...i bet someone somewhere has thought of this, but whatever.




Just extract all the icons to your desktop, set the chess board as your wallpaper, use the "turn.ico" to help you remember which side's turn it is and remember...have fun.