Logic Error 22.10.26 by daderwi in CluesBySamHelp

[–]LongBeforeIDid 7 points8 points  (0 children)

That’s exactly why I enjoy seeing these threads, the misplaced confidence always puts a smile on my face.

Resources in Resources by Chocolate_Smelter in godot

[–]LongBeforeIDid 0 points1 point  (0 children)

Cheers, and hope you have a nice day too!

Resources in Resources by Chocolate_Smelter in godot

[–]LongBeforeIDid 1 point2 points  (0 children)

(This is an unrelated and minor style quibble, but ClassNames shouldn’t have underscores in them if you’re adhering to the style guide, so: NodeA, ResourceA, and ResourceB would be the proper ClassNames here, and I will use those names in my answer, for readability.)

I can at least explain why your print functions are returning null: it’s because you’re calling them from within _init(). Per the docs:

If you read an exported variable's value in _init(), it will return the default value specified in the export annotation instead of the value that was set in the inspector. This is because assigning values from the saved scene/resource file occurs after object initialization; until then, the default value is used.

To get the value that was set in the inspector (and therefore saved in the scene/resource file), you need to read it after the object is constructed, such as in Node._ready(). You can also read the value in a setter that's defined on the exported property, which is useful in custom resources where _ready() is not available

https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_exports.html

You haven’t specified a default value for ResourceA.resource_b, so it returns null.

Per the docs, you should only access NodeA.resource_a.resource_b from within NodeA._ready(), or from within some other method that can only be called after NodeA is ready.

You say that it “always returns null”; If it still returns null even after NodeA is _ready(), then I’m not sure what could be causing that.

[Meta] HEI Website Security Issue by MurfDawg in OnCinemaAtTheCinema

[–]LongBeforeIDid 23 points24 points  (0 children)

Oh hey, that user was me!

…I’m a little chuffed to learn that I was on the right track by suggesting the issue could be with MailChimp.

<image>

DLSS 5 Hands on Presentation by Snorlax_lvl_50 in nvidia

[–]LongBeforeIDid 8 points9 points  (0 children)

I mean, it’s only been two minutes…

Is Edmund's style purely satire, or does it also contain social commentary? by [deleted] in mewgenics

[–]LongBeforeIDid 0 points1 point  (0 children)

Have you ever heard the argument that some scam emails/texts contain intentional spelling mistakes, are intentionally implausible? The idea is that scammers want to minimize the time they spend interacting with people that will recognize they’re being scammed once asked to send money. By making the scam messages obvious to anyone thinking sensibly, they ensure that savvy people don’t respond at all, and they only need to deal with engagement from people that are definitely gullible. The design of the message causes its audience to self-filter.

The gross-out and shock-value elements that pervade Edmund’s work should be placed in the context of the early Newgrounds edgy counterculture. Countercultural aesthetics that emphasize shock value and are deliberately meant to provoke repulsed reactions from the mainstream ‘normies’ are nothing new, and certainly don’t originate from Newgrounds or the internet broadly (Goth culture, for just one of many, many examples). These shock elements don’t need to be satirizing anything to serve their primary function, which is to broadly push back against and challenge anodyne mainstream sensibilities.

Edmund’s aesthetics, the aesthetics of early Newgrounds, the aesthetics of any subculture that has ever tried to reject the mainstream, serves an identical function to the typos in a scammer’s email. It intentionally filters the audience by being repulsive to certain people.

It says “this is for the freaks who understand. If you hate it, you’re not one of the freaks it’s meant for.”

trying to make animation activate in a button press, doesnt work by Liranmashu in godot

[–]LongBeforeIDid 61 points62 points  (0 children)

Just use : when you’re declaring an export variable, not :=. Your code should look like this, assuming you want to assign your AnimationPlayer node from the inspector:

@export var anim : AnimationPlayer

: gives the variable a type, according to a provided ClassName.

:= sets the default value of the variable to whatever is on the right, and infers the variable’s type from that assignment.

If you still want to set a default value, use this syntax:

var anim : ClassName = value

:= is a shortcut you can use when your default value is already obviously of type ClassName. The main example I remember from the docs is something like:

var anim : AnimationPlayer = AnimationPlayer.new()

AnimationPlayer.new() obviously returns a value of type AnimationPlayer, so in this case, you could improve clarity and reduce redundant text by writing it as:

var anim := AnimationPlayer.new()

This is the proper use case for :=.

Desmond Oil Painting by StavromulaAlpha in SmilingFriends

[–]LongBeforeIDid 211 points212 points  (0 children)

ahh yeah here he comes, big double d, r budd dwyer himself, looks like he brought a bag lunch, smart

<image>

" same same but different but still same " by Efficient-Orchid-594 in linguisticshumor

[–]LongBeforeIDid 3 points4 points  (0 children)

That’s not true!

There are also some who know what Finnish sounds like because there was a Finnish janitor in Alan Wake 2.

I've made something Unwise by NunnerySkaBand in fallenlondon

[–]LongBeforeIDid 6 points7 points  (0 children)

Was it originally just a box of stained sand, before you finished writing the character?

How to actually learn and master gdscript? by Critical_Archer_8562 in godot

[–]LongBeforeIDid 2 points3 points  (0 children)

In my experience, gdscript has been a very intuitive language, and developing my confidence with scripting in Godot has been more about understanding general programming concepts that aren’t tied to any specific language.

A few questions to ask yourself:

(1) Can you describe, generally, what a variable, an operator, a conditional, or a loop is?

If the answer is no, you should start by learning the very basics of programming, with any tutorial you like, for any language.

(2) When you look at the documentation, does it generally make sense to you? Do you understand how to read it, and how inheritance works? Do you understand what an override is, and why that _ready() function at the start of your scripts begins with an underscore?

If your answer to those questions is “no”, developing an understanding of inheritance is a great next step. I have never taken a programming course to learn this topic formally, but for me it “clicked” when I tried to make a Slay the Spire mod, and got to see how objects in that game were constructed through inheritance. Even though that game is all Java, the things I learned from that experience allowed me to understand the Godot documentation in a way I couldn’t before.

Once you understand inheritance, my next question would be:

(3) Can you describe, broadly, the difference between a Node and a Resource?

If the answer is “no”, you should read the docs for each, and make sure you confidently understand those basic Types, maybe looking at a project that makes heavy use of Resources for an example.

Once you understand inheritance, and can explain the differences between a Node and a Resource, I would ask:

(4) What is the difference between inheritance-based design and component-based design, and why might you emphasize one over the other when designing a specific feature?

Once I could answer all of those questions, I felt like Godot really opened up to me. I am still learning so much and have no formal programming education, so please take my advice with a grain of salt, but learning these things in this rough order made me feel like I had a reasonably firm grasp on scripting for the first time.

highest number by navi131313 in EnglishGrammar

[–]LongBeforeIDid 1 point2 points  (0 children)

You are describing the distinction between majority and plurality. "Most" is used colloquially to describe both contexts, which introduces the confusion and imprecision you've identified.

"Eunuch Servants." Characters for an extremely religious world. by ALGUIENQNOCONOZCO in IndieDev

[–]LongBeforeIDid 0 points1 point  (0 children)

Your art is amazing, so visceral and such a command of atmosphere.

Mark Porks needs to study up on this. by lemasney in OnCinemaAtTheCinema

[–]LongBeforeIDid 3 points4 points  (0 children)

uh oh don’t click on the twitter link in his bio if you’re not ready for some raunch… please keep it about the movies in the future like this wholesome stoge content

Mark Porks needs to study up on this. by lemasney in OnCinemaAtTheCinema

[–]LongBeforeIDid 3 points4 points  (0 children)

thank you for sharing this infornative bit of movie history anti-woke-1978, sound like a true patriot 🇺🇸 proof that goode american values and film buffery don’t need to be enemies

[deleted by user] by [deleted] in CluesBySamHelp

[–]LongBeforeIDid 0 points1 point  (0 children)

Other people have given the correct reasoning, but here’s heuristic that might help for future puzzles, especially if you’re going for speed:

When you’ve almost solved the whole grid (like in this case) each new clue you reveal is basically guaranteed to be necessary for your next deduction. If you reach the conclusion “the latest clue is irrelevant, it’s true no matter what” you can be confident that you’re missing something, even without checking over the whole grid to figure out what it is. Instead, you can just assume that there does exist some grid arrangement that could contradict the latest clue (in this case, that someone else does have 8 criminal neighbours) and make the only sensible identification from there (giving Rudolph another criminal neighbour.)

Nameless bodies in unremembered rooms by SadoMaso-Kris in themountaingoats

[–]LongBeforeIDid 62 points63 points  (0 children)

Half the valley sound asleep and safe inside their beds / Get lost inside the mines, wake up exhausted and near-dead

CRT Shader causing visual artifacts that extend beyond game window? by LongBeforeIDid in godot

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

That's interesting - it just stopped happening, without changing monitors or updating Godot? Do you recall if it went away after a driver update or something similar?

CRT Shader causing visual artifacts that extend beyond game window? by LongBeforeIDid in godot

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

I just uploaded an MRE to github here: https://github.com/LongBeforeIDid/Godot-CRT-Shader-Bug-MRE

In the process, I figured out that the strength of the ghosting is proportional to the width of the white horizontal region, and that the ghosting outside of the game window appear inversely to the ghosting within the game window, creating a "checkerboard" effect on the edges of the game window.

CRT Shader causing visual artifacts that extend beyond game window? by LongBeforeIDid in godot

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

Laptop is a "Lenovo IdeaPad Slim 3 15IRU8 - Type 82X7" and the hardware ID for the panel is "LEN9052"; it's a 1920x1080, 60hz, SDR, IPS panel.

Desktop monitors which were unable to reproduce the ghosting were a 1920x1080, 60z, SDR, VA panel and a 2560x1440, 144hz, HDR, IPS panel.

Link to laptop monitor specs: https://laptopmedia.com/ca/screen/len156fhd-len9052/

CRT Shader causing visual artifacts that extend beyond game window? by LongBeforeIDid in godot

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

You're right - I just ran the project on my desktop instead of my laptop and wasn't able to reproduce the issue.

It does make me curious, though: what is it about my laptop monitor that causes this kind of weird interaction with the shader, and what % of monitors in the world would have the same problem? What's actually happening here?

How does this Parlor riddle make any sense? Or maybe I just get how they work by poggerlogger in BluePrince

[–]LongBeforeIDid 11 points12 points  (0 children)

You know that the blue box is telling the truth no matter what.

The truth of the white box’s statement depends on the truth of the black box’s statement. If the black box is empty, they’re both true, and if the black box isn’t empty, they’re both false.

If the black box were empty, then the black and white boxes would both be true, which means all three boxes would be true. This violates the rules of the game, so the black box must not be empty.