You Say Jump, I Say How High? a Study of Jumping in 2D Platform Games
Total Page:16
File Type:pdf, Size:1020Kb
You say jump, I say how high? A study of jumping in 2D platform games Written by Martin Fasterholdt Supervisors: Christoffer Holmgård & Martin Pichlmair IT University of Copenhagen, DenmarK December 2015 29. November 2015 Abstract This thesis will explore the design of jumping in 2D platform games. Designing movement is usually not a formalised process, but is instead based on intuition, testing, and lots of iterative development. This thesis presents tools and Knowledge which can support game designers during this process. An approach for measuring and analysing movement in existing games will be presented. The first step of the approach is to simulate input to a game otherwise running normally. To accomplish this a program was created which injects a DLL file and hooks into the DirectX callbacKs of a game. This way the program can simulate a series of XBox controller input. This gives precise control of how the character in the game moves and jumps. The resulting movement is recorded using screen recording software. To measure this movement a measurement program was created. The recording is loaded into this program, the movement measured, and the data exported as a text file. The text file is imported into Microsoft Excel where the movement can be visualised and further analysed. Based on the data a model of the character’s movement can be created. The model shows one potential way to implement the movement of the game and provides detailed information about the properties of the jump. A frameworK describing jumping was defined to structure the models. Three games are used as case studies throughout the project: Super Meat Boy (Team Meat, 2010), Limbo (Playdead, 2011) and Super Mario Bros. 3 (Nintendo, 1988). They will be used to demonstrate the approach just described. The game feel of the jump in each case study will be analysed and discussed based on measurements of the movement in the game. The frameworK can be used to describe jumping and be used as an overview of aspects to consider and provides a range of options which can be used as starting points when designing a jump. The case studies provide detailed information about the implementation of the games. Instead of starting from scratch a game designer can Martin Fasterholdt [email protected] 2 / 132 29. November 2015 consider the solutions from the case studies. The case studies also suggest how a change to a jump might influence the feel of the jump. The tools developed, the approach defined, and the frameworK can be used by game designers to measure, model and analyse movement in platform games. A general approach to this is valuable as it allows game designers to conduct their own case studies with games particularly relevant for their production. A prototyping tool was created for this project. This tool is a basic 2D platform game where the character’s movement can be adjusted with a wide range of parameters. The tool can visualise a character's jump while parameters are being adjusted. The basic movement of the characters from the three case studies were replicated inside this tool. The prototyping tool can be used by game designers to explore and experiment with the different implementation. Acknowledgements ThanKs to my supervisors Christoffer Holmgård and Martin Pichlmair for their guidance and feedback throughout the project. Thanks to Mads Johansen Lassen for his help during the development of the program simulating input. ThanKs to Tim Garbos for convincing me to maKe a program for measuring movement instead of using photoshop. ThanKs to Justin Stenning for his example project and his articles. Thanks to Jonathan Aldrich for sharing his research about the physics in Mario games. ThanKs to the developers of EasyHook and SharpDX for providing free software. Martin Fasterholdt [email protected] 3 / 132 29. November 2015 Contents Abstract ............................................................................................................................................... 2 Acknowledgements ......................................................................................................................... 3 Introduction ...................................................................................................................................... 6 Context ................................................................................................................................................. 8 Game Feel ......................................................................................................................................... 15 Real-Time Control ........................................................................................................................................ 16 Simulated Space ............................................................................................................................................ 18 Polish ................................................................................................................................................................. 19 Case Studies ..................................................................................................................................... 20 Measuring Movement ................................................................................................................... 23 Simulating Input ........................................................................................................................................... 23 Recording ........................................................................................................................................................ 30 Measurement Tool ....................................................................................................................................... 31 Analysing Movement .................................................................................................................... 35 Organising Data ............................................................................................................................................ 35 Considerations .............................................................................................................................................. 38 Analysis ............................................................................................................................................. 41 Prototyping Tool .......................................................................................................................................... 48 Movement Framework ................................................................................................................. 53 Input .................................................................................................................................................................. 56 Ground Movement ....................................................................................................................................... 65 Jump TaKeoff .................................................................................................................................................. 71 Air Control ....................................................................................................................................................... 78 Jump Release .................................................................................................................................................. 86 Details ............................................................................................................................................................... 92 Martin Fasterholdt [email protected] 4 / 132 29. November 2015 Summarize and Reflect ................................................................................................................ 96 Super Meat Boy ............................................................................................................................................. 96 Mario .............................................................................................................................................................. 100 Limbo ............................................................................................................................................................. 108 General Reflection .................................................................................................................................... 115 Future work ................................................................................................................................................. 119 Conclusion ..................................................................................................................................... 120 Appendix 1, Limbo Input .......................................................................................................... 124 Appendix 2, Attacthments ........................................................................................................ 126 References ..................................................................................................................................... 127 Martin Fasterholdt [email protected] 5 / 132 29. November 2015 Introduction Curiosity regarding jumping in games inspired this thesis. What are the differences between the ways Mario and Meat Boy jump? The two characters clearly have a different pace, but functionally