Diablo style graphics

Started by
4 comments, last by Thanamos 14 years, 8 months ago
Im just thinking out loud here. Say I want to make a 2D game scroller, where you want to play a soldier, along the way you can get new weapons and new pieces of armor, armorpieces attached to different places (Head, Chest, Arms, Legs, Feet, Hands) and I want to portray it realisticly, if the player get yellow gloves I want to see yellow gloves, not just the same character like FF style games. I know diablo did this, you have a ton of different combinations, and each combination is shown when you run around, and Im wondering how they did it. Did they really have 6 different angles of every graphics there is (I know they rendered everything so its not unthinkable) and just put together a bunch of different flattened bitmaps, or is there a better way, like using a filter to change the palette of the armor. What way you only have to have 6 angles of every model, not every variation of said model. If this is true Im wondering if maybe 3D is the way to go, atleast then I would only have to have one model, and several different skins, and each skin could have different colors. I know Baldurs Gate also did this to a certain degree, so it can obsiously be done, although maybe you need an AAA title and enough manpower.
Advertisement
The way you describe sounds very reasonable for what was done back in the 1990's. That said, going 3D nowadays is probably going to be your best bet. Notice how Diabo I had significant limits on how many variations it could give; there were only three types of armor displayed per character. All one-handed swords where shown the same, all two-handed axes the same, etc. All helmets appeared the same. But still, all this was most likely taken from 3D model renders as drawing that much artwork by hand would be a phenomenal undertaking. So these days it would probably be better to just take the 3D models you have to make anyways an put them directly into the game.

All IMO, of course. I did not program Diablo, this is just educated guesswork.
I've been working on a game where we used palette swap to allow the user to customize his character. There was also a couple of different skin that could be used. It was all in 2D and was working very well. However this was a cell phone game so memory was a real problem and 3D wasn't an option. The best solution always depends on what you want to do.

If you want to use 3D, the easiest way would be to separate each part of equipment into a distinct object and connect this object at the appropriate place in the character skeleton. This way you do not have to create a texture for every possible combination of objects. One example of this would be a sword. The character is not designed with a sword in its model, you connect it later to the hand of the character.

I do not know for Diablo 1 but Diablo 2 animations where made using 3D editors and exported into 2D. It's explained in their post-mortem here.
I would also say go with the 3D model approach.

Crate a 3D model for each piece (helmet, armor, weapon, etc) and when a user get a new piece that is what you use to render on the screen. Kind of like lego. Interchange the bits and pieces. This will be less work then trying to create a full 3D model of the character with all the different combinations possible that the user can choose.
I'm pretty sure they did pallete swapping to give the items different colors. They definitely had all the body parts from 6 angles, how else could you see all those things? They prerendered the sprites so it's doable. I remember as a kid I used to think someone was an extremely 1337 pixel artist and would draw all the sprites in Starcraft and Doom and Diablo by hand like I was at the time because I was getting into spriting.

Also all the different body parts are drawn separately so the sheild the player was holding would be drawn on top of the arm while the arm would have the right gloves drawn on it and so on...

If you take the time to make models nowadays, I guess it's worth it to just go with 3D instead of prerendering the graphics and using 2D. It sounds like a lot of tedious calculations have to be made to have all the sprites align properly for all the views.
Thanks for the feedback guys.

I guess it's decided then, ill make the preview version in plain 2D, just to get it done and then I guess Ill try to find someone who can make alot of nice animations for me :), if the project lives that long :)

This topic is closed to new replies.

Advertisement