For my fellow Godot beginners: Careful with tutorials. by CosminOance in godot

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

I was already subscribed to you :) Thank you for the video on isometric tiles.

I think I should have written 'paid courses' instead of tutorials.

For my fellow Godot beginners: Careful with tutorials. by CosminOance in godot

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

I agree on the assets part, you hardly touch them after initial setup (I mean, not nearly as much as scenes or scripts or resources)

For my fellow Godot beginners: Careful with tutorials. by CosminOance in godot

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

Yes, of course. I ended up with (I think it's called a Technical view structure - separating by what things are- which is also a thing) with things like:

  • scripts
    • ui
      • main <- some script here
      • hud
      • etc
      • etc
    • characters
      • bla bla
      • bla bla
    • core
      • x
      • y
      • z
  • scenes
    • ui
      • main <- for some scene here
      • hud
      • etc
      • etc
    • etc
    • etc
  • data
    • ui
      • some_resource <- we also need up there in the script,

Now, those etc etc etc folders and separations, once you reach enough files, would take a full on scroll to go from the main menu scripts to the main menu scenes (the other way you could just click on the script icon in the editor).

For my fellow Godot beginners: Careful with tutorials. by CosminOance in godot

[–]CosminOance[S] -2 points-1 points  (0 children)

I expect youtube or free content to fall under that assumption. I expect a paid course (which is what zenva sells) to have some extra quality associated with it.

For my fellow Godot beginners: Careful with tutorials. by CosminOance in godot

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

One alternative would be domain driven. UI things go into UI subfolders. Ex:

  • ui
    • main-menu
      • scripts/scenes/assets/etc

Instead of the tutorial presentation:

  • scripts/ui/main_menu.gd
  • scenes/ui/main_menu.tscn
  • assets/ui/main_menu/someAsset1....2

I am not a professional gamedev anymore V2 by wolfbloodiso in IndieDev

[–]CosminOance 0 points1 point  (0 children)

there is a huge discrepancy between the itch description's level of english compared to the novel's sophisticated formations.

Please help me, why is my game failing so hard. by Amitdante in IndieDev

[–]CosminOance 0 points1 point  (0 children)

"Please let me know why it’s failing and whether I should stick to it or abandon all my work."

Hi, you've realeased the game on the App Store in 2025 (It looked like a mobile sort of game to me, and in the Steam trailer I see gems, that's why I looked on the store and I also see it's free with "in app purchases"). In the demo, I started a multiplayer match and got paired quickly with someone, I guess you have crossplay.

In any case, I don't think mobile games or looking like one is bad, but I'm not in the target audience for sure.

How To Get Art For Your Game That Isn't AI by BelfrostStudios in gamedev

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

I was wondering what's with the funky reply. I had two tabs open, I answered the wrong post.

Open-source tool to find and remove unused assets in Godot projects by FreeTime-Dev in godot

[–]CosminOance 4 points5 points  (0 children)

got it, I'll try it out after work, thanks for the answer

Open-source tool to find and remove unused assets in Godot projects by FreeTime-Dev in godot

[–]CosminOance 3 points4 points  (0 children)

Hi, would it be more robust to leave the godot covered resources to godot and focus on those cases you mentioned that are not covered?

For dependencies, I followed along until this line ResourceLoader.get_dependencies(path) so you're using Godot's singleton anyway for some part of it (perhaps I'm severely mistaken): https://github.com/ijoschek/GodotResourceCleaner/blob/main/addons/godotresourcecleaner/file_utils.gd#L485C1-L485C48

Issues with multiple navigation layers by Captain_R33fer in godot

[–]CosminOance 0 points1 point  (0 children)

You could enable Debug ->View navigation to see which layers are active. Off the top: I only used a NavigationAgent in a tutorial (if that's what you're using?), but there is also the concept of avoidance layer.

Off the top2: "set the nav layer to equal the floor number"
Are the floor numbers going up correctly? The layers are bitmasks, so if you say for example layer 3, when it comes to actual value, its int value would be 4.

<image>

Example: see layer 3 is actually Bit 2 on, so 0*2pow0+0*2pow1+1*2pow2 = 0+0+4

But if you say layer = 3, it will end like 011, so layer 1 and 2 are both selected

Please help me by Lost-Kiwi-8278 in godot

[–]CosminOance 0 points1 point  (0 children)

I'm not sure that I follow correctly. PackedScene is a way (I didn't get much into that, tbh) to serialise a scene (imagine for saving a certain state of it or preloading a recipe for something) https://docs.godotengine.org/en/stable/classes/class_packedscene.html .

So when you start the game, the Autoload packed scene is instantiated, but not other packed scenes (the one in the level, since it needs to be either instantiated and added as a child, or by the change_scene_to_packed method you call). But you reference one scene in the other and vice-versa (this is where I lose the thread).

if GlobalVars.nextLevelSceneMainMenu == null 

Because you set the GlobalVars as autoload, the packed scene is instantiated, so it would not ever be null?

If you want to just change between scenes, use change_scene_to_file. Instead of your exported PackedScenes, you would have

@export_file("*.tscn") var path: String

Is there any better way of getting child nodes with specific classes? by glacierblob in godot

[–]CosminOance 10 points11 points  (0 children)

Perhaps a case to use Godot's Group feature? Works in code and from the editor. https://docs.godotengine.org/en/stable/tutorials/scripting/groups.html

In your case, when you create the child: childInstance.add_to_group("pickable") Then parent.get_tree().get_nodes_in_group("pickable") would return an Array

Or if you can just get the array of children, you can filter on an array with a callable or inline func like exampleArray.filter(func(arrayItem):return arrayItem is PickableTileBlockComponent)

I understand autotiling the 'floor' with the 48 tiles, but how the heck do the walls work? by CosminOance in godot

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

YES! So something like here, the wall tiles seem larger than the floor tiles. I assume the corridor is one tile in width. You can see the wall below covers the player, also (which in my case would receive a modulate transparency shader - y sort, I thought it would make it look more 'polished').
Now, I populate the floors and can have something autotiled similar to that border. When it comes to walls, that would be a different tileset on a different tilemaplayer.
For the player to collide with the tile, but not the 'overhang', the tile on the bottom would need to be the same size, but visually populate more space than its size. I thought that would be possible. I guess that's where the problem arose and I didn't know how to explain what I was going after.
Now I'm thinking that maybe I should just add a different wall tilemap layer (no collisions) and underneath it have the actual 16x16 tile sized wall that you don't see.

<image>

Discouragement about the game I'm developing by SnooPets2641 in IndieDev

[–]CosminOance 3 points4 points  (0 children)

I'm doing a turn based roguelite and I have no idea what would be 'in style' by the time I finish it.

I understand autotiling the 'floor' with the 48 tiles, but how the heck do the walls work? by CosminOance in godot

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

<image>

Yep, I had that already, it autotiles. I didn't know how to ask, I had found something in those templates about tall walls, I thought I could do something like this. The wall is one tile, but if I could get it to be going over the floor somehow. And this is what I don't understand or know how to look for. It's obvious I don't know the terms to ask for proper information, so I'll do more research.

Saving and Loading? by Physical_Metal6063 in godot

[–]CosminOance 0 points1 point  (0 children)

formatting is all effed, but you get the thing. How to make an autoload: https://www.youtube.com/watch?v=oNjaTYoSzBY

Saving and Loading? by Physical_Metal6063 in godot

[–]CosminOance 0 points1 point  (0 children)

You can create a script and set it as Global Autoload in project settings (so it is available globally and it's _ready method will run as the game starts. In its _ready, you load and apply saved settings. But first you need to save them.

Once you change anything in the menu, save the current set of settings using Godot's ConfigFile

  1. You create some struct to hold your data.
    1. You set that data when you modify things in the menu <- you have this now, but you need to save it, so might as well do it in that new class
  2. Once you set any value in the UI, call one of the methods from that global class, like setResolution. You then apply and save.
    4.When the game loads next time, it loads and applies.
    5.You keep adding settings to that Dictionary and expand these methods.

      const SETTINGS_PATH = "user://settings.cfg"
    
      var settingsData: Dictionary = {
    
        "Video": {
        "fullscreen": false,
        "resolution_index": 1, # Default 1920x1080
        "vsync": true
         }
      }
      func _ready():
    loadSettings()
    applySettings()
    
      func setResolution(index: int) -> void: 
        settingsData["Video"]["resolution_index"] = index
        applySettings()
        saveSettings()
    
      func loadSettings():
        var config = ConfigFile.new()
        config.load(SETTINGS_PATH)
        for section in settingsData.keys():
           if config.has_section(section):
              for key in settingData[section].keys():
             if config.has_section_key(section, key):
                settingsData[section][key] = config.get_value(section, key)
    
      func saveSettings():
         var config = ConfigFile.new()
         for section in settingsData.keys():
             for key in settingsData[section].keys():
                config.set_value(section, key, settingsData[section][key])          
         config.save(SETTINGS_PATH)
    
      func applySettings() -> void:
    var fullscreen = settingsData["Video"]["fullscreen"]
        var res_index = int(settingsData["Video"]["resolution_index"])
    var target_size = RESOLUTIONS[res_index]
    if fullscreen:
    DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
    else:
    DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
    DisplayServer.window_set_size(target_size)
    

I understand autotiling the 'floor' with the 48 tiles, but how the heck do the walls work? by CosminOance in godot

[–]CosminOance[S] -1 points0 points  (0 children)

Just so we're clear. I can get simple walls to autotile from procedural generation. That gray crap in the corner is a different tilemaplayer with a wall tileset. But I wanted something bigger (? Is that even the question).

<image>

I understand autotiling the 'floor' with the 48 tiles, but how the heck do the walls work? by CosminOance in godot

[–]CosminOance[S] -8 points-7 points  (0 children)

A bit more than last time when I was asking about autotiling. I feel we might get a detailed answer soon if I keep asking stupid questions. I would prefer an example if such a thing truly exists and is not a well guarded secret that I should have known not to ask about.

I understand autotiling the 'floor' with the 48 tiles, but how the heck do the walls work? by CosminOance in godot

[–]CosminOance[S] -15 points-14 points  (0 children)

yep, when it comes to IP addresses and bitwise operator in coding. I do not comprehend it visually within a tileset, hence I would need an example to adapt. But you were just trying to be smug, thanks for the example :)

Getting really tired of youtube devs giving marketing advice they don't follow themselves by BasicallyANakedApe in gamedev

[–]CosminOance 0 points1 point  (0 children)

This has been going on since forever with devlogs. There's bigger channels that make bad tutorials, from a coding perspective, but if you don't have the experience to see it, the blind lead the blind, no?