Posts
1156
Following
123
Followers
142
of the @kitsunecafe@tech.lgbt notoriety

"what a fascinating yet quietly terrifying being neofox_pleading" @kirakira@furry.engineer
re: unsolicited code/advce
Show content

@kasdeya if you use a Map instead of an object, you can also do

const someDict = new Map()
someDict.values().some(value => !isPrimitive(value))
1
0
1
re: godot liveposting
Show content

@Ry oh thank you! šŸ’œ i haven’t been sure when to use class_name since i was running into issues with it and autoloads (apparently having an autoload with a class_name causes a name conflict??)

1
0
0

eli, vampire kitsune

Edited 5 months ago
unsolicited code/advce
Show content

@kasdeya this isnt gonna make it thaaaat much better but you could do

Object.values(someObject).some(value => !isPrimitive(value))

(especially since i think the python version of values is a lazy iterator that stops on first match and the javascript one isn’t)

1
0
1
re: godot liveposting
Show content

also a minor gripe, type hinting is Really Fuckin’ Annoying when i have to import all my other scripts in order to hint with them. why ??

const Player = preload("res://src/player.gd") # okay but what the fuck is this

func damage_player(player: Player):
  player.apply_damage(5)
1
0
1

eli, vampire kitsune

Edited 5 months ago
re: godot liveposting
Show content

as far as i can tell, the one node, one script thing encourages some kinda shitty habits that i didn’t have a problem with in Unity or any ECS architecture. for example, code reuse comes from one of three things: a child node, a global/autoload, or inheritance. splitting every shared functionality into a shared node feels like overkill sometimes, especially when it comes to trying to make those nodes communicate. i don’t want to have to connect a bunch of signals for what could have been a simple function call

globals/autoloads are Okay but not always the most ergonomic. (i’m also lumping a class with static methods into this approach). like, it just feels kinda dirty to do it this way.

# node_ext.gd
class_name NodeExt extends Object

static func find_child_type(node: Node, variant: Variant) -> Node:
  # blah blah find node


# other_node.gd
func some_fn():
  var found_node = NodeExt.find_child_type(a_node, CustomVariant)

like yeah this gets it done but i just kinda hate doing it this way. c# at least has extension methods

// nodeext.cs
public static class NodeExt {
  public static Node FindChildType<T>(this Node node) {
    // blah blah find node
  }
}

// othernode.cs
public void SomeFn() {
  var foundNode = aNode.FindChildType<CustomVariant>();
}

and inheritance just kinda sucks, so i feel like i’m only left with one option for code reuse in godot lmao

1
0
1
re: godot liveposting
Show content

so in godot’s fairness, i really love how quickly the game launches compared to unity. no compilation time, no waiting on domain reloads. it just opens. love that

i’m still having a hard time adjusting to the one script, one node design but i think i can eventually get used to that. i can’t say i enjoy the cognitive load (or performance burden) of a deeply nested scene graph though.

1
0
2

Catawump šŸ¦€šŸ•ļø

1
3
0

eli, vampire kitsune

Edited 5 months ago
godot liveposting
Show content

i’m currently in the process of rewriting my prototype as gdscript and this language is somehow both too pedantic and too loose at the same time. type ā€œhintsā€ are actually runtime errors if it receives something it doesn’t expect, but this can be fixed by just Removing The Type Hint ??? why

worse yet are the array type hints. if i have the following

var nums: Array = [1, 2, 3]

this is somehow different from

var nums: Array[int] = [1, 2, 3]

and if i want to coerce one to the other?

var nums: Array = [1, 2, 3]
var nums_int = nums as Array[int] # runtime error
1
0
3
re: rown game/story stuff
Show content

@kasdeya i went to check wiki to see if it mentioned it and it does!! this is the first paragraph under stories and characters :3 i even got the ā€œwilderness vs civilizationā€ exactly right neofox_evil

0
0
1
re: rown game/story stuff
Show content

@kasdeya i’m certainly no expert on western storytelling, and mostly likely it’s not all westerns obviously but i’m pretty sure a central theme of a lot of western stories is wilderness versus civilization. living in the harsh realities of the wild west with its lack of a centralized legal system, dearth of necessities, and very simple lifestyle vs the encroachment of modern civilization and promises of abundance at the cost of a more complicated life. plus the societal differences of the tightly knit frontier town community and the disconnected, efficient city person. it feels to me like these are kind of adjacent to a lot of the same plot points i want to hit.

1
0
1

eli, vampire kitsune

Edited 5 months ago
dark, details, re: rown game/story stuff
Show content

ā€œoh, yeah, my story is a cyberpunk 5 minutes into the future western story which centers around the atomization of society and the unrelenting march of technology pushing capitalist ā€œcivilizationā€ forward at the expense of those who can’t adapt, leaving them destitute and alone until their inevitable imprisonment or deathā€

ā€˜ā€¦ rowan i asked about your video gameā€˜

neofox_floof

0
1
2

@foxysen @kasdeya it’s not good, but you can look into POSIX shell rather than bash as a stop gap until you find something you like. it’s available where ever bash is available and doesn’t have most of the most ridiculous parts

that or just pick up an interpreted language which is widely available (like python) and write in that

0
0
2

@foxysen @kasdeya bash really said neofox_floof

0
0
1

eli, vampire kitsune

rown game/story stuff
Show content

i’m realizing that my main game idea’s story is very similar in theme to a lot of westerns and it’s got me wondering if i should go rewatch a bunch of western movies or something

2
0
2

@kasdeya @foxysen it’s easy to me in the same way that regex is easy. i can make a quick bash script to fix something, but i really really hope i never have to look at it again or else i’m sending as many curses onto my past self as i can possible manage

1
0
2

@kasdeya things which are not ā€œreally simpleā€ or ā€œintuitiveā€ under any circumstances

  • computers
  • technology

it needs years of experience or study as a baseline requirement for anything related to those things to be intuitive. even then, it’s possible to spend those years only learning a specific facet of computer science which doesn’t overlap with another thing you’re trying to learn

0
0
2

if anyone tells you that a FOSS technology is ā€œreally simpleā€, ā€œintuitiveā€, or ā€œeasy to learnā€ that is 100% cope. so far I’ve heard this about:

  • Rust
  • makefiles
  • bash scripts
  • Linux in general

and the opposite has been true every time. I really wish FOSS people would be more honest with themselves and others about how arcane most FOSS is

3
4
8

eli, vampire kitsune

if godot has a million haters then i am one of them

0
1
2

@kasdeya by the way, this error is because i dared to type hint an array (hence the TypedArray reference in the error). i’m trying to detect and accumulate certain types of objects when they enter a certain area. basically, ā€œif an object is in in this area, add it to an array.ā€ it’s literally two lines of code

1
0
2

@kasdeya i wish everyone hated it because then maybe it would encourage some significant changes to the language. as far as i can tell, the godot community thinks of the language as near-perfect with only a little room for improvement. whenever i see discussions about the shortcomings of gdscript and difficulty picking it up, it’s often framed as ā€œunity developers making games after 2020 cant code. all they know is static typing, asset store, and lieā€

1
0
2
Show older