76
418383 กกก 1

418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

418383 ก����ก���ก�ก�� ������������� 1ก�� ������������� 1

Page 2: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������������

• �ก����ก������– �����?

– ����ก������?

• ����������ก�����������• ����������ก�����������

• ������� �!ก�����!"����#����

• ก����� �!ก�$%�����

Page 3: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

����������...

• ����&' �(������ก������������ ���������������– ���$% C#

– ����"�� XNA

• ����&'�����)��*+�,��ก����ก��ก��ก!���ก�• ����&'�����)��*+�,��ก����ก��ก��ก!���ก�• �����+������+��ก ���&'��������)��ก����ก�������� ��������– Game Programmer

– Game Designer

• -&��&�������ก��� .��/��� &��*� �����������ก��������ก��� �! ก ������ก�

Page 4: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�������!�"!#����

• ����&' ����1�"�� .����ก���2�– ������2����������1�"�3�

– �ก��ก)��*�����+������� 219483: Digital Art

– ��" ���ก���������� �"���1�"��-ก���������4�� – ��" ���ก���������� �"���1�"��-ก���������4�� • �*� �����ก4���(�����"!"�!��ก��

– �����*���"�� ��5�6• (��&'�����1�"��-ก�ก������"�� ��5�6 -�������ก�����&'���7�!��

Page 5: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

$%����

• ���� ��� $ – ����"�: [email protected]

• ���&� �������– ����"�: [email protected], [email protected]– ����"�: [email protected], [email protected]

– �1����: 08-5453-5857

– ��8831: ���������������*+�� .��ก��$�

– ��"�����: ���� ��" 13.00 �. (=� 16.00 �. �*�������"������

Page 6: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

ก��&���'��

• ก��� 60%

– ก��� 1: Tetris 15%

– ก��� 2: Breakout 15%

– ก��� 3: Pacman 15%– ก��� 3: Pacman 15%

– ก��� 4: Platformer 15%

• ��-� 40%

• �ก'?�ก�����!�������"����!�"����������

Page 7: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�����(�

• Will McGugan. Beginning Game Development

with Python and Pygame: From Novice to

Professional. New York: APress, 2007.

• Tracy Fullerton. Game Design Workshop: A • Tracy Fullerton. Game Design Workshop: A

Playcentric Approach to Creating Innovative

Games Burlington, MA: Elsevier, 2008.

• �&'���-.��2����������� *� ���"����+

Page 8: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�� �)*

• http://access.cs.sci.ku.ac.th/~pramook/418383

• ��4�����@

• ก���!"� �"��-��������������-��+�����+�

• ������������• ������������

Page 9: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

��������ก�� ������� �����+"�ก�-ก http://www.thedoteaters.com/

Page 10: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��,�-�#.ก#/� ��),

• Tennis for Two (1958)

– �� William Hoginbotham, Brookhaven National Lab

– �ก�������� ��(� ��� �����*��� oscilloscape ! ��7"

Page 11: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��,�-�#.ก#/� ��), (+"�)

• Spacewar! (1962)

– ��2��ก������� ���7)�������������������� (interactive) �ก�!ก– ��-�� ��Aก .�������"���ก� ���B����2��ก�!ก

– ����ก1 ������� �#"� )�ก��

Steve Russell Tech Model Railroad – ����� �� Steve Russell !"�!Cก�ก�����*��@ �� Tech Model Railroad

Club ��� MIT

Page 12: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��#

• Computer Space (1971)

– �� Nolan Bushnell ��%�� Nutting Associates

– ��2� Spacewar! ���������������*��� mainframe

– �ก��������/�ก�!ก �.��� 1,500 ��*���!������������� �������&��ก�ก��

Page 13: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• PONG (1972)

– Nolan Bushnell ��ก-ก Nuttings Associate ���+���%��Atari

– �ก����3���� ��7)���� �(����&��������"*����=+��"*���"�

– ����� 8,500 �&�����=���D �&�"� 1,200 ����/ ��,– �����"���!�����ก��– �����"���!�����ก��

– �����-�����ก!��� .��� run �ก���+ ���B��

Page 14: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• TANK (1974)

– �� Kee Games

– �ก�!ก������ ROM �ก4�ก883ก ���� �.���! ��$����#��#����=+����– ((�� ��������ก��������ก� ����ก�������"�ก�������������– ((�� ��������ก��������ก� ����ก�������"�ก�������������

Page 15: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Shark Jaws (Atari 1975)

– 7)��"������&���ก����+.�������ก�"�B"�

– �ก�!ก��������"��

– �1����������������*��� Jaws ���'���+�– �1����������������*��� Jaws ���'���+�

Page 16: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Gun Fight (Midway 1975)

– �ก�!ก�������� � ��# �#�� (Intel 8080)

– -��@ !"�� �� ����%�� Taito !"�� Midway ��

license �

– ����� ��������E� )�ก��– ������������&��������������� �(��"*������

���� &�����

Page 17: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Death Race 2000 (Exidy 1976)– �ก�!ก����.�����������กก���"�*������&�!����ก�

– 7)��"������&�( ������F����*�������������

– �.!�����"�-�-ก$������*�������ก��– �.!�����"�-�-ก$������*�������ก��

Page 18: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Breakout (Atari 1976)– 7)��"�������������")ก��" #=����ก���ก�����,�����)������-� �.�������ก"��

– ��2��ก������ ���� .�4-!"���2����)�-�กก����

– ���8� ��#����ก 7)����ก����+���%�� Apple ��2�����ก!����-����ก���+– ���8� ��#����ก 7)����ก����+���%�� Apple ��2�����ก!����-����ก���+

Page 19: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Space Wars (Cinematronics 1977)

– ���*�� Spacewars! !�����������������2��&� � !"�7)��"�� �(�"*�ก option ���ก�����"ก�"�

– �ก�!ก��� � "��ก! ��7"!����ก���� #=���.������ ������������

– ��2��*+�,�����ก�������ก! ��7"!����ก�����*��@ ���� Speed Freak !"� – ��2��*+�,�����ก�������ก! ��7"!����ก�����*��@ ���� Speed Freak !"� Tailgunner

Speed FreakSpace Wars

Page 20: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Space Invaders (Taito 1978)

– ��ก!�� �� ���C� � ����� �� �����!���"�"�-�-ก Breakout

– 7)��"������������ก1��� )�ก����&%�������

– �"��-ก���"��.�������1/���&G������+�����/��!�"�– �"��-ก���"��.�������1/���&G������+�����/��!�"�

Page 21: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Asteroids (Atari 1979)– 7)��"������������ก1���������������������������-.����ก

– ��������B*��� ��"������1�������������

– ��*�������������������-��������2�� ����@ (�����7)��"��ก4-������

high score – ����� high score ���7)��"�� �(��� (�������������.������

Page 22: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Galaxian (Namco 1979)

– �ก������ ��ก�!ก !"��ก�!ก��� Namco

– �"�� Space Invaders !����1��) �(�����ก��ก!(�� -���7)��"�����

– ���ก��"��@ ก������"��ก� ���� Galaga, Galpus, !"� Galaga ‘88

Page 23: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Space Panic (Universal 1981)

– �ก�!�� platform �ก�!ก– 7)��"�������"��"������&%������� �� �(��������!"��&��*+���*��

HI���&%����������HI���&%����������

Page 24: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Pac-man (Namco 1980)– 7)��"����������ก"������"*��������ก��-&�������ก� ������������()ก7�ก��

– ��ก!�� �� �& ������ !"������ �!ก� ��C����&ก� ��-��� ��������������ก��)�!"��=��)��-7)��/�����

– �.����ก��ก��!�"�����/��/���&G������ �� ����� 100,000 ��*���������ก– �.����ก��ก��!�"�����/��/���&G������ �� ����� 100,000 ��*���������ก– ��2��ก�!ก����� �����ก������*���ก���ก��*��@ ���� � *+������ �&Jก� K"K

Page 25: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Donkey Kong (Nintendo 1981)

– ���ก.����������"�� Donkey Kong !"� Mario

– 7)��"�������� Jumpman (����ก"���2� Mario) ���ก� ���"�(�������� Donkey Kong �"��������""���������

– ��ก!�� �����ก& ��� � �� – ��ก!�� �����ก& ��� � ��

Page 26: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Defender (Williams Electronics 1981)– ����������ก1 )�ก����&%�����������"�ก������

– Bกก�����/�ก�����7)��"����4� ������4����

– ��ก!�� �� Eugene Jarvis– ��ก!�� �� Eugene Jarvis

Page 27: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก����,��# (+"�)

• Dragon’s Lair (Starcom 1983)– �ก�!ก��������� � "���"�#���� ก�

– �"��!"���"���)ก��)� 7)��"������ก��&G��������"��*����������ก����ก������

– ก��)��� ���������� Don Bluth 7)� �� The Land Before Time

Page 28: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-��ก

• Odyssey (1972)

– ��ก!�� �� Ralph Baer 7"�� ����%�� Magnavox

– ��� ���1����2������! ��7"

– �(�"���ก� L�����"�-��M !"�������� ���– �(�"���ก� L�����"�-��M !"�������� ���

– �����! �ก����*��� ��*���"� 100 ����/ ��,

Page 29: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-��ก (+"�)

• 1974: ��%�� Atari ก4�.��*����"���ก� PONG .������ก��������� ��Hก�������� Sears ������"� $100 !"���������ก

• 1976: ��%�� Coleco ก4 �����������+�������ก�� �����������7"�� �� GE #=����������'�=����=����� Atari ���7"�� �� GE #=����������'�=����=����� Atari

Page 30: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�������

• Fairchild Channel F (1976)

– ��� ROM ���� �������"���ก4��ก� !�����-������-��� ����B��

– ��*����"���ก���*���!ก������ CPU

• Atari 2600 (1977)• Atari 2600 (1977)

– ����"�กก��ก!�������ก�� Fairchild Channel F !���������������กก��

Fairchild Channel FAtari 2600

Page 31: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• ��%�� Activision (*�ก.�����=+����������+ (1979)

– (*���2���%��7"���ก�������7"��C��!�������!ก

– ���ก�������*��� ����"��ก� ���� Pitfall! (1982) #=����2��ก����������� &������*��� Atari 2600��� &������*��� Atari 2600

Page 32: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• �&���*����"���ก� ������&����� ��-�"����D 1983

• ����%���ก��"���%��"��"�"�

• ���&– ����*����"���ก��ก�ก����– ����*����"���ก��ก�ก����

– �"��������

– �ก��&'$���.

– ก!������-ก���������� ������

Page 33: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�������

• NES/Famicom (Nintendo, 1983)

– �����ก������ก!"�/���&G� ก�� 60 "����*������� "ก

– ������ก�� Super Mario Bros.

– ��� Gamepad !�� Joystick– ��� Gamepad !�� Joystick

Page 34: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• Sega Master System (Sega, 1986)

– �������& �!"�����ก��� ��������' 13 "����*������� "ก

Page 35: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• (*�ก.�����ก�������*��� ���(=��I--&����"��ก�

– Dragon Quest (1986)

– Final Fantasy (1987)

– Legend of Zelda (1986)– Legend of Zelda (1986)

– Metal Gear (1987)

– Rockman (1987)

– Metroid (1986)

Page 36: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�������

• TurboGrafx-16/PC Engine (Hudson Soft, 1987)

– ��*����"���ก�!ก������!7�� CD

– CPU 8 ��� !���� GPU 16 ��� �.���! �� �����"� �ก�� NES

– !�� )� Super Famicom !"� Megadrive #=����� CPU 16 ���– !�� )� Super Famicom !"� Megadrive #=����� CPU 16 ���������

Page 37: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• Sega Mega Drive (Sega, 1988)

– ��*����"���ก� 16 �����*���!ก

– ����� 29 "����*������� "ก

Page 38: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• Super Famicom (Nintendo, 1990)

– ������� &����&���� �� 49.1 "����*������� "ก

– ������ Super Mario World !"� F-Zero

Page 39: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• �ก�������*��� ���– Sonic The Hedgehock (1991)

– The Legend of Zelda: A Link to the Past (1991)

– Star Fox (1993)

– Secret of Mana (1993)– Secret of Mana (1993)

– Final Fantasy IV, V, !"� VI (1991, 1992, 1994)

– Chrono Trigger (1995)

Page 40: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�������

• Sega Saturn (Sega, 1994)

– ��*����"���ก� 32 �����*���!ก ����� 17 "����*������� "ก

• Playstation (Sony, 1994)

– ����� 102 "����*������� "ก����� "����*������� "ก

• Nintendo 64 (Nintendo, 1996)

– ��*����"���ก� 64 �����*����������&�� ����� 33 "����*������� "ก

Page 41: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-������� (+"�)

• �ก�������*��� ���– Dragon Quest VII (2000)

– Final Fantasy VII (1997)

– Legend of Zelda: Oricana of Time (1998)

– Metal Gear Solid (1998)

– Super Mario 64 (1996)

– Gran Turismo (1997)

– Biohazard (1996)

– PaRappa the Rapper (1996)

Page 42: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�����ก (+"�)

• ��*����"���ก�&����+��� CPU 64 ����*� 32 ������������4� )��=+� ��ก��� GPU ��������"ก883ก � !"��� RAM �ก

• ��*����"���ก�– Dreamcast (Sega, 1998, 10.6 "����*���) "����*���

– Playstation 2 (Sony, 2000, 140 "����*���)

– Xbox (Microsoft, 2001, 24 "����*���)

– Gamecube (Nintendo, 2001, 21 "����*���)

Page 43: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�����ก (+"�)

• �ก�������*��� ���

– Super Smash Bros. Melee. (2001)

– Halo (2001)

– Metroid Prime (2002)– Metroid Prime (2002)

– Grand Theft Auto III (2001)

– Kingdom Hearts (2002)

– Final Fantasy X (2001)

Page 44: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�����*3#

• ��*����"���ก��&��I--&����� CPU �"� core !"������ �(�"����*��������������ก�=+� ���� �� hard drive !"� ethernet card �����

• ��*����"���ก�• ��*����"���ก�

– Xbox 360 (Microsoft, 2004)

– Playstation 3 (Sony, 2006)

– Wii (Nintendo, 2006)

Page 45: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

���(����2"��ก��"��+���-�����*3# (+"�)

• �ก�������*��� ���– Wii Sport (2006)

– Gears of Wars (2006)

– Halo 3 (2007)

– Super Mario Galaxy (2007)

– Grand Theft Auto IV (2008)

– Metal Gear Solid 4 (2008)

Page 46: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��,

• �������������&�!ก@ ����� �(��. �������-=���!���ก�Adventure ������!�������ก%

• Hunt the Wumpus (Gregory Yob, 1972)– 7)��"������"���� Wumpus ��(+.!�����=��

choice

7)��"������"���� ��(+.!�����=��– 7)��"���"*�ก choice �����2�����"�

• Adventure (Willie Crowther, 1972)– 7-/$����(+.��*���ก4� ������������ก��� &�– �����!�����"�-�-ก Dungeons & Dragon

– 7)��"�� ����. �����)� <<ก��>> <<��>>

– Scott Adams �.����N������2� Adventureland #=����2��ก�!�� adventure !ก����.��ก���������"����D 1978

Page 47: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Zork (Infocom, 1980)

– �ก� ��"������ก�� Adventure !������1����!ก�����กก��

– ���!ก��������������*��� PDP-11 !���������ก�ก4�������/��=+�-�� ��� main

memory �����

– ��ก ���. virtual machine ��*�� run Zork ���B�� #=��()ก port � ���– ��ก ���. virtual machine ��*�� run Zork ���B�� #=��()ก port � �����*��� TRS-80 !"� Apple II

Page 48: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• MUD (Multi-User Dungeon)

– ���!����� MMORPG ���I--&���

– ������=+���2���+�!ก �� Roy Trubshaw ��� Essex University ���D 1979

– �������"��������7)���� �(��)����ก��!"� chat ก�����

Richard Bartle quest?– Richard Bartle �.����N�������7)��"����-&���� (�. quest?) !"���ก�����!��

Page 49: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Mystery House (Online-Systems, 1980)

– �ก�!�� adventure �����ก���ก883ก ��ก�!ก

– ���������*��� Apple II

– �*���!��"=ก"�� 7)��"����������*��� ����� !"�����������7)������)��1���������

Online-Systems Sierra Inc. – Online-Systems ��"�����*����2� Sierra Inc. !"���ก�ก�!�������ก����ก��ก�"��ก� ���� King’s Quest (1983) , The Two Guys from

Andromeda (1986), !"� Space Quest

Page 50: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Ultima (California Pacifics, 1981)

– �ก� RPG ����*+���"�ก%'���2�����@ (tile-based)

– 7)��"��������7)�ก"���� )�ก���D1-������&5!"����������

– ����� hit point, �� �ก'�, !"��"��" (LV)

9 – �� ���� .�4-��2����� )� !"����.�����ก�(=� 9 $�

– ��ก!�� �� Richard Garriot

Page 51: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Elite (Acornsoft, 1984)– �ก������������ก�!ก������ก883ก �!�� �����

– Bก �.!����������� K"K ()ก ���=+������ �!ก�

– 7)��"���.ก!"ก��"���� ��������ก1– 7)��"���.ก!"ก��"���� ��������ก1

Page 52: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• SimCity (Maxis, 1989)

– �ก�����.����ก�!�� simulation ������������

– ��ก!�� �� Will Wright

– 7)��"���.ก ����*�� ���������2�������– 7)��"���.ก ����*�� ���������2�������

– ��2�-&������������ก�!�� simulation �*��@ ���� SimEarth,

SimAnt, The Sims, !"� Spore

Page 53: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Maniac Mashion (LucasArts, 1987)

– �ก�!�� adventure �ก�!ก�������� �!��ก�F������������������ �"��-ก��+� Sierra ก4������� interface !����+��

– ��Bก-��"�!�� !"����"������"*�ก�"���"����– ��Bก-��"�!�� !"����"������"*�ก�"���"����

– �� engine !�"$% SCUMM .��� ���ก� ���B��#=�� LucasArts �.�� ���ก��*�������ก 13 �ก�

Page 54: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Wolfenstein 3D (id Software, 1992)

– �ก�����.����ก�!�� first person shooter ������������

– �.���Bก��2� �����������5� ray casting

– ��2��ก�!ก@ ����. texture mapping (-��ก�H7���)– ��2��ก�!ก@ ����. texture mapping (-��ก�H7���)

Page 55: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Dune II (Westwook Studios, 1992)

– �ก� real-time strategy �����+���,�����ก�!����+����"����• ก��� mouse ��"*��� unit

• ก�ก4�����ก• ก�ก4�����ก

– ��2�!�����"�-��� Warcraft (1994) !"� Command and

Conquer (1995)

Page 56: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Myst (Cyan Worlds, 1993)

– �ก� adventure �����ก!ก� puzzle ��2�������ก���"�ก

– �ก�!ก������ CR-ROM �ก4�����)"���(=����-.ก��������

– ��2��ก����������� &�-�ก����� The Sims (2000) ��ก���"�– ��2��ก����������� &�-�ก����� The Sims (2000) ��ก���"�

Page 57: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Quake (id Software, 1996)

– �ก� first person shooter �ก�!ก�����ก�"��7�������������4�

– id Software !-ก source code $���� GPL ���D 1999 #=��()ก Valve �.����� ���ก� Half-LifeValve �.����� ���ก� Half-Life

Page 58: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Ultima Online (Electronic Arts, 1997)– �ก�����"�������/���� &����'���+�

– ����� quest, ��� guild

Page 59: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• Counter-Strike (1999)

– ������� .��/���ก���!�"��ก� (mod) ���ก"���2���ก�ก���=��

– �� �� Minh Le !"� Jess Cliffe ����ก���!�"��ก� Half-

Life (1998) ��� ValveLife (1998) ��� Valve

– �����2��ก� online FPS ��������������� )� &�-�(=��&ก�����+

Page 60: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก����)���+��, (+"�)

• The Sims (Maxis, 2000)

– �ก�-."������������5�� (���ก�� Sims)

– ����� 6.3 "���&� ��2��ก������������������������ &���������1 ��

Page 61: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

ก��������ก������� ����� �ก����ก���ก �����+"�ก�-ก Game Programming Wiki (http://wiki.gamedev.net)

Page 62: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

+���ก���'!� ���?

• $�

• � ���

• ��*+��

• Game Logic• Game Logic

– �!ก�!

– �����+ .��/��� &� ����&' �( ���ก���������$� ������ ��� !"��������*+�����

Page 63: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

����)����ก����ก� �ก�

• Game Designer

– ��ก!���"�#ก ���� �$��%��

– ���������.����ก� �&ก !"���!7�ก��N�������

– �����.������ *�� ก��7)����������*��@ ����ก���ก���2����������ก!�����– �����.������ *�� ก��7)����������*��@ ����ก���ก���2����������ก!�����

– �����+ ���ก����ก�� game designer ���� !�����"�"=ก !"������ก�Q�����

• Game Artist & Musician– ����1�"�� ������"��8�8ก�� � �����ก�� !"�����

– (���ก)��*�����+��������� 219483: Digital Art

Page 64: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก���ก������,

• ���*��ก�� �!ก������������*��@ !��������ก�

• �ก� �!ก���������– ��������ก���)� 2D !"�/�*� 3D

– ��������ก��"��� ���!"���"�– ��������ก��"��� ���!"���"�

– ��������ก��.ก�.��'��83 �ก �

– ��������ก� ���I//����%,�

– ��������ก��.ก������ก����*��������������*��@

Page 65: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�ก���ก������, (+"�)

• ��������&'��������.�*�����ก��+��� (��+����)– ����������"��-��ก��ก��+���!"��

– �&'��������)��"����"���+!"���.����ก���ก�����&'�����

– ������+����$%�����!"��"���*�� Pygame– ������+����$%�����!"��"���*�� Pygame

• ��������"*��*�ก����� game logic !"�ก��������ก�����@ �������ก��– ����ก���=+���*����"7����?

– ����ก���=+���*��7)����ก��&G�?

Page 66: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

�����������ก��������ก �����+"�ก�-ก How do I make games? �� Geoff Howland

Page 67: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก�

• “7�-� ���ก������?”

– ��������� ���"���5��ก��ก��-� 5��

• “7���ก������ก����� Counter-Strike, WoW,

Ragnarok Online, Spore K"K”Ragnarok Online, Spore K"K”

– ก"�������#������)

– 7� (�� ��) ���)� =ก������+��*�����' 5 �Dก��� !"��������.�������+�– �ก���ก��+�������&� ����� �� �$� �%"�"�#ก ��

Page 68: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• ก��������� �!ก���������)�����ก"��*��.

• ����������ก�ก4����ก��

• �������-ก�ก��"4ก@ ���@ !"�������������ก�#��#��������=+�

Page 69: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• ����-ก Tetris

– ���&ก��������ก��&ก�ก���: Game Loop

– Game logic �������#��#��� !������ก�ก����

– ���-.��2��������)� ��@ !���� ����"����

!– �.� 4-!"�������������������-������ (�*��� .��/!)

Page 70: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional
Page 71: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• ������� Breakout

– Collision Detection

– Physics (�"��@)

– Level Design– Level Design

Page 72: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• Pac-Man

– Enemy AI

– � ���

– Bก��������#��#���– Bก��������#��#���

Page 73: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• Side-Scrolling Platformer

– AI ���#��#��������=+�

– Bก#��#��������=+� ����ก Level Editor

– ���-��"*������ )�����– ���-��"*������ )�����

Page 74: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• �.����ก�����&' ��)'�– Bก Title

– Bก Game Over

– Bก Clear Game– Bก Clear Game

– High Score

– Installer

– K"K

Page 75: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• “!���ก���ก��+�����������"*��ก�� 7���ก����� Starcraft”

– �ก����#��#����*��@ ก4!�������)� ��@ �*� 3D graphics �����+�

– (��.��ก��+����&'ก4 �(������ก����#��#����=+���� (�:

• �&'�����)���� � "��• �&'�����)���� � "��

• �&'�����������

– !�ก�����ก����������ก ���ก��-R�@ ก��ก����)���*�� ����ก%� .��� ���ก�

– ������ .��/�*��� �ก������'(��#$��

Page 76: 418383 ก ก ก ก 1 - Kasetsart Universitypramook/418383/2009/lecture...˝ ˜(˙ •Will McGugan. Beginning Game Development with Python and Pygame: From Novice to Professional

������%��%"ก��������ก� (+"�)

• -�$)���-�(��ก���ก�����&'– ������+��ก��������!�����!��������������ก�� 4-!��!���ก������– !��ก4����������ก����ก������� �ก'� 10 �D!"����&�����!�������"��

������������

• ������&'��,���ก� �!ก����������ก���ก"������������

• ������&'��,���ก� �!ก����������ก���ก"– �&� �ก��ก���2��&� �ก���/� ก!������ )�– �������-ก�"4ก����/�– �.�� � ��� �ก'�– 1=ก%����)����� ��.� ��