1. For issues you find with the Switch and Console releases, please follow this link and give as much detail as possible. This is the speediest way to get info to Pipeworks and get a hotfix in the works.
    Dismiss Notice

tModLoader Astral Plane

Discussion in 'Works-in-Progress' started by Shadelight, May 6, 2018.

  1. Shadelight

    Shadelight Golem

    Welcome to the Astral Plane! [​IMG]

    The Astral Plane mod is a solo project of mine. I have plenty of things to create outside of Terraria, thus my progress here can be quite slow.

    The Astral Plane is currently unreleased, no estimate release date yet. It's in the very early stage of development, so don't expect me to release the first version that soon.

    The mod will be have a separate progression from Hardmode - meaning you can progress into the mod as of Hardmode without spending time to progress in Hardmode at all, yet if you progress in Hardmode you won't instantly have access to later features of the Astral progression. (similar to changing characters in Vanilla - even if you have a post-Plantera weapon in a world where Plantera isn't unlocked yet, Plantera's Bulbs won't spawn, thus making you have to unlock them regardless)
    This is unlike most other mods I've seen, where their progress is tied to Vanilla progress. (Pre-Mechanical Hardmode -> Post-Mechanical Hardmode -> Post-Plantera Hardmode -> Post-Golem Hardmode -> ..., etc.)

    What's the main idea?
    When you reach Hardmode, you'll need to obtain a Dimensional Lens [​IMG] - this item, equipped in the Light Pet slot, will help you see beyond the realm you are bound to. Later in development, I'll split said lens into tiers, requiring you to upgrade it over time to see more and more otherworldly things.

    The special vision that is bestowed on you via these lenses allows you to see creatures and other features of the Astral Plane. However, those without any lens equipped will see nothing and won't be able to interact with said creatures and features at all.
    If you can't see something, that doesn't mean it's not there. [​IMG]

    Some weapons in this mod will require you to have a certain level (or greater) of Dimensional Lens equipped to work.
    (for example, the Astral Tear scythe: [​IMG][​IMG])
    Some, however, will just be side-additions for Vanilla progression that are not really related to the core theme of the mod.
    (for example, the Halcyon Split sword: [​IMG])

    Dimensional Lens interaction example:
    Note that this gif is a bit outdated due to the fact that you now can't see Astral beings at all, that includes you not being able to even mouse over them to see their name & health - it's just not displayed.

    Bonus in-dev media:


    Note that the mod is currently very bare-bones, however I update this thread regularly to show current progress.

    Special thanks to the people from the tModLoader Discord Server, especially Dark;Light, jopojelly and dradonhunter11 for coding help, Kazzymodus and Leemy for HLSL shader help and 100% Not a Scalie for teaching me how to draw pixel art!

    Current work status:
    Making: Hostile NPC
    Name: Sentinel Glare
    Properties: Animated, glowing, uses custom mechanics, uses custom shader
    Comment: "Depression keeps annoying me but I'm progressing here regardless."

    Status update:
    Finished Sentinel Glare's idle animation and the Astral Sentinel to Sentinel Glare transformation animation! Need to implement the transformation animation code and it's done. About 33% done.

    Development paused indefinitely due to severe burnout.
    Last edited: Mar 9, 2019
  2. HellGoesOn(Ork)

    HellGoesOn(Ork) Skeletron Prime

    I hope you will get it to working & release soon™ <3
    Shadelight likes this.
  3. Shadelight

    Shadelight Golem

    Thanks, but I doubt it'll be released anytime soon. As mentioned above, it's very bare-bones currently. And since it's a solo project, it's gonna take a while.

    But hey, atleast it's fun!
    HellGoesOn(Ork) likes this.
  4. TheRandomMidget

    TheRandomMidget Terrarian

    This is a VERY unique concept. I am going to keep my eyes on this. Looks awesome so far :)
    Shadelight likes this.
  5. Shadelight

    Shadelight Golem

    The problem about me is that I have really unique ideas most of the time, but kinda suck at making them real. Surprisingly, I've managed to make the first mob (Astral Sentinel, sprite displayed in the original post) pretty much flawlessly. I have a small problem which is that I can still see his name and health by mousing over him even if I don't see him (aka don't have any lens equipped) - from what I know, there's no way to prevent this from appearing. If I'll find a way, however, I'll use it.
  6. DRKV

    DRKV Spazmatism

    You could try to temporarily hide the "Mouse Over" interface layer when the player hovers over the NPC.
    Shadelight likes this.
  7. Shadelight

    Shadelight Golem

    Hmmm... elaborate please.
  8. DRKV

    DRKV Spazmatism

    Here, I figured it out:
    namespace SomeMod
        public class SomeMod: Mod
            public override void ModifyInterfaceLayers(List<GameInterfaceLayer> layers)
                bool hideText = false;
                //These rects are from Main.DrawMouseOver()
                Rectangle MouseRect = new Rectangle((int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 1, 1);
                for (int k = 0; k < Main.npc.Length; k++)
                    if (Main.npc[k].type == NPCID.Bunny)
                        Rectangle NPCRect = new Rectangle((int)Main.npc[k].Bottom.X - Main.npc[k].frame.Width / 2, (int)Main.npc[k].Bottom.Y - Main.npc[k].frame.Height, Main.npc[k].frame.Width, Main.npc[k].frame.Height);
                        if (MouseRect.Intersects(NPCRect))
                            hideText = true;
                    layers.Find(x => x.Name == "Vanilla: Mouse Over").Active = false;
    This will hide the hover text for every bunny. Of course you could easily change it to use a different condition. It does have side effects though. If the player is hovering over a sign for instance, when a hidden enemy walks by, the sign text will disappear.
    Shadelight likes this.
  9. Shadelight

    Shadelight Golem

    Hm... how close should the bunny be to the player to hide all text? Or does it not work that way?
  10. DRKV

    DRKV Spazmatism

    It hides the text if the cursor is over the bunny. I pretty much just copied the npc finding logic from the vanilla code. If there is text, it will be hidden.
    Shadelight likes this.
  11. Shadelight

    Shadelight Golem

    I don't think it's that bad of a tradeoff. Like, who will try to line up the cursor, the mob and a sign/chest/whatever else?
  12. Shadelight

    Shadelight Golem

    Alright, thanks, that worked. With this implemented, it's as if the enemy isn't there at all without the lens equipped! This is perfect.
  13. Dnarris

    Dnarris Eye of Cthulhu

    Looks promising. Keep up the good work. It'll be interesting to try this out.
    Shadelight likes this.
  14. Shadelight

    Shadelight Golem

    Ty! Working on it as we speak~
  15. Andrew Luceo

    Andrew Luceo Skeletron Prime

    can you give the Dimensional Lens it's own slot
    you could may be ask the person who created the wings slot mod.
    Shadelight likes this.
  16. Shadelight

    Shadelight Golem

    I personally don't want to. Other mods add more slots already, I don't want to have less compatibility with them.
    This is also a gameplay choice - "do you want to stay on the Vanilla progression or delve into the dark depths of the Astral Progression instead?" Sacrifices are common in most things.
  17. Andrew Luceo

    Andrew Luceo Skeletron Prime

    could you add a multi-dimensional black dog monster please?
    the black dog could go between terrarian and astral planes.
    Shadelight likes this.
  18. Shadelight

    Shadelight Golem

    I will have multi-dimensional interactions in some enemies, no worries. That also applies to bosses. (when I'll actually start making them, eek)

    Don't know about a dog-like monster, might make one. Depends on how it'll come out. But the dimension swapping stuff will be a thing for sure, no worries.
  19. Kefke

    Kefke Steampunker

    This seems pretty cool. Like, really cool, actually. Might be nice if as the player dives into the astral progression, they get some new options for how to interact with the unseen world, though. Things like placeable tiles that reveal things in a certain radius, a helmet/armor set that gives the ability to see, and/or a pet that will reveal things...but not everything. Another cool idea might be if there was more than one "other dimension", with different lenses to see into each. That would also open up the possibility of multidimensional enemies (bosses) and items that have different looks and effects depending on the lens used.

    Eh...it's your idea, I'm just rambling.
    Shadelight likes this.
  20. Shadelight

    Shadelight Golem

    Hehe, I like the way you think. Similarly to me, actually. There will be placeables that will reveal nearby creatures, as well as an early-Hardmode potion that gives the ability to see into the hidden dimension for 4 minutes. Dunno about a set, we'll see.
    The "will reveal things but not everything" part is similar to my future plans of splitting the Dimensional Lens - you'll have to upgrade it as you progress to see more and more things.
    Don't know about the "other dimension" idea - we already have one sub-dimension and having a second one will just double the amount of work I'll have to put in. Not that I'm lazy or anything (and yes, I'm very lazy - that only applies to things I'm not interested in, though) but it's just not the core concept I have in mind. I plan to expand upon the Astral Plane. Only one for now, ey?
    As for dimension-swapping and lens requirements, those will be in the final version of the mod for sure. I planned to have the bosses I'll make have some attacks/stages that are only visible inside the Astral Plane, while remaining completely invisible to "normies". Yet again, this'll be a pain to code, but worth it I guess.