{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,27]],"date-time":"2025-12-27T21:05:20Z","timestamp":1766869520792,"version":"3.41.0"},"reference-count":62,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2023,5,26]],"date-time":"2023-05-26T00:00:00Z","timestamp":1685059200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2023,10,31]]},"abstract":"<jats:p>Video games represent a substantial and increasing share of the software market. However, their development is particularly challenging as it requires multi-faceted knowledge, which is not consolidated in computer science education yet. This article aims at defining a catalog of bad smells related to video game development. To achieve this goal, we mined discussions on general-purpose and video game-specific forums. After querying such a forum, we adopted an open coding strategy on a statistically significant sample of 572 discussions, stratified over different forums. As a result, we obtained a catalog of 28 bad smells, organized into five categories, covering problems related to game design and logic, physics, animation, rendering, or multiplayer. Then, we assessed the perceived relevance of such bad smells by surveying 76 game development professionals. The survey respondents agreed with the identified bad smells but also provided us with further insights about the discussed smells. Upon reporting results, we discuss bad smell examples, their consequences, as well as possible mitigation\/fixing strategies and trade-offs to be pursued by developers. The catalog can be used not only as a guideline for developers and educators but also can pave the way toward better automated tool support for video game developers.<\/jats:p>","DOI":"10.1145\/3563214","type":"journal-article","created":{"date-parts":[[2022,9,15]],"date-time":"2022-09-15T09:53:45Z","timestamp":1663235625000},"page":"1-35","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["Video Game Bad Smells: What They Are and How Developers Perceive Them"],"prefix":"10.1145","volume":"32","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7888-6620","authenticated-orcid":false,"given":"Vittoria","family":"Nardone","sequence":"first","affiliation":[{"name":"University of Sannio"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8861-9526","authenticated-orcid":false,"given":"Biruk","family":"Muse","sequence":"additional","affiliation":[{"name":"Polytechnique Montr\u00e9al"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9058-8519","authenticated-orcid":false,"given":"Mouna","family":"Abidi","sequence":"additional","affiliation":[{"name":"Polytechnique Montr\u00e9al"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5704-4173","authenticated-orcid":false,"given":"Foutse","family":"Khomh","sequence":"additional","affiliation":[{"name":"Polytechnique Montr\u00e9al"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0340-9747","authenticated-orcid":false,"given":"Massimiliano","family":"Di Penta","sequence":"additional","affiliation":[{"name":"University of Sannio"}]}],"member":"320","published-online":{"date-parts":[[2023,5,26]]},"reference":[{"key":"e_1_3_3_2_2","unstructured":"JetBrains. [n. d.]. Rider\u2014Fast & powerful cross-platform .NET IDE. Retrieved from https:\/\/www.jetbrains.com\/rider\/."},{"key":"e_1_3_3_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.24"},{"key":"e_1_3_3_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3511430.3511436"},{"key":"e_1_3_3_5_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2006.07.003"},{"key":"e_1_3_3_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/2181037.2181074"},{"key":"e_1_3_3_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/3328833.3328871"},{"key":"e_1_3_3_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2013.96"},{"key":"e_1_3_3_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/TG.2019.2910248"},{"key":"e_1_3_3_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3379597.3387454"},{"key":"e_1_3_3_11_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39473-7_80"},{"key":"e_1_3_3_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1158285"},{"key":"e_1_3_3_13_2","volume-title":"AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis (1st ed.)","author":"Brown William H.","year":"1998","unstructured":"William H. Brown, Raphael C. Malveau, Hays W. \u201cSkip\u201d McCormick, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis (1st ed.). John Wiley & Sons."},{"key":"e_1_3_3_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.295895"},{"issue":"4","key":"e_1_3_3_15_2","first-page":"392","article-title":"Questionnaire design, interviewing and attitude measurement","volume":"35","author":"Chisnall Peter M.","year":"1993","unstructured":"Peter M. Chisnall. 1993. Questionnaire design, interviewing and attitude measurement. J. Market Res. Soc. 35, 4 (1993), 392\u2013393.","journal-title":"J. Market Res. Soc."},{"key":"e_1_3_3_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME52107.2021.00037"},{"key":"e_1_3_3_17_2","volume-title":"Proceedings of SBGames","author":"Figueiredo Roberto Tenorio","year":"2016","unstructured":"Roberto Tenorio Figueiredo and Geber Lisboa Ramalho. 2016. GOF design patterns applied to the development of digital games. In Proceedings of SBGames."},{"key":"e_1_3_3_18_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45672-4_31"},{"key":"e_1_3_3_19_2","unstructured":"GameIndustry.biz. [n. d.]. Global games market value rising to $134.9bn in 2018. Retrieved from https:\/\/www.gamesindustry.biz\/articles\/2018-12-18-global-games-market-value-rose-to-usd134-9bn-in-2018."},{"key":"e_1_3_3_20_2","volume-title":"Design Patterns: Elements of Reusable Object Oriented Software","author":"Gamma Erich","year":"1995","unstructured":"Erich Gamma, Richard Helm, Ralph E. Johnson, and John M. Vlissides. 1995. Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, 1995."},{"key":"e_1_3_3_21_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijcci.2018.06.002"},{"key":"e_1_3_3_22_2","unstructured":"GlobalWebIndex. 2022. The Gaming Playbook. Retrieved from https:\/\/www.gwi.com\/reports\/the-gaming-playbook."},{"key":"e_1_3_3_23_2","volume-title":"Survey Methodology","author":"Groves Robert M.","year":"2011","unstructured":"Robert M. Groves, Floyd J. Fowler Jr., Mick P. Couper, James M. Lepkowski, Eleanor Singer, and Roger Tourangeau. 2011. Survey Methodology. John Wiley & Sons."},{"key":"e_1_3_3_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM52516.2021.00016"},{"key":"e_1_3_3_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380395"},{"key":"e_1_3_3_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671310"},{"key":"e_1_3_3_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR52588.2021.00055"},{"key":"e_1_3_3_28_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-021-10014-4"},{"key":"e_1_3_3_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3342504"},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2008.4493325"},{"key":"e_1_3_3_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-011-9171-y"},{"key":"e_1_3_3_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3003733.3003779"},{"key":"e_1_3_3_33_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09783-w"},{"key":"e_1_3_3_34_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-020-09840-9"},{"key":"e_1_3_3_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/1822348.1822363"},{"key":"e_1_3_3_36_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9531-3"},{"key":"e_1_3_3_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09733-6"},{"key":"e_1_3_3_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9627-4"},{"key":"e_1_3_3_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70768"},{"key":"e_1_3_3_40_2","doi-asserted-by":"publisher","DOI":"10.1007\/s40869-019-00085-1"},{"key":"e_1_3_3_41_2","doi-asserted-by":"publisher","DOI":"10.5555\/515230"},{"key":"e_1_3_3_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568226"},{"key":"e_1_3_3_43_2","doi-asserted-by":"publisher","DOI":"10.1201\/b17100"},{"key":"e_1_3_3_44_2","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.6327678"},{"key":"e_1_3_3_45_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-021-00313-x"},{"key":"e_1_3_3_46_2","volume-title":"Game Programming Patterns (1st ed.)","author":"Nystrom Robert","year":"2014","unstructured":"Robert Nystrom. 2014. Game Programming Patterns (1st ed.). Lightning Source."},{"key":"e_1_3_3_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME46990.2020.00020"},{"key":"e_1_3_3_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/3408302"},{"key":"e_1_3_3_49_2","first-page":"1","volume-title":"Proceedings of the International Conference on Software Engineering Research and Practice (SERP\u201913)","author":"Qu Junfeng","year":"2013","unstructured":"Junfeng Qu, Yinglei Song, and Yong Wei. 2013. Applying design patterns in game programming. In Proceedings of the International Conference on Software Engineering Research and Practice (SERP\u201913). The Steering Committee of the World Congress in Computer Science, 1."},{"key":"e_1_3_3_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2004.1281423"},{"key":"e_1_3_3_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/3530019.3530035"},{"key":"e_1_3_3_52_2","volume-title":"Card Sorting: Designing Usable Categories","author":"Spencer Donna","year":"2009","unstructured":"Donna Spencer. 2009. Card Sorting: Designing Usable Categories. Rosenfeld Media, 2009."},{"key":"e_1_3_3_53_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106333"},{"key":"e_1_3_3_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786827"},{"key":"e_1_3_3_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2653105"},{"key":"e_1_3_3_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2903039"},{"key":"e_1_3_3_57_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-021-10021-5"},{"key":"e_1_3_3_58_2","unstructured":"Gabriel Cavalheiro Ullmann Cristiano Politowski Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc F\u00e1bio Petrillo and Jo\u00e3o Eduardo Montandon. 2022. Video game project management anti-patterns. Retrieved from https:\/\/arxiv.org\/abs\/2202.06183."},{"key":"e_1_3_3_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597073.2597085"},{"key":"e_1_3_3_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/3402942.3402981"},{"key":"e_1_3_3_61_2","doi-asserted-by":"publisher","DOI":"10.1109\/.2001.914971"},{"key":"e_1_3_3_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606614"},{"key":"e_1_3_3_63_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09785-8"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563214","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3563214","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:38:10Z","timestamp":1750178290000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563214"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,5,26]]},"references-count":62,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2023,10,31]]}},"alternative-id":["10.1145\/3563214"],"URL":"https:\/\/doi.org\/10.1145\/3563214","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2023,5,26]]},"assertion":[{"value":"2022-03-08","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-09-02","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-05-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}