Tải bản đầy đủ

Game feel a game designers guide to virtual sensation~tqw~darksiderg


Game Feel


Morgan Kaufmann Game Design Books
Better Game Characters by Design (9781558609211)
Katherine Isbister

Game Design Workshop, Second Edition (9780240809748)
Tracy Fullerton

The Art of Game Design (9780123694966)
Jesse Schell

Game Usability (9780123744470)
Katherine Isbister & Noah Schaffer (Eds.)

Game Feel (9780123743282)
Steve Swink



Game Feel
A Game Designer’s Guide to
Virtual Sensation

Steve Swink

AMSTERDAM • BOSTON • HEIDELBERG • LONDON
NEW YORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO

Morgan Kaufmann Publishers is an imprint of Elsevier


Morgan Kaufmann Publishers is an imprint of Elsevier.
30 Corporate Drive, Suite 400, Burlington, MA 01803, USA
This book is printed on acid-free paper.

© 2009 Elsevier, Inc. All rights reserved.
Designations used by companies to distinguish their products are often claimed as trademarks or
registered trademarks. In all instances in which Morgan Kaufmann Publishers is aware of a claim, the
product names appear in initial capital or all capital letters. Readers, however, should contact the
appropriate companies for more complete information regarding trademarks and registration.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means—electronic, mechanical, photocopying, scanning, or otherwise—without prior written
permission of the publisher.
Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in Oxford,
UK: phone: (ϩ44) 1865 843830, fax: (ϩ44) 1865 853333, E-mail: permissions@elsevier.com.
You may also complete your request online via the Elsevier homepage (http://elsevier.com), by selecting
“Support & Contact” then “Copyright and Permission” and then “Obtaining Permissions.”
Library of Congress Cataloging-in-Publication Data
Swink, Steve.
Game feel: a game designer’s guide to virtual sensation/Steve Swink.
p. cm.
Includes index.
ISBN 978-0-12-374328-2 (pbk. : alk. paper) 1. Computer games—Programming. 2. Computer
games—Design. 3. Human-computer interaction.
I. Title.
QA76.9.H85S935 2009
794.8’1526—dc22
2008035742


ISBN: 978-0-12-374328-2

For information on all Morgan Kaufmann publications,
visit our Web site at www.mkp.com or www.books.elsevier.com

Printed in the United States of America
08 09 10 11 12 13 10 9 8 7 6 5 4 3 2 1


Dedication
For people who struggle and make beautiful things


This page intentionally left blank


TABLE OF CONTENTS
Acknowledgments............................................................................................................................................ix
About the Author ..............................................................................................................................................xi
Introduction.......................................................................................................................................................xiii

1. Defining Game Feel ..................................................................................................................................1
2. Game Feel and Human Perception ................................................................................................. 35
3. The Game Feel Model of Interactivity ............................................................................................ 61
4. Mechanics of Game Feel ..................................................................................................................... 69
5. Beyond Intuition: Metrics for Game Feel....................................................................................... 81
6. Input Metrics ..........................................................................................................................................101
7. Response Metrics .................................................................................................................................119
8. Context Metrics .....................................................................................................................................139
9. Polish Metrics .........................................................................................................................................151
10. Metaphor Metrics.................................................................................................................................171
11. Rules Metrics ..........................................................................................................................................179
12. Asteroids ..................................................................................................................................................187

vii


TABLE OF CONTENTS

13. Super Mario Brothers ..........................................................................................................................201
14. Bionic Commando ...............................................................................................................................229
15. Super Mario 64 ......................................................................................................................................247
16. Raptor Safari ...........................................................................................................................................277
17. Principles of Game Feel......................................................................................................................297
18. Games I Want to Make........................................................................................................................311
19. The Future of Game Feel ..................................................................................................................321
Index

viii

............................................................................................................................................................345


ACKNOWLEDGMENTS
I would like to thank the following people.
Mom & Dad, for their unwavering support of everything I do, ever. It must be
exhausting. Special thanks to Dad for taking on the role of second editor, donating
hours and hours to proofreading, editing, writing first-pass chapter summaries and
helping me wrangle ideas. I love you guys. Thank you so much for being who you
are. It gives me a standard to aspire to.
Amy Wegner, for unflinching honesty in editing and for putting up with me
throughout the months of craziness. Guess it’s my turn to do the laundry, bake
cookies, do the dishes, take out the dog. Thank you for everything.
Beth Millett, for being a kickass editor and for being the other person who had to
put up with my craziness.
Matthew Wegner, for help with the Raptor Safari, for many inspiring ideas about
game feel, and for being the stable foundation of Flashbang. You make everyone
around you better, smarter, faster and happier. We appreciate it, even if we don’t
tell you so as much as we should.
Mick West, for inspiring me to think about game feel at a deeper level. It was
his article “Pushing Buttons” for Game Developer magazine that convinced me
this would be a subject worth writing an entire book about, and he has graciously
offered me feedback and guidance when I asked for it. He is the true master of
game feel. If you’re looking for someone to make your game feel better than anyone
else can, ask him. I doubt he’ll say yes, but there it is.
Allan Blomquist, for building pixel-perfect clones of old games and helping me
understand how they work. Without Allan, the book would be much shorter.
Derek Daniels, for the brilliant insights about the role of animation in game feel
and the importance of hard metrics for game feel. I hope you write a book someday.
Shawn White, for helping me with technical details about platformer games. You
truly are the Captain of Rats.
Matt Mechtley, for additional help with technical stuff and for the fantastic attitude. I hope you someday meet and woo fast women. It must be plural.
Adam Mechley, for proofreading and helping me to achieve syntactic perfection.
Kyle Gabler, for being brilliant and inspiring, and for helping me understand the
importance of sound and its role in game feel. I hope I can someday be half as good
a game designer as you are.
Ben Ruiz, for making me laugh and smile always. You provide a constant
reminder why we do what we do.

ix


ACKNOWLEDGMENTS

Jon Blow, for inspiring everyone to make better games and for teaching me about
proxied embodiment.
Kellee Santiago and Jenova Chen, for making beautiful things and for taking the
time to talk to me about how.
Chaim Gingold, for making brilliant things and for taking the time to talk to me
about how.
Katherine Isbister, for the encouragement and opportunity to write a book.

x


ABOUT THE AUTHOR
Steve Swink is an independent game developer, author and lecturer currently
based in Tempe, Arizona. As a game designer and partner at Flashbang Studios,
he’s contributed to games such as Off-Road Velociraptor Safari, Splume, Jetpack
Brontosaurus, and Minotaur China Shop. Before joining Flashbang, he toiled in the
retail game mines at Neversoft and the now-defunct Tremor Entertainment. He also
co-chairs the Independent Games Festival, is an IGDA Phoenix chapter coordinator, and teaches the game and level design classes at the Art Institute of Phoenix.
He sometimes forgets the importance of sleeping every night, not just some.

xi


This page intentionally left blank


INTRODUCTION
Close your eyes for a few seconds and imagine yourself playing Super Mario
Brothers.
What did you imagine? The visuals? The colors? The iconic sounds of coin collecting and the Mario theme music? How about the sensation of moving Mario left and
right, of jumping, colliding with blocks, stomping Goombas? What does it feel like
to control Mario? Go watch someone unfamiliar with games—your mom, perhaps—
try to play a game like Rad Racer. If it’s a game which requires real-time control,
she’ll be leaning left and right in her chair, pulling the controller, trying to get the
car to move just a bit farther, a bit faster. Ever seen someone do this? Done it yourself? This feeling of steering—this tactile, visceral sensation—is game feel.
For the purposes of this book, “feel” is meant in a very specific sense relevant to
the experience of playing video games. Feel is not meant in the thematic sense (a
Western feel, a Baroque feel) or in the expressive, emotional or physical sense (I feel
sad, I feel pain, this place feels creepy). Specifically, game feel is the tactile, kinesthetic sense of manipulating a virtual object. It’s the sensation of control in a game.
In digital game design, feel is the elephant in the room. Players know it. Designers
know of it. Nobody talks about it, and everybody takes it for granted. It’s not hard
to understand why; if a game designer’s done his or her job correctly, the player will
never notice the feel of a game. It will just seem right. In this sense, game feel is an
“invisible art,” like cinematography. Feel is the most overlooked aspect of game
creation; a powerful, gripping, tactile sensation that exists somewhere in the space
between player and game. It is a kind of “virtual sensation,” a blending of the visual, aural and tactile. In short, it is one of the most powerful properties of humancomputer interaction.
Recently, I had the opportunity to play Spacewar!, the world’s first video game1
at the “Game On!” exhibit at the Tech Museum, in San Jose, California. What struck
me is just how compelling the game still is. It’s easy to imagine the breathless
enthusiasm of the young technicians crowding around their PDP-1 supercomputer,
exhausting hours of valuable computing time on endless rounds of Steve Russell’s
creation. Even today, as a product of a video game culture, having played hundreds
of games, it feels great to me to steer the little rockets, fire off missiles and avoid
black holes. Game feel has been with us since the beginning.
1

William Higinbotham’s Tennis (1958) is also a contender, but Spacewar! was the first to have something approximating modern game structure—rounds, scoring and so on.

xiii


INTRODUCTION

It may be easy to bring to mind, but game feel is difficult to understand. Games
are a nascent and complex medium, one which incorporates many previous forms.
A single game might include painting, music, cinematography, writing and animation.
If that weren’t enough, video games represent an unprecedented collaboration
between creator and consumer. We abdicate authorial control to our players and
get … something. We’re not quite sure what yet, but we know that it has potential.
To many, interactivity seems to be the most important medium of the 21st century.
It’s surprising, then, that the luminaries of digital game design have devoted little ink to the phenomenon of feel. In Rollings and Morris, any mention of feel is
conspicuously absent. Salen and Zimmerman dance tantalizingly close to discussing feel, but take a more holistic approach, focusing on game state at the higher
intervals where scoring and more traditional strategic considerations occur. Chris
Crawford’s revered work, The Art of Computer Game Design, devotes only a sentence to game feel, saying “The input structure is the player’s tactile contact with
the game; people attach deep significance to touch, so touch must be a rewarding
experience for them.”
With due respect to these authors and all the great stuff they have taught us,
what’s missing is an appreciation of just how unique and beautiful an aesthetic
game feel truly is. It exists outside of video games—driving cars, riding bikes and so
on—but nowhere is it so refined, pure and malleable.
In addition, game feel is moment-to-moment interaction. If we examine the
functional underpinnings of most video games, there is usually game feel at the most
basic level. It has greater importance in certain games but it’s always there. As a percentage of activities in the game, it’s what you spend most of your time experiencing. If you break down all the activities of a game, it’s the biggest slice of the pie.
This book is about examining feel in greater detail. Where does it come from?
How is it created? Does it exist in the computer, the player’s mind or somewhere in
between? What are the different kinds of feel and why do they feel the way they do?
In a clear, non-technical style intended to be accessible to professionals, players and
aspiring designers alike, we will investigate feel as experienced by players, created by
designers and measured by psychologists. The goal is to create a comprehensive guide
to game feel: deconstructing it, classifying it, measuring it and creating it. By book’s
end you will have the tools to measure, master and create exemplary game feel.

About This Book
This book is about how to make good-feeling games. In many ways, it’s the book
I wanted when I first started designing games. So many creative ideas rely on a
foundation of good-feeling controls. It should be a given that we can always create
controls that feel good. We shouldn’t have to start from scratch every time.
This book constructs a foundation of understanding and then builds on it,
addressing at each step a particular gap in the knowledge base about game design.
Figure I.1 shows the structure and flow of the book’s topics.

xiv


INTRODUCTION

FIGURE

I.1 The structure and flow of the book.

www.game-feel.com
To get the most out of reading Game Feel, I recommend going to www.game-feel.com,
the companion website to this book. For many of the chapters, I’ve provided playable examples that will allow you to experience first-hand the ideas being discussed.
In addition, the website contains interviews on the subject of game feel with folks
like Kellee Santiago and Jenova Chen of thatgamecompany, Kyle Gabler of 2dBoy,
and Johnathan Blow and Chaim Gingold of Number-None and Maxis, respectively.
If you’re a student, the definition at the beginning will be interesting and relevant, but the real meat will be the examples. In the examples you can see all the
tiny decisions and particulars of implementation that go into making games feel the
way they do. This is the palette of game feel; if you want to make good-feeling
games, these are the details you need to understand.
If you’re a game designer, the definition stuff will not be news to you. But some of
the theory bits may be useful and applicable, if only to better understand the deeper
physiological phenomena. The examples will be useful because of the legwork I’ve
already done—you can reverse engineer games yourself, probably, but it takes a lot
of time. The principles of game feel may also be a useful way to think about building games. It’s one way, at any rate, to which you can compare your own methods.2
If you’re an educator, the theory and definition pieces form a solid basis for
understanding game feel at a conceptual level. In addition, the examples provide a
great way to illustrate the complexities of making good-feeling games without forcing students to program the games themselves from scratch. The most useful part,
2

Which, by the way, I’d love to hear about. Email me at sswink@flashbangstudios.com.

xv


INTRODUCTION

however, will probably be the principles of game feel chapter, which lays out some
guidelines for creating good-feeling games.
If you’re someone interested in the medium of games, such as a journalist, the
definition parts may provide a new perspective on genres. In addition, understanding
the physiological thresholds that cause game feel to be sustained or break down
may help explain why frame rate drops and other technical disturbances make
games feel so much worse. But my hope is that in understanding and being able
to measure things like frame rate and response time, you will be able to do a better
job of separating medium from message. Yes, a developer is to blame if a game runs
poorly. But I think this consideration is given too superlative an emphasis when
games are critiqued. The experience of playing a game may still have some things
to offer from a critical standpoint—as Jurassic Park: Trespasser did—even if they are
technically incompetent.

What Is Game Feel?
One obstacle to understanding game feel at a deeper level is definition. This section
offers a simple three-part definition of game feel based on the ways players experience it and game designers design it.
Each of the three parts of the definition is expanded to make it useful for classifying games as well as understanding what game feel is. Expanding the definition
requires an exploration of some of the ways people perceive things, including measures for frame rate, response time and other conditions necessary for game feel to
occur. These physiological thresholds and concepts of perception combine to form
the “game feel model for interactivity”—a complete picture of the ongoing process
of game feel.
The section ends by applying the definition to some games specifically chosen
because they are on the fringes of game feel.

Metrics for Game Feel
Another problem facing game designers is meaningful comparison. How does the
feel of Halo compare to the feel of Ikaruga? From a designer’s perspective, this is
tied to tuning. Why is one game “floaty” while another is “tight and responsive”? If
a player tells me that my game is floaty, what should I do? How should I change the
variables of my complex system? Is floaty bad? Is it good? What does it mean?
This section is about measuring the pieces of the game feel process that a
designer can change. By measuring each piece—input, response, context, polish,
metaphor and rules—we can make generalizations about what terms like floaty,
tight, smooth, responsive and loose mean. Not only in a particular game, but across
different games. Once we can measure game feel, we can master it.

xvi


INTRODUCTION

Practical Examples
The metrics we developed in Section II are applied to specific games, providing
comprehensive analysis of how the feel of these games function and providing
a template for creating games with similar feel. This section will give you clear,
practical steps for creating a game that feels a particular way. In addition, I have
constructed playable and editable examples for each game (find them at www.
game-feel.com) so you can follow along and experience how the feel of each game
changes and grows.

Principles of Game Feel
What principles, if followed, will make all games feel better? This section generalizes the lessons of the good-feeling examples and measurable pieces of game feel
into a set of best practices for game feel.

The Future of Game Feel
This section uses the lessons and definitions of the previous chapters to examine
the input devices, rendering technology and thought problems that will define how
game feel will be used in the future. With deep, expressive interactivity, can we provide experiences which don’t require the backdrop of skill and challenge? Is it possible to express things spatially without competition? Could game feel be a form of
deeply personal expression like dance or martial arts?

xvii


This page intentionally left blank


ONE
CHAPTER
Defining Game Feel
There is no standard definition of game feel. As players and game designers, we
have some beginnings of common language, but we have never collectively defined
game feel above what’s necessary for discussing a specific game. We can talk about
the feel of a game as being “floaty” or “responsive” or “loose,” and these descriptions may even have meaning across games, as in “We need to make our game feel
more responsive, like Asteroids.” But if I ask 10 working game designers what game
feel is—as I did in preparation for writing this book—I get 10 different answers. And
here’s the thing: each of these answers is correct. Each answer describes a different
facet, a different area, which is crucial to game feel.
To many designers, game feel is about intuitive controls. A good-feeling game is
one that lets players do what they want when they want, without having to think too
much about it. Good game feel is about making a game easy to learn but difficult to
master. The enjoyment is in the learning, in the perfect balance between player skill
and the challenge presented. Feelings of mastery bring their own intrinsic rewards.
Another camp focuses on physical interactions with virtual objects. It’s all about
timing, about making players really feel the impact, about the number of frames
each move takes, or about how polished the interactions are.
Other designers insist that game feel is all about making the players feel as though
they’re really there, as though they’re in the game. All their efforts go into creating
a feel that seems more “realistic” to players, which somehow increases this sense of
immersion, a term that is also loosely defined.
Finally, to some designers, game feel is all about appeal. It’s all about layering
on effect after careful effect, polishing every interaction—no matter how trivial—
until interacting with the game has a foundation of aesthetic pleasure.
The problem is unity. How do these experiences become a cohesive whole?
They all tell us something about game feel, but they do not help us define it. St.
Augustine’s comment about defining time comes to mind: “What then is time? If
no one asks me, I know what it is. If I wish to explain it to him who asks, I do not
know.”
Game feel is the same way. Without close examination, we know what it is. Try
to define it and the explanation quickly unravels into best practices and personal
experiences.

1


CHAPTER ONE • DEFINING GAME FEEL

This book is about how to make good-feeling games. But first we need to be
clear about what game feel is. We need to separate medium from content. We need
a definition that enables us to separate the conditions that are necessary for game
feel from the judgments that make a game feel a certain way.
What is the underlying phenomenon, apart from our own experiences and
the craft knowledge of building games? What are the building blocks? Just what is
game feel?

The Three Building Blocks of Game Feel
Game feel, as experienced by players, is built from three parts: real-time control,
simulated space and polish.

Real-Time Control
Real-time control is a specific form of interactivity. Like all interactivity, it includes
at least two participants—in this case the computer and the user—who come
together to form a closed loop, as illustrated in Figure 1.1, the concept couldn’t be
simpler.
The user has some intent, which is expressed to the computer in the form of the
user’s input. The computer reconciles this input with its own internal model and
outputs the results. The user then perceives the changes, thinks about how they
compare to the original intent, and formulates a new action, which is expressed to
the computer through another input.

1.1 Interactivity involves the exchange of information and action between at least
two participants.

FIGURE

2


THE THREE BUILDING BLOCKS OF GAME FEEL

In his book, Chris Crawford on Game Design, game designer Chris Crawford
likens this process to a conversation, a “cyclic process in which two active agents
alternately (and metaphorically) listen, think and speak.”
The conversation in Figure 1.2 begins when one participant, Bob, speaks. The
other participant, Bill, listens to what was said, thinks about it, formulates a response
and speaks in return. Now it’s Bob’s turn to listen, think and speak, and so on. In
Crawford’s model, a computer replaces one of the participants, “listening” to the
player’s input via the input device, thinking by processing that input and changing
system state and “speaking” via the screen and speakers (Figure 1.3).

FIGURE

1.2 Interactivity as a conversation.

However, the metaphor of a conversation between human and computer doesn’t
fit all situations. Real-time control is not like a conversation. It’s more like driving a car. If a driver wants to turn left, it’s more action than thought. He turns the
wheel in the corresponding direction, using what he sees, hears and feels to make
small corrections until the turn is complete. The process is nearly instantaneous.
The “conversation” takes place in minute increments, below the level of consciousness, in an uninterrupted flow of command. The result of input feels as though it is

3


CHAPTER ONE • DEFINING GAME FEEL

FIGURE

1.3 The conversation between human and computer.

perceived in the same moment it’s expressed. This is the basis of game feel: precise,
continuous control over a moving avatar.
This is a starting point for our definition of game feel:
Real-time control of virtual objects.
The problem with this definition is context. Imagine a ball suspended in a field of
blank whiteness. How would you be able to tell if it were moving? Without the
backdrop of space to move through, there can be no motion. More importantly,
there can be no physical interaction between objects. For the sense of interacting
physically with the game world, there needs to be some kind of simulated space.

Playable Example
If you’re near a computer, open game feel example CH01-1 to experience the
necessity of context. This is a first-person shooter game. Use the WASD keys to
move around and the mouse to aim. Can you feel the motion? No? Now press
the “1” key. With a simulated space, there is feel.

Simulated Space
Simulated space refers to simulated physical interactions in virtual space, perceived
actively by the player. This means collision detection and response between a realtime controlled avatar and objects in a game world. It also means level design—the
construction and spacing of objects relative to the speed of the avatar’s movements.
These interactions give meaning to the motion of an avatar by providing objects

4


THE THREE BUILDING BLOCKS OF GAME FEEL

to move around and between, to bump into, and to use as a frame of reference for
the impression of speed. This gives us the tactile, physical sense of interacting with
virtual environments the same way we interact with our everyday physical spaces.
Using the avatar as a channel for expression and perception, we experience game
worlds at the tactile, physical level of the world around us.

Playable Example
Open example CH01-2 to experience the difference. Move around and feel the
sensation of control. Now press the “1” key to enable collisions. Feel how different that is?

The other necessary component for simulated space is that it must be actively
perceived. Perception happens on a scale of passive to active. The interaction of
objects you see on TV and in films is passively perceived. Exploring a simulated
space using real-time control is active perception. Game feel is active perception.
The key question is “How does the player interact with the space?” Some games
have detailed collision/response systems and level design, but the player does not
experience them directly. Starcraft is an example of a game like this, as we’ll see
in a moment. In other games, space is an abstraction. Games with grids, tiles and
hexagonal movement use space abstractly. This is not a simulation of space in the
literal sense, which is the sense we’re after. Game feel as we’re defining it means
active perception of literal space.
If we add the concept of context to our definition, it becomes:
Real-time control of virtual objects in simulated space.
This definition is close, but with it we are ignoring the impact of animations,
sounds, particles and camera shake. Without these “polish” effects, much of the feel
of a game is missing. There are objects interacting with only simulated responses
giving clues about whether they’re heavy, light, soft, sticky, metallic, rubber and so
on. Polish sells interaction by providing these clues.

Polish
Polish refers to any effect that artificially enhances interaction without changing
the underlying simulation. This could mean dust particles at a character’s feet as it
slides, a crashing sound when two cars collide, a “camera shake” to emphasize a
weighty impact, or a keyframed animation that makes a character seem to squash
and stretch as it moves. Polish effects add appeal and emphasize the physical nature
of interactions, helping designers sell those objects to the player as real. This is
separate from interactions such as collisions, which feed back into the underlying

5


CHAPTER ONE • DEFINING GAME FEEL

FIGURE

1.4 Street Fighter II without animation: just weird fighting boxes.

simulation. For example, if you take away the animations from Street Fighter II, you
end up with something like Figure 1.4.
If all polish were removed, the essential functionality of the game would be unaltered, but the player would find the experience less perceptually convincing and
therefore less appealing. This is because—for players—simulation and polish are
indistinguishable. Feel can be just as strongly influenced by polish effects as by a
collision system. For example, a simple squash and stretch animation layered on top
of a moving avatar can radically change the feel of a game, as the creators of the
popular student game De Blob discovered. A post from Joost Van Dongen reported
that “When the ball bounces or moves very fast, it slightly deforms, and while rolling it slightly sags. On screenshots this is quite a subtle effect, but when seen in
action, it really looks fun. An interesting detail is that it changes the feel of the
gameplay entirely. Without the squash-shader, the game feels like playing with a
ball made of stone. Then with no changes to the physics at all, the squash-shader
makes it feel much more like a ball of paint. Nice to see how the player can be
deceived about gameplay using graphics only”1 (see Figure 1.5).
Assembling these three elements—real-time control, simulated space and
polish—into a single experience, we arrive at a basic, workable definition of
game feel:
Real-time control of virtual objects in a simulated space, with interactions
emphasized by polish.
The player controls the avatar, the avatar interacts with the game environment and
polish effects emphasize those interactions and provide additional appeal.

Examples
The question that naturally follows is “Does game X have game feel?” With our
basic definition, we can classify most games this way. For example, Sonic the
Hedgehog has game feel while Civilization 4 does not. Sonic has real-time control
while Civ 4 is turn based, placing it outside our definition. But to say that Civ 4 has
http://www.gamedev.net/community/forums/topic.asp?topic_idϭ401276

1

6


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×