基于答案集编程和柏林噪声的二维银河恶魔城游戏程序生成

John Xu, John Morris
{"title":"基于答案集编程和柏林噪声的二维银河恶魔城游戏程序生成","authors":"John Xu, John Morris","doi":"10.5121/ijaia.2023.14302","DOIUrl":null,"url":null,"abstract":"Designing metroidvania games often poses a unique challenge to video game developers, namely the difficulty of consistently preventing soft-locking, which hinders or blocks the player’s ability to traverse through levels effectively [1]. As a result, many turn to hand-making all levels to ensure the level’s traversability, but in the process often forsaking the ability to rely on procedural generation to lessen the time and burden on human game developers [2]. On the other hand, when developers rely on popular ways of procedural generation such as using perlin noise, they find themselves unable to control those procedural algorithms to guarantee certain characteristics of the outputs such as traversability [3]. Our paper aims to present a procedural solution that can also effectively guarantee the traversability of the generated level. Our method uses Answer Set Programming (ASP) to verify generation based on restrictions we place, guaranteeing the outcome to be what we want [4]. The generation of a level is divided into rooms, which are first mapped out in a graph to ensure traversability from a starting room to an ending boss area. The rooms’ geometry is then generated accordingly to create the full level. Using perlin noise, we were also able to create a demonstration of how traversability works in another form of procedural generation, and compare it with our methodology to identify strengths and weaknesses. To demonstrate our method, we applied our solution as well as the perlin noise algorithm to a 2D metroidvania game made in the Unity game engine and conducted quantitative tests on the ASP method to assess how well our method works as a level generator [5].","PeriodicalId":93188,"journal":{"name":"International journal of artificial intelligence & applications","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"PROCEDURAL GENERATION IN 2D METROIDVANIA GAME WITH ANSWER SET PROGRAMMING AND PERLIN NOISE\",\"authors\":\"John Xu, John Morris\",\"doi\":\"10.5121/ijaia.2023.14302\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Designing metroidvania games often poses a unique challenge to video game developers, namely the difficulty of consistently preventing soft-locking, which hinders or blocks the player’s ability to traverse through levels effectively [1]. As a result, many turn to hand-making all levels to ensure the level’s traversability, but in the process often forsaking the ability to rely on procedural generation to lessen the time and burden on human game developers [2]. On the other hand, when developers rely on popular ways of procedural generation such as using perlin noise, they find themselves unable to control those procedural algorithms to guarantee certain characteristics of the outputs such as traversability [3]. Our paper aims to present a procedural solution that can also effectively guarantee the traversability of the generated level. Our method uses Answer Set Programming (ASP) to verify generation based on restrictions we place, guaranteeing the outcome to be what we want [4]. The generation of a level is divided into rooms, which are first mapped out in a graph to ensure traversability from a starting room to an ending boss area. The rooms’ geometry is then generated accordingly to create the full level. Using perlin noise, we were also able to create a demonstration of how traversability works in another form of procedural generation, and compare it with our methodology to identify strengths and weaknesses. To demonstrate our method, we applied our solution as well as the perlin noise algorithm to a 2D metroidvania game made in the Unity game engine and conducted quantitative tests on the ASP method to assess how well our method works as a level generator [5].\",\"PeriodicalId\":93188,\"journal\":{\"name\":\"International journal of artificial intelligence & applications\",\"volume\":\"5 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International journal of artificial intelligence & applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5121/ijaia.2023.14302\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International journal of artificial intelligence & applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5121/ijaia.2023.14302","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

设计《银河恶魔城》通常会给电子游戏开发者带来一个独特的挑战,即持续防止软锁定的难度,这会阻碍或阻碍玩家有效穿越关卡的能力[1]。因此,许多人转而手工制作所有关卡,以确保关卡的可穿越性,但在这个过程中,他们往往放弃了依赖程序生成的能力,以减少人类游戏开发者的时间和负担[2]。另一方面,当开发人员依赖流行的程序生成方法(如使用柏林噪声)时,他们发现自己无法控制这些程序算法来保证输出的某些特征,如可遍历性[3]。我们的论文旨在提出一个程序解决方案,也可以有效地保证生成的关卡的可遍历性。我们的方法使用答案集编程(ASP)根据我们设置的限制来验证生成,保证结果是我们想要的[4]。关卡的生成被划分为多个房间,这些房间首先被绘制成图表,以确保从起始房间到结束boss区域的可穿越性。然后,房间的几何形状相应地生成,以创建完整的关卡。使用柏林噪声,我们还能够创建可遍历性如何在另一种形式的程序生成中工作的演示,并将其与我们的方法进行比较,以确定优势和劣势。为了演示我们的方法,我们将我们的解决方案和柏林噪声算法应用于一款使用Unity游戏引擎制作的2D《恶魔城》游戏,并对ASP方法进行了定量测试,以评估我们的方法作为关卡生成器的效果[5]。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
PROCEDURAL GENERATION IN 2D METROIDVANIA GAME WITH ANSWER SET PROGRAMMING AND PERLIN NOISE
Designing metroidvania games often poses a unique challenge to video game developers, namely the difficulty of consistently preventing soft-locking, which hinders or blocks the player’s ability to traverse through levels effectively [1]. As a result, many turn to hand-making all levels to ensure the level’s traversability, but in the process often forsaking the ability to rely on procedural generation to lessen the time and burden on human game developers [2]. On the other hand, when developers rely on popular ways of procedural generation such as using perlin noise, they find themselves unable to control those procedural algorithms to guarantee certain characteristics of the outputs such as traversability [3]. Our paper aims to present a procedural solution that can also effectively guarantee the traversability of the generated level. Our method uses Answer Set Programming (ASP) to verify generation based on restrictions we place, guaranteeing the outcome to be what we want [4]. The generation of a level is divided into rooms, which are first mapped out in a graph to ensure traversability from a starting room to an ending boss area. The rooms’ geometry is then generated accordingly to create the full level. Using perlin noise, we were also able to create a demonstration of how traversability works in another form of procedural generation, and compare it with our methodology to identify strengths and weaknesses. To demonstrate our method, we applied our solution as well as the perlin noise algorithm to a 2D metroidvania game made in the Unity game engine and conducted quantitative tests on the ASP method to assess how well our method works as a level generator [5].
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信