I feel the communauty just need a unity backup and when i see the 3d result actually I feel like within this year the 3d will just raise and raise with godot
A simple trick to figure out how to make the background shader: Extract it from the game! Simplest way is to just copy the .exe and rename it to .zip first. The background shader is in the resources/shaders directory. It's 52 lines of code.
Checkout how to setup glow in Godot. You have to enable it in world env and then put a color than has a higher value than the threshold you defined. In 3D you also have an "emitting" option on materials
At this point I'd like to confirm that understanding of "experiment vs. prototype". I have a bunch of experimental mini-projects in my folders. I made them only to try things out. I never had in mind to make them an actual game prototype. They're usually ridiculously small so that you always end up with (at least) something. They're fun to make (you wouldn't to them else). They're a huge source of learning and understanding. Experimenting (either to really try something new conceptual-wise or to simply try out someting you just learned online) is essential for me personally. It's like tinkering around with LEGO bricks to create and play at the same time but without the goal to build some actual thing. This absolutely frees your mind.
Forgive me for my newbie question, but you said to make the app possible i would need to grab data from a server. What kindof server is that? Ive done some research on servers and find it confusing. There are many options and none of them are free other than a websocket... Is that correct? Could i use a websocket for this style app? I want to create a game extremely similar to Instagram with a voting system like your tinder tutorial
You're confusing the infrastructure and the technology so I suggest you take the time to understand what a server is and how we communicate with it. A server is basically just a computer you access through the internet. The method you use to communicate can be websockets, http requests, etc..
Working through this currently for the card game im making, great tips thanks so much for sharing! I'm getting a really weird issue with the "fake 3D" shader... I've got it mostly working using a viewport as per your video, but when rotating all the cards are upside down and stay that way when you leave the card area. Also hovering one card changes the rotation of all cards in hand, but I presume this is due to the way my individual project is set up. I'll need to take another look at everything, but I'd appreciate any thoughts re this!
I fixed the upside down issue, I had the default Angle X/Y Max set to 15 for some reason! It's been a long day... I still can't resolve the entire hand moving on mouse hover though, any help would be greatly appreciated!
The default angles are limited yes but you can change them without any problem. Every cards are moving because by default resources are shared in Godot. You can enable "local to scene" in your material to make sure it's going to be local to each card.
--- Updating my comment because of huge gotcha --- The overloaded * operator on PackedVector2Array applies inverse() on the Transform2D This is easy to miss in the documentation and inverse() doesn't handle scaled or skewed polygons like affine_inverse() does You have to do apply all transforms with the Transform2D on the left side of the * operator var result = polygon * TransForm2D() is the same as var result = Transform2D().inverse() * polygon My previous comment worked because I was taking the double inverse() of the Transform2D, but it couldn't handle scaled or skewed polygons I'll include the old version as a sub comment if you want to see it --- end of update --- Here is a function I'm using to clip the polygons that accounts for the global transform in Godot 4.2 Uses get_global_transform() and TransForm2D's affine_inverse() to put the polygons next to each other the way they show on screen and then undoes the transform before returning the new polygons. The overloaded * operator lets you apply a Transform2D on PackedVector2Array (similar to xform() which is no longer in Godot 4+) # clip polygon_b out of polgon_a, returning the resulting polygons # assumes there will be no holes - look at Geometry2D.clip_polygons() documentation # also appears to return the non hole polygons as counter_clockwise func clip_with_global_transform(polygon_a: Polygon2D, polygon_b: Polygon2D): var resulting_polygons = Geometry2D.clip_polygons( # apply the global transforms so they are oriented as seen on screen polygon_a.get_global_transform() * polygon_a.polygon, polygon_b.get_global_transform() * polygon_b.polygon ) for i in resulting_polygons.size(): # reverse transform so polygon points are in the same coordinate system as they started # affine_inverse() works with scaled or skewed polygons resulting_polygons[i] = polygon_a.get_global_transform().affine_inverse() * resulting_polygons[i] return resulting_polygons
--- DO NOT USE THIS - old version for reference if someone is curious --- func clip_with_global_transform(polygon_a: Polygon2D, polygon_b: Polygon2D): # save this to reverse it after clip var polygon_a_global_transform = polygon_a.get_global_transform() var resulting_polygons = Geometry2D.clip_polygons( # undo the global transforms so they are oriented as seen on screen polygon_a.polygon * polygon_a_global_transform.inverse(), polygon_b.polygon * polygon_b.get_global_transform().inverse() ) for i in resulting_polygons.size(): # reverse transform so polygon points are in the same coordinate system as they started resulting_polygons[i] *= polygon_a_global_transform return resulting_polygons
Do you have a tiny treadmill and a standing desk, and does that actually do anything for you? Like a lot of developers I fidget a lot and also put on a few kilos sitting at a desk all day, so something that lets me move and think would be great.
@@mrelipteach I got some aspects of it worked out, but I am sure I am missing something. And I even made mine simpler, was only doing bullets that don't even arc, just drop straight down (space invaders type game, pillboxes are what I want to have destroyed) but it's still not working right. . Like now it's PackedVector2Array, Geometry2D.clip_polygons, and so on, but still....no luck.
Most of it is similar in 3D apart from the line drawing. AFAIK there's no easy way to draw a line like this. You have to use instant geometry but if you draw a line, you'll be limited in terms of thickness and stuff. The solution is to draw a line composed of triangle to control the thickness. Maybe you can find an addon to help with that?
holy hell, this was a perfect video to get remotivated. Been needing a nice godot take on this game. easy sub and will enroll in ur juice course at some point!
do you talk about your decision to use buttons for the cards anywhere? i am just getting started in godot and curious what the implications of such a choice would be in my own games.
I'm using buttons because they give me signals to know if we're hovering, clicking, etc and also because they would make supporting gamepad MUCH easier. That being said, you don't need them and you could recreate everything using Area2D for example