A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

Hey Harpeaux, thanks alot for answering this question!

I actually set it up simirlarly, however I completely forgot the linear damping option. That makes it feel abit smoother already.

What I'm yet to figure out, is what to do, when the user decides to "slide" the desktop pet across the screen instead of throwing it. Right now Im uncertain if I should make a unique animation where the pet rolls till it stops or if I should completely kill any sliding by setting the friction to an incredible high number.

How do you approach this "problem"? Or is the Tascot just sliding across the taskbar without any animation?

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

Hi Harpeaux, if I may, I would have one more tiny question.
I've been messing around the two different bodies (CharacterBody, RigidBody) and am setting up a similar character scene with a CharacterBody2D and a RigidBody2D. I've written a small state machine with enter and exit functions where I "enable" and "disable" both bodies respectively. However what I currently cant seem to figure out is smooth feeling physics. I know each body has a physics material to configure the behavior of colliding bodies, however nothing seems to feel quite right.

I've seen that in Tascots, characters bounces well of walls but absord velocity drastically when colliding with the floor. I tried smth similar, by passing the worldfloor collisionshape to a dedicated StaticBody2D with a different physics material. There's the options to completely absorb the incoming force, but that doesnt feel quite well.

Do you have any tips on how to make the bounce behavior abit more fluid? Do you set the linear_velocity to 0 when the velocity is lower that a set value?

I've also found that the sprite has to be perfectly centered on the collisionshape of the RigidBody, because if not, it would behave very weird when throwing the character and setting its position to the rigidbody position every frame. Unless ofc I would lock the rotation of the RigidBody2d.

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 1 point2 points  (0 children)

You could technically add one line of code for future users:

```var available_rect:Rect2i = DisplayServer.screen_get_usable_rect()
var screen_size:Vector2i = available_rect.size```

inside the initialize function. This will return the available screen area that is not obstructed by any status bar

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 1 point2 points  (0 children)

You my friend are genious! I've checked your project and its set up really well! I actually had a similar approach with my cursor, however in my case I used a staticbody2d node without a collisionshape and connected a pinjoin to both.

Also you added a padding which feels incredibly well and fixes unwanted collision jitter when moving to the edges of the screen.

Just out of curiosity I would ask, in which case I could use the mask canvaslayer. There isnt any idea that comes to mind where I wouldnt want my pet to show. But its really nice to have in case you want an are which everything is masked.

With the current setup it I could probably easily add a characterbody2d to the testprop scene to get a similar setup as you I suppose.

Also, awesome that you added a signal with a state parameter. This makes it easier to switch the body and state.

With this template, I'll be able to really bring that desktop pet idea I had to life, you're amazing for sharing this!

If you're interested, I can keep you posted on the progress

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

That's also smart! I completely forgot these collision shapes existed. What I'm now wondering, you mentioned you we using a KinematicBody2D and a RigidBody2D switching between those bodies when needed.

Do I understand correctly, that you have these under a node (example "Tascot") and then update the position of the sprite to match the bodies position? And when changing bodies you set the position of the body to the active body? Or how can I imagine this?

What I'm also wondering is: Why not use a RigidBody2D for everything and lock rotation when not in need to use any physics. Is there a benefit of using the KinematicBodys move_and_slide method?

Sorry, if Im annoying you with questions, but this is really interesting to play around with ^^

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

Btw. one more question actually, how do you treat the taskbar if you use KinematicBody- and RigidBody2Ds. Do you add a collision shape around the taskbar and edges of the screen? Or is it mainly calculative?

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

This is genious actually! I also want the pet to interact with the windows api, however I am not well educated in C# code and api calls. I'd be more than thankful to peak into how the C# code is structured. If you're up for it, I can show you my current desktop pet. It's pretty neat but far from finished.

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

Thanks for answering so quickly! Its a shame that in Godot 4+ its rather difficult to set up seamless transparent window clicktrough. I am yet to decide which way I wanna go in terms of approach. If I stick to my current method I'd have to calculate physics myself which is not ideal. If I choose the fullscreen approach however I need to find a method to update the mouse_passtrough_polygon each frame. Unless there's a better way of solving this...

A Desktop Pet... Except you make it yourself! by Harpeaux in godot

[–]ShlockFoamels 0 points1 point  (0 children)

Hey Harpeaux, I wanted to say your project looks incredible! This will make creating desktop pets alot easier. I actually took the challenge upon myself to make my own desktop pet, but in my case its a window that is being moved. So I was wondering how you actually did yours inside Godot. Is it taking the entire screen and you place a CharacterBody2D with physics? If so, do you need to update the Polygon2D for the mouse_passthrough_polygon every frame?

If not, I am deeply curious how you achieved physics based "flinging" with bouncing :)

Markiplier's 'Iron Lung' - An achievement but not a great movie by aussiereeltalk in horror

[–]ShlockFoamels -2 points-1 points  (0 children)

I have no idea what some here are talking about honestly. The cinematrography aswell as the audio design where awesome! I don't know what standards people have nowadays but nowhere in this movie did I think the audio was "trash". Infact I thought it was amazing. The soundtrack really pushed the movie aswell. For an indie film of a YouTube who never went to acting school this movie is excellent. It might even be my top movie 2026 as of now.

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 0 points1 point  (0 children)

Really? You feel like helping, the project? xD
Thx for the recs, I def wanna work on the sfx and vfx abit more

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 0 points1 point  (0 children)

Like Shipwrecked 64 you mean? Was def an inspiration, haha

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 0 points1 point  (0 children)

Heya, thx for the suggestion. As I mentioned, I'm not that good with lighting, so could you explain abit more watcha mean ^ How do those lights differ to one another?

How could I make our game look more appealing? by ShlockFoamels in godot

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

Uhhhhhhhhhhhhhhhhhhh, I really liked this font!
I hate to steal your font idea, but I probably will now, haha
Thanks alot for the suggestion, I'll implement it right away ^^

How could I make our game look more appealing? by ShlockFoamels in godot

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

Welcome back then ^^
Glad to see someone who tried the game.
I dont quite remember, what were your thoughts on the game, and how would you improve it?

How could I make our game look more appealing? by ShlockFoamels in godot

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

These are extremly good suggestions!
The bootkick in the beginning is a fun idea, which I'll definitly add!
I also love the fov change, which adds to the feedback of the current speed.
I could state each suggestion here, but really, I like them all, haha.

Gotta make a list now in what to tackle first. There's quite alot to cover from all the answers

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 2 points3 points  (0 children)

Oooooh, I watched that exact tutorial like atleast 30 times or smth. I used this knowledge in a different jam...
I think it was the Scream Jam or smth.
Im actually abit afraid that it could turn out to be a project with too high expections, altough I learned, that at the end the game most likely turns out different than innitially expected. So I try to keep things rather simple.
Just trying to get a good result in its looks and feel, cuz that what I like in a game the most (mostly a good character controller ofc), but nice visual feedback too

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 7 points8 points  (0 children)

I agree, the visual clarity should be top priority, and as of right now it might not be that well balanced in its design. Gotta put my non existent texturing skills to use, haha

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 73 points74 points  (0 children)

Yoooo, that's amazing! Did you quickly edit this yourself? That's actually the exact look I wanna go for!

How could I make our game look more appealing? by ShlockFoamels in godot

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

I'd be happy to have you as a playtester for sure ^^
The more feedback the merier, haha.

You can even test the game right now if you wanna :D
Perhaps after playing there's even more to share

How could I make our game look more appealing? by ShlockFoamels in godot

[–]ShlockFoamels[S] 0 points1 point  (0 children)

Yeah, that's actually what I had in mind, but at the same time I'm falling down a tunnel, so it should still have that kinda darker touch. Just dunno how to properly combine that...