28

Gaming the system

So, I asked a question over on Meta.SO:

Can I ask about assembly programming in the game “Human Resource Machine”?

...
It is programming, for sure, but I'm unsure about whether it's on-topic because it's not a "problem I face in real life", it's a video game.

And the comments led me to quickly realize there's a more fundamental decision to be made here:

Scratch and TIS-100 are on-topic here, I don't see why this [questions about assembly programming in "Human Resource Machine"] wouldn't be on-topic as long as the question is clear and your "code" is added properly

Should questions about programming within a video game be treated differently than questions about "real life" programming?

Programming for fun and profit

Examples of programming within a video game:

  1. Redstone circuits in Minecraft
  2. Logic gate assembly in Rocky's Boots
  3. Assembly programming in Human Resource Machine

Note that all these "languages" are Turing-complete, but:

  1. Proprietary
  2. Commercial
  3. Difficult to copy/paste for the sake of an MVCE

But I think those are all minor, technical, issues, and we can come up with workarounds (plenty of proprietary, commercial, and even visual languages have active tags on SO, e.g.).

The major difference I see is such languages do not represent "actual problems" that, for example, the SO tour asks for, in the "it matters in real life" sense.

But does this really matter?

You don't have to go home, but you can't stay here

For example, is it true that:

If you write the question [about programming within a given video game] that someone can understand and answer it without buying the game I think you can totally ask that question. Now if your code does not work I would ask on SO, while when you have working code and you want to optimize it you probably want to go to codereview.

Just like "regular" programming questions? And, if not, then where are these questions best asked?

For example, since we're talking about video games, and plenty of programmers frequent the site, should we ask them on Arqade?

Or, as another user suggested,

I thought a little about this and I might have an even better idea. You're right that you have something a little too "fun" for Stack Overflow, but maybe a little too technical for Arqade (although you could post there and see if it attracts anything). But there is one site combining both of these realms a little:

Programming Puzzles and Code Golf

If Minecraft is a language, I think HRM counts too.

So it's true that Scratch questions have been asked on SO, and Minecraft redstone answers provided on both Arqade and PPCG. Ideally, if the question is fundamentally about programming in a video-game (i.e. non-practical) language, where should they be directed?

Are the rules the same for video-game languages as for practical languages?


Full disclosure: my gut tells me programming is programming, as just as we accept homework questions and treat them like any other, despite the difference in their motivations, we should probably do the same for "video game programming".

But I trust the system, and I know StackExchange, as a Q&A site, tries to focus on "practical problems", so I'm happy if the consensus is "nah". That's 100% fine.

If you would prefer "video game programming" questions be excluded from the programming-specific sites, vote down, and ideally suggest a stack, such as Arqade or PPCG, where these should be directed. I want honest feedback, and couldn't care less about rep points.

8
  • 2
    As a note, and as a user on Arqade, Minecraft Redstone questions get asked with no issues (provided it's a good question to begin with) on there. I did a search to be sure before posting this, as I haven't been on the site in a bit, but Redstone and even Command Block questions (which I would also classify as a form of coding in Minecraft, albeit command line) seem to do just fine there. So I would say Arqade could host these questions even if nowhere else will. (As an added note, just because it's programming doesn't mean regular gamers won't figure out the best ways to complete levels. :) )
    – Kendra
    Commented Jun 8, 2016 at 14:45
  • 1
    After digging into this further overnight, both the minecraft questions previously mentioned and Human Resource Machine appear to be on-topic on Arqade- There are already two questions with the human-resource-machine tag asked over there. (This does not answer, of course, whether or not these questions are on-topic on any of the programming sites, but at least you have an alternative if it's decided they are not.) I didn't see a tag for "Rocky's Boots" and I know nothing about it, but I didn't do too in-depth a search on that issue.
    – Kendra
    Commented Jun 9, 2016 at 15:01
  • @Kendra Thank you for putting all that effort in! Yes, I never really doubted the questions would be on-topic for Arqade, but I'm asking about SO, CR, Programmers, etc, because they have a much larger audience overall, and a greater proportion of that audience are experienced programmers, compared to the gamer-heavy population on Arqade. Also, I'll be able to ask more kinds of questions, going to style, tooling, etc, on the programming sites.
    – Dan Bron
    Commented Jun 9, 2016 at 15:22
  • I was more leaving that all here as you did request in your question for site suggestions in case they were found off-topic for the programming sites- Just confirming that they should indeed be on-topic for Arqade. :)
    – Kendra
    Commented Jun 9, 2016 at 17:48
  • I'd say, yes, they are on-topic, but you'll need a well-designed question to get an MVCE. Regarding "actual problems", many of the questions at Mathematics don't "matter in real life".
    – Mark Hurd
    Commented Jun 10, 2016 at 6:19
  • Screeps uses javascript. Commented Jun 10, 2016 at 17:59
  • Hi @DanBron, I removed part of your question, feel free to revert if I misunderstood you. As a lurker on PPCG.SE, I know that it is not for random questions about fun code in a style similar to SO. Almost all questions there, with a few exceptions, are challenges for the community. A question about a video game programming language, if you're not asking how to golf your code or make a challenge with it, would be OT.
    – AAM111
    Commented Jun 13, 2016 at 19:08
  • @OldBunny2800 Thanks. I don't see your edit, so it must have been a "suggested edit", and some other users must not have approved it. But I agree with your comment: if I were to post on PPCG, it would be to golf (or optimize) a program.
    – Dan Bron
    Commented Jun 14, 2016 at 0:11

2 Answers 2

10

I hate the line "must be a practical problem that you face". There are so many problems with it.

  1. Who gets to decide whether your problem is "practical" enough?
  2. By the as-if rule, why does it matter if you actually face the problem or think that someone else might?
  3. If it's a problem that you only think that someone else might, how come self-answered questions that add quality information to the Q&A repository are encouraged?
  4. What about language lawyer questions? I can ask a superb question about the C++ standard which will provide extreme value for anyone using the language in any seriousness, and I can do so while deliberately abstracting away what the target platform will end up being in real life. It's entirely irrelevant to the question as to whether I shall be compiling for x86, compiling for a stone tablet, compiling for Minecraft, compiling for my immortal dog to execute bit by bit over the centuries, or not compiling it at all. Nobody's said that language-lawyer questions aren't welcome, so wha?

Unless you're obviously trolling (and it's not 1st April), I don't see why anyone has a right to decide that your question about a programming language is not "good enough" because the implementation of that programming language isn't "real enough" for them. Such people are free to simply move on to another question instead of getting all offended about it.

I think that "must be a practical problem that you face" line is likely to be a deliberate simplification to stop people from posting reams of hypothetical nonsense that doesn't need answering and didn't need asking. But I wouldn't take it too literally.

tl;dr: post it

4
  • 1
    I agree with you, +1. Can you also perhaps elaborate on the kinds of questions SE intended to exclude with the "practical problems" clause? Like not joke questions? I'm not clear on that point.
    – Dan Bron
    Commented Jun 16, 2016 at 13:51
  • @DanBron: I can only hypothesise as I have no data or citations. But I'll try to think of an example or two. Commented Jun 16, 2016 at 13:53
  • Thanks. My comment slid in just microseconds before you added the new final para.
    – Dan Bron
    Commented Jun 16, 2016 at 13:54
  • @DanBron: I must have slid the edit in microseconds before you posted your comment, else my post would come up as "edited" ;) Commented Jun 16, 2016 at 13:59
5

Lightness Races in Orbit makes some excellent points, but I have a potentially simpler idea.

Is it a programming question?

Programming is programming, regardless of where it is done and for what purpose. The aforementioned Rocky's Boots presents a real programming environment that can be made to do many things but was intended as an educational game to teach programming. That purpose may affect how interesting and useful a question is to other users, but doesn't determine whether it is a programming question. What's the difference between an educational game and and a game? "It's educational" has never been an off-topic reason on Arqade, and so I don't see any reason why "it's a game" should be an off-topic reason on Stack Overflow or any other programming stack.

Stack Overflow currently has several tags for what could be considered "game" languages:

  • Minecraft, the scripting language used in various versions of the Minecraft game. (2,347 questions)
  • Linden Scripting Language, a proprietary C-like scripting language used to provide functionality in the virtual world of Second Life. (60 questions)
  • Scratch, a "toy" programming language in a canned environment designed to teach the basics of loops and conditions. (154 questions)
  • Karel, an educational language featuring a minimalistic simulation of a robot and its environment. (32 questions).

In addition, "old" or "obsolete" programming languages are and have always been on-topic on Stack Overflow. For example,

Programming theoretically doesn't even require a computer, so theoretical or paper-and-pencil languages can still yield programming questions. For example,

It is true that tags for older, less popular, or niche languages do not generally get anywhere near the volume of activity that the most popular tags get, but their questions are not getting closed and many of them are upvoted.

What is not a programming question?

There are some games that have challenges that take inspiration from the world of computers, but are really math, visuospatial, or role-playing puzzles. For example, the 1994 video game Star Trek: The Next Generation: Future's Past included a section in which the player needed to assemble a circuit board to bring the main computer of a starship back on-line, but the puzzle required no actual programming knowledge and was functionally equivalent to a jigsaw puzzle. Asking a question about solving this puzzle would not be considered a programming (or electrical engineering, for that matter) question despite the fact that the game portrayed it as such.

1
  • 1
    For bonus confusion, many of the questions tagged fortran77 aren't about Fortran 77 (and many questions about Fortran 77 aren't tagged fortran77). Commented May 2, 2020 at 20:08

You must log in to answer this question.

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