The best way to do a Diablo style iso environment?

Discussion in 'Game Development (Technical)' started by billy7777, Jun 5, 2009.

  1. billy7777

    Original Member

    Joined:
    Sep 8, 2004
    Messages:
    69
    Likes Received:
    0
    Hello Everyone,

    I have programmed a 3d Isometric RPG game:

    You can see some screenshots and info here (to get a better idea of what I have done)

    http://www.lasthalfofdarkness.com/vampirecity/vampire.htm

    The walls, floor and characters are all in 3d - however some of the trees and more intricate items are textured plains in order to get the detailed quality that my 3d engine can handle

    QUESTION: I want to make it completely 2d - pre-render everything... then I can have detailed temple settings with cracks, tiny stones everywhere, ruins with vegitation, etc.

    but not quite sure the best way to do this - how do you think diablo's or Titans quest environment is created (in production) and placed down (through code) on the screen?

    Is each item placed onto a layered terrain? or is it a series of pre-rendered flat tiled 512x512 (or whatever size) graphics placed onto the screen?

    If I pre-render an entire huge castle that takes up several 1024x768 screens do I paste it as one graphic or cut it up into smaller graphics? and place down as tiles?

    I know there's a right way to do this and really do not want to re-invent the wheel - I really would like to know how blizzard or titans quest did it and just do it the exact same way...

    If anyone has any ideas... much thanks.

    Thanks
    Bill
     
  2. Sybixsus

    Original Member

    Joined:
    Aug 2, 2004
    Messages:
    959
    Likes Received:
    0
    I'm pretty sure that Titans Quest was pure 3D. Can I ask if you've tested and proven that your 3D engine can't handle the amount of detail you want in 3D or whether you've just assumed that it can't? With an isometric perspective like that you can easily cull everything that's not in the visible area ( which will be a large amount of the level ) and you should be able to draw quite a lot within the visible section of the map. My game has a similar perspective and I probably don't have the amount of detail you want, but I do have dynamic soft shadows, normal maps on every surface and a glow pass. The framerate is very good, and the block occlusion system I implemented was very simple but effective.

    If you already know all this and you're already doing or have done it all then I don't mean to patronize, but it just felt like the easiest (in workflow) way to do this when I came to it. I can't suggest anything on the 2D Iso rendering, I'm afraid, I've only ever done 3d.
     
  3. Backov

    Original Member

    Joined:
    Oct 23, 2005
    Messages:
    812
    Likes Received:
    0
    Ya, TQ was definitely pure 3d.

    I agree with Sybixsus here - unless you're targeting a very low spec, your 3d engine should be able to give you as much detail as an indie can realistically produce content for in a 3/4 view.
     
  4. billy7777

    Original Member

    Joined:
    Sep 8, 2004
    Messages:
    69
    Likes Received:
    0
    Thanks for the comments guys...

    I would love to do the game entirely in 3d - but my engine won't allow for the detail I see in even older games. (expecially at the resolution I want to display) Even with the cull drawing only a small portion of the game world at a time.

    I want very lush vegetation with detailed vines, and hundreds of rocks, cracks and trees, ancient ruins with destroyed rocks and bricks everywhere. (with very rounded and random smooth edges) I figure 2d backgrounds with 3d characters would be a nice way to go to get the results I want.

    But just need to figure out the proper way... layer the 2d graphics as individual objects(graphics) or tile the graphics. And if so... how to cut the graphics when creating them. If I could just see how the graphics were exported on another commercial 2d game - Are they individual graphics with black matte for transparency to be layered over terrain or are the exact same size prerendered graphics tiled 256x256 tiles?
     
    #4 billy7777, Jun 5, 2009
    Last edited: Jun 5, 2009
  5. vjvj

    Indie Author

    Joined:
    Sep 25, 2004
    Messages:
    1,732
    Likes Received:
    0
    Why won't your engine let you? Performance, or features?

    If it's performance, have you profiled your game to make sure this is actually the case? Your game looks good, but it doesn't look like you are doing anything inherently expensive. It should have little problem running on low-end Intel, and if it doesn't I could probably help you find out why (and fix it, if possible). What is your desired min spec? Re-doing everything in 2D is going to be pretty costly.

    If it's a problem with your engine's features, we might be able to help you with that, too.

    Usually isometric games are done as tiles, but I'll let someone with more modern 2D expertise chime in on that topic.
     
  6. Acord

    Acord New Member

    Joined:
    Jul 26, 2008
    Messages:
    1,217
    Likes Received:
    0
  7. Andrej Vojtas

    Andrej Vojtas New Member

    Joined:
    Jan 9, 2009
    Messages:
    354
    Likes Received:
    2
    First of all congrats on what you have so far! There is a lot of work behind that!

    To answer your original question:

    (1) tile based approach: The really old isometric games used a tile approach (Falout I and II from 1998): you can explore how it internally works here: FiFe: Flexible Fallout Like Isometric Engine: http://fifengine.de/

    + there is also a mod community for Fallout, I remember it was possible to unpack their assets file and see how they stored it (). See the Fallout 2 modding community here: http://www.nma-fallout.com/content.php?page=fo-modding

    (2) There is an isometry adventure pack (I guess from from 2007) for torque game builder: note: I do NOT recommend TGB, it has lots of flaws, but you can see how they did it.
    http://www.garagegames.com/products/adventurekit

    (3) The Bladurs Gate, Icewind Dale etc. series used ONE big image map for the whole map: like 4000x3200.

    (4) Diablo 2 uses a mixed approach: tile based ground and big images for objects. Not whole castles, but building blocks that need to be set to transparent once the character is behind them (like a wall segment etc.) It's also much easier to CREATE the maps in your editors if the tiles are bigger.

    I myself wrote a tile-based iso engine and then rebuild it to a ONE image background as it SO MUCH MORE COMFORTABLE. The object tiles are as big as you need them. One rason why the tile based approach was used in the old games was to save on the RAM requirements. The most improtant reason is the budget: see bellow.

    Note: an important thing to keep in mind, if you use hardware acceleration, you need to limit the max size to 1024x1024 as some low end gfx cards don't support higher resolution of textures.

    Most recent indie iso games:
    - Eschalon: tiny tiles
    - Kivi's Underworld: small tile based too
    - Avernum, Geneforge: small tile based

    The bottom line: it's much more a BUDGET problem, then an implementation problem nowadays:
    - if you are a skilled artist: make big detailed unique background maps and objects. They look better, that's what Bioware didi to push the visuals of isometric games forward. I'm sure you could find a mod site for their Infinity Engine too. Or maybe they are even willing to open-source/license it or whatever.
    - If you are a better coder: make a cool "small" tile based editor, invest into art outsourcing (you pay only for a tile set, not for each unique map) and build your maps from it. If you are a really smart coder, code a smart piece of code hat generates the maps for you: the Holy Grail of small budget projects: procedural content.

    This all said, now comes the twist: I don't recommend you to go the pre-rendered way. The only reasons to go that way is:
    - you are an awesome 2D artist and this will make the game stand out
    - you want really massively insanely detailed characters with pre-rendered dynamic cloth, fur and hair (WoW cinematic trailers style): too bad you picked the wrong perspective to show them off, but still: yes this is something you can't make in real time 3D without raising the hardware req. Be prepared for BIG install size: 1 DVD easy

    Now if you are ok with 3D characters: which is very wise: small install/download package, lots of animation moves possible etc., I don't see a reason why to do the background 2D.

    Some developer/artistic feedback (based on your previous game Lost City...): The amount of details on the objects and ground seems OK too me from the screenshots. What really strikes me is the amount of objects on the screen: the screens look really empty: but it's not the objects that lack details, it's the scene lacks objects.

    What your visual style needs the most, is lightning, and a more interesting color scheme (all screenshots are at night and kind of blue/violet lit). Plus if it's 3D, try to make it less flat: you don't need cracks in walls, you need to break that flat ground to create shadows, etc.

    Hope this helps. Good luck.

    P.S.: just a little advice completely off topic: it looks like a big project, a lot of time being invested in it: it may be worth stopping for a moment and thing about what tools you use, so you can take to different platforms easily: PC, OS X, Linux.
     
  8. AlexWeldon

    AlexWeldon New Member

    Joined:
    Feb 6, 2008
    Messages:
    1,256
    Likes Received:
    0
    I think he means lighting, not lightning, though of course there's plenty of room for the latter in a vampire game too.

    I agree that what you're lacking is detail, but that this can be accomplished by creating a bunch of non-interactive scenery objects and sprinkling them liberally through your levels. I'm no 3d expert, but I'm pretty positive that even stuff like cracks in the floor should be doable that way, the same way they do bullet holes and decals in FPS games.

    As a lover of 2D games and a 2D artist myself, you'll rarely hear me recommend to anyone to stick with 3D for a game that can be done in 2D... but in this case, it looks like you've come a long way with 3D, and I can't understand why it should be necessary to make the switch at this point.

    Also, this is not related to your question, but hire a writer! Your game looks pretty polished... I have no idea how it plays, but it looks like fun, anyway. However, the writing that I see on the website and in the screenshots is way out of proportion with the quality of everything else. Everyone knows the term "programmer art," but for some reason, there seems to be much less awareness that writing is something that needs to be done by a professional as well.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer