Engenharia De Software Aplicada a Projetos De Código Aberto

Total Page:16

File Type:pdf, Size:1020Kb

Engenharia De Software Aplicada a Projetos De Código Aberto ENGENHARIA DE SOFTWARE APLICADA A PROJETOS DE CÓDIGO ABERTO Gean Saturno Gonçalves1 [email protected] Jaciara Silva Carosia2 [email protected] RESUMO Desde a criação do computador, a engenharia de softwares vem estudando formas de produzir software de qualidade. Devido as características abstratas e flexíveis do software, foi necessário adaptar uma engenharia a cada novo sistema desenvolvido. Todavia, existe um paradigma de desenvolvimento de software cuja informalidade, além de outros fatores, restringe a engenharia de software. Estes projetos são chamados de projetos de código aberto e são responsáveis por grande parte das tecnologias hoje existentes. No entanto, são esses os projetos que normalmente mais fracassam. O objetivo deste trabalho é propor uma engenharia de software que possa colaborar com a redução de projetos falhos na comunidade de código aberto. Através de um levantamento bibliográfico sobre engenharia de software, projetos de código aberto e a análise de casos de sucesso como Ubuntu, Firefox e Linux, foi proposta uma engenharia de software aplicada a projetos de código aberto. Após a execução da metodologia, conclui-se que a engenharia de software é capaz de auxiliar o desenvolvimento de projetos de código aberto, garantindo assim maior chance de sobrevivência, potencializando inovações e revoluções. Palavras-chave Engenharia de Software, Código Aberto, Software Livre ABSTRACT Since the creation of the computer, the software engineering has been studying ways to produce quality software. Because of the software's abstract and flexible features, it was necessary to adapt an engineering every new system developed. However, there is a software development paradigm whose informality, and other factors, restricted the software engineering. These projects are called open source projects and are responsible for most of today's existing technologies. However, these are the projects that usually fail more. The objective of this work is to propose a software engineering that can collaborate with the reduction of failed projects in the open source community. through a literature survey on software engineering and open source projects and analysis of successful cases as like Ubuntu, Firefox and Linux, proposed a software engineering applied to open source projects. After the implementation of the methodology, it is concluded that the software engineering is able to assist the development of open source projects, thus ensuring greater chance of survival, leveraging innovations and revolutions. Keywords Software Engineering, Open Source, Free Software 1 Pesquisador do Programa de Iniciação Cientifica do Centro Universitário da Fundação Guaxupé (UNIFEG). Discente do curso de Ciência da Computação. 2 Professor orientador da pesquisa. Mestre em Computação Aplicada pelo Instituto Nacional de Pesquisas Espaciais. Docente do curso de Ciência da Computação do UNIFEG. 2 1. INTRODUÇÃO Com a descoberta do computador, várias áreas do conhecimento humano foram drasticamente afetadas, de modo que sofreram uma revolução surpreendente (PRESSMAN, 2011). O software, parte fundamental da computação, é o responsável por instruir os dispositivos computacionais fazendo com que cumpram com a sua programação. Devido ao software ser flexível e abstrato, ele pode ser aplicado em praticamente todas as áreas das ciências humanas. Atualmente, toda estrutura social do planeta é sustentada pelos softwares (SOMERVILLE, 2011). Todavia, devido as suas características, o software corre um grande risco de falhas, e para corrigir estas falhas, foi desenvolvido a Engenharia de Software. Devido á ampla aplicação do software, criaram-se várias categorias, o que torna impossível a aplicação de uma única engenharia para todas estas categorias de software. Para reduzir as chances de falha de um projeto, foi necessário adaptar os conceitos da engenharia de software para um determinado modelo de software, levando em consideração a sua categoria, modelo da empresa, modelo da equipe e do tipo de cliente (SOMERVILLE, 2011). Entre todos os modelos de software, existe um determinado paradigma de projeto chamado de projetos de código aberto. Este paradigma de projeto conta com uma característica informal natural, que contribui para a falta de engenharia de software para este modelo de projeto. A ideia de que uma engenharia de software não é necessária em um projeto de código aberto é frequentemente constatada, mas terrivelmente incorreta. Estatísticas apontam que incríveis 95% dos projetos de código aberto iniciados tendem ao fracasso (FOGUEL, 2015). Projetos de código aberto se distinguem ligeiramente de projetos comuns e muitos deles foram responsáveis por revoluções tecnológicas. Projetos como o Kernel Linux, linguagem de programação PHP, Java, servidores de aplicação como o Apache, banco de dados MySQL, e muitos outros projetos, abriram possibilidades que poderiam não existir se fossem projetos comuns (CHRISTOPH, 2004). O objetivo deste trabalho foi idealizar uma modelo de engenharia de software que possa ser capaz de orientar um projeto de código aberto, reduzindo suas chances de falha, o que resultará em uma contribuição ainda maior para o futuro. Para isto, foi efetuado um levantamento bibliográfico sobre engenharia de software e projetos de código aberto, possibilitando a idealização da engenharia de software aplicada a projetos de código aberto. Após a idealização da engenharia de software, foi efetuado o estudo de casos para comparar a engenharia de software idealizada com as aplicadas nos casos estudados, permitindo o aperfeiçoamento da idealização. 2. ENGENHARIA DE SOFTWARE Devido às características flexíveis e abstratas do software, seu projeto e construção pode facilmente sair de controle sem a devida atenção. Devido à crescente demanda por software, foi necessário desenvolver técnicas, métodos e ferramentas capazes de auxiliar o desenvolvimento de Revista de Iniciação Científica - UNIFEG, Guaxupé - nº 15 - 2015 3 softwares sem falhas. Deste modo, foi desenvolvida a engenharia de software, que vem propondo muitos métodos para uma produção adequada (SOMERVILLE, 2011). Embora várias técnicas tenham sido desenvolvidas, há uma incrível divergência entre projetos de software. O primeiro ponto, um projeto de software não será igual a outro. Ele poderá adequar a diferentes ferramentas e tecnologias, ou simplesmente um software com um objetivo diferente. Um exemplo desta divergência é a comparação de um site comercial com um jogo virtual, ambos são softwares, porém, possuem objetivos diferentes. Neste caso, a engenharia de software aplicada a um site não seria a mesma aplicada a um jogo virtual, o que exige uma adequação das técnicas e modelos idealizados pela engenharia de software. Este problema de conversão não se limita apenas ao software, ele ecoa através do modelo da empresa, da equipe e até mesmo do cliente (SOMERVILLE, 2011). Para as fases de produção do software, foram desenvolvidos vários modelos de processos. Um processo é basicamente uma sequencias de atividades, compostas por ações e tarefas para alcançar um determinado objetivo. Todavia todos os modelos da engenharia de software devem ser adaptados ao projeto a ser desenvolvido (PRESSMAN, 2011). A engenharia de software não se limita apenas o processo do projeto, esta engenharia também engloba a gerência dos projetos, o processo é apenas um ponto da gerência (SOMERVILLE, 2011). Segundo Pressman (2011), a gerência de um software é fundamental para a sobrevivência do mesmo. Um projeto com uma gerência de baixa qualidade resulta em trabalhos menos eficientes, uma tarefa leva mais tempo para ser efetuada, isso gera um aumento do custo final do projeto. Para isto, a gerência do projeto foca em 4 pontos, conhecido como os 4 pês: 1. Pessoal. 2. Produto. 3. Processo. 4. Projeto. O software é desenvolvido por recursos humanos, pesquisas apontaram que os recursos humanos são os itens mais importantes no projeto, e as capacidades de seleção e cultivação destes recursos estão diretamente ligadas ao sucesso do projeto. Levando isto em consideração a Software Engenering Intitute (SEI) desenvolveu um modelo de maturidade e capacidade dos recursos humanos (PRESSMAN, 2011). Algumas das atividades que compõem este modelo são: • Formação de Equipe • Comunicação • Ambiente de trabalho • Gerencia de desempenho • Desenvolvimento de carreira • Desenvolvimento do grupo de trabalho • Desenvolvimento da cultura da equipe Revista de Iniciação Científica - UNIFEG, Guaxupé - nº 15 - 2015 4 Outro ponto de influência no projeto é a estrutura organizacional da equipe. Existem milhares de estruturas organizacionais diferentes, porém, assim como os processos, foram definidos paradigmas gerais (PRESSMAN, 2011). Alguns destes paradigmas são: • Paradigma fechado: Estrutura tradicional, contém o chefe e seus subordinados. Esta estrutura desenvolve grande capacidade de produção, porém sua inovação acaba sendo restringida. • Paradigma aberto: Estrutura geralmente utilizada em projetos de código aberto. Expande a capacidade de inovação da equipe, porém a eficiência depende da comunicação entre os recursos. Após a organização dos recursos humanos, é necessário conhecer o produto que será desenvolvido. Para isto é necessário analisar onde o projeto irá atuar e com isto o objetivo do produto. Com a equipe pronta e o produto especificado, é possível definir o processo que será aplicado neste projeto, levando em conta o produto e o pessoal. Segundo Pressman (2011), a única maneira de controlar a complexidade de um projeto é com
Recommended publications
  • Openbsd Gaming Resource
    OPENBSD GAMING RESOURCE A continually updated resource for playing video games on OpenBSD. Mr. Satterly Updated August 7, 2021 P11U17A3B8 III Title: OpenBSD Gaming Resource Author: Mr. Satterly Publisher: Mr. Satterly Date: Updated August 7, 2021 Copyright: Creative Commons Zero 1.0 Universal Email: [email protected] Website: https://MrSatterly.com/ Contents 1 Introduction1 2 Ways to play the games2 2.1 Base system........................ 2 2.2 Ports/Editors........................ 3 2.3 Ports/Emulators...................... 3 Arcade emulation..................... 4 Computer emulation................... 4 Game console emulation................. 4 Operating system emulation .............. 7 2.4 Ports/Games........................ 8 Game engines....................... 8 Interactive fiction..................... 9 2.5 Ports/Math......................... 10 2.6 Ports/Net.......................... 10 2.7 Ports/Shells ........................ 12 2.8 Ports/WWW ........................ 12 3 Notable games 14 3.1 Free games ........................ 14 A-I.............................. 14 J-R.............................. 22 S-Z.............................. 26 3.2 Non-free games...................... 31 4 Getting the games 33 4.1 Games............................ 33 5 Former ways to play games 37 6 What next? 38 Appendices 39 A Clones, models, and variants 39 Index 51 IV 1 Introduction I use this document to help organize my thoughts, files, and links on how to play games on OpenBSD. It helps me to remember what I have gone through while finding new games. The biggest reason to read or at least skim this document is because how can you search for something you do not know exists? I will show you ways to play games, what free and non-free games are available, and give links to help you get started on downloading them.
    [Show full text]
  • Video Game Trader Magazine & Price Guide
    Winter 2009/2010 Issue #14 4 Trading Thoughts 20 Hidden Gems Blue‘s Journey (Neo Geo) Video Game Flashback Dragon‘s Lair (NES) Hidden Gems 8 NES Archives p. 20 19 Page Turners Wrecking Crew Vintage Games 9 Retro Reviews 40 Made in Japan Coin-Op.TV Volume 2 (DVD) Twinkle Star Sprites Alf (Sega Master System) VectrexMad! AutoFire Dongle (Vectrex) 41 Video Game Programming ROM Hacking Part 2 11Homebrew Reviews Ultimate Frogger Championship (NES) 42 Six Feet Under Phantasm (Atari 2600) Accessories Mad Bodies (Atari Jaguar) 44 Just 4 Qix Qix 46 Press Start Comic Michael Thomasson’s Just 4 Qix 5 Bubsy: What Could Possibly Go Wrong? p. 44 6 Spike: Alive and Well in the land of Vectors 14 Special Book Preview: Classic Home Video Games (1985-1988) 43 Token Appreciation Altered Beast 22 Prices for popular consoles from the Atari 2600 Six Feet Under to Sony PlayStation. Now includes 3DO & Complete p. 42 Game Lists! Advertise with Video Game Trader! Multiple run discounts of up to 25% apply THIS ISSUES CONTRIBUTORS: when you run your ad for consecutive Dustin Gulley Brett Weiss Ad Deadlines are 12 Noon Eastern months. Email for full details or visit our ad- Jim Combs Pat “Coldguy” December 1, 2009 (for Issue #15 Spring vertising page on videogametrader.com. Kevin H Gerard Buchko 2010) Agents J & K Dick Ward February 1, 2009(for Issue #16 Summer Video Game Trader can help create your ad- Michael Thomasson John Hancock 2010) vertisement. Email us with your requirements for a price quote. P. Ian Nicholson Peter G NEW!! Low, Full Color, Advertising Rates!
    [Show full text]
  • VFC-RTS: Vector-Field Consistency Para Real-Time-Strategy Multiplayer Games
    VFC-RTS: Vector-Field Consistency para Real-Time-Strategy Multiplayer Games Manuel Eduardo Costa Cajada Dissertation for the Degree of Master of Information Systems and Computer Engineering Jury President: Prof. M´arioRui Fonseca dos Santos Gomes, Supervisor: Prof. Lu´ısManuel Antunes Veiga, Co-Supervisor: Prof. Paulo Jorge Pires Ferreira, Member: Prof. Daniel Jorge Viegas Gon¸calves May 2012 2 Acknowledgements For starters, I would like to thank Prof. Lu´ıs Veiga, for all his support and guidance through the development of this project, pushing me to continue when I got stuck and encouraging me to take risks. Additionally, I would like to thank him for correcting my english during the writing of this document. I would also like to thank all my friends and apologize for my absence during the numerous invitations that I couldn't attend. A special thanks to Sta, who was always prepared to take some time to help me whenever I needed. Thank you. I could not fail to mention Lurdes Oliveira, the person who most put up with me and my lousy temper during this hole process, always by my side, motivating me to carry on, not letting me give up. Thank you for everything. Finally, I want to thank my sisters and parents for always believing in me. I doubt I would be writing this thesis if it were not for your dedication and support. Thank you for making me the man that I am today. Lisboa, July 11, 2012 Manuel Cajada 4 to Jos´e& Maria 6 Resumo Apesar dos jogos online no ambiente multi-jogador em massa terem vindo a ganhar muita popularidade ao longo dos anos, os jogos de estrat´egiaem tempo real (RTS) n~aoforam considerados fortes candidatos para a utiliza¸c~aodeste modelo devido ao n´umerolimitado de jogadores suportado, tendo em conta as topologias de rede normalmente utilizadas, ao grande n´umerode entidades em jogo e aos fortes requisitos de consist^encia.
    [Show full text]
  • The Role of Audio for Immersion in Computer Games
    CAPTIVATING SOUND THE ROLE OF AUDIO FOR IMMERSION IN COMPUTER GAMES by Sander Huiberts Thesis submitted in fulfilment of the requirements for the degree of PhD at the Utrecht School of the Arts (HKU) Utrecht, The Netherlands and the University of Portsmouth Portsmouth, United Kingdom November 2010 Captivating Sound The role of audio for immersion in computer games © 2002‐2010 S.C. Huiberts Supervisor: Jan IJzermans Director of Studies: Tony Kalus Examiners: Dick Rijken, Dan Pinchbeck 2 Whilst registered as a candidate for the above degree, I have not been registered for any other research award. The results and conclusions embodied in this thesis are the work of the named candidate and have not been submitted for any other academic award. 3 Contents Abstract__________________________________________________________________________________________ 6 Preface___________________________________________________________________________________________ 7 1. Introduction __________________________________________________________________________________ 8 1.1 Motivation and background_____________________________________________________________ 8 1.2 Definition of research area and methodology _______________________________________ 11 Approach_________________________________________________________________________________ 11 Survey methods _________________________________________________________________________ 12 2. Game audio: the IEZA model ______________________________________________________________ 14 2.1 Understanding the structure
    [Show full text]
  • List of TCP and UDP Port Numbers from Wikipedia, the Free Encyclopedia
    List of TCP and UDP port numbers From Wikipedia, the free encyclopedia This is a list of Internet socket port numbers used by protocols of the transport layer of the Internet Protocol Suite for the establishment of host-to-host connectivity. Originally, port numbers were used by the Network Control Program (NCP) in the ARPANET for which two ports were required for half- duplex transmission. Later, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for full- duplex, bidirectional traffic. The even-numbered ports were not used, and this resulted in some even numbers in the well-known port number /etc/services, a service name range being unassigned. The Stream Control Transmission Protocol database file on Unix-like operating (SCTP) and the Datagram Congestion Control Protocol (DCCP) also systems.[1][2][3][4] use port numbers. They usually use port numbers that match the services of the corresponding TCP or UDP implementation, if they exist. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[5] However, many unofficial uses of both well-known and registered port numbers occur in practice. Contents 1 Table legend 2 Well-known ports 3 Registered ports 4 Dynamic, private or ephemeral ports 5 See also 6 References 7 External links Table legend Official: Port is registered with IANA for the application.[5] Unofficial: Port is not registered with IANA for the application. Multiple use: Multiple applications are known to use this port. Well-known ports The port numbers in the range from 0 to 1023 are the well-known ports or system ports.[6] They are used by system processes that provide widely used types of network services.
    [Show full text]
  • ELF: an Extensive, Lightweight and Flexible Research Platform for Real-Time Strategy Games
    ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games Yuandong Tian1 Qucheng Gong1 Wenling Shang2 Yuxin Wu1 C. Lawrence Zitnick1 1Facebook AI Research 2Oculus 1fyuandong, qucheng, yuxinwu, [email protected] [email protected] Abstract In this paper, we propose ELF, an Extensive, Lightweight and Flexible platform for fundamental reinforcement learning research. Using ELF, we implement a highly customizable real-time strategy (RTS) engine with three game environ- ments (Mini-RTS, Capture the Flag and Tower Defense). Mini-RTS, as a minia- ture version of StarCraft, captures key game dynamics and runs at 40K frame- per-second (FPS) per core on a laptop. When coupled with modern reinforcement learning methods, the system can train a full-game bot against built-in AIs end- to-end in one day with 6 CPUs and 1 GPU. In addition, our platform is flexible in terms of environment-agent communication topologies, choices of RL methods, changes in game parameters, and can host existing C/C++-based game environ- ments like ALE [4]. Using ELF, we thoroughly explore training parameters and show that a network with Leaky ReLU [17] and Batch Normalization [11] cou- pled with long-horizon training and progressive curriculum beats the rule-based built-in AI more than 70% of the time in the full game of Mini-RTS. Strong per- formance is also achieved on the other two games. In game replays, we show our agents learn interesting strategies. ELF, along with its RL platform, is open sourced at https://github.com/facebookresearch/ELF. 1 Introduction Game environments are commonly used for research in Reinforcement Learning (RL), i.e.
    [Show full text]
  • Application: Unity 3D Web Player
    unity3d_1-adv.txt 1 of 2 Application: Unity 3D web player http://unity3d.com/webplayer/ Versions: <= 3.2.0.61061 Platforms: Windows Bug: heap corruption Exploitation: remote Date: 21 Feb 2012 Unity 3d is a game engine used in various games and it’s web player allows to play these games (unity3d extension) also directly from the web browser. # Vulnerabilities # Heap corruption caused by a negative 32bit size value which allows to execute malicious code. The problem is caused by the modification of the 64bit uncompressed size (handled as 32bit by the plugin) of the lzma header which is just composed by the following fields (from lzma86.h): Offset Size Description 0 1 = 0 - no filter, pure LZMA = 1 - x86 filter + LZMA 1 1 lc, lp and pb in encoded form 2 4 dictSize (little endian) 6 8 uncompressed size (little endian) Reading of the 64bit field as 32bit one (CMP EAX,4) and some of the subsequent operations: 070BEDA3 33C0 XOR EAX,EAX 070BEDA5 895D 08 MOV DWORD PTR SS:[EBP+8],EBX 070BEDA8 83F8 04 CMP EAX,4 070BEDAB 73 10 JNB SHORT webplaye.070BEDBD 070BEDAD 0FB65438 05 MOVZX EDX,BYTE PTR DS:[EAX+EDI+5] 070BEDB2 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 070BEDB5 D3E2 SHL EDX,CL 070BEDB7 0196 A4000000 ADD DWORD PTR DS:[ESI+A4],EDX 070BEDBD 8345 08 08 ADD DWORD PTR SS:[EBP+8],8 070BEDC1 40 INC EAX 070BEDC2 837D 08 40 CMP DWORD PTR SS:[EBP+8],40 070BEDC6 ^72 E0 JB SHORT webplaye.070BEDA8 070BEDC8 6A 4A PUSH 4A 070BEDCA 68 280A4B07 PUSH webplaye.074B0A28 ; ASCII "C:/BuildAgen t/work/b0bcff80449a48aa/PlatformDependent/CommonWebPlugin/CompressedFileStream.cp p" 070BEDCF 53 PUSH EBX 070BEDD0 FF35 84635407 PUSH DWORD PTR DS:[7546384] 070BEDD6 6A 04 PUSH 4 070BEDD8 68 00000400 PUSH 40000 070BEDDD E8 BA29E4FF CALL webplaye.06F0179C ..
    [Show full text]
  • Playstation Games
    The Video Game Guy, Booths Corner Farmers Market - Garnet Valley, PA 19060 (302) 897-8115 www.thevideogameguy.com System Game Genre Playstation Games Playstation 007 Racing Racing Playstation 101 Dalmatians II Patch's London Adventure Action & Adventure Playstation 102 Dalmatians Puppies to the Rescue Action & Adventure Playstation 1Xtreme Extreme Sports Playstation 2Xtreme Extreme Sports Playstation 3D Baseball Baseball Playstation 3Xtreme Extreme Sports Playstation 40 Winks Action & Adventure Playstation Ace Combat 2 Action & Adventure Playstation Ace Combat 3 Electrosphere Other Playstation Aces of the Air Other Playstation Action Bass Sports Playstation Action Man Operation EXtreme Action & Adventure Playstation Activision Classics Arcade Playstation Adidas Power Soccer Soccer Playstation Adidas Power Soccer 98 Soccer Playstation Advanced Dungeons and Dragons Iron and Blood RPG Playstation Adventures of Lomax Action & Adventure Playstation Agile Warrior F-111X Action & Adventure Playstation Air Combat Action & Adventure Playstation Air Hockey Sports Playstation Akuji the Heartless Action & Adventure Playstation Aladdin in Nasiras Revenge Action & Adventure Playstation Alexi Lalas International Soccer Soccer Playstation Alien Resurrection Action & Adventure Playstation Alien Trilogy Action & Adventure Playstation Allied General Action & Adventure Playstation All-Star Racing Racing Playstation All-Star Racing 2 Racing Playstation All-Star Slammin D-Ball Sports Playstation Alone In The Dark One Eyed Jack's Revenge Action & Adventure
    [Show full text]
  • Technology Trees and Tools: Constructing Development Graphs for Digital Games
    Tampereen teknillinen yliopisto. Julkaisu 1349 Tampere University of Technology. Publication 1349 Teemu J. Heinimäki Technology Trees and Tools: Constructing Development Graphs for Digital Games Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB224, at Tampere University of Technology, on the 27th of November 2015, at 12 noon. Tampereen teknillinen yliopisto – Tampere University of Technology Tampere 2015 ISBN 978-952-15-3633-5 (printed) ISBN 978-952-15-3647-2 (PDF) ISSN 1459-2045 Abstract In the recent years, digital games have solidified their role as important parts of life for a considerable portion of the population. Game development has become an extremely important industrial branch with a great deal of com- petition between developers and publishers. There is only a limited amount of resources to put in the development of a game, but the modern customers expect high quality. Taking these constraints into account, this dissertation focuses on devel- oping implementations of a structure that is used widely in different games: technology trees (TTs). This term covers here also so-called skill trees, talent trees, perk trees, and other such structures used to limit and guide in-game development and define development possibilities. The aim is to propose methods and usage of tools helping to achieve high TT quality, simultane- ously facilitating the actual development process and reducing human work- load. The main contributions of this dissertation consist of ideas, models, meth- ods, and software tool prototypes constructed during the research work. The significance of the thesis is amplified by the fact that there are only very few previous academic studies focusing on TTs.
    [Show full text]
  • Applying Answer Set Programming in Game Level Design
    Aalto University School of Science Degree Programme in Computer Science and Engineering Evgenia Antonova Applying Answer Set Programming in Game Level Design Master's Thesis Espoo, November 30, 2015 Supervisor: Docent Tomi Janhunen, Aalto University Advisor: Emilia Oikarinen D.Sc.(Tech.), Aalto University Aalto University School of Science ABSTRACT OF Degree Programme in Computer Science and Engineering MASTER'S THESIS Author: Evgenia Antonova Title: Applying Answer Set Programming in Game Level Design Date: November 30, 2015 Pages: vii + 56 Major: Foundations of Advanced Computing Code: T-119 Supervisor: Docent Tomi Janhunen Advisor: Emilia Oikarinen D.Sc.(Tech.) Automated content generation is used in game industry to reduce costs and im- prove replayability of games. Many classic and modern games have their levels, terrains, quests, and items procedurally generated. Answer set programming is a declarative problem solving paradigm which can be used for generating game content. In answer set programming, the problem is modeled as a set of rules. This encoding is fed to the solver program, which traverses the search space and outputs answer sets complying with all the given rules. The resulting answer sets are finally interpreted as solutions to the problem. In this thesis, answer set programming techniques are applied to design and implement a level generator for Portal, a series of 3D puzzle games where the player solves each level by using objects in a certain order. All the levels in Portal games are built by human level designers. In this work, the main aspects of Portal physics and several basic game objects are modeled using answer set programming.
    [Show full text]
  • Free and Open Source Software
    Free and open source software Copyleft ·Events and Awards ·Free software ·Free Software Definition ·Gratis versus General Libre ·List of free and open source software packages ·Open-source software Operating system AROS ·BSD ·Darwin ·FreeDOS ·GNU ·Haiku ·Inferno ·Linux ·Mach ·MINIX ·OpenSolaris ·Sym families bian ·Plan 9 ·ReactOS Eclipse ·Free Development Pascal ·GCC ·Java ·LLVM ·Lua ·NetBeans ·Open64 ·Perl ·PHP ·Python ·ROSE ·Ruby ·Tcl History GNU ·Haiku ·Linux ·Mozilla (Application Suite ·Firefox ·Thunderbird ) Apache Software Foundation ·Blender Foundation ·Eclipse Foundation ·freedesktop.org ·Free Software Foundation (Europe ·India ·Latin America ) ·FSMI ·GNOME Foundation ·GNU Project ·Google Code ·KDE e.V. ·Linux Organizations Foundation ·Mozilla Foundation ·Open Source Geospatial Foundation ·Open Source Initiative ·SourceForge ·Symbian Foundation ·Xiph.Org Foundation ·XMPP Standards Foundation ·X.Org Foundation Apache ·Artistic ·BSD ·GNU GPL ·GNU LGPL ·ISC ·MIT ·MPL ·Ms-PL/RL ·zlib ·FSF approved Licences licenses License standards Open Source Definition ·The Free Software Definition ·Debian Free Software Guidelines Binary blob ·Digital rights management ·Graphics hardware compatibility ·License proliferation ·Mozilla software rebranding ·Proprietary software ·SCO-Linux Challenges controversies ·Security ·Software patents ·Hardware restrictions ·Trusted Computing ·Viral license Alternative terms ·Community ·Linux distribution ·Forking ·Movement ·Microsoft Open Other topics Specification Promise ·Revolution OS ·Comparison with closed
    [Show full text]
  • 45 Years of Arcade Gaming
    WWW.OLDSCHOOLGAMERMAGAZINE.COM ISSUE #2 • JANUARY 2018 Midwest Gaming Classic midwestgamingclassic.com CTGamerCon .................. ctgamercon.com JANUARY 2018 • ISSUE #2 EVENT UPDATE BRETT’S BARGAIN BIN Portland Classic Gaming Expo Donkey Kong and Beauty and the Beast 06 BY RYAN BURGER 38BY OLD SCHOOL GAMER STAFF WE DROPPED BY FEATURE Old School Pinball and Arcade in Grimes, IA 45 Years of Arcade Gaming: 1980-1983 08 BY RYAN BURGER 40BY ADAM PRATT THE WALTER DAY REPORT THE GAME SCHOLAR When President Ronald Reagan Almost Came The Nintendo Odyssey?? 10 To Twin Galaxies 43BY LEONARD HERMAN BY WALTER DAY REVIEW NEWS I Didn’t Know My Retro Console Could Do That! 2018 Old School Event Calendar 45 BY OLD SCHOOL GAMER STAFF 12 BY RYAN BURGER FEATURE REVIEW Inside the Play Station, Enter the Dragon Nintendo 64 Anthology 46 BY ANTOINE CLERC-RENAUD 13 BY KELTON SHIFFER FEATURE WE STOPPED BY Controlling the Dragon A Gamer’s Paradise in Las Vegas 51 BY ANTOINE CLERC-RENAUD 14 BY OLD SCHOOL GAMER STAFF PUREGAMING.ORG INFO GAME AND MARKET WATCH Playstation 1 Pricer Game and Market Watch 52 BY PUREGAMING.ORG 15 BY DAN LOOSEN EVENT UPDATE Free Play Florida Publisher 20BY OLD SCHOOL GAMER STAFF Ryan Burger WESTOPPED BY Business Manager Aaron Burger The Pinball Hall of Fame BY OLD SCHOOL GAMER STAFF Design Director 22 Issue Writers Kelton Shiffer Jacy Leopold MICHAEL THOMASSON’S JUST 4 QIX Ryan Burger Michael Thomasson Design Assistant Antoine Clerc-Renaud Brett Weiss How High Can You Get? Marc Burger Walter Day BY MICHAEL THOMASSON 24 Brad Feingold Editorial Board Art Director KING OF KONG/OTTUMWA, IA Todd Friedman Dan Loosen Thor Thorvaldson Leonard Herman Doc Mack Where It All Began Dan Loosen Billy Mitchell BY SHAWN PAUL JONES + WALTER DAY Circulation Manager Walter Day 26 Kitty Harr Shawn Paul Jones Adam Pratt KING OF KONG/OTTUMWA, IA King of Kong Movie Review 28 BY BRAD FEINGOLD HOW TO REACH OLD SCHOOL GAMER: Tel / Fax: 515-986-3344 Postage paid at Grimes, IA and additional mailing KING OF KONG/OTTUMWA, IA Web: www.oldschoolgamermagazine.com locations.
    [Show full text]