Intel sponsors gamedev.net search:   
Journal of dbaumgartBy dbaumgart      

I'm a freelance 2d artist; My portfolio can be seen here.

Feel free to contact me if you have any questions.

My external blog: artscum.wordpress.com

Tuesday, April 29, 2008

Thoughts on mapping data in images; A Game engines for painters


As a pixel-pushing artist, from a development side, nothing thrills me more than expressing game data in images.

Here's an idea I've been thinking about:



Makes sense, I hope.

This is inspired by the Infinity Engine games, eg. Baldur's Gate, which used pre-rendered background images over which characters and props were drawn, with collisions bounded by pre-defined polygons, I think.

For my part, why not just paint the backgrounds rather than make a clunky 3d model? I considered hand-drawing backgrounds, but digital painting is much easier to modify as game design demands. Additional objects, interactive objects, the player character, etc could be added over (and behind) this painted background. The aesthetic of such a game could really sidestep current conventions, though I admit the inspiration is probably nostalgia for the old low-color depth "pixel-painted" backgrounds of old adventure games, but without the low color depth constraint, of course.

The collision map could perhaps be half the resolution of the background image to take up less memory (if that matters), and the background could perhaps be painted at twice the final size and scaled down so it looks nicer. Or instead of a collision bitmap, collision detection could be defined by polygons made in an editor. I like the idea of a collision bitmap though.


All kinds of information can be coded into bitmaps, of course. Take a Monkey Island style adventure game with painted backgrounds; The character scale can be coded to grayscale value:



But one need not limit oneself to thinking so literally. One could assign R G B and A to control different values, eg. R G and B control sprite coloration for colored lighting effects while A controls sprite scale. Or just code particular values to different attributes, a bit like paletted colors, and different 'colors' could control variables in different. For example, R and G could be used to trigger scripts, like of [10,50] means "take 10 damage when crossing this area", [4,6] means "only passable by flying creatures", while B can be used to control brightness across the board. Or something like that.

So sure, normal maps and heightmaps show how extra data can be stored in an image, but they are used only for rendering -- why not have it affect gameplay? What else is a bitmap but a map of bit values, anyway? They aren't only for making pictures, I have to remind myself, but it's nice to be able to have at-hand tools like Photoshop that can manipulate the data easily.

(This all might demand a return of my attention to the wide world of large multiple dimension array manipulation via Numpy. I should probably sling them $20 for how Numpy helped me get Cosmosis working, no thanks to weird Pygame problems with Numpy in the whole image analysis portion of that project. What a pain; something to look forward to, for sure. But I digress!)

So: As an artist, controlling data through what are nominally images appeals greatly to me.


[ Regarding my previous list of topics to cover, check this off as the new game ideas, maybe, because the line of thought came from thinking over an idea for a Miner VGA style casual game which I still may do, it just wouldn't involve much of the above bitmap nonsense, but could involve Numpy...

All the above is in the "pondering phase", in any case, obviously.]

Moving


Lots of work packing, organizing. I both love and hate getting rid of crap I don't need.

The good: looks like I'll have internet installed the day before I actually move in. [Friday and Saturday, respectively]

The bad: new bed arrives 3 days after move-in.
Heh! I don't mind, really. I've easily found in myself an enjoyment of the disruption of usual patterns of behaviour -- I wouldn't have minded being off the internet for a week, even, to give my brain a break. I guess if I really wanted to I could just ignore everything but work for some period of time and see how I feel about it.

[ I just realized that I've posted a day early. Oops. Who does that? Perhaps this just shows how out of it I am from the moving business. ]

Comments: 0 - Leave a Comment

Link



Thursday, April 24, 2008
Finding an apartment was rough, especially without a car. The last day of looking I walked back and forth across downtown Victoria like five times, at least 5 or 6 miles. (And that's like 50 miles in nerd-miles!) As previously mentioned, the first place we saw was totally awesome and, honestly, was underpriced for its location, size, and quality. Yeah, we didn't get it even though I shaved my beard off. (There's no justice!)

The worst place we saw was inhabited by some kids who smoked tons of pot perhaps 5 minutes before we got there, had Cannibal Corpse posters all over the place along with an extensive collection of Spawn figurines (Tangent: rumor has it that Todd McFarlane dropped out of the art school I went to)(not that I minded this all, really, it was just indicative of their interests.), empty booze bottles stacked three feet high, and an overflowed sink the night before, so the carpet was pulled up to dry. Classy to the max! Quite spacious though.

Puny Human Emotions


Money issues with regard to finding a place brought up some negative feelings in the last week. Basically, I don't make a lot of money, but I want to be able to [make a lot of money] while doing the things I love, namely art and making computer games. In other words, I want to pull a Besome Games (to give a shout out); I think it is totally possible, it just takes a good deal of concerted effort over time that most people cannot otherwise afford given their situation. What I mean is that I don't think I can do this because I'm exceptionally talented (as much as I like to think I am; I mean, I'm alright, but I think that anyone can do pretty much anything if they have enough time and support), ... but because I am in a situation in my life which allows me to dedicate the time and effort it takes to build a career as a freelance artist without having much else to worry about.

In other words, I was seriously questioning my direction in life, but I'm feeling a bit better now. Hmm.

New Living Space


It isn't an apartment exactly, but a basement suite, and it's one frickin' block from the ocean. It's got two bedrooms, so one of those is going to become my 'home office' -- this will be excellent for my productivity; my current setup is... crowded and lacks the privacy that I demand as a finicky artist. And the owner of the place is a former art teacher, so she thinks I'm totally cool.

The only downside is the bathroom is quite weird. The bathtub/shower is on a sort of series of raised platforms, so there's maybe 4.5 feet of headroom in the shower. I'll suffer that for the awesome location.

So what about Game Development?


I'm too tired to put the effort into this post that it deserves, so I'll just say what I want to cover in the next couple weeks:

- Art Direction, especially as regards freelance artists, a situation in which no one has the job title of "art director", so something has to be worked out ad hoc
- Freelance art, money, and pricing
- Another game idea (I know, I know! But hear me out ... again! It'll be totally cool!)

So I won't do my regular Wednesday updates for a couple weeks because I've got to organize and pack all of our junk, the move to the new place, unpack and organize again, paint the place, and wait for an internet connection. But I'll try to post about the above topics when I get some spare time.

And a word on Inkscape


Yeah, I actually integrated the use of Inkscape (found through Trapper Zoid's tutorial) into Photoshop work. Vector art is neat once one gets the hang of it. I can't show the work yet though, contract and all. Just had to give some cred where cred is due.

Comments: 2 - Leave a Comment

Link



Thursday, April 17, 2008

Aragon Online


I mentioned it last week, so here's some of the work I've been doing for Aragon Online that I've put into my portfolio:





These are fun to do. Takes a long time though, longer than you'd think -- low resolution doesn't make things easy because it is difficult to suggest more detail than actually exists.

Linx0r


Linx0r is almost released (I did the art for it, by the way); Very cool. I thought I'd send a plug in that direction.

Personal Stuff, Other Stuff


Well, I shaved my art-student goatee/beard off in an attempt to look upstanding in an effort to get the best apartment ever. But then the dude (and dude he was; he was my age and had a goatee) ... well, I guess I already said what he was like, and I don't think anyone much cared how I looked because no one making a decision about giving us the place actually saw me, I think. Hmm. So. Anyway, if we get this 2 bedroom place we plan to make the second bedroom my home office sort of thing, and it'll be brilliant.

Before and after:



I don't actually look as cool as the dramatic lighting and angle suggest in that second picture. But yeah, with no beard, I have nothing to play with while I pretend to think, so I'm going to have to grow it back. I don't grow hair very quickly, so this'll be a while. Heh.

Anyway, apartment hunting took up a good bit of time early in this week. Hopefully I get this place so that I don't have to deal with it any more AND I'll be the happiest person ever because the apartment we looked at is so awesome. Did I mentioned how much I want to get this place?

And Paradox's Rome has taken over my free time. (I like their loading screen art because I like to imagine myself painting it. Is that so weird?)

[Edit: Hey, dcosborn posted, woo! I need to mention him more often because That's What I Do.]

[Edit 2: Didn't get it. Damn.]

Comments: 5 - Leave a Comment

Link



Thursday, April 10, 2008
I'm just really tired. It's been a good week. I'll get on with it.

Isostrat


The shot:



I cleaned up the GUI style image so that it could stretch (beats actually solving the problem 'eh) and implemented mouseclick collision with the gui element. Or elements, if there were more. I didn't have much time or energy for coding this week though, so nothing else to share.

Digital Painting


I did tons of painting, though!
First, a vaguely Lovecraftian monster because I realized that all I've been drawing lately is robots and stuff so I though it'd be nice to do something organic:



(Laura said it looks cute. Can't say I disagree.)

Note the colors used in the above picture, that spaceship I made a while ago, and the Alien Robot picture -- this is like my green and purple period or something. Weird. I just never used much of that low saturation dark green and purple and I've discovered what lovely colors they are for drawing cold, alienating subjects. Or something. Or even better, compare the Lovecraftian Monster and the Alien Robot -- numerous tentacles/arms, multiple glowing cyan eyes; I realize now that I drew the same thing over again in organic form. Wild.

And here are a bunch more paintings I did:



All of the top and bottom right was experimentation and messing around to make content for Delta Spire. I'm trying to loosen it up a bit, actually finish paintings, and embrace cheesy Skiffantasy, laser swords and 5-ton shoulder pads and all. Hmm, and the girl/robot picture is probably the most Anime thing I've ever drawn.

The portraits in the lower left were some test shots for a client who wanted, uh, portraits. Finally I think I'm finally getting the hang of drawing faces decently -- the actual portrait I did turned out very, very nicely, if I may say so; I'll have it up in my portfolio soon enough. The goblins were inspired by my Aragon Online game; though I almost thought I'd have to give it up when my army got totally thrashed and my goblin priest's loyal bodyguard got whacked, rendering the portrait obsolete, but it turns out he lived. Good.

(Bloody Dwarven infantry. They're tougher than they look.)

Freelance Work


For all my previous existential angst, I've been really busy this week and am getting all kinds of work from all kinds of clients -- they're coming to me now, I don't have to beg for jobs! Heh. It's fascinating, but it looks like I can get away with doing freelance graphics for a living (and about time -- I'm also looking for an apartment, not that apartment hunting helps with freelance work time).

I guess it's just a matter of building both a portfolio and credibility by taking jobs - and taking them cheaply. Still, I'd rather be doing artwork than working in retail, if that's what it came to, even if I make the same amount of money on average. I love doing art; The more I do, the better I get, the more credibility I have, the more I'll be able to ask for it, etc etc.

(I'll make the nerdiest analogy ever here, but you're all gaming geeks so you'll understand. Doing this work is like an RPG -- at first you start out bashing rats with a rusty stick for pennies, but you keep at it, get experience and loot, advance your (art) skills and reputation with the local game designers guild, start getting bigger jobs, fatter loot ... )

Of course, it's when I start to actually have to get choosy about clients then I'll know I've made it for real.

In all I've been busy and feeling good for it.

Comments: 4 - Leave a Comment

Link



Wednesday, April 2, 2008

Isostrat 6


So squexes rock my world, doing a brick style layout of 'em. There are always an odd number of rows and odd rows always have +1 tile so that the corners always have 3 neighbors instead of potentially having 2 (noting, of course, that row 0 is even). Easy!

Onto getting the GUI started. This is my set of border graphics:



Which should look like this:



But looks like this:



Because Pyglet doesn't seem to have a function (YET) for drawing without stretching the texture, or something. Investigating the Pyglet source has been education and shall likely lead to me writing my own tiled blit function. Oh, OpenGL weirdness, how I haven't missed thee!

Pyglet is amazing and I cannot recommend it enough, especially in consideration of new features being added, as can be seen in the Pyglet 1.1 alpha including a sprite class, animation handling, and um, other clever things. Brilliant stuff though, and far too easy to use.

Coding again is a great joy. It makes my mind work in pleasurable ways. At present I'm treading old ground in Isostrat development building the map, gui, gamestate, imagecache systems, and it's both easy in that I know what I'm doing with far greater perspective than the last time I did it, and in that Pyglet's OpenGL is lovely because I don't have to worry about limiting the pixels I'm pushing at the screen like I did in Pygame's SDL. Stuff works the first time rather than having to be struggled through line by line. Damn I'm good.

(Oh, but the OpenGL specific nonsense will be a struggle, I know, because it already is; and wait 'til I get to coding new things that I haven't done before like, say, savegame serialization/de-serialization and AI.)

Digital Painting


I liked how these turned out (sketches though they are, basically), so here they are with links to full size:



I think this was inspired by the Mongols invading my city like 5 times in MTW2. The belt-buckle armor straps are far too anachronistic and the sword is the wrong angle compared to the hand holding it and as well it was obviously drawn to fit into the canvas space, which is stupid. Lesson: Don't be precious about erasing parts of a painting that you love but don't work in the painting (eg. the sword), and don't draw according to the edges of the canvas unless you really intend to; This is digital painting, there is no canvas!



And this one is a bit more nautical, perhaps.

Just for fun, I want to show the palette I've been using:



I think it's important to break out of using the default color palette because, frankly, the default sucks. It doesn't reflect the distribution of colors that you will use in your actual work -- I use far more shades of green, earth tones, and metal tones than the default palette provides, and if I used only the default I'd be making poorer color choices.

So for any aspiring digital artists out there I recommend building a palette for yourself, either in an image in which you can just hold down "alt" and sample from (in Photoshop), or in the actual palette window (which I find awfully tedious to arrange and modify so don't use myself).

Holy crap I'm so famous, OR: A comment on Art School



Scroll down to Media Arts and Digital Technology. I can't believe they put half those images there, like the dude knocking down the door I drew specifically outside of school because they wouldn't let me draw mere "illustration" in fine arts.

[And notice how the drawing section is a bunch of sculptures - that's fine art for ya: any kind of "mark making" be it on paper or not is considered "drawing". Same for the painting award -- that went to someone who appears to have made "installations", which are essentially a sort of sculpture if you want to be small-minded about it.]

Who's laughing now!?

But then again the MADT department was always very good to me, the faculty are a bunch of badasses (I bet they'd love that I describe them like that) in that they encourage students to do whatever they really want to do. Many students have a very difficult time dealing with not being told what to do, especially in the early years of art school. Many drift and talk about how they don't learn anything -- that's 'cause you've got to take some initiative! And the school system up to that point has, in that lovingly oppressive Prussian tradition, only ever prepared students to follow instructions and quietly do as they're told!

Hmm. Moving on.

Free Graphics





There are almost enough of these to be slightly useful. Anyone who wants to use 'em non-commercially, just credit me and link to artscum.net; that's all! I'll make an actual post in the appropriate section about this one of these days.

Ps. The space suit character is now named "Zem"

Comments: 0 - Leave a Comment

Link


All times are ET (US)

 
S
M
T
W
T
F
S
1
3
4
5
6
7
8
10
11
12
13
14
15
16
18
19
20
21
22
24
25
26
27
28
30

OPTIONS
Track this Journal

 RSS 

ARCHIVES
October, 2009
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
January, 2009
December, 2008
November, 2008
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007