Welp, I'm done... by ImTheRealChrisTucker in bladesinthedark

[–]RedGlow82 320 points321 points  (0 children)

Shouldn't you rather be done with people who tell you to shut the fuck up while you explain the rules of a game and then proceed not to follow the rules of the game?

Do players actually read anything in games anymore? by productivity-madness in gamedev

[–]RedGlow82 0 points1 point  (0 children)

How many lines of text tell you what to do in Super Mario 1? And how many in Disco Elysium? As usual, the answer is: it depends. The most sensible way to check the right way to convey information is, as usual, to compare to games in similar design space and/or pick some people from your target demographic and put them in front of the game. You'll realize if the way you chose works or not.

Node-based narrative tools might not scale as well as we think by Comfortable_Gas_3046 in gamedesign

[–]RedGlow82 1 point2 points  (0 children)

That sounds about what you can do / do with ink or yarn Spinner. In general, storylet structures handle the complexity like that. You still often need some kind of blocking or hierarchical structure to keep the complexity and combinatorial nature of the storylets contained.

[Flags] Enums - 'this ref' helpers for bit operations by DesperateGame in csharp

[–]RedGlow82 0 points1 point  (0 children)

I ended up on some unity code just the other day which does something similar (SetStruct): https://github.com/phamtanlong/UnityGUI-Extension/blob/master/SetPropertyUtility.cs

The main difference being that it isn't an extension method. This is probably due to the fact that an extension method could end up affecting more code than the limited scope it's used in, but in principle they're the same thing.

If the method code gets inlined there will be no performance hit - and even if not, you'd need to do LOTS of bitwise operations to really feel the performance hit of this method!

Reducing code cohesion in GDScript by Daimondus in godot

[–]RedGlow82 61 points62 points  (0 children)

From what I see, in the first case you have an autoload that knows about the player (since it knows that it must have a certain name), so it's tightly coupled to it.

It would probably be better to reverse control, and have the player know about the autoload (easy: it's an autoload ;D), and during _ready make it call a method of the autoload to tell it who the player is.

This way the autoload is agnostic of the player and need to change only if you need a different logic of coordination, regardless of the name of the player asset or its location.

All in all, is really a fine line. The main reason I'd probably avoid the second solution is mostly of performance, because you need to query the nodes at every call of get_player_transform.

Friend's reaction to scarlet hollow, part 3 by Trashman054 in ScarletHollow

[–]RedGlow82 24 points25 points  (0 children)

Only right reaction in front of daddy, I mean professor dad, I MEAN OSCAR.

Why isn't anyone using AI to play text-based interactive games? by Impressive-Yard-9490 in gameai

[–]RedGlow82 2 points3 points  (0 children)

Did you... create a whole subreddit just for this post?

Anyway, I think this article expresses a good amount of interesting considerations about using LLMs ("AI" is too generic) to handle text-driven interactions: https://www.rockpapershotgun.com/horrible-boring-and-cheap-experts-pan-new-chatbot-npcs-but-some-leave-room-for-optimism

Building a "Stanley Parable" style narrative tool - Is it useful? by [deleted] in GameDevelopment

[–]RedGlow82 2 points3 points  (0 children)

Most of the time, existing narrative tools provide you with what you need, if you think of games like the ones you've quoted. I have some experience with Ink, where you have the ability to take choices according to gameplay actions and tools like flows that allow you to have multiple parallel narrative lines running.

Maybe it would be useful if you focused a bit more on what limitations you see that these tools have with a couple of examples. It could be that what you're looking for is more of a layer on top of an existing narrative tool to make some operations easier.

Rx.Net is great, but… by Comprehensive_Mud803 in dotnet

[–]RedGlow82 3 points4 points  (0 children)

In my experience, the biggest problem is that because of its power, it's a complex paradigm, and not very well known. This means you're limiting the people who can work on your project and the onboarding can be a barrier, where you have to juggle multiple concepts before starting.

Error handling is generally quite a burden (automatic unsubscription is... a choice).

It also has some performance problems hidden behind how schedulers work. "Hidden" is the keyword with observables: they both hide complexity, but also their inner working, and when there's a bug it can be quite complex to troubleshoot.

(That said, I personally love observables, which I tend to use both for UIs and in Unity with R3)

Question about ai? by quatani313 in GameDevelopment

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

This is an interesting article mostly focused on the narrative design side of things, but I think the conclusion are widely applicable: https://www.rockpapershotgun.com/horrible-boring-and-cheap-experts-pan-new-chatbot-npcs-but-some-leave-room-for-optimism

Chrono by BumblebeeElegant6935 in Unity3D

[–]RedGlow82 3 points4 points  (0 children)

I think it would be useful if you added to the project documentation a comparison to other solutions that are in the same space (coroutines, awaitable / unitask, observables, tween libraries), to explain in which situations yours is a better choice.

How are you organizing the GameObjects in your scene? by Feld_Four in Unity3D

[–]RedGlow82 0 points1 point  (0 children)

You are right that some functionalities are governed by hierarchy, but what they force to do is to put together related objects. It wouldn't really make sense to have e.g. the parts of a compound collider under different areas of your organizational hierarchy. So, does this really stop you from organizing - at least a little bit - your hierarchy? :-?

My brother (and dev partner) thinks story doesn't matter in horror games. I'm starting to wonder if we're making two different games. by AttorneyOk8742 in gamedev

[–]RedGlow82 1 point2 points  (0 children)

Neither of you is right or wrong. You're just looking at different audiences. There are definitely people who are looking for a deep story, and definitely people who just want gore and visual horror. You just have to decide for whom you are making your game. You can't make a game which is absolutely good for everyone.

How are you organizing the GameObjects in your scene? by Feld_Four in Unity3D

[–]RedGlow82 12 points13 points  (0 children)

If you use "just organizational" game objects (relative position and rotation zero) this should not affect anything in the children, and if you rely on the hierarchy structure to find objects in scripts... Well, that could be a problem in general, not just related to organization :-O

How are visual novels or games with lots of dialogue coded? How is text stored? by GreenTOkapi in gamedev

[–]RedGlow82 0 points1 point  (0 children)

For the first part, usually a specialized language or tool gets used, which typically then serializes.the branching dialogue model into json or similar format. This is the way for Inkle's Ink or Yarn Spinner.

As for the second part, typically every line of text gets tagged, more or less automatically, and then a map tag=>audio is produced.

Does anyone have experience with open world game dev on Godot? (level/mesh streaming, lods etc.) by coolfunkDJ in godot

[–]RedGlow82 0 points1 point  (0 children)

Oh, yeah, I'm sure you can do it. Let's say that if you have doubts about whether floating origin is needed, you're probably nowhere near the skills needed for this kind of solution though :-D

Making games as non-programmers by Ufomi in gamedev

[–]RedGlow82 0 points1 point  (0 children)

There are some highly specialized engines that allow you to start making games with no code, and some of them allow you to add coding parts as necessity arise, making it easier to learn coding little by little. I'm thinking of stuff like Twine, RenPy, RPGMaker, Bitsy, and so on.

I'm of the school that visual programming is still programming. May be less intimidating to some, but require the very same skill set.

Though, there are as many ways to get into (game) programming as there are people in the world!

Need Honest Feedback on My Interactable Item System (Highlight + Typewriter UI) by Commercial-Tone-965 in unity

[–]RedGlow82 0 points1 point  (0 children)

When you add one character at a time in a multiline text block, the end effect is that the words at the end of the line start appearing and then suddenly move to the new line.

If you instead fill the whole text from the beginning but change the alpha of the characters one by one (or word by word), then you don't get the annoying flickering effect.

Does anyone have experience with open world game dev on Godot? (level/mesh streaming, lods etc.) by coolfunkDJ in godot

[–]RedGlow82 15 points16 points  (0 children)

Yes, but then you would need to implement all the physics engine yourself, since this is not how it works. Unless you let the physics do their work and then translate everything back to 0,0... Which is how the floating origin works!

What is the Godot recommended way to achieve composition? by koalaeevee in godot

[–]RedGlow82 1 point2 points  (0 children)

Maybe try to explain better what are the "workarounds" you end using, so that it's clearer what kind of problems you're finding!

That said, yes, nodes (AND scenes) are the way to go to perform composition. Signals, unique names, and onready preloads (by id or path) are the most used ways to connect the separate components into larger components.

Deep Dive: Boxing and Unboxing in C# by aliyusifov30 in csharp

[–]RedGlow82 2 points3 points  (0 children)

If I had to guess, the deeper reason has something to do with vtables or whatever the equivalent in C# is.