Avaliação de algoritmos de detecção de colisão em jogos 2D para Android

Detalhes bibliográficos
Autor(a) principal: Ribeiro, Cristiano Daitx
Data de Publicação: 2018
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UNIPAMPA
Texto Completo: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/3328
Resumo: Os jogos eletrônicos tornaram-se populares na década de 70, formando um mercado bilionário. Com o avanço tecnológico, esta forma de entretenimento chegou aos dispositivos móveis. Devido ao aperfeiçoamento da arquitetura dos dispositivos móveis e a criação de novos sistemas operacionais, o desenvolvimento de jogos para esta plataforma tornou-se mais atraente. Jogos são compostos por diversos módulos, destacando-se entre eles a física que é responsável pela simulação do movimento dos objetos. Neste contexto a detecção de colisão trata do problema de sobreposições de objetos em um ambiente virtual e tem um papel essencial para o desenvolvimento dos jogos, porém ela pode ser muito onerosa. Neste sentido, este trabalho tem por objetivo avaliar diferentes algoritmos de detecção de colisão em jogos 2D para dispositivos Android. Os algoritmos implementados e avaliados são distância euclidiana, distância de Manhattan, sobreposição de retângulos, teorema do eixo de separação (SAT) e pixel perfect. Dessa forma, realizou-se uma pesquisa bibliográfica para identificar quais recursos dos dispositivos móveis deveriam ser analisados e como avaliar diferentes algoritmos de detecção de colisão. Efetuou-se a avaliação dos algoritmos por meio da coleta e análise do tempo de execução e também com o auxílio do aplicativo GameBench, que registra os quadros por segundo, a utilização do CPU e GPU, o uso de memória e o consumo da bateria do dispositivo. Considerando diferentes formas de sprites e rotas os resultados mostram que o algoritmo SAT é o algoritmo baseado em volumes envolventes que possui a melhor precisão. Dos recursos analisados o SAT teve um elevado uso de CPU o que causou impacto no seu desempenho, mas ainda sendo a melhor alternativa para jogos com poucos objetos que necessitam detecção de colisão. Para uma grande quantidade de objetos, o algoritmo de sobreposição de retângulos teve um desempenho superior ao SAT e sua precisão (na maioria das vezes) similar. O algoritmo distância de Manhattan teve a pior precisão com todas as formas de sprites, e o algoritmo distância euclidiana apresentou precisão e desempenho intermediários.
id UNIP_6eaf589726b8b20e172a0890168b97f8
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/3328
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Cheiran, Jean Felipe PatikowskiMello, Aline Vieira deRibeiro, Cristiano Daitx2018-09-14T16:14:19Z2018-09-14T16:14:19Z2018-06-27RIBEIRO, Cristiano Daitx. Avaliação de algoritmos de detecção de colisão em jogos 2D para Android. 72 p. 2018. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2018.http://dspace.unipampa.edu.br:8080/jspui/handle/riu/3328Os jogos eletrônicos tornaram-se populares na década de 70, formando um mercado bilionário. Com o avanço tecnológico, esta forma de entretenimento chegou aos dispositivos móveis. Devido ao aperfeiçoamento da arquitetura dos dispositivos móveis e a criação de novos sistemas operacionais, o desenvolvimento de jogos para esta plataforma tornou-se mais atraente. Jogos são compostos por diversos módulos, destacando-se entre eles a física que é responsável pela simulação do movimento dos objetos. Neste contexto a detecção de colisão trata do problema de sobreposições de objetos em um ambiente virtual e tem um papel essencial para o desenvolvimento dos jogos, porém ela pode ser muito onerosa. Neste sentido, este trabalho tem por objetivo avaliar diferentes algoritmos de detecção de colisão em jogos 2D para dispositivos Android. Os algoritmos implementados e avaliados são distância euclidiana, distância de Manhattan, sobreposição de retângulos, teorema do eixo de separação (SAT) e pixel perfect. Dessa forma, realizou-se uma pesquisa bibliográfica para identificar quais recursos dos dispositivos móveis deveriam ser analisados e como avaliar diferentes algoritmos de detecção de colisão. Efetuou-se a avaliação dos algoritmos por meio da coleta e análise do tempo de execução e também com o auxílio do aplicativo GameBench, que registra os quadros por segundo, a utilização do CPU e GPU, o uso de memória e o consumo da bateria do dispositivo. Considerando diferentes formas de sprites e rotas os resultados mostram que o algoritmo SAT é o algoritmo baseado em volumes envolventes que possui a melhor precisão. Dos recursos analisados o SAT teve um elevado uso de CPU o que causou impacto no seu desempenho, mas ainda sendo a melhor alternativa para jogos com poucos objetos que necessitam detecção de colisão. Para uma grande quantidade de objetos, o algoritmo de sobreposição de retângulos teve um desempenho superior ao SAT e sua precisão (na maioria das vezes) similar. O algoritmo distância de Manhattan teve a pior precisão com todas as formas de sprites, e o algoritmo distância euclidiana apresentou precisão e desempenho intermediários.Electronic games became popular in the 70’s, forming a billionaire market. With the technological advance, this form of entertainment has reached the mobile devices. Due to the improved architecture of mobile devices and the creation of new operating systems, the development of games for this platform has become more attractive. Games are composed of several modules, among them the physics that is responsible for the simulation of the movement of objects. In this context collision detection addresses the problem of overlapping objects in a virtual environment and plays a key role in game development, but it can be very costly. In this sense, this work aims to evaluate different collision detection algorithms in 2D games for Android devices. The algorithms implemented and evaluated are euclidean distance, Manhattan distance, overlapping retangles, separation axis theorem (SAT) and pixel perfect. A literature search was performed to identify which mobile device features should be analyzed and how to evaluate different collision detection algorithms. The algorithms evaluation included to collect and to analyze the execution time of the algorithms and also, with the aid of the Gamebench app, to record frames per second, CPU and GPU usage, memory usage and device battery consumption. Considering different forms of sprites and routes, the results show that SAT is the algorithm based on bounding volumes that has the best accuracy. From resources analysed SAT had a high CPU usage which impacted on its performance, but still being the best alternative for games with few objects that need collision detection. For a large number of objects, the overlapping retangles algorithm performed better than SAT, and its accuracy is (most of the time) similar. The algorithm Manhattan distance had the worst accuracy with all sprites forms, and euclidean distance algorithm presented intermediate accuracy and performance.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRACiência da computaçãoJogos eletrônicosDispositivos móveisAndroidComputer scienceElectronic gamesMobile devicesAvaliação de algoritmos de detecção de colisão em jogos 2D para Androidinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALCristiano Daitx Ribeiro 2018.pdfCristiano Daitx Ribeiro 2018.pdfapplication/pdf1328473https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/1/Cristiano%20Daitx%20Ribeiro%202018.pdf89b20301c8e2abec9d14c8e8fb1b5174MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/2/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD52TEXTCristiano Daitx Ribeiro 2018.pdf.txtCristiano Daitx Ribeiro 2018.pdf.txtExtracted texttext/plain112974https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/3/Cristiano%20Daitx%20Ribeiro%202018.pdf.txtb94b704d24a221eb222ddb550e4b8fc7MD53riu/33282018-09-15 03:00:32.534oai:repositorio.unipampa.edu.br:riu/3328TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2018-09-15T06:00:32Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false
dc.title.pt_BR.fl_str_mv Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
title Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
spellingShingle Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
Ribeiro, Cristiano Daitx
CNPQ::CIENCIAS EXATAS E DA TERRA
Ciência da computação
Jogos eletrônicos
Dispositivos móveis
Android
Computer science
Electronic games
Mobile devices
title_short Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
title_full Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
title_fullStr Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
title_full_unstemmed Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
title_sort Avaliação de algoritmos de detecção de colisão em jogos 2D para Android
author Ribeiro, Cristiano Daitx
author_facet Ribeiro, Cristiano Daitx
author_role author
dc.contributor.advisor1.fl_str_mv Cheiran, Jean Felipe Patikowski
dc.contributor.advisor-co1.fl_str_mv Mello, Aline Vieira de
dc.contributor.author.fl_str_mv Ribeiro, Cristiano Daitx
contributor_str_mv Cheiran, Jean Felipe Patikowski
Mello, Aline Vieira de
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
Ciência da computação
Jogos eletrônicos
Dispositivos móveis
Android
Computer science
Electronic games
Mobile devices
dc.subject.por.fl_str_mv Ciência da computação
Jogos eletrônicos
Dispositivos móveis
Android
Computer science
Electronic games
Mobile devices
description Os jogos eletrônicos tornaram-se populares na década de 70, formando um mercado bilionário. Com o avanço tecnológico, esta forma de entretenimento chegou aos dispositivos móveis. Devido ao aperfeiçoamento da arquitetura dos dispositivos móveis e a criação de novos sistemas operacionais, o desenvolvimento de jogos para esta plataforma tornou-se mais atraente. Jogos são compostos por diversos módulos, destacando-se entre eles a física que é responsável pela simulação do movimento dos objetos. Neste contexto a detecção de colisão trata do problema de sobreposições de objetos em um ambiente virtual e tem um papel essencial para o desenvolvimento dos jogos, porém ela pode ser muito onerosa. Neste sentido, este trabalho tem por objetivo avaliar diferentes algoritmos de detecção de colisão em jogos 2D para dispositivos Android. Os algoritmos implementados e avaliados são distância euclidiana, distância de Manhattan, sobreposição de retângulos, teorema do eixo de separação (SAT) e pixel perfect. Dessa forma, realizou-se uma pesquisa bibliográfica para identificar quais recursos dos dispositivos móveis deveriam ser analisados e como avaliar diferentes algoritmos de detecção de colisão. Efetuou-se a avaliação dos algoritmos por meio da coleta e análise do tempo de execução e também com o auxílio do aplicativo GameBench, que registra os quadros por segundo, a utilização do CPU e GPU, o uso de memória e o consumo da bateria do dispositivo. Considerando diferentes formas de sprites e rotas os resultados mostram que o algoritmo SAT é o algoritmo baseado em volumes envolventes que possui a melhor precisão. Dos recursos analisados o SAT teve um elevado uso de CPU o que causou impacto no seu desempenho, mas ainda sendo a melhor alternativa para jogos com poucos objetos que necessitam detecção de colisão. Para uma grande quantidade de objetos, o algoritmo de sobreposição de retângulos teve um desempenho superior ao SAT e sua precisão (na maioria das vezes) similar. O algoritmo distância de Manhattan teve a pior precisão com todas as formas de sprites, e o algoritmo distância euclidiana apresentou precisão e desempenho intermediários.
publishDate 2018
dc.date.accessioned.fl_str_mv 2018-09-14T16:14:19Z
dc.date.available.fl_str_mv 2018-09-14T16:14:19Z
dc.date.issued.fl_str_mv 2018-06-27
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv RIBEIRO, Cristiano Daitx. Avaliação de algoritmos de detecção de colisão em jogos 2D para Android. 72 p. 2018. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2018.
dc.identifier.uri.fl_str_mv http://dspace.unipampa.edu.br:8080/jspui/handle/riu/3328
identifier_str_mv RIBEIRO, Cristiano Daitx. Avaliação de algoritmos de detecção de colisão em jogos 2D para Android. 72 p. 2018. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2018.
url http://dspace.unipampa.edu.br:8080/jspui/handle/riu/3328
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Pampa
dc.publisher.initials.fl_str_mv UNIPAMPA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Campus Alegrete
publisher.none.fl_str_mv Universidade Federal do Pampa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIPAMPA
instname:Universidade Federal do Pampa (UNIPAMPA)
instacron:UNIPAMPA
instname_str Universidade Federal do Pampa (UNIPAMPA)
instacron_str UNIPAMPA
institution UNIPAMPA
reponame_str Repositório Institucional da UNIPAMPA
collection Repositório Institucional da UNIPAMPA
bitstream.url.fl_str_mv https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/1/Cristiano%20Daitx%20Ribeiro%202018.pdf
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/2/license.txt
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/3328/3/Cristiano%20Daitx%20Ribeiro%202018.pdf.txt
bitstream.checksum.fl_str_mv 89b20301c8e2abec9d14c8e8fb1b5174
43cd690d6a359e86c1fe3d5b7cba0c9b
b94b704d24a221eb222ddb550e4b8fc7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)
repository.mail.fl_str_mv sisbi@unipampa.edu.br
_version_ 1801849058383364096