Download presentation
Presentation is loading. Please wait.
1
Hotline Miami Level Layouts
Artificial Intelligence and Games Development Lab 28/09/2017
2
How the Story Began… In late 2015, I had the opportunity to teach an elective on Procedural Content Generation at Innopolis University, in its old location in an office building in Kazan, Russia. Developers, Dennaton Games, has announced that a level design package would be in the second game… Good suggestion for students for final term projects! Unfortunately, while the game released - the level editor would not release till 2016, so it was not until the second running of this elective, at the new city of Innopolis, in which I was able to again bring forward a team to the problem of level generation in a commercially successful game. This is when we join our anti-heros… Bulat Lutfullin – MSc Student/Code Cracker Pavel Oreshin – MSc Student/Devious Developer Joseph Alexander Brown – Professor/Mastermind
3
The Master Plan Understanding how the level editor works
Reverse Engineering What are the primitive objects Ensure we have a pathway to play developed levels Development of Level Layouts Placement of Objects Placement of Enemies and Power-ups Human testing
4
Hotline MIami Based on Neo-Noir stylings Stylistic Neon 1980s
Drive w/ Ryan Gosling David Lynch storyline Stylistic Neon 1980s (Un)forgiving – Rougelike(?) Instant one hit kills to player No lives or game overs Pressing R – Restarts the level from the beginning
5
EA System Create a randomized population made up of chromosomes, data structures which encode a potential solution Until <Done>, based on a stopping criteria Find an objective/fitness score for each member of the population Select members to act upon using some variation operators Apply operations on the members Crossover Mutations Replace some members of the population with these children from the variation operators Keep some members from the previous population in the new population, i.e. elitism/inheritance
6
Representation Rooms are defined as a five-tuple (x,y,l,w,t) where:
x is the starting x-coordinate of a room y is the starting y-coordinate of a room l is the length of the room w is the width of the room t is the placement type of a room, if it places on-top of (O) or under (U) current rooms.
7
Translation The chromosome below is translated left to right into a level design with some restrictions. If a room is not overlapped it is not placed. Doors are placed at the end at random against connecting walls. The connective graph is implicitly defined by rooms placed.
8
Selection and Variation Operations
Selection was made from the Population of 20 individuals of size 10 Two fittest are crossed multiple times and replace entire population Crossover: Uniform Order, Swap with probability ½ Mutation: Creates an entirely new chromosome Very Disruptive, but prevents early convergence seen in the model
9
Fitness Evaluations Developed a series of Fitness functions in order to define a good level behaviour Seeking to find the right combination of factors to visually see close packed rooms Want to have interesting connections Fitness functions should be reflected in the look and feel of the level Process similar to that taken by: Ashlock et al. (2011) examining maze generations with graph properties Valtchanov and Brown (2012) which examined tiles in a Diablo like game with pre-set assets
10
Findings 95% CI about the mean, with 0E0 as machine 0.
11
Maximize Area
12
Minimize Area
13
Minimize Diameter
14
Corridor Penalty
15
Complex
16
Control over Layout via Fitness
The defined fitness functions allow for priority of what graphical, area, or other features should be in a level High Control over the generator The set becomes a series of dials A weighted sum of effect in the final fitness Developer can turn these dials to their liking to give off the properties expected
17
Usable!
18
Press R to restart Placement of PCG elements into existing games
IS HARD – greater effort was spent in the reverse engineering than coding the generator – sadly the second is the research issue Lots of preparation work that needs to be done to incorporate a functional game into a research tool chain Developers were very kind in answering some of my questions about the files – but communications were limited – the issue is thinking fast v. slow Academics Resources: Time Actions: Slow Think/Planning Outcome: Publishable Research Industry Resources: Money/Manpower Actions: Quick Think/Result which works Outcome: Saleable Product
19
How does the Story Begin?
Placement of Enemies/Pickups/Objects We only have layouts now which look like levels, but levels should be stocked with baddies and fully playable Human Testing Really good suggestion from reviewers was to post this to the Steam Workshop Collaboration? Want to try your method for hotline and don’t want to reverse engineer files all day; we are now REALLY good at it.
20
Thank you for your attention!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.