What's the best way to make 2D sprites look more 3D?

This forum is currently in read-only mode.
  • I'm working on a horizontal sidescrolling shooter. Everything looks so flat, except for the background which is using 3D boxes, particle smoke effects, and the explosions. That leaves the actual sprites that represent vehicles in the game's world which the player looks at the most...

    What can I do to give them a more dynamic look? I can't tell if a subtle skew addition would help anything, but it seems the most promising. I'm kind of avoiding bump/height mapping, for one reason or another, partially because I can't get the lighting to cast quite right. Lighting would sure make things better, I bet, but how does one go about adding a light that can cast on to the bump map? The lighting object?

    Anyway, I want to know your mimicry of 3D secrets.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Make renders of 3D models and use those as sprites. I guess.

  • _<

    I could do that, but ... I would prefer not to... I guess heightmaps it is.

  • Parallaxing....shadows....lighting....blurring the background...

    You should post a screenshot of ur game so far maybe we can give some suggestions

  • Parallaxing is a good way to go - if there are 3 levels of scenery moving at different speeds when the screen scrolls, you get a much better feel of depth than a completely flat level. Dropshadows (use the Dropshadow object, not the effect, it's faster and doesnt use pixel shaders) can also add some depth too.

    Blur horizontal/blur vertical are the two slowest effects. I'd avoid them except where absolutely necessary if you can. They can be optimised though and I'll try to do it soon.

  • Blur horizontal/blur vertical are the two slowest effects.

    Ha! I wish I'd known this before I used them on pretty much everything

    also that optimisation tips wiki page is incredibly helpful, fps drops suck.

  • Although the Drop shadow object is not very customizable, so you may want to avoid it.

  • hmm.

    So for parallaxing, you just set a couple different backgrounds, throw in a background image, then set the scroll number accordingly? Is there any way to do make that image loop in the window without quite literally making the entire landscape? Haha, I'm trying really hard to conserve resources.

    In one of your other posts you said that scrollable tiled background are coming soon, but aren't yet implemented, but is there a way to have, say, only a 800 pixel wide window and just have the parallaxing stuff wrap to the window, thus looping? I've been trying it out for a while, and I can't seem to get any kind of tiles to match up adequately and stay in sync.

    This possible yet? I was especially trying this with the Street Fighter style skewed floors, which really have a cool effect. Kind of an infinite loop of floor space, you know? That was tough, if not impossible, because of the weird skew effects going on.

    The more I mess around with the background images ,the more I'm really looking forward to the scrollable tiled background.

  • Actually, you don't really have to worry about the resources like that. Once you have your background in, it takes up just as much space as if you made a copy of that background. So if you're cutting up your background into separate pieces and looping them off-screen (so that one piece goes offscreen to the left, then moves to the right to scroll into view again) then you're pretty much wasting your time. So just make your seamless background, drop it in the layout, size it to the full size you need, and set your scrolling rate for that layer. It won't take up any more resources than cutting the image up into several chunks, and it's much less a pain in the butt.

    The more I mess around with the background images ,the more I'm really looking forward to the scrollable tiled background.

    Me too. I can think of a million uses for them. Fake parallax, rain, snow, fog, clouds, star fields, menu screen backgrounds, etc. etc.

    Then again, I was the one who first suggested it

  • It won't take up any more resources than cutting the image up into several chunks, and it's much less a pain in the butt.

    Oh wow, really? I wasn't aware of that. So is that also true of 3D boxes or are they handled differently?

  • It's the same with the 3D boxes. In fact, I'm pretty sure it's the same with all objects. Once an object is added to your .cap, you can add as many instances of that object as you like and your filesize isn't going to go up any appreciable amount. It will a little bit, just for the information on where to place it, what UID it is, and such... but we're talking a matter of bytes.

    Runtime is a different story, but as long as you don't have a metric crapload of 5mb .pngs with alpha flying around your screen at HD resolutions you're probably not going to see much in the way of a performance hit.

    In other words, you don't have to worry too much about it.

  • It's much easier to separate objects into multiple instances or groups of objects (such as arms, legs for a big model) than one instance with lots of animations. Shouldn't cause any slow down either.

    You'd want to be careful though with large images as deadeye said; 5mb pngs take a long time to load at runtime into vram.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)