1. Hey! Guest! The 33rd GMC Jam will take place between May 23rd, 12:00 UTC (Friday noon) and May 27th, 12:00 UTC (Monday noon). Why not join in! Click here to find out more!
    Dismiss Notice

Asset - Extension z3d engine

Discussion in 'Marketplace' started by csanyk, Feb 4, 2018.

  1. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    Z3D Engine is a fake-3d engine designed for simplicity, efficiency, performance, and ease of use. Z3D engine provides position, motion, collision detection, and depth sorting/draw order for your 2.5D games. Suitable for games where you have a static, 3/4 view of the world, where the side and top of objects are visible, like The Legend of Zelda, Double Dragon, River City Ransom, TMNT The Arcade Game, etc.

    Easy to use, fully documented, and the source code is expressive and well commented.

    Full documentation + demo included.

    Primarily intended for use with GMS1.x, I have not yet tested with GMS2, but I will eventually be updating it for use with GMS2.x as well.

    In a 2D GameMaker room, x and y coordinates are used for positions in the 2D space. 3D requires a third variable for the third dimension, z. In the z3d engine, x and y are used to represent the "floor" plane as viewed from a top-down perspective, from a forced perspective that gives the viewer a full view of one side and top of objects, while z is used for altitude.

    Marketplace
    Full Documentation
    Play-before-you-buy Demo (HTML5) - Arrow keys to move, Z to jump, Backspace to restart room.
     
    Last edited: Feb 5, 2018
    trg601 likes this.
  2. Regius

    Regius Member

    Joined:
    Oct 13, 2016
    Posts:
    1
    Hello, I've been trying to find the demo to play around it before buying but I can't seem to find it?
     
  3. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    The demo room that I referred to is part of the asset package. It's included to show you how to use the extension, not as a "try before you buy" type of demo. But that said, I think that would be a good idea to help potential buyers know what they're going to get, so here you go:

    Play-before-you-buy Demo (HTML5) - Arrow keys to move, Z to jump, Backspace to restart room.
     
    Last edited: Feb 5, 2018
    Regius likes this.
  4. Ghost in the IDE

    Ghost in the IDE Member

    Joined:
    Jan 8, 2018
    Posts:
    576
    Out of interest, what sort of 3D is this?

    Looks more like orthographic with the attempt at some front on depth.

    [​IMG]
     
  5. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    I call it "Fake 3D"... I'm not sure what a mathematician would call it. I'd actually like to know myself. You basically see the full side and the full top of the objects, flattened and without perspective.
     
    Last edited: Feb 5, 2018
    Ghost in the IDE likes this.
  6. kburkhart84

    kburkhart84 Firehammer Games

    Joined:
    Jun 26, 2016
    Posts:
    463
    The "projection" is considered a simple view angle(maybe 3/4), not anything special like "isometric" or anything. What is more special to me is the math implementation you have letting your objects get on top of other objects like in 3d space(despite being a 2d engine), which is part of the fake 3d effect of course.
     
    csanyk likes this.
  7. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    I guess from what I've been able to gather, this is what's known as "oblique projection", or something close to oblique projection with some violations.

    I'm going to try to learn more about this, in the hopes that it will aid my future development of the engine :)

    Thanks... getting that to work in the special cases took a lot of testing.
     
    Last edited: Feb 5, 2018
  8. ShroomTastic

    ShroomTastic Member

    Joined:
    Feb 18, 2018
    Posts:
    12
    Can I use non opaque pixels with this engine?
     
  9. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    Sure, of course.
     
  10. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    3/3/2018

    Version 1.1.0 released!

    Depth sorting for draw is now based on the "binlist" approach described by @Ariak. This should enable better scaling performance.
     
    Last edited: Mar 3, 2018
  11. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    540
  12. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    Thanks for checking out the demo, and for the feedback.

    That box is actually hanging in the air. It's Y-position is aligned to the player's start position in that snippet, so you're not actually jumping into the background -- you're jumping up onto a box that is floating in the air. It's hard to tell because there's no shadow system built in to the engine. I don't implement a shadow system because there are so many ways to do it, depending on the visual style you want for the game.

    You can also stand under the box and jump up, bumping your head on it.
     
  13. csanyk

    csanyk Member

    Joined:
    Jun 20, 2016
    Posts:
    820
    I've added an Appendix to the documentation, which goes into the visual perspective used in Z3D. Thanks to @Ghost in the IDE for asking the question that prompted the thought that lead me to write this section of the documentation.

    I don't think it's essential to working with the engine, but I hope that it is helpful and clear. But, if you see points that are not clear, or have errors, please let me know!
     
  14. RobertRamsay

    RobertRamsay Member

    Joined:
    Jul 6, 2016
    Posts:
    28
    Maybe use different objects to show they are in the air, like a hanging light or something?
     
    Last edited: Jul 26, 2018

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice