Astrogue: A Roguelike Using Procedural Content Generation for Levels and Plots in a Computer Game

Typ
Examensarbete för kandidatexamen
Bachelor Thesis
Program
Datateknik 300 hp (civilingenjör)
Publicerad
2014
Författare
Almgren, Simon
Anttila, Leo
Sörensson, Fabian
Tiensuu, Samuel
Oskarsson, David
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
The aim of this thesis is to explain the process of creating a computer game in the roguelike genre, where procedural content generation is key. The case study game discussed here is called Astrogue, a simple tile-based 2D game with procedurally generated levels and plots. Astrogue is written in Java and uses the library Lightweight Java Game Library for graphics and input. Even when creating a simple 2D game, there is a need for good code architecture. For this, we have chosen to use a design pattern called entity-componentsystem, a pattern that favours composition over inheritance. Besides smart code architecture, other interesting programming problems had to be solved. Systems for controlling game logic have been implemented, including for example an algorithm for shadowcasting and a simple enemy AI. For both level and plot generation, different algorithms and approaches were studied and evaluated, but only some were used. Two different level generating algorithms have been implemented. One creates classical roguelike dungeons, with multiple rooms connected using Delaunay triangulation and Kruskal’s algorithm. The other one creates cavelike levels using cellular automata. An algorithm for generating names from lists of old ones, using Markov chains, is part of the game. Finally, the game generates a plot by creating characters and letting them interact in an AI simulation.
Beskrivning
Ämne/nyckelord
Data- och informationsvetenskap , Computer and Information Science
Citation
Arkitekt (konstruktör)
Geografisk plats
Byggnad (typ)
Byggår
Modelltyp
Skala
Teknik / material
Index