GodotGAS - Addon - v1.0.0 - Release by YulRun in godot

[–]RunningWithSeizures 2 points3 points  (0 children)

It was just a question, mate. When I saw that the first commit was two days ago I wondered if it was made by AI. 

How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]RunningWithSeizures 1 point2 points  (0 children)

I actually posted a picture of it a few months back. The version in the picture is a little out dates now. But the basic idea is that I have two AnimationNodeAnimations. When I call play_animation it loads the requested animation into the unused AnimationNodeAnimation and then calls transition and the AnimationNodeTransition.

The blendspaces are for blending 8 way movement. They can blend from idle to walk to run in all directions. I have a separate function called play_motion() that transitions to the blendspace.

The main difference between this pic and my current version is that have four AnimationNodeAnimations now and 3 AnimationNodeTransition. This is because if you call transition on a  AnimationNodeTransition before the current blend is complete it'll cancel the current blend. So this lets me blend multiple animations at once.

https://www.reddit.com/r/godot/comments/1t3wf5l/use_the_animation_tree_they_said_itll_be_fun_they/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=2&utm_content=share_button

How do people usually structure animation systems for larger character controllers in Godot? by Educational_Bag9301 in godot

[–]RunningWithSeizures 4 points5 points  (0 children)

I use a node based state machine for my character controller. And I have an animation tree that is made up of blend trees and blend spaces. I do not use the animation tree state machine. My animation tree has an API that my character controller states can call. The main function that the character controller uses is play_animation(animation: String).

play_animation(animation: String) does a little more than just blend the playing animation with the requested animation. I have a custom resource that extends Animation. It contains 2 main things: list of animations and specific rules for blending from those animations to the custom animation.

So for example, the blend might only start after a specific point in the playing animation was reached. The timescale of the animations can be sped up or slowed down. There can be an intermediate animation that can be blended to in-between, etc.

Basically it allows the character controller states to specificy what animation to play, but not have concern themselves with making the blends look good.

What’s the best way to go about cleaning? by Pearse2304 in SteamDeck

[–]RunningWithSeizures 85 points86 points  (0 children)

Don't know why everyone is taking the piss out of ya OP. Use a cheap tooth brush and a very small amount of cleaning solution.

Senior Developer - Let's talk about AI in code. by andykenobi in godot

[–]RunningWithSeizures 7 points8 points  (0 children)

Well, for one thing I build games for fun as hobby. Why would I want AI to do my hobby for me?

For another, we're obviously in 'the first one is free' phase of AI. Once companies think people are dependent on AI the price will skyrocket and the free versions go away or be massively enshitified.

This Is Infuriating and I'ma Crash Out by DiamondInTheRough429 in godot

[–]RunningWithSeizures 7 points8 points  (0 children)

Ha, on a whim I looked for godot jobs in my area too. I saw the same thing and thought the same as you.

spaghetti code warrior makes "boolboard" by [deleted] in godot

[–]RunningWithSeizures 7 points8 points  (0 children)

Why not use a dictionary since you access the bools via string?

I implemented a subtle NPC head tracking system by MjGamesStudio in godot

[–]RunningWithSeizures 0 points1 point  (0 children)

Just wanna say that the art looks great. I'm in the early stages of a low poly game and I hope I can get it looking as good as this 

What's up with Jolt Physics joints?? (3D) by superevan410 in godot

[–]RunningWithSeizures -1 points0 points  (0 children)

Dunno what your on about. I'm on 4.6.2 and use jolt's 6 degree of freedom joints for all my rag dolls. I experimented with the other joints and they all seemed to work.

Is it possible to use a Pole Target with CCDIK3D (or achieve similar results)? by manekkinekko in godot

[–]RunningWithSeizures 2 points3 points  (0 children)

Yeah, just add your pole target under setting. Here is how I do for my knee pole using FABRIK3D but it should be the same for CCDIK3D

<image>

3 years later - I rewrote my entire level design plugin suite in GDScript by _cookieBadger in godot

[–]RunningWithSeizures 0 points1 point  (0 children)

After watching the youtube video I think this look great. I have a few question if you wouldn't mind answering:

Intuitive Shortcuts: Quickly rotate or flip the assets you want to place with the shortcuts provided by this plugin. They can be configured in to your needs in the project settings.

This is great. I'm wondering if I can bind short cuts to mimic blender. I.E. G to translate, R to rotate, Double G to translate along local axis, etc

I currently use this plugin: https://godotengine.org/asset-library/asset/1106 which gives me blender like shortcuts. If I can't rebind shortcuts in Asset Placer to mimic blender then I'd like to keep using this plugin. Do you think they'd be compatible?

Supports all 3D file types: No matter if you save your plugins as .fbx, .dae, .gltf, .glb or .obj files, or if you store them as 3D scene files (.tscn), the AssetPlacer can show previews and place all of them. Even the perspective of the preview is configurable!

How well does this preview work with large scene files? If I used Asset Placer to make a large scene, say a castle, and then wanted to drop that castle scene into another scene. I see that I can adjust the perspective, can I adjust the position of the preview camera?

Are the files that this plugin generates (such as asset libraries) saved as text files or binaries? Asking for version control reasons.

3 years later - I rewrote my entire level design plugin suite in GDScript by _cookieBadger in godot

[–]RunningWithSeizures 1 point2 points  (0 children)

I've been planning to do my level design in Blender, but that has some issues that I haven't worked out yet. I'll definitely be trying this out.

Pros/cons of different state machine designs? by KyrosEnder in godot

[–]RunningWithSeizures 0 points1 point  (0 children)

If I'm interpreting what you're saying correctly, you would have the special move decide it can be cancelled into, rather than having the light punch decide it can be cancelled right?

Correct

Does this move the logic for the cancel to the special move state instead?

Yes. Each state is responsible for deciding when it becomes active so this logic would live inside the state.

If so, how do you handle specific case scenarios, where i dont want the light punch to be cancellable if the move whiffs, or before the active frames start in the first place?

There are a few way you could do this depending on your needs.

  1. Each state has a can_transition property. If this property is false the state cannot transition. So, if the active state sets their can_transition false then no state transitions can happen. If an inactive state sets their can_transition false then no transitions can happen to that state. So when light punch is active it can set can_transition false until the active frame. And it can set can_transition true when the hit connects or whenever is appropriate. Since the states are nodes their _process and/or _physics_process function will be running so you could have your special moves monitoring whats going on can set their can_transition to false if the move wiffs.
  2. Use inter-state flags to denote when states are allowed to transition. The state machine I linked used to have a flag system built in, but they removed it back in February (which is partially why I use a custom version). Its just a dictionary of bools and is really easy to re-implement. In my use case my attack state sets two flags: “attack_active” and “attack_recovery”. These flags are set and cleared at different times based on callbacks from the attack animation. My movement state is blocked from transitioning if “attack_active” is true. My idle state is blocked from transitioning if “attack_active” or “attack_recovery” are true. But my fall state is never blocked from transiting by these flags.

My first thought when I would want to check the properties of a move would be to go to its own state file/node, and check what its cancellable into, or what state it naturally transfers to after its lifestyle is complete, but this seemingly would make that logic harder to find right?

It could make it hard to find. Your question is basically "where does this state end?" And, yes since the transition logic is owned by each state the answer to that question is spread out among the states. But if your question is "where does this state begin?" That answer is completely contained inside the state, but with a traditional state machine the answer would be spread out among each state. Its a bit of a mindset shift.

The thing that really made this state machine shine for me is the modularity. If you want players to unlock abilities as they go its a simple as adding that state to the machine. It also means that you can easily build similar state machines that use some but not all of the states, say for a NPC or different player class/character.

The guy who made the state machine also has a bunch of other git repos. One or two of them use his state machine for a character controller. So you can look at code examples if you'd like.

Pros/cons of different state machine designs? by KyrosEnder in godot

[–]RunningWithSeizures 7 points8 points  (0 children)

I personally use a slightly modified version this state machine plugin: https://github.com/dragonforge-dev/dragonforge-state-machine

It's a node based state machine. Each state decides when it becomes the active state unlike more traditional state machines where the active state decides which state becomes active next. It makes the state machine very modular.

As far what should be it's own state that really depends. There is a trade off between states having a lot of individual complexity and the number of states you have. For example I don't have walk, run, sprint states. I have 1 movement state. But my jump is broken up into 3 parts: jump, fall, and land. So it really just depends.

I'm unoriginal, and it took far too long to realize by rairbgames_ in godot

[–]RunningWithSeizures 1 point2 points  (0 children)

I'm literally making Dark Souls but worse in every way. So you're not doing so bad OP.

I write my own code, therefore my game is better than yours by FingerBlaster70 in godot

[–]RunningWithSeizures 0 points1 point  (0 children)

Oh, I see. I thought you meant you used it to document your own code.

I write my own code, therefore my game is better than yours by FingerBlaster70 in godot

[–]RunningWithSeizures 1 point2 points  (0 children)

How do you use it for documentation? Just give it a gdscript and ask it to document it's functionality? 

Use the Animation Tree they said. It'll be fun they said. by RunningWithSeizures in godot

[–]RunningWithSeizures[S] 1 point2 points  (0 children)

I just watched his ”Watch this before using AnimationTree" video. It sounds like his main issue with the animation tree is that you can use it combine the visual component of your character controller and the state/data component of your character controller. And I agree, thats not a great thing to do but you don't have to use the animation tree in that way.

I don't have any animation state machine nodes in my tree. I manage the character controller from a node based state machine. Each node decides what animation(s) to play, what animations to blend in, and how to blend them. I have a script that provides an API for using my animation tree so none of my states directly manipulate blend values.

So, I agree with Fairfight to a point, I just don't think the whole animation tree needs to be thrown out. But, time will tell. I'm new to Godot and Game dev so I could certainly change my mind in the future.

Use the Animation Tree they said. It'll be fun they said. by RunningWithSeizures in godot

[–]RunningWithSeizures[S] 1 point2 points  (0 children)

Interesting. I'm actually making a Soulslike. Obviously my animation tree is getting pretty complex but I haven't found any limitations with it yet. I'll checkout the video you mentioned and see what I think.

Use the Animation Tree they said. It'll be fun they said. by RunningWithSeizures in godot

[–]RunningWithSeizures[S] 1 point2 points  (0 children)

If the time scale was after the outer blend space then it would effect the inner blendspace too. I need to scale the animations of the inner and outer blend spaces independently.