[–] [S] 2 points 8 months ago*

I went with a stack pattern and priorities.

Within a priority the last "layer" to activate is the only one to receive inputs. The priority system just means that if a layer from a lower priority gets activated, it doesn't take over until the upper layer is empty.

It's a bit stricter (only one layer active at all times), but you can always subscribe to inputs from multiple layers to achieve what you were describing.

The main advantage here was that you can safely rely on enabling/disabling layers without ever getting a conflict... If some popup comes in over your menu, the popup is in charge until it's closed. No need for them to communicate, and you reliably know that inputs will eventually return to the menu properly, even if something else gets interposed.

And since it's tacked onto the existing system, you can always have parts of the code that ignore the layer system entirely if necessary (like a mute button that has to work across all systems/menus for example).

  • source
  • parent
  • context
  • [–] 2 points 8 months ago (1 child)

    Without actually looking at your code, the first thing that came to mind is making something akin to the Collision masks that nearly every node has, where you just set a value and, during the game's runtime, input processing checks every node that has the same value - for instance, if opening a menu set the InputLayer to 2, only nodes that are of value 2 will process, every other will ignore. So, one extra variable and one extra check before processing any input

  • source
  • parent
  • context
  • [–] 2 points 8 months ago (3 children)

    I hate how Godot has an array of mapped buttons to a specific action, but denies you direct access to change them in the order they're in. This is problematic if your game has the main keybind + secondary + controller for the same action and you want to let players rebind them all.

    It could also use something like that layeredInput, since it can be a bit of a juggle to ensure that 2 open windows don't close if you press input.CANCEL, instead of only the focused one.

  • source
  • parent
  • context
  • [–] 5 points 8 months ago (6 children)

    This is really amazing, in my opinion Unity's InputSystem is servicible but not mind blowing. My pain points would always arise with menus when returning to a scene, especially when I was in school. They should bundle your tool as a permanent part of Unity honestly this is awesome. Unfortunately I am all in on Godot but I'll pass this to my friends who still use Unity!

  • source
  • [–] 12 points 8 months ago

    The post isn't bad, but I feel like it has a bit of a survivor bias.

    Learning about why things fail is generally more informative than learning the characteristics of something that succeeded.

  • source
  • [–] 1 point 8 months ago

    Stupid idea for inspiration: why not pop up events relating to smaller battles of the big war you are fighting and maybe that way you can combine it? I'm not incredibly familiar with similar games but maybe that thought provokes some ideas...

  • source
  • [–] [S] 2 points 8 months ago

    Thanks for the idea. I hate that their showcase is hidden behind a discord, and when you're on the discord, the showcase is not just the showcase of the tool, so there's no way of knowing what is actually showcasing the tool...

  • source
  • parent
  • context
  • [–] 6 points 8 months ago

    I don't see anything particularly unique about that WoW editor, as pretty much every terrain editor used to look like that. Nowadays, the focus is more on procedural generation for higher realism and fidelity, but I'm sure there are still plenty of tools and/or plugins for hand painting them.

    Some links:

    There are also a ton of different ways to do it in blender. You can set it up yourself, or find one of many plugins that can streamline the process.

    A convoluted, impractical, legally dubious, but maximally cool alternative is to hijack a commercial game's level editor. I know at least Far Cry 2 has a level editor with a terrain system. If you can reverse engineer the level format, you can write a script that'll convert them to whatever format you need... Just make sure you don't keep the meshes and textures from the game.

  • source
  • [–] 2 points 8 months ago (1 child)

    Oh yeah, I love game jams and do them all the time! I've done some on itch.io and global game jam, but mostly do ludum dare.

    Have you considered publishing your prototypes?

    I've considered it before, but most of them are unpolished/not in a state I'd be proud to share, and would require more work. It's also logistically complicated for some, since I also build things without a game engine sometimes, and those don't have a standard build process for clean binary releases. If I release the source code, then I have to do the whole software licensing thing, possibly provide support for people who try to build it, and feel bad about AI scraping my work.

    I'm also an unreasonably optimistic person and always feel like I'll be able to finish them some day. My rational brain knows that's not true, but that one's not in the driver's seat.

  • source
  • parent
  • context
  • [–] [S] 3 points 8 months ago (2 children)

    I find itch.io to be a great resource not just for games as a "finished product" but for prototypes as well. The regular gamejams contribute to this - a platform of many prototypes. They don't need the polish and coherence you'd want to invest and publish on Steam.

    Have you considered publishing your prototypes?

    Even as only a player, some prototypes make for very interesting playful exploration, even if it's short. For a technological, creative, and inspiration they can be a treasure trove as well.

  • source
  • parent
  • context
  • [–] 10 points 8 months ago

    A project that's never released or monetized is a hobby. We all need hobbies. And it seems like this one was extraordinarily developmental because it taught you a lot about what goes into a game. It also taught you about videos, building in public, and setting expectations.

    I hope you don't see it as a negative and instead ask something like going to University on steroids. If you decide to develop a game to completion in the future, you're going to be that much further down the road

  • source
  • [–] 1 point 8 months ago (3 children)

    This is extremely relatable for me. My game dev projects are basically just me entertaining myself by implementing difficult or interesting things that I'll never release. I've been in the exact same position as this guy more than a few times, and have basically accepted that I'm probably never going to actually release a game lol. I have a lot of cool prototypes that never turned into a real game, even when I tried scaling down to something smaller. Luckily, I've gotten good at identifying when it's time to move on before dumping years into polishing an incomplete concept (iirc, my longest project was nearly ten years long!)

    Maybe some day I'll partner with a designer to help me get over the inevitable design barrier, but honestly I'm pretty happy with the prototypes I have made over the years. Some are very unique, some are technical achievements, and some are even fun. I'm not motivated by the idea of profiting from any of this. They're just arts and crafts projects to me, like old doodles you'd keep in a box somewhere. I'm fortunate to be able to do this without worrying about making a profit from it, and hope other people find a way to get into this for the sake of it too. It is a uniquely rewarding hobby.

  • source
  • [–] 2 points 8 months ago* (last edited 8 months ago)

    Oh it’s that alien spider climbing game! I remember seeing that back on Reddit, will watch this later because I’m curious what’s next after spending so long on one project

    Edit: sounds like the project was big, I’m not sure a footstep decal system is important for playtesting buuuut their next project sounds like it’s going smoother!

  • source
  • view more: ‹ prev next ›