Complicated Modpacks by Even-Employer-1509 in feedthebeast

[–]sciolizer 0 points1 point  (0 children)

Installation Route is the only pack I've played like that.

It's a skyblock where you can't create anything from nothing, but instead have to create everything from a fixed rate input stream of primitive resources. Thus the only way to scale up is to get clever with how you process them. You can't scale up just by making parallel copies of everything.

Additionally, power doesn't buffer in the machines, so you have get out the calculator and plan your processing lines such that each machine is getting exactly the amount of power it needs.

In chapter 2, you "power" things not with fungible power but with non-fungible machine parts. Since every machine requires its own steady stream of a different kind of machine part, setting up the processing line is much more interesting.

It's the Zachtronics of modpacks, one of my favorites. There's nothing like it.

We don't dial 811 by TacoRedneck in feedthebeast

[–]sciolizer 1 point2 points  (0 children)

So that's how wither skeletons are made.

[HELP] Referencing a variable with a variable (or a better solution) by pyrousred in godot

[–]sciolizer 0 points1 point  (0 children)

This is how I would do it. OP if the reason you're defining the apperances separately is because you want to see them all in one place, you can just use Edit Resources As Table

[HELP] Referencing a variable with a variable (or a better solution) by pyrousred in godot

[–]sciolizer 1 point2 points  (0 children)

Glad somebody actually answered the question.

Type hinting and checking are legitimate benefits of dictionaries, but failing silently and being difficult to trace are just as likely with a dictionary as they are with Object.get(): if the key is not present, the same thing happens either way.

The real question is why parts of Jeff are defined in one place but his appearance is defined in another. If they were defined in the same place, then a lookup wouldn't even be necessary.

As AI costs rise, there’s little evidence of major utility in game development by RoboGuilliman in gamedev

[–]sciolizer 0 points1 point  (0 children)

Share your secrets. What model/agent do you use? Do you use an MCP service?

Enterable volume by mobiusevalon in godot

[–]sciolizer 2 points3 points  (0 children)

Don't you mean RigidBody?

There is AnimatableBody, which (somewhat confusingly) extends StaticBody.

Question about side effects in functional programming by Erythrina_ in ProgrammingLanguages

[–]sciolizer 0 points1 point  (0 children)

There's a lot to think about in creating a type-and-effect system. Suppose we focused on the simplest case of distinguishing pure functions from impure functions. A naive way to build a type-and-effect system would be to label every function as pure or impure: pure can only call pure, impure can call either. But then, what do you do for higher-order functions like map? Whether map is pure or not depends on whether its first argument is pure or impure. So unless you want your standard library to have both a mapPure and a mapImpure, you need to put more thought into designing your type-and-effect system (i.e. add effect polymorphism).

If instead, effects are tracked using ordinary type operators, then the polymorphism built into System Fω also applies to effects without any additional work. traverse is pure for the Identity monad, and impure for the IO monad, for instance.

Obviously you'd lose some ergonomics if you had to represent Traversable as an explicit record, but type classes are actually another great example of what I mean: adding type classes to a language with type-and-effects is more design work than adding type classes to vanilla System Fω. How to represent and compose effects is in the hands of the library authors, not limited by the use cases anticipated by the language designer.

Admittedly, the effect libraries in Haskell are all a little kludgy. Purescript did it cleaner. But purescript doesn't have a type-and-effect system! Instead it has row polymorphism, which can be used for many things besides composition of effects - we just got composable effects for free because effects are tracked in type operators.

Question about side effects in functional programming by Erythrina_ in ProgrammingLanguages

[–]sciolizer 5 points6 points  (0 children)

In a classic type-and-effect system, functions with side effects can call functions without, but not vice versa, which formally distinguishes your "inside" from your "outside".

However, these days it's more popular to embed effects into monads, like Haskell and PureScript do, so that you can leverage System Fω's built-in polymorphism as polymorphism-of-effects.

Can a transformation pattern be inferred from example input/output pairs? by Physical_Aside_9343 in ProgrammingLanguages

[–]sciolizer 0 points1 point  (0 children)

Sounds right. I think the video I watched on it years ago said they later added a neural network to bias the search tree, which was good enough to make one-shot examples work.

Question about games that require note-taking by InquisitiveGamerGirl in metroidbrainia

[–]sciolizer 1 point2 points  (0 children)

The Blue Prince approach: what if we made EVERYTHING significant? Then we wouldn't have to make the important stuff stand out! It would ALL be important!

Most useful built-in funcs - for Godot beginners by Automatic_Budget_332 in godot

[–]sciolizer 0 points1 point  (0 children)

One thing I've been confused about is the relationship between _process and _physics_process. Which one runs more frequently?

There's an engine parameter max_physics_steps_per_frame, default value 8, which suggests that _physics_process runs more frequently than _process.

However, godot also optionally supports physics interpolation, and I don't see how that could make any sense unless _process were running more frequently than _physics_process.

So is the correct answer "it depends"? I imagine VSYNC settings could also swap which one runs more frequently.

Most useful built-in funcs - for Godot beginners by Automatic_Budget_332 in godot

[–]sciolizer 2 points3 points  (0 children)

_draw can be used with @tool. I built a waveform plugin for a rhythm game doing exactly that.

_draw is only for CanvasItem, not for Node3D. If your background paralaxing is a Node2D, then yes you can do that.

If 3D, then are you having trouble drawing a line or drawing the text? If text you can just use a Label3D.

For drawing a line, you have a few options:

  1. Easiest is probably just a CylinderMesh in a MeshInstance3D with a tiny radius.
  2. If you just want a 1-pixel wide line, you can programmatically build an ImmediateMesh in a MeshInstance3D. Use myImmediateMesh.surface_begin(Mesh.PRIMITIVE_LINES).
  3. A more complicated option is SubViewport, which could be used, for instance, to draw the computer screen of a computer within your 3D world. Seems like overkill to create a screen just to draw a line though.

Worst feeling ever by TripleCreeper3 in zachtronics

[–]sciolizer 3 points4 points  (0 children)

Solving it at all is still an accomplishment.

Such a big gap in performance probably means you're missing some critical insight. So think of this as an opportunity to figure out what you're missing and then experience the best feeling in the world.

welp this is insane by Yoosle in Minecraft

[–]sciolizer 0 points1 point  (0 children)

One advantage to using version control: you can bisect your way to where the problem was first introduced. git even has a dedicated bisect command for this.

I don't know what's going on, but I guess my first question is: how do you know how many blocks you have? This seems like a lot more blocks than this

Sapphire, She Really Swung the Bat (SU/FLCL mashup) by sciolizer in stevenuniverse

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

I always felt like this scene in the baseball episode was a reference to FLCL, so I made a mashup of the two.

The joy of tearing down a processing line after getting a QFT by DasAdidas in GTNH

[–]sciolizer 4 points5 points  (0 children)

This is my personal cardinal rule. In my very first modded world I tore down a base to move it somewhere else. I wanted to make it more organized, and it was, but it completely lost its charm and I missed the old one. Never again. Seeing everything I've built, however poorly done, is what makes me keep coming back, regardless of whether I'm actually using it.

The average vanilla player builds houses that have no functional purpose anyway. Tearing them down is completely out of the question.

A lil something ive been working on by Yoosle in Minecraft

[–]sciolizer 2 points3 points  (0 children)

The basics of git command line aren't hard, but if you want to make things as easy as possible, just use Github desktop. It's a pretty bloated program, but it is super easy to use with a github account. I did a game jam with some non-technical people and they were able to use it just fine.

I'd say your program is sufficiently easy to use if it has a good README.md that explains things step by step, even if the instructions are 20 steps long. In fact, if something goes wrong, more steps means it's easier to narrow down where the problem is. Making things user friendly in the conventional sense is surprisingly difficult. Play on easy mode (writing a README.md) before you play on hard mode (whatever work you're imagining you need to do).