I often see questions where a user is interested not in copying a game as a whole but in pulling apart a particular game mechanic in order to better understand how it works and apply this to their own development.

In these cases questions can tend towards being subjective if a user is asking "How can I make a game like Diablo 3?" and doesn't meet our FAQ criteria. However if the user is trying to understand how a specific mechanic works more directly such as "How does a character sheet store and implement character stats for use in skills and items such as Diablo 3?" then we can apply a "Reverse-Engineering" tag (if there is something similar I was unable to find it.)

This means the question promotes non subjective discussion about how to create a mechanic. The tag allows the asker to show that they are trying to pull apart an existing example from a known game but showing any viewers they understand not to ask "How can I make X game?".

Unlike Arqade we do not use tags for labelling a particular game (for example "Diablo-3") but we should be encouraging people to try and pull apart how existing games were made so they can reverse engineer for their own benefit and learning.

This is why I believe a reverse-engineering tag or similar would work well for these situations.

  • 2
    \$\begingroup\$ The game-mechanic tag covers, at least, your example well. And I have a hard time imagining what question would be similar but wouldn't be inquiring about a specific mechanic. \$\endgroup\$ – Attackfarm May 16 '13 at 18:23

"Reverse-engineering" would be a meta tag; it's not talking about the question content, but about the method which is desired to be used to arrive at an answer.

Stack Overflow has a policy about meta tags: "From this point on, meta-tagging is explicitly discouraged."

If the tag can’t work as the only tag on a question, it’s probably a meta-tag. Every tag you use should be able to work, more or less, as the only tag on a question. Meta-tags, like [beginner], [subjective], and [best-practices], are useless by themselves — they tell you nothing at all about the content of the question.

  • \$\begingroup\$ +1 Best explanation I've seen so far as to if it would (or in this case wouldn't) fit on the site. \$\endgroup\$ – Tom 'Blue' Piddock May 19 '13 at 23:43
  • \$\begingroup\$ Not so sure it would be a metatag. If that were true, then "Java", "3D", or "DirectX" would all be metatags when they don't work as the only tag for a question. I'm actually for a "reverse-engineering" tag, as a useful one. \$\endgroup\$ – Panda Pajama May 20 '13 at 9:18
  • \$\begingroup\$ @PandaPajama "Java", "3D", and "DirectX" each can be used to describe a question's subject matter. When used correctly, they identify the context of a question so that the questions can be searched for and found more easily by future visitors. Which is the whole point of tagging. My interpretation of the policy I linked to is that tagging a question with "reverse engineering" or other meta tags doesn't say anything about what the question is actually about, and so doesn't aid in filtering or improve discoverability. \$\endgroup\$ – Trevor Powell May 20 '13 at 11:24

You can create new tags if you have enough reputation. I don't think you have to ask anybody for permission to do that.

  • \$\begingroup\$ It was more to see if it had a place and to ask people their thoughts on the tag itself - I was unsure on if the grounds or reverse engineering a feature would be against our Q&A guidelines. \$\endgroup\$ – Tom 'Blue' Piddock May 14 '13 at 10:04
  • 2
    \$\begingroup\$ How about if you create the tag and see what happens? I think the general idea of this site is just like wikipedia: be bold \$\endgroup\$ – Panda Pajama May 14 '13 at 10:09

I'm not particularly fond of the idea, for a few key reasons:

  • It presupposes a particular solution to another similar problem is what somebody else has already done (usually because that somebody else is a "professional") and can result in a case of tunnel vision for the question-asker, who could be missing better solutions to their specific problem as a result. I'd rather see us guide the asker to solutions that are tailored to their specific problem they're having in the development of their game (and if they're not actually developing a game, the question is off-topic).

  • Tags are useful for searching questions, and so should reflect the content of the question and the problem it's presenting. A "reverse-engineering" doesn't reflect the question (unless that question is off-topic), it reflects a potential solution.

  • There are some aspects of reverse-engineering that are a legal grey area.

Your one example doesn't even fall into a category I'd consider 'reverse engineering' at all. The poster wants to implement a mechanic that looks and feels like a mechanic in another game, but he's not actually decompiling the Pokemon binaries and examining their compiled machine code, or anything like that. He's just using it as a model; this is exactly the kind of scenario where I think the tag is damaging (or at best, not useful).

(Note that I'd already removed it, along with overbroad "state" tag.)

  • 1
    \$\begingroup\$ I don't agree that reverse-engineering requires something akin to decompiling binaries. One might simply analyze the output in enough detail to understand the underlying structure that built it. I don't think the tag is necessary for other reasons, but the definition covers a more general output-oriented analysis, at least in theory. \$\endgroup\$ – Attackfarm May 16 '13 at 18:26

You must log in to answer this question.

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