Godot Info Dump
10 May 26 (1mo ago)
godot: https://github.com/gtibo/Godot-Plush-Character
godot shader https://godotshaders.com/shader/dither-gradient-shader/
https://tampopo.itch.io/
https://adamgryu.itch.io/a-short-hike
https://playnorthbound.itch.io/northbound-2018?download
https://digitarium.itch.io/
25 Best Indie Games That Are TOO GOOD to Be Forgotten
https://www.youtube.com/watch?v=fl8AXVXqXZw
https://www.gdquest.com/tutorial/godot/learning-paths/beginner/
cozy game:
https://www.youtube.com/watch?v=OFmfT5Pb1hA
use katakana game: NICE CONCEPT:
https://terryyoung.itch.io/japanesedungeon
https://gdevelop.io/pricing
RPG GODOT:
https://www.youtube.com/watch?v=pBoXqW4RykE&list=PL3cGrGHvkwn0zoGLoGorwvGj6dHCjLaGd&index=2
https://game-endeavor.itch.io/mystic-woods
Pixel Style:
https://www.youtube.com/shorts/WQXdmmqzyTg
https://www.youtube.com/shorts/n5NKSpJc90w
https://www.youtube.com/shorts/Xx4NFFgUyW4
https://www.youtube.com/shorts/o1kN0Nb0B2Q
General
-
Almost is the case where if you have a Scene Node, you will need a GDScript to accomapany it. (RMB>Attach Script)
-
You can reference script/nodes if you drag from UI to the script editor.
- Drag + Ctrl Then Release.
- Drag then release doesn't work.
-
You instantiate a scene to another scene.
- A bit weird but basically a scene can be BG set up, hero character, main character. It's a generic term
- So a hero character scene gets instantiated to the BG scene.
-
Whats the point of using Access as Unique Names when they are already unique before dragging to the Script Editor
-
Resources are containers of information. Common also in other game engines?
-
Interesting if you craeate an
extends Resourcein a script. After saving, it gets available iwhen you create a.tresfile.-
Even this.
-
@export var body: Texture2D @export var face: Texture2D @export var hand: Texture2D -
Automatically reflected in the .tres file
-
move_and_slide() needed for charactervody2d. this is for the player, and the enemy.
-
-
You need to create a new label settings if you want to modify font size font color etc.
-
Create a Script first (extends Resource)
- Then Create a
.tresfile based on that resource
- Then Create a
-
To be able to access a class within another class, use autoloadss?
- Known as singleton
- Then referred to
Project Settings > Globals>Autoload
-
Ah instead of importing the cashier scene. Just use a Node and let it act as the cashier manager. it will be the one that references the cashier scene
-
Not gonna add a className because we using this script as an autoload?
-
You can't change the value of the constant variable like from the
.tres -
Camera2D to follow our character
-
respawn position
- can just use the .position =
- also that tutorial about changing respawn position based on the check point
-
process mode set to always. for pausable feature
-
on inherited scenes: editable children in godot. off by default
-
left and top camera limits use negative numbers
-
to make the pixel art properly crisp. use Project>Rendering>Textures>Default Texture Filter>Nearest
-
tilemapLayer. > Physicas Layer > Collission Layer . separate loading din pala pag tileseat.
-
block gravity block. set to zero
-
static bodies then rectangle shape.
-
make local option from instatiate scene meaning ibake sya for the scene
-
when connecting signals. its better to merge similar one like doors instead of having different
-
parenting the camera under the character so it follows properly. how do I delay it?
-
y sorting. for tilemaplayer > odering>y sort enabled.
-
texture origin to fix y sorting
Tileset
- Can paint the probability of the tileset when set painting to random
- terraid feature in godot. Terrain is the goat!
- Tileset tab is for individual tile settings.
- Tilemap tab is when you actually start painting
- probability tileset.
- Audio
- Add audiostreamplayer. Then add bus. then assign the player to each bus as needed.
GUI
- texture rect is also like sprite2d. but for gui
Shortcuts
- Ctrl+A to create a node.
- F5 to run the current scene
- In the script, you can duplicate a line by Ctrl+Alt+Down
- Control+N for new scene. even if character new scene parin
Animation
-
Set also as autoplay on load
-
man this is really good:
var tween := create_tween().set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT) -
GDScript
-
GDScript: Classes (nodes) use PascalCase, variables and functions use snake_case, and constants use ALL_CAPS (See GDScript style guide).
-
Extend Resources. Extend Node2D
-
negative value is up (for character movements)
-
editor script. inherit in that class
halloween assets
godot assets. godot character
2D Explorer Game in Tokyo
geohunt game for japan mapper
Using Editor Scripts
Gris
My favourite metaphor was a subtle one. It's the orb in the water level where you swim up on it and it runs away. So you try turning into a rock, swimming faster, being more efficient--you chase harder. But then it occurs to you to just wait. And wouldn't you know it, the star comes back to you if you're just patient. No trick.
Area2D. Bodyentered. COnnection jud usually
potential game:
- minion run game but train.
- card game dota2
- dota card game but based on real stats
- game where you have to be creative on how you die
- bannan line running. pero camera is at the back and you have to hit the sliders. to win. typing game haha.
- pili ka ug stat on the characters available
- status game where you need to one up others based on your profession, area, children,
- death stairs game. haha levels with death stairs
godot that robot blender made. that sillhuoette can be used.
Reference:
https://godotshaders.com/ https://sfxr.me/ https://lospec.com/ https://lospec.com/pixel-art-software-list/ https://www.aseprite.org/#buy https://easings.net/#easeInOutBack
card game but films
game assets: https://limezu.itch.io/
https://www.udemy.com/course/godot-action-adventure/?couponCode=MT251006G4 https://www.udemy.com/course/godot-4-3d-2d/?couponCode=2021PM25 https://academy.zenva.com/product-category/all/game-development/html5-frameworks/ https://godotforums.org/d/40607-a-big-list-of-great-free-godot-tutorial-series-videos https://pixelfrog-assets.itch.io/treasure-hunters HeartBeast's ARPG series tutorial
leapday game
===
omniverse: omni verse https://enterprise.launcher.omniverse.nvidia.com/exchange/app/audio2face?utm_source=chatgpt.com
Kill The Sheep
selling game sales game like a simulator
make a community godot 3d character free download https://piiixl.itch.io/textures
farting session game name guess the film base on three key ideas
- game about needed nutrients per day and you need to survive. based on the type of what you eat
banan line game
Farting game
2d game world of moving around pero tokyo mappython node verbs
2d game world of moving around pero tokyo mappython node verbs
lapok lapok animation game mechanics
card game but flipping movies
rolling box or sphere animation
blob game you need to dial in your blobby ness to be able to pass the levels.
capsule hotel game
films but wrong answers only
godot vocabulary game
sikad racing game in jacinto
running game and have it balance it para dili ka makalibang.
pero ang dashboard or leaderboard if ang ratio is near to 1.0 so maka finish ka habang makalibangon.
card game but flipping movies
capsule hotel game
films but wrong answers only but emoji
Just a place to dump info before I categorize them.
- Unity Compiling/Reloading Domain/Scene Takes a Ridicilous amount of time. Okay, this can actually be lessed by disabling it in the settings. Under `Project Settings>Editor`
- Better to use the sorting layer in the tile map later rather than adjusting per position
- using gridblockers with the help of the layer but not the sorting layer
- Cannot use fonts directly. Like drag it. Need to Create > TextMeshPro > Font Asset > SDF.
- Not imported. Need to use FindObject byType. Otherwise use singleton again in unity. haha. So easy to refer.
- for some reason the spritses are automatically cut in unity (how?)
- Ha! You can drop in the default ProBuilder shapes by using `Shift+LMB`. I can finally create a perfect sphere immediately.
- rigibody 2d freeze rotation to prevent the infinite spinning.
- Shift+Spacebar to Fullscreen a Panel
- Reduce Gizmo Icons.
- Time.deltaTime is always in input controllers unless using rigidbody which relies on linear velocity
- Need to hit record for the animator timeline to work.
- You can double click the timeline(after stopping the record) and you go to the animator view. And this is actually the timeline I am familiar of with other DCC
- File>Build Profile. Needed for the switch scene.
- 2d stuff
- window>2d>tilepallete
- game object>tile map >rectangular rather than manually adding component.
- for 2D sprite: in the animation tab. you can just drag the sprite immediate. no need for the property. unless you want to animate the propetery itself.
- point (no filter): filter mode diay for sprites.
- animation panel sample rate. samples. usually hidden by default in newer version
- some packages that can be remove: timelines, visual scripting, multiplayer scripting, jetbains rider editor, test framework
- using System.Collections.Generic; to use the List
- cinemachine. cinemachine follow. cinemachine hard look at
- OnTriggerEnter2D. on CollissionEnter
- Rule of Thumb:
- Use `Update`: For user input (keystrokes), simple timers, and non-physics movement (changing transform.position
directly).
- Use `FixedUpdate`: For anything involving a Rigidbody (velocity, forces, gravity).
- getMouseButton(0). equivalent to LMB and Mouse.
- greyboxing. prototype ProBuilder
- unity tagsystem
- unity animation event for mecanim system where you can trigger a script based on the time within the animation.
- Need the Animator Window to have the player move condition: Its not in the code: the just handle the variable to be set in the condition in the animator
- Need to click the arrow to show the connection:
- Unity do not have a built-in UV editor but it has UV viewer (which is okay for me for checking problem).
- Unity Prefab is something like a Packed Primitives in Houdini where it is optimized to be instanstiated many times
- And super easy to create where you drag the FBX model project window to Viewport Hierarchy. Then from Viewport Hierarchy drag back to Project Window
- But can do more since you can add script to prefab and each instanstiated prefab can have its own unique parameters from the script.
- the light cant be save on playmode like the noml game obejcts unlike hthe overide in the globalvolume
- you can memorize the files. or just copy/paste in game mode to the scene/offline mode.
- Particle. Cast Shadow. Needed. Play on Awake Disable.
- properties are like in between of a field and a method.
- if its RPA or rendering asset you can modify it and it won't actually reset.
- GPU Instancing. On the Material. By default is it off. Prefab Grass
- scriptable object are like prefabs but for scripts/data. (prefabs is for objects)
- Create>Prefab Variant. Soooo good!
- For Prefab. Have an empty object a parent so you can freely update your other object
## Scriptable Objects
```markdown
That is a great way to visualize it! If a **Prefab** is a "template for a GameObject," a **ScriptableObject** is a **"template for data."**
However, there is one major distinction to keep in mind to avoid confusion:
### The Key Distinction
- **Prefabs are "Blueprints":** When you drag a Prefab into a scene, you create a **clone** (instance). Each clone can have its own position and unique state.
- **ScriptableObjects are "Shared Sources":** When you reference a ScriptableObject in a script, you aren't making a clone. Everyone is looking at the **exact same file**.
---
### A Real-World Comparison
Imagine you are making an RPG:
- **The Prefab** is the physical "Sword" model. You can have 10 swords on the ground; each has its own position in the world.
- **The ScriptableObject** is the "Sharpness Data." If you decide that "Iron Swords" should do **15 damage** instead of **10**, you change it once in the ScriptableObject file. Every single sword in the game—past, present, and future—now does 15 damage instantly.
---
### Why this is better than "Scripts only"
If you tried to do this with just scripts (MonoBehaviours), you would have to:
1. Open your Sword Prefab.
2. Change the "Damage" variable on the script.
3. Apply the override to all instances.
With a **ScriptableObject**, you don't even have to open the Prefab. You just click the data file in your Project folder, change the number, and you're done.
### When should you use which?
| Use a **Prefab** when... | Use a **ScriptableObject** when... |
| :---------------------------------------------------------------- | :----------------------------------------------------- |
| You need something to appear in the **Scene** (Visuals, Physics). | You need to store **Settings** or **Stats**. |
| The object has a **Position** or **Rotation**. | The data is **Shared** across many objects. |
| You want to spawn something (like a bullet). | You want to create a **Database** (like an Item Shop). |
You are exactly right. A **ScriptableObject** is essentially a way to create your own **custom Unity asset** that stores data.
Think of it as a "Data Container." While a regular script (MonoBehaviour) has to be attached to a GameObject in your scene to exist, a ScriptableObject lives in your **Project Folder** as a physical `.asset` file, just like a Texture, Material, or Audio Clip.
### Why use them?
The biggest advantage is **memory efficiency**. If you have 1,000 enemies and each has a MonoBehaviour script containing their "Base Stats" (Health, Speed, Strength), Unity creates 1,000 copies of that data.
If you use a **ScriptableObject**, all 1,000 enemies simply point to **one single asset file** in your project.
---
### How to create one
It’s a two-step process:
**1. Define the Data (The Script)**
Instead of inheriting from `MonoBehaviour`, you inherit from `ScriptableObject`.
```csharp
using UnityEngine;
[CreateAssetMenu(fileName = "NewEnemyData", menuName = "GameData/Enemy")]
public class EnemyData : ScriptableObject
{
public string enemyName;
public int maxHealth;
public float moveSpeed;
}
```
2. Create the Asset (The File)
Because of the [CreateAssetMenu] line, you can now right-click in your Project Window and go to Create > GameData > Enemy. This creates a physical file you can name "OrcData" or "SlimeData" and fill in the values in the Inspector.
Key Characteristics
- Lives Outside the Scene: It doesn't get destroyed when you change scenes.
- Persistent during Editor Sessions: If you change a value in a ScriptableObject while the game is running in the Unity Editor, that change stays even after you stop the game. (Note: This does not happen in a final built game).
- Perfect for Global Settings: Great for holding game configurations, item databases, or dialogue trees.
Comparison at a glance
| Feature | MonoBehaviour | ScriptableObject |
|---|---|---|
| Needs a GameObject? | Yes | No |
| Saved as a File? | No (saved in scene/prefab) | Yes (.asset file) |
| Best For... | Behavior and logic in the scene. | Shared data and configurations. |
| Memory | Multiple copies per instance. | One shared instance. |
Are you planning to use these for your "Beat Tamer" project or perhaps for your website's database of small open-world games?
## cinemachine
- cinemachine impulse listener and impulse source
## Shading
- There is no mix node in the shader graph. Use LERP instead.
- Video Brackeys. Grass Sway in Unity.
- Fur Texturing: https://www.youtube.com/watch?v=mZELRHOnxI8
- Same with that terrain texturing so if muddy ang ground, muddy pud ang texture
- Triplanar https://www.youtube.com/shorts/3CacZ5KJfhs
- In Unity’s URP Shader Graph, the logic is additive rather than a "mix."
- For 2D pixelated texture:
- The reason this tricks work for the curious among you is because of Bilinear interpolation when upsampling the image, which still perfectly preserves the linear gradient textures.
- Detail patch. 32 x 32 innn foliaage in coverage mode.
- dragging the shader graph to material? haha. so its not a separate material?
## VFX
- Okay. Cloth in Unity is to be deprecated (Announced in 2024), since its mostly single threaded. There is a paid plugin that is pretty much the standard now, Magica Cloth 2
- Jiggle Physics
- vertex deformation or jiggle physics using bone:
- https://www.youtube.com/watch?v=KabFTkm_TxI
- https://www.youtube.com/watch?v=Kwh4TkQqqf8
- https://www.youtube.com/watch?v=LHtGs66lui8
## Hair
- https://www.youtube.com/watch?v=CrQXqu4wQTM
## Shortcuts
- Ctrl+P Play
- Shift+Space to Fullscreen A Panel
## Demo
- https://psychokd152.itch.io/merge-cuisine
- https://kaylousberg.itch.io/kaykit-forest
## Game Jams
- Ludum Dare
## Visual studio
- Hold Alt to move keys
- Contrl +D to duplicate line in visual studio
## Dev Log
- 20260305. Okay. Haha. I thought setting up a third person controller is a done deal but it's somewhat complicated than I thought
- For example, I had a character that jumps as he walks. so its not a separate action. I have a front and when he walks and run, he also jump!
- I checked some Unity project and it seems like I have separate the root motion of jumpign with the animation. This is so when I jump, the collider jump, and the jump animation too.
- Currently, jump/run animation triggered but the collider is still on the ground lol
- Also there is another feature control not only for the character but the camera following the character.
- Okay you can just use the Standard Assets Character Controllers. Replace the Mesh and the Avatar config. Works. For standard characters. I have redone it but as to recreating the animation based on the characters own animation. STill lost.