- 36
- 184 052
Cashew OldDew
Romania
เข้าร่วมเมื่อ 30 ม.ค. 2023
I do Game Development tutorials focusing on Godot and other fun stuff! I'm also a teacher in real life. Nuts are good for you!
Making this Halloween game taught me so much about Godot!
Hello, everyone! Inspired by @SebastianLague's outstanding Coding Adventures series, I decided to do my own little adventure with a Halloween game in which you can carve pumpkins. With this series I want to learn new cool things that you wouldn't normally learn from tutorials and share them with you. On top of the nice stuff, I also cover the struggles this little project took me through.
Play the game: olddews.itch.io/cashews-pumpkin-carver
Topics covered:
Canvas Groups - docs.godotengine.org/en/stable/classes/class_canvasgroup.html
Godot Shaders - docs.godotengine.org/en/stable/tutorials/shaders/introduction_to_shaders.html
Stop click propagation with Intersect Point - docs.godotengine.org/en/stable/classes/class_physicsdirectspacestate2d.html
Drawing Polygons
How to make a Viewport Capture - docs.godotengine.org/en/stable/tutorials/rendering/viewports.html#capture
Using Shaders to create a Mask
Polygon Centroids - en.wikipedia.org/wiki/Centroid#:~:text=.-,Of%20a%20polygon,-%5Bedit%5D
Adding User Interface - docs.godotengine.org/en/stable/tutorials/ui/index.html
Download web images with JavascriptBridge - docs.godotengine.org/en/stable/classes/class_javascriptbridge.html
I really hope you'll like this, as I put a lot of effort into it. 🥜 If this is well received, I will make sure to make more of these, as I had an amazing time doing it.
Yes, sadly, I'm two weeks late for Halloween. I had this idea one week before Halloween. I thought I could squeeze all the work into one week. Three weeks later, I got the proof of how wrong I was 😅
--------------------
Github repository for this project.
github.com/cashew-olddew/godot-tutorials/tree/main/4.3/4%20-%20Pumpkin%20Carver
Support me on Ko-Fi: ko-fi.com/cashewolddew
--------------------
Chapters:
0:00 Intro
1:18 Basic Shaders
4:50 Drawing Polygons
7:00 Stopping the propagation of click events
9:05 Simplifying some logic
11:40 Transforming a polygon into a mask texture
16:00 Adding depth to the pumpkin
17:12 How to find the center of weight of a polygon
33:55 Calculating the distance between two points
35:20 How to change shader parameters for different instances
36:16 Making the UI for the game
38:00 Loading sprites dynamically into the game
39:21 Changing the colors of the pumpkin
42:10 Adding a depth slider, light slider, Image download and save
43:02 Outro
#godot #halloween #gamedev
Play the game: olddews.itch.io/cashews-pumpkin-carver
Topics covered:
Canvas Groups - docs.godotengine.org/en/stable/classes/class_canvasgroup.html
Godot Shaders - docs.godotengine.org/en/stable/tutorials/shaders/introduction_to_shaders.html
Stop click propagation with Intersect Point - docs.godotengine.org/en/stable/classes/class_physicsdirectspacestate2d.html
Drawing Polygons
How to make a Viewport Capture - docs.godotengine.org/en/stable/tutorials/rendering/viewports.html#capture
Using Shaders to create a Mask
Polygon Centroids - en.wikipedia.org/wiki/Centroid#:~:text=.-,Of%20a%20polygon,-%5Bedit%5D
Adding User Interface - docs.godotengine.org/en/stable/tutorials/ui/index.html
Download web images with JavascriptBridge - docs.godotengine.org/en/stable/classes/class_javascriptbridge.html
I really hope you'll like this, as I put a lot of effort into it. 🥜 If this is well received, I will make sure to make more of these, as I had an amazing time doing it.
Yes, sadly, I'm two weeks late for Halloween. I had this idea one week before Halloween. I thought I could squeeze all the work into one week. Three weeks later, I got the proof of how wrong I was 😅
--------------------
Github repository for this project.
github.com/cashew-olddew/godot-tutorials/tree/main/4.3/4%20-%20Pumpkin%20Carver
Support me on Ko-Fi: ko-fi.com/cashewolddew
--------------------
Chapters:
0:00 Intro
1:18 Basic Shaders
4:50 Drawing Polygons
7:00 Stopping the propagation of click events
9:05 Simplifying some logic
11:40 Transforming a polygon into a mask texture
16:00 Adding depth to the pumpkin
17:12 How to find the center of weight of a polygon
33:55 Calculating the distance between two points
35:20 How to change shader parameters for different instances
36:16 Making the UI for the game
38:00 Loading sprites dynamically into the game
39:21 Changing the colors of the pumpkin
42:10 Adding a depth slider, light slider, Image download and save
43:02 Outro
#godot #halloween #gamedev
มุมมอง: 841
วีดีโอ
I Had No Idea Godot's MATCH Was So Powerful!
มุมมอง 8K14 วันที่ผ่านมา
Recently I had to use Godot's Match feature and I was absolutely amazed by its capabilities. While other programming languages all have their flavors of a match or switch statement, I haven't seen any so versatile and powerful as the one in gdscript. There are many possible applications for the Match statement. One could make a script which checks if a player has performed a combo, a script for...
Master THREADS in Godot 4.3
มุมมอง 7Kหลายเดือนก่อน
In this video I am showcasing the utility of multi threading in Godot 4.3. Threads are extremely useful for when we want to pass methods which are expensive computationally to different other cores of your processor. This leads to having a much smoother experience, helping reduce frame drops and speed up loading times. On top of that, this video also tackles issues that might occur when working...
The Ultimate Export, Demo and DLC Guide for Godot 4.3
มุมมอง 3.5K2 หลายเดือนก่อน
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/CashewOldDew/ . You’ll also get 20% off an annual premium subscription Check out the Cashew Clicker game: olddews.itch.io/cashew-clicker In this video I am trying to solve all questions that one might have when trying to export a game in Godot 4.3. As a start, I am covering the most basic way of exporting on W...
All about TileMaps in Godot 4.3
มุมมอง 8K2 หลายเดือนก่อน
A lot of things changed in Godot 4.3 regarding TileMaps. A new TileMapLayer node has been added and it changes the way TileMap Layers are managed. At first I wanted to only cover the changed topics, but I think it is much nicer to have a single place in which you can find everything you need about TileMaps and TileSets. In addition to my previous video about TileMaps: th-cam.com/video/AUVsX-mtu...
What in the world is call_deferred?
มุมมอง 3.7K3 หลายเดือนก่อน
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/CashewOldDew/ . You’ll also get 20% off an annual premium subscription Call deferred is a function that's not so straight forward. The documentation seems to be sufficient for a basic understanding of what call_deferred does, but when it comes to more complex use cases, it leaves room for confusion. Users ofte...
Master these 3 ways of Animating in Godot
มุมมอง 2.4K3 หลายเดือนก่อน
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/CashewOldDew/ . You’ll also get 20% off an annual premium subscription This video aims to showcase the most commonly used character animation techniques. Depending on your use case and on your assets, you will learn how to animate your characters with individual sprites or complete sprite sheets. Additionally,...
Signals in Godot 4.3
มุมมอง 1.6K4 หลายเดือนก่อน
DISCLAIMER: This video was filmed in Godot 4.2.2, but I changed the title to Godot 4.3 as nothing between those versions affected the features presented in the video. Signals are one of the most useful and easiest to use feature Godot has to offer. They provide a way to easily handle communication between two nodes. Signals are basically the Godot implementation of the observer design pattern. ...
Make your Godot Editor Prettier with Custom Icons!
มุมมอง 8K4 หลายเดือนก่อน
This video aims to show how easy it is to change the icons of your Godot Editor. Especially when using a lot of custom or abstract components, navigation in the editor can become quite complicated, so hopefully this comes as an easy solution to that. Additionally, icons in Godot are generally color coded, so it is good to keep that in mind when making icons for better classification of the new ...
Tweens are AMAZING in Godot 4.3
มุมมอง 8K5 หลายเดือนก่อน
DISCLAIMER: This video was filmed in Godot 4.2.2, but I changed the title to Godot 4.3 as nothing between those versions affected the features presented in the video. This video aims to cover in-depth Godot tweeners and how to use Tweens. Tweens are most helpful for creating animation and can really bring life to a game. With tweens, one can do simple sequential animations or make complex paral...
Reusing Scripts in Godot 4.3? Easy!
มุมมอง 4K5 หลายเดือนก่อน
DISCLAIMER: This video was filmed in Godot 4.2.2, but I changed the title to Godot 4.3 as nothing between those versions affected the features presented in the video. This tutorial aims to showcase the capabilities of Script Templates in Godot 4.3. While many times, it would be easy to copy and paste a script from one project to another, it could get cumbersome to repeat this action every time ...
The EASIEST way to add Undo and Redo in Godot 4.2
มุมมอง 1.9K6 หลายเดือนก่อน
The EASIEST way to add Undo and Redo in Godot 4.2
Master Tilemap PATHFINDING & Obstacle Avoidance in Godot 4.2
มุมมอง 23K6 หลายเดือนก่อน
Master Tilemap PATHFINDING & Obstacle Avoidance in Godot 4.2
In depth TILEMAPS Guide for Godot 4.2
มุมมอง 12K6 หลายเดือนก่อน
In depth TILEMAPS Guide for Godot 4.2
Follow these 5 steps to NEVER struggle with bugs again in Godot!
มุมมอง 4K7 หลายเดือนก่อน
Follow these 5 steps to NEVER struggle with bugs again in Godot!
Write Faster Code with Coroutines in Godot 4.2+ and 3.5
มุมมอง 3.9K9 หลายเดือนก่อน
Write Faster Code with Coroutines in Godot 4.2 and 3.5
Complete Godot version control workflow with Git
มุมมอง 7K9 หลายเดือนก่อน
Complete Godot version control workflow with Git
Simplified 2D Grid PATHFINDING in Godot 4.2
มุมมอง 15K10 หลายเดือนก่อน
Simplified 2D Grid PATHFINDING in Godot 4.2
Automatically zoom camera to a Tilemap in Godot 4.2
มุมมอง 8K10 หลายเดือนก่อน
Automatically zoom camera to a Tilemap in Godot 4.2
This game lets you access Gandalf's computer...
มุมมอง 258ปีที่แล้ว
This game lets you access Gandalf's computer...
Can you model a better Corki in 1 day with no experience?
มุมมอง 575ปีที่แล้ว
Can you model a better Corki in 1 day with no experience?
The difference a squirrel can make | Kaycee's MOD | SPOILER FREE
มุมมอง 110ปีที่แล้ว
The difference a squirrel can make | Kaycee's MOD | SPOILER FREE
Can you beat Vampire Survivors with only one item?
มุมมอง 140ปีที่แล้ว
Can you beat Vampire Survivors with only one item?
Is it possible to match in any order? like instead doing [meat, potato, potato] [potato, meat, potato] [potato, potato, meat] doing another way that still includes 2 potatos and 1 meat without having to write all possible options? I just started godot and this would be insanely helpfull
That's a very good question, however, the order matters there.. I had the same issue while trying to make the recipe example in this video. You could, however, always sort the array you pass to match.
I randomly stumbled on this video. I was pretty familiar with tilesets already but I still learned a few amazing things here (especially the scene collection in tiles). Such an amazing and well done video. You have such a likeable personality, dont stop making videos!
Awh, thank you so much! I'm so excited to make more 🥜
Thank you for giving me one more procrastination tool: making icons for my Godot that no one sees :'D
Oh nooo! Ha ha ha. I hope this also helps you with organizing your stuff 😄🥜
@@cashewolddew It's great actually, thank you for the informative and fun video. I browsed a couple more, and you are doing some great stuff :D
Fantastic tutorial, thank you very much for this! :)
Thanks a lot for the comment! 🥜
In my experience, it was too slow. However using AStarGrid2D worked extremely fast and can be further optimized to choose which algorithm it would use as well as jumping points.
Switch kiss rizz moskvich
looks like TS for some reason
Great tutorial! Which would be the correct way to keep track of the number of seeds eaten by each chicken? something like an unique score for each one? I tried adding a variable "score" to my chickens and referencing the chicken scene in my food script and calling chicken.score += 1 inside the on body entered function but I get that chicken is always null
Instead of the chicken being referenced, you could simply modify the score to the node was passed in the body entered function.
@@cashewolddew omg I didn't even see that a Node2D was passed to the function and I spent like an hour trying different methods, thank you so much!
we have the same exact version, did the same exact thing as you only to get tmp files instead of an .exe file when I render..
Could you give me some more details? On what operating system are you? Are you looking in the location of the export?
15:20 5:12
Make a video about the Encryption tab How to compile your template.
I added it to the list of videos I need to do 😊🥜
16:34 Classic
You can also avoid those warnings by connecting in a different lifetime function that doesn't run more than once, like _init()
11:05 quick question: how does is_amount_of() know what array to check? Does structuring the match case this way automatically run that function on that array somehow? I just don't know how that works given that the function is_amount_of was only passed parameters about the type and required quantity, and wasn't passed the array or foods to check.
Oh no, there's no match magic going on. Actually, since this was just a simple example, I just took the global variable containing the data and filtered that like this: func is_amount_of(type: Food.FOOD_TYPE, number: int): var ingredients_of_type = ingredients.filter( func(ingredient): return ingredient[1] == type ).size() return ingredients_of_type == number I'll add the source code soon so you can see all the details 😊🥜
i didnt know about this. Coool. I think I can use it in my project.
Ok finally someone show how yo make an alpha from an image withiut shaders. I had some plans that wouldnt work without it. Like localised animated texture pools with a dynamic size alpha.
Are you talking about the Canvas Groups? If so, then I'm really happy I mentioned them 😄🥜
This is a really fantastic and insightful video!!! It's a bit weird to introduce terrain sets before painting physics properties, but it's good to actually finally understand terrain sets properly!!
I'm really happy you found it helpful!
bro, most of this was WAY above my skill level for right now, but it 100% reinforced the idea that game dev is like game play, it's not always about what's easy it's about creative problem solving. look at the problem and then look at it again from a different angle (pun intended). work like this helps me believe i might actually be able to pull off my game idea. and i thank you for that.
I really, really appreciate your comment! I especially had troubles with transforming the polygon into a mask. When I had the idea of taking a screenshot of the game I thought it had to be the worst idea, but actually, it worked and it made the experience so much fun! I also don't think this is above your skill. Anything can be learn and as long as you stay motivated, you'll make it for sure!
Great one!
This is exactly the same as Python's match (I think Rust also has the same feature).
If only it was this simple in 3D
I see this requested a lot! I'll prioritize it and see if I can make a video on it 🥜
@@cashewolddew Thanks! I know the basics of it. I just wished Godot made it easier to do in 3D as it is in 2D. Like having draw 3D line function for example.
This is incredibly useful info, thank you! Being able to match dictionary elements is especially cool
Great, thanks! yeah a 3d fish tut would be cool.
Thanks! It's already added to the list. 🥜
Keep up the good work! You got a new subscriber
Thank you! I really appreciate it 🥜
I think there's a mistake around 17:30. You set the tween to parallel, but the issue is that it runs the up and down movement at the same time for each child, which ends up ONLY showing the downward movement. I hope if you rewatch it it's clear what's wrong. They don't move up and down, only down at 17:35. Is there a way to make each child parallel, while having the up and down property tweens run sequentially, or would a separate tween be required for each child?
Woah, I think you're actually right! At first I thought that my game just didn't load in time to see the upwards movement. I think that happens because we are affecting the same property (position). If you look at the previous example, at 14:52, you'll notice that both scaling and moving the sprite work at the same time. Right now I can't think of a better solution than simply adding a delay to your down movement tween. For example, you could write: tween.tween_property(child, "position", Vector2.DOWN * 50, 1).set_delay(1). However, I'm not able to test this right now, so please let me know if it works for you :) 🥜
@@cashewolddew I came across the solution which is "Tween.chain": "Used to chain two Tweeners after set_parallel() is called with true"
just found this channel, the tutorial is awesome, subscribed❤
💖🥜
Priceless resource here, thanks for sharing so much with the community
Woah, I appreciate it so much! I hope to bring more useful videos in the future. Thanks! 🥜
GSS Match mobile game also developed by godot
You don’t need a developer account to export for iOS for testing
I didn't manage to find a solution for that. Could I ask you what are you doing to make it work on your side?
@@cashewolddew I keep getting flagged by the automod, so I can't tell you :\
I'll try anyway though. Go to product, then archive in the top menubar.
Next, right click the archive and press view in finder (or something like that)
Find the app bundle inside the archive.
What about the debug keystore? Is it no longer required?
The keystore is covered at 52:44 under additional Android Settings
Now my dead project have a hope to revive 😭
Damn I've been using Godot almost 4 years now and I'm just learning about a few of these.
Super valuable information, can't wait to apply it in future projects!