1
\$\begingroup\$

What should we do with questions that are tagged with, or otherwise asking about performing some task in when the problem in question is not actually specific to tool X or is easily generalizable to tools other than tool X?

Specifically, consider this question about creating an afterimage effect. The original, unedited text of the question was:

enter image description here

How can i make a particle system like this? im new in game developing specially in particle systems. i saw this photo on one of the posts here in gamedev.stackexchange but i cant comment so yeah

It included Unity tags, and made reference to Unity in the description. Unity is, in this case, an aspect of the question that can be generalized away (that is, one could also easily ask "how to create this effect in [Unreal|SpriteKit|libGDX|et cetera]?"

Should we generalize such questions to remove the tool-specific aspects (and if so, where do we draw the line for determining when to do so), or should we allow all potential permutations of such questions to exist for all potential values of tool X distinctly?

\$\endgroup\$
  • \$\begingroup\$ I thought we had this discussion already, but I cannot for the life of me track it down. If anybody else can, please post a link here (although it's probably been long enough that we may was refresh the community consensus). \$\endgroup\$ – Josh Mar 25 '16 at 18:03
4
\$\begingroup\$

I think that when possible, we should strive to make questions as generally-applicable as possible. I don't think we should allow for questions to vary only in which engine the asker happens to be using, with some caveats:

  • If a question is only making reference to some tool or engine to indicate that's what the user is asking, and the topic of the question is not a task specific to that engine, I think we should try to generalize the question where possible.

For example, the process of cooking or compiling data to runtime-ready formats is not something every engine does, and something every engine does fairly differently. So a question about fixing some behavior observed while cooking assets in Unreal is a reasonable Unreal-specific question, and shouldn't be generalized away. However, the task of creating a pizza-cheese-like graphical effect is not generally something that is engine-specific itself, and should be generalized.

This doesn't preclude answers being technology specific (and to that extent, I'd say that the process of generalizing a question should be to remove tags, but not necessarily to excise all references to the specific tool/engine in the body text). This way, we establish a pattern of a canonical, agnostic form of question and an associated set of answers, some of which may deal with the specific processes of accomplishing the task in a specific engine, versus just describing a general overview. This creates good duplication targets, it creates good, all-in-one-place threads for search engines to index, and it provides a compelling benefit for users to post new answers addressing the problem in other specific tools, if so desired. How can I trigger code once is a great example of that sort of question.

Conversely, though, we shouldn't be overzealous in generalizing questions:

  • If the specific text of a question reveals the problem is really related to bugfixing/tweaking some problem specific to the implementation of the general task in some specific tool, we shouldn't attempt to generalize that away.

For example if the question in the original post were asking something more specific, such as "what knob do I need to twiddle to make the afterimage sprites fade out over time," that's not something I think we can turn into a general question, so this isn't a blanket rule.

In summary: If the user doesn't know how to perform the task at all, the question is probably suitable to be made as general as possible (although answers can be tool-specific). If user does know how to do the task, but is having a specific problem with it (possibly as relates to a specific tool/engine), it probably shouldn't be generalized.

In the long run I think more general, canonical questions are better for the health of the site.

\$\endgroup\$
  • \$\begingroup\$ I believe equivalence classes can be a way to partially generalize questions "on the fence" between specific and general. The example question could lose engine specific tags, and instead gain a tag representing classical particle systems as we know them. \$\endgroup\$ – MickLH Mar 25 '16 at 18:14
1
\$\begingroup\$

How do I voxel in Unity? [voxel] [unity]

If they don't know how to voxel, [unity] is meta and should be removed.

If they know how to voxel, [unity] should* be generalized to [ecs].

If it is truly a Unity-specific implementation detail regarding voxels, they are both good tags*.

*If [unity] remains valid under certain circumstances, you'll be spending a lot of time because many beginners probably don't realize that Unity is just one of many ECS-based game-builders; they probably think it's unique in some way. (a lot of time)

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .