I am currently working on a Unity 3D FPS game. and I was wondering if I write a detailed paper on what a made in a specific part and steps to replicate it like a documentation .Would it qualify to be a research paper considering I had to research a lot of topics mainly about unity engine to make it? and do I have to publish it in a journal or I just put it in a personal website/Blog?
-
3It doesn't seem at all like a research paper. What would the "research question" be?– BuffyJun 27, 2022 at 23:47
-
1What would u call this one : asawicki.info/Mirror/Car%20Physics%20for%20Games/…– Amine MoJun 28, 2022 at 0:16
-
5An impressive, high-level and thorough tutorial. Well presented and clear. Teaching material perhaps at A-Level/undergraduate level for programmers.– Jiminy Cricket.Jun 28, 2022 at 0:21
-
2Does this answer your question? Can open-source software be peer-reviewed and published?– IanJun 28, 2022 at 14:52
-
1@Ian, certainly many things get published that aren't research. I don't think this question is a duplicate for that reason.– BuffyJun 29, 2022 at 0:23
2 Answers
Perhaps an old example will help clarify things. One of my professional interests (before retirement) was languages and compilers. One of the issues in some languages, like C, was, and remains, memory management. Some important programs can require more memory than the architecture provides, so memory needs to be recycled during execution. Some languages avoid the issue by using a run-time feature called garbage collection. This frees the programmer from making sure that memory is used efficiently. But efficiency is relative.
At one time, garbage collectors provided a benefit to the programmer but were very slow. One version resulted in measurable delays in the progress of a computation while the garbage collector took over the processor and returned now-unused memory to the pool of available locations. There was a great need for faster and non-disruptive garbage collectors and it was, for a few years an important research area. Even a small advance was considered enough to earn a student their doctorate.
But, research proceed as follows. A proposal would be made about the possible structure of a more efficient GC scheme. Then, the student would spend a year or so building an implementation and refining it. But that wasn't enough for the awarding of a degree or the publishing of "research papers", though they were clearly conducting research.
What resulted in the degree was the analysis of the behavior and efficiency of that implementation (or, more generally, the underlying algorithm) in a variety of useful cases. If the new software could be shown to be measurably and reliably more efficient than existing approaches, even by a small amount, say 3-5%, then the student would earn their degree, publish the results, and be praised by the language research community.
The dissertation was not the code listing of the garbage collector, though it would include at least some high level description of it (with source possibly available). The important part of the dissertation was the analysis that led one to treat the approach as superior. That was the research contribution.
If the software failed to show an advance, then the student went back to work, even though some valuable things might have been learned. In a few cases, it might have been possible to publish the fact that a certain "interesting" approach actually fails to work, but not a lot of that happened.
Short version: the software had to show a measurable and reliable advance over existing practice to be seen as a worthy contribution.
I'm guessing that what you have done has none of the above characteristics. It might be an interesting "case study" for someone wanting to do something similar and wanting some guidance in how to go about it, but as research it seems to be lacking that "advance over current practice" that is normally expected in software research.
A "research paper" is a document presenting some novelty to practitioners in a certain topic of a certain fields. (side note: counterintuitively, a review paper is also presenting some novelty: the review itself.)
Your question is if the product you build can be presented as a research paper. Of course, the product itself is a novelty and it can be presented in a scientific way.
However, the fact that it can be presented as a research paper does not automatically mean that it would be interesting to the research community.
The research paper goal is to share research results with researchers that may further build up on the tool itself.
Let's take the Python module called NumPy (Harris et al., 2020): it exists since almost two decades, it has been used intensively in the last two decades, but it has been presented in a research paper only in 2020.
Moreover, it is not even the NumPy itself presented, rather NumPy and its application (the title of the paper is "Array programming with NumPy"). But in the previous two decades there were user's guide, blog entries, technical notes about NumPy.
Try to look for software similar to yours, try to see if anyone published a paper (a research paper about DOOM? that would have been cool!) ... I guess your product can, in the best of the worlds, follow the NumPy way: available, manual published, 20 years later if succesfull finally published as a research paper.
Maybe someone will blend your FPS with a ML-driven robotic proton guns shooting at singular cancer cells, with the surgeon carefully checking the robotic gun job using 3d VR-glasses, who knows?
Ref.:
Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy. Nature 585, 357–362 (2020). https://doi.org/10.1038/s41586-020-2649-2