HanClinto Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
Hey all! I've been learning a lot lately about creating isometric game art. As many of you know, I've been exploring the possibility of creating a browser-based casual multiplayer online game. I've been learning about Javascript and PHP and loads of other fun stuff -- most recently I've been learning Blender and trying to figure out how to make good isometric game art. I'm not sure how "good" my stuff is yet, but it's come a long way and is getting to the point where it's usable I think. I thought I would post some of what I've learned about creating isometric game art in hopes that it will be useful to other people later on down the road. Basically, the problem is trying to create customizable avatars when you're working only in 2d. The trick is to make your graphics so that they can overlay without interfering with each other. So I do 3 passes of rendering in Blender. One is with just the base character visible -- you only need to show head, arms and legs -- the rest of the torso is covered by the current attire. So this render is just with the base character set to visible, and all of the accessories set to invisible: (by the way, you can get the source .blend file for all of this right here so that you can see exactly how I do all of this) Then, you make whatever accessory you want to render visible, and you set the material for the base character to be of type "env", which means that it will still block light, but instead of rendering the base character, it now just renders straight to the "environment color". Because I don't have any environment set, it just makes those pixels transparent. I know it's probably confusing -- it took me a long time to learn all of this, so perhaps another picture would help: You can see how there's a cutout there for where the arms should go. That's so that when I paint this pair of jeans over the player's avatar, it doesn't paint over her hands when they swing by. You can do the same for other accessories (such as tops or shorts or other color pants) and come up with a whole assortment of things that you can customize your character with: I made a test page that will overlay the different outfits using some Javascript -- you can find that here: Sadly, even though Firefox's support of .png's is far superior to Internet Explorer's, Firefox's support of animated gifs pales in comparison to IE. I think this is the first time I've ever been so dissapointed with the way Firefox handles web pages. IE handles that graphical overlay test page sooo incredibly well, but I can't get it to work well in Firefox. I'm probably going to submit it as a bug report to Mozilla's bug tracker -- but it's a severe enough of a problem that I'm not sure I can make outfits customizable the way I had hoped (since I'm planning for a browser-based game). Aaaargh. I came so far in learning Blender and only to hit a roadblock like this -- it's frustrating. However, if Mozilla decides to fix this issue, then I'll probably continue as planned. I'm interested in knowing how well other browsers (such as Opera or possibly other versions of Firefox/IE) work with that outfit test page. If you try it out and have feedback, please pass it on -- I'd love to hear it. Again (just in case you missed it before), here's the link to the .blend. I think it's getting much closer to a professional setup that would really be used as part of an actual game production's art pipeline. With that setup, it doesn't take me long at all to churn out new outfits and render them and get them into the game (it took me less than an hour to render and put a dozen different accessories into that graphics test last night, once I got everything set up). So just wanted to post my progress for anyone who is interested, as well as make a sort of "internet archive of progress" for any lurkers who might come along who are trying to make their own isometric game art. Cheers! In Christ, |
|
penny Member Posts: 101 From: Registered: 08-15-2006 |
Wow clint! This is fantastic work. Good job! I always wondered how they could have such a variety of views of avatars. I just thought they hand rendered all the combinations. On a side note, the animations of the model is very fluid. I like it. ------------------ |
|
HanClinto Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
Thanks, Penny. Yeah -- I don't know that I would have known either except that I saw this technique used on an old isometric MORPG I used to play called Faldon. I wondered for years how exactly they were able to make their graphics like that, and as you can see, I've just recently figured it out. On a side-note, here's a minty-fresh bug report that I just filed over at Mozilla. Animated GIF support seems to be one area where FF has a number of issues -- so I'm not entirely confident that this will get fixed any time soon. We'll see though. Cheers! --clint |
|
luke Member Posts: 311 From: I use your computer as my second Linux box Registered: 10-30-2005 |
Thats some pretty good work there Han, but might I suggest that you use Java; as opposed to javascript/php because in order for you to get player updates, you need to constantly refresh the page, which is fine if your doing a 'conventional' mmog that is rather slow (ie it takes days to travel long distances) but if your trying to get a more fast paced game, java is probably the best option in terms of compatibility and speed (did I mention Java is easy to learn and program?), and it can also go in a web page (applet) but you probably already knew that ------------------ |
|
JeTSpice Member Posts: 433 From: La Crosse, Wisconsin, USA Registered: 06-10-2006 |
Great technique. You can create the pants and shirts and shoes in greyscale and then color them in the game whichever way you want. Han's technique also works for weapons. If there is too much overdraw and it slows down the game, you can assimilate all the overlays onto one picture. There's no free lunch, though, and your game user will be tapping his fingers while your code is chugging away, but the gamespeed will not suffer. |
|
jestermax Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
heeeeeyy if you're going to use java check out GTEGE (golden T game engine) it r0x0rs my s0xors (whatever that means) |
|
kiwee Member Posts: 578 From: oxfordshire, england Registered: 04-17-2004 |
he said Javascript not Java. very nice, could you tell me how you did the overlaying the images, was it javascript? Do you know how to do it in PHP, if so, could you please tell me, I have been trying to work it out with the help of some tutorials, but none of them are very clear. ------------------ |
|
CPUFreak91 Member Posts: 2337 From: Registered: 02-01-2005 |
quote: Nice work clint! I hope I remember most of this if I need to use it some day. BTW, one of the reasons you have a bit of disapointment with FF is that is has not passed the Acid2 test yet. I'm using Konqueror (not trying to start a browser war here) which does pass the Acid2 test and the GIF's render nicely with no glitches whatsoever. ------------------ |
|
HanClinto Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
Luke: BTW, Javascript can update the player's location without reloading the page -- that's what the miracle of AJAX is all about. It's how websites like GMail and Google Maps and DutchPIPE work. Jeff: Thanks for the feedback! Yeah -- grayscale works well too. I think that may be how Ultima Online did a lot of their graphics. It's too bad that there isn't an easy way to do color-cycling in web-pages, or else that would certainly be a very viable option for me. Kiwee: The only thing I had to use Javascript for was to change the player's outfit when you click on the page. In order to overlay the different images, I just used <div> html tags to make absolute-positioned containers, then put my images inside there. Like so:
That makes 3 overlapping containers, all containing different images, and all positioned at (200,200). I hope that helps! Thanks for the feedback, all! --clint |
|
jasco Junior Member Posts: 8 From: bakersfield Registered: 08-21-2006 |
That's awesome! I have to get crackin' on my skills. That gave me some motivation. | |
David Lancaster Member Posts: 276 From: Adelaide, Australia Registered: 05-22-2006 |
Clint this rocks! You're skills are improving amazingly well I'm learning/using blender atm for Galedor art work. Brandon has done some very amazing houses and various structures in blender and it's all looking good |
|
HanClinto Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
@CPUFreak: Okay, great! Thanks for the information about Konquerer -- is that built off of the Mozilla code-base as well? I know FF uses a fork of the Mozilla code from a few versions ago. @jasco: Glad to hear it! Please feel free to ask questions about anything in that .blend file. I made everything in there except for the base mesh -- but I modified it to make it cartoony, I did all of the rigging, animation, layering, and camera setup. @David: Thanks for the compliment! That's great that we're both learning Blender now -- I look forward to seeing some of your work! --clint |
|
CPUFreak91 Member Posts: 2337 From: Registered: 02-01-2005 |
quote: No. Konqueror does not use Mozilla code except maybe for a few minor things like FireFox plugin support. For a little more offtopic trivia, KHTML (the HTML layout engine developed by the KDE project) is used by Apple in their Safari browser.
[This message has been edited by CPUFreak91 (edited August 30, 2006).] |
|
David Lancaster Member Posts: 276 From: Adelaide, Australia Registered: 05-22-2006 |
Here is some of my work clint, I'm liking it cause I found a way to work it like the bsp editors I'm used to, by using many objects. I'll create 1 object, texture it, such as a beam of wood or a wall, then duplicate it and it makes things easier. The ability to manipulate verticies makes things easier as well. Here are some renders from 3DGS, I made the house, it's interior and the few furniture items, level design wise things are very bare:
|
|
HanClinto Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
*wow* -- that looks really good, David! I'm seriously impressed! So are you using Blender to make all of your models for Galedor? --clint |
|
buddboy Member Posts: 2220 From: New Albany, Indiana, U.S. Registered: 10-08-2004 |
whoa those are awesome... ------------------ |
|
Lava Member Posts: 1905 From: Registered: 01-26-2005 |
quote: Wow...that is sweet! You should post those in the Model Dump thread I would've missed seeing them if Han didn't link back to this thread ------------------ |