test
Nov 18th 2008trentgUncategorized
Image urls have been broken in the feeds for a while now, hopefully it’s fixed now, but I’m posting this to test. Ignore this.
Trent Gamblin’s game development blog
Nov 18th 2008trentgUncategorized
Image urls have been broken in the feeds for a while now, hopefully it’s fixed now, but I’m posting this to test. Ignore this.
Nov 18th 2008trentgnooskewl & Games
I’ve been working hard keeping this game rolling after the indefinite loss of our main artist a few months ago. Things are moving ahead albeit slowly. Here’s another screenshot just to show some progress (some of you may recognize the sailor):
Nov 13th 2008trentgnooskewl & Games
I’m a member of a community of game programmers, and something I often hear is “I can’t draw” or “I can’t make music”. This excuse is used all the time to explain why very few games get made. I think people believe that good artists are born with their talents, and while that may be partially true, I believe you can learn to become a better artist. Let’s use some of my “art” as an example.
A few years ago, I decided to make an RPG (not my first attempt!). I decided to keep everything very simple because I knew from experience that drawing large, hi-res, beatiful graphics was beyond my current abilities. So I went with 16×16 sprites like an old Nintendo game. Here’s what one of the characters of that RPG came to look like:

Well, pretty simplistic. Some people would say terrible, because it’s either too small or too pixelly to see well. I happen to think this one came out fairly well, but concede that it is hard to express any real complex movement or emotion with such small sprites.
Well, next game has come around and since the first one was relatively successful I want to keep to the “keep it simple” philosophy, mainly because I know that major projects often fail because the programmer or team underestimates them. So I decided this time, 16×16 sprites while walking around, and approximately 32×16 sprites when in battle. Walking around is fairly easy to express in a 16×16 sprite, but attacking, slouching, casting spells, to name a few, gets difficult at lower resolutions. Well, I was quite experienced with 16×16 sprites when I started this time, but 32×16 was something new to me. Here’s an early battle sprite from the game:

As you can see here, there are a lot of different actions whereas the first image shows only walking, attacking (the topmost frames) and dead (the bottom-most frame). Bigger sprites allow more flexibility, but are harder to draw. This one is nothing special. The character looks very stiff and there are a lot of irregularities.
Since drawing the previous image, I’ve done a lot more pixelling, working hard to make it better every time. I’ve gotten used to bigger (although still relatively small) sprites, and learned a lot about drawing in general. I’m still not an amazing artist by any means, but I think now I’ve learned enough that if I focus on what I want the image to look like and spend time refining it, I can draw adequately enough that the game will not be an eyesore. Look at this next image. The character looks more lifelike. From the hair in his eyes when he’s attacked, to the look of hurt in his eyes when he’s crouching on the ground in pain. I think this progression, much like the castle post I made a while ago, shows that with effort you can learn to become a good artist. It just takes a little effort, and it’s well worth it.

Keep improving!
Nov 6th 2008trentgMiskellaneous
I’m giving away two bluetooth adapters in a draw at the end of November to promote a free software remote desktop/remote control application for mobile phones that I wrote. I haven’t got a huge response, so that’s why I’m posting this here. Go to the website below and submit your email address if you’re interested:
Nov 5th 2008trentgnooskewl & Games
SNES style RPGs are nothing new, obviously, and that’s why I’m always looking for new ways to add interesting little twists to OFE. Here’s one: a semi-strategic escape from random battles (for a while :).
Yeah, I’ve been somewhat discreet about this project, and this is the first video I’ve released. It’s brief but it shows you that the game is becoming a reality.
Now, the next section of the game… that will be a major change to the typical old school, stick-to-the-plan, game style. Obviously though, some discretion is needed here :{)>.
Oct 26th 2008trentgnooskewl & Games & Allegro
So you’re designing a level. It could be a forest, a swamp, a beach, or anything else. A static level is a little bit boring though.. why not spice it up by adding some wildlife. The current area I’m working on in OFE is a beach, so I decided to add a couple fish to make it look more appealing. You can go from this:
To this:
quite easily. The code and binary is attached. As a bonus I think this serves as a nice introduction to Allegro 4.9/5 for anyone wanting to learn it.
Oct 22nd 2008trentgnooskewl & Games & Allegro
This code is far from ideal since it’s so slow and specialized, but I’m sharing it anyway because there isn’t much info on this available. It generates lightning bolts that look like this:

Ok, so there are some modifications you can do to this. Have some branches coming off it and whatnot, but this is what I wanted. The branching should be the same as the main “trunk” only you would make the “radius” smaller perhaps. You could make this come to a point by shrinking the radius sharply at the end. You can also make it less straight by increasing the randomness factor and/or calculating paths based on randomly sized arcs. Anyway, here’s the Allegro 4.9 code:
Lightning bolt generation code
Oct 10th 2008trentgGames & Allegro
Some things are hard to draw, such as a large circular symmetric rug with patterns on it. Fortunately, some such things are easy to generate with a program. So where do we start? How about a big circle (you choose the color):

Ok, what else do rugs have? Tassles? Fine, we use our friends sin and cos to draw them at intervals around the rug (see the code attached below):

Now, most ornamental rugs have patterns on them. We can get as fancy as we want here, but let’s keep it simple. Again, sin and cos to the rescue:

Ok, so it’s looking pretty good now. The more creative of you may want to add some more patterns and style to the rug, but this will suit my purpose nicely with some modifications.
So I’m making an RPG, SNES style. That means that you’re looking down on the area not from the top but from an angle. So how do we fix our rug so it looks like it’s at an appropriate angle? We do it the easy way: scale it down on the y-axis and keep the x-axis the same. We’ll also add some random monocrhome noise and fix the oddities caused by scaling manually. Finally we have this:

Looks ok doesn’t it?
The “real” pixel artists will probably scoff at me, but I use dodge and burn frequently when drawing sprites and tiles for my game. You can achieve the same effect by manually selecting colors but my vision isn’t sharp enough to ever get the colors just right (yet?). Anyway, here is a demonstration, shading a desk and giving it a wood texture using dodge/burn in Paint Shop Pro 9.
First define the shape and basic color of the desk. This desk is for an Inn in my game and I wanted to make it look like cherry wood:

Next I give the desk some highlighting with the dodge tool. This is done in three steps, do get varying levels of highlights. If you release the mouse button and start again, the dodge tool will highlight further than it did the first time if you go over the original dodged area:

Here’s a zoomed view of the bottom corner:

Finally, I added some wood grain texture using the burn tool. This is much easier with a touchscreen or a good drawing tablet:

Well there you have it. Hand pixelled look in less time and requiring less skill and sharp vision.
Oct 7th 2008trentgnooskewl & Games & Allegro
I’m not going to go into a lot of details on this, since the attached code is pretty simple. This effect creates a “stoned” version of a sprite given the sprite and a stone texture. Use different textures for different effects. Here’s a screenshot and the code:

Bad Behavior has blocked 14 access attempts in the last 7 days.