SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Python í leikjaheiminum

   Guðmundur Jón Halldórsson
    Tölvunarfræðingur frá HR
          CCP Games
              2012
Python
• Höfundur málsins er Guido van Rossum
• Málið er skýrt eftir „Monty Python‘s Flying
  Circus“
• Python kóðinn er „Open Source“
• Dæmi um mismunandi útfærslur:
  –   CPython
  –   PyPy ( 5x hraðara en CPython )
  –   IronPython (Microsoft útgáfa af Python)
  –   Stackless ( CCP Games )
  –   ...
Nokkrir kostir við Python
•   Stórt standard library
•   Gagnvirk skel
•   Víðtæka grafískan pakka
•   Mjög færanlegt, með túlk fyrir flest stýrikerfi
•   Styður hlutbundna högun, fjöl erfðir, klasa, namespaces, módúla,
    hluti, villur og late (runtime) binding
•   Styður functional og structured programming methods ásamt
    hlutbundinni höfun
•   Very high-level dynamic data types
•   Dynamic type checking
•   Sjálfvirk rusla söfnun
•   Run type checking
•   Auðveldlega samþætt við C, C++, …, Java og .NET
Stackless
• Microthreads
   – „Tasklets“ Hjúpar föll til að leyfi þeim að vera keyrð
     sem „microthreads“
• Channels
   – Tví átta samskipti milli „tasklets“
• Scheduling
   – „Round robin scheduler“. Schedule tasklets
• Serialization
   – Tasklets má serialize á disk til að halda áfram með
     framkvæmd síðar
Python/Ruby/Lua Family Tree
Dæmi um leiki skrifaða í Python
•   Battle Field 2 og 2142   • Snakeworlds
•   Battlefield Heroes       • SolarWolf
                             • Umbra
•   BalazarBrothers
                             • Interstate Outlaws
•   EVE Online
                             • Evil Greg Vs. Eight Year Olds
•   Freedom Force            • Toontown
•   Mount&Blade              • Pirate of the Caribbena
•   OpenRTS                    Online
•   pydance                  • Code3D
•   PySol                    • Termal Enforcer
•   Slune                    • Traitors Gate 2
Áhugaverð leikjavéla/söfn
•   PyGame
•   PySoy
•   Pyglet
•   Python-Orge
•   Panda3d
•   Blender3d
•   Horde3d (Mjög áhugaverð)
•   ...og svo má lengi telja
Vídeó

DÆMI PANDA3D
Vídeó

DÆMI BLENDER3D
Panda3d dæmi
Procedure Cube
Vídeó

DÆMI PYTHON
Skref
• Teikna tening
• Snúa tening
• Hjálparföll (event)
   –   toogleLightsUp
   –   toogleLightsSide
   –   toogleTex
   –   makeSquare
• Tengja event-a fyrir [1, 2, 3]
• Hlaða inn texture (mynd)
Teikna tening


           Up


Vinstri   Fram    Hægri   Bak


          Niður
Teikna tening
square0 = makeSquare(-1,-1,-1, 1,-1, 1)
square1 = makeSquare(-1, 1,-1, 1, 1, 1)
square2 = makeSquare(-1, 1, 1, 1,-1, 1)
square3 = makeSquare(-1, 1,-1, 1,-1,-1)
square4 = makeSquare(-1,-1,-1,-1, 1, 1)
square5 = makeSquare( 1,-1,-1, 1, 1, 1)


snode = GeomNode('square')
snode.addGeom(square0)
snode.addGeom(square1)
snode.addGeom(square2)
snode.addGeom(square3)
snode.addGeom(square4)
snode.addGeom(square5)

cube = render.attachNewNode(snode)
Snúa, tengja og hlaða
# snúa
cube.hprInterval(5.5, Point3(360,360,360)).loop()


# tengja
self.accept("1", self.toggleTex)
self.accept("2", self.toggleLightsSide)
self.accept("3", self.toggleLightsUp)


# hlaða texture sem er mynd
self.testTexture=loader.loadTexture("maps/photo.png")
Spurning

• Netfang gudmundurjon@hotmail.com
• Twitter @gudmundurjon
• LinkedIn gudmundurjon@hotmail.com
Áhugaverðir hlekkir
Python
• http://www.python.org
• http://www.stackless.com
• http://www.ironpython.net/
• http://pypy.org/
• http://wiki.python.org/moin/PythonGames
• http://www.python.org/about/success/
3D
• http://www.panda3d.org
• http://www.blender.org
• http://www.horde3d.org
Youtube
• http://www.youtube.com/watch?v=WwMHnJC08vo&feature=related
• http://www.youtube.com/watch?v=mQ4qr5bEP6U&feature=mfu_in_order&list=UL
Kóða dæmi
• C:Panda3D-1.7.2samplesProcedural-CubeTut-Procedural-Cube.py

Contenu connexe

En vedette

Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme Tekniği
Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme TekniğiYaratıcı Drama Yöntemi - Altı Şapkalı Düşünme Tekniği
Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme TekniğiMehmet Uğurşan
 
Być jak Zorro, czyli jak budować markę osobistą.
Być jak Zorro, czyli jak budować markę osobistą. Być jak Zorro, czyli jak budować markę osobistą.
Być jak Zorro, czyli jak budować markę osobistą. Renata Wasylów
 
Инокс Инженеринг
Инокс ИнженерингИнокс Инженеринг
Инокс ИнженерингSpas Atanasov
 
Power teatro 2-¦ciclo_web
Power teatro 2-¦ciclo_webPower teatro 2-¦ciclo_web
Power teatro 2-¦ciclo_webRebeca Sellés
 
Bala_krishna_resume
Bala_krishna_resumeBala_krishna_resume
Bala_krishna_resumeBala Krishna
 
Presentation1.pptx 1
Presentation1.pptx 1Presentation1.pptx 1
Presentation1.pptx 1timeryoyo
 
Why Fairy Hates Photography
Why Fairy Hates PhotographyWhy Fairy Hates Photography
Why Fairy Hates PhotographyJessica Reimer
 
New mediadl adwords_intro
New mediadl adwords_introNew mediadl adwords_intro
New mediadl adwords_introMichal Lorenc
 
Worcester 6-11
Worcester 6-11Worcester 6-11
Worcester 6-11suzieboss
 

En vedette (16)

VIND je innerlijke Missie
VIND je innerlijke MissieVIND je innerlijke Missie
VIND je innerlijke Missie
 
Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme Tekniği
Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme TekniğiYaratıcı Drama Yöntemi - Altı Şapkalı Düşünme Tekniği
Yaratıcı Drama Yöntemi - Altı Şapkalı Düşünme Tekniği
 
Być jak Zorro, czyli jak budować markę osobistą.
Być jak Zorro, czyli jak budować markę osobistą. Być jak Zorro, czyli jak budować markę osobistą.
Być jak Zorro, czyli jak budować markę osobistą.
 
Инокс Инженеринг
Инокс ИнженерингИнокс Инженеринг
Инокс Инженеринг
 
Educación virtual
Educación virtualEducación virtual
Educación virtual
 
Power teatro 2-¦ciclo_web
Power teatro 2-¦ciclo_webPower teatro 2-¦ciclo_web
Power teatro 2-¦ciclo_web
 
Bala_krishna_resume
Bala_krishna_resumeBala_krishna_resume
Bala_krishna_resume
 
2012 02-09 windows-azure_and_nodejs
2012 02-09 windows-azure_and_nodejs2012 02-09 windows-azure_and_nodejs
2012 02-09 windows-azure_and_nodejs
 
Twitter
TwitterTwitter
Twitter
 
Presentation1.pptx 1
Presentation1.pptx 1Presentation1.pptx 1
Presentation1.pptx 1
 
Why Fairy Hates Photography
Why Fairy Hates PhotographyWhy Fairy Hates Photography
Why Fairy Hates Photography
 
Kolory jesieni
Kolory jesieniKolory jesieni
Kolory jesieni
 
111108 Succes
111108 Succes111108 Succes
111108 Succes
 
New mediadl adwords_intro
New mediadl adwords_introNew mediadl adwords_intro
New mediadl adwords_intro
 
Worcester 6-11
Worcester 6-11Worcester 6-11
Worcester 6-11
 
Next Level Email
Next Level EmailNext Level Email
Next Level Email
 

Python in the game world

  • 1. Python í leikjaheiminum Guðmundur Jón Halldórsson Tölvunarfræðingur frá HR CCP Games 2012
  • 2. Python • Höfundur málsins er Guido van Rossum • Málið er skýrt eftir „Monty Python‘s Flying Circus“ • Python kóðinn er „Open Source“ • Dæmi um mismunandi útfærslur: – CPython – PyPy ( 5x hraðara en CPython ) – IronPython (Microsoft útgáfa af Python) – Stackless ( CCP Games ) – ...
  • 3. Nokkrir kostir við Python • Stórt standard library • Gagnvirk skel • Víðtæka grafískan pakka • Mjög færanlegt, með túlk fyrir flest stýrikerfi • Styður hlutbundna högun, fjöl erfðir, klasa, namespaces, módúla, hluti, villur og late (runtime) binding • Styður functional og structured programming methods ásamt hlutbundinni höfun • Very high-level dynamic data types • Dynamic type checking • Sjálfvirk rusla söfnun • Run type checking • Auðveldlega samþætt við C, C++, …, Java og .NET
  • 4. Stackless • Microthreads – „Tasklets“ Hjúpar föll til að leyfi þeim að vera keyrð sem „microthreads“ • Channels – Tví átta samskipti milli „tasklets“ • Scheduling – „Round robin scheduler“. Schedule tasklets • Serialization – Tasklets má serialize á disk til að halda áfram með framkvæmd síðar
  • 6. Dæmi um leiki skrifaða í Python • Battle Field 2 og 2142 • Snakeworlds • Battlefield Heroes • SolarWolf • Umbra • BalazarBrothers • Interstate Outlaws • EVE Online • Evil Greg Vs. Eight Year Olds • Freedom Force • Toontown • Mount&Blade • Pirate of the Caribbena • OpenRTS Online • pydance • Code3D • PySol • Termal Enforcer • Slune • Traitors Gate 2
  • 7. Áhugaverð leikjavéla/söfn • PyGame • PySoy • Pyglet • Python-Orge • Panda3d • Blender3d • Horde3d (Mjög áhugaverð) • ...og svo má lengi telja
  • 11. Skref • Teikna tening • Snúa tening • Hjálparföll (event) – toogleLightsUp – toogleLightsSide – toogleTex – makeSquare • Tengja event-a fyrir [1, 2, 3] • Hlaða inn texture (mynd)
  • 12. Teikna tening Up Vinstri Fram Hægri Bak Niður
  • 13. Teikna tening square0 = makeSquare(-1,-1,-1, 1,-1, 1) square1 = makeSquare(-1, 1,-1, 1, 1, 1) square2 = makeSquare(-1, 1, 1, 1,-1, 1) square3 = makeSquare(-1, 1,-1, 1,-1,-1) square4 = makeSquare(-1,-1,-1,-1, 1, 1) square5 = makeSquare( 1,-1,-1, 1, 1, 1) snode = GeomNode('square') snode.addGeom(square0) snode.addGeom(square1) snode.addGeom(square2) snode.addGeom(square3) snode.addGeom(square4) snode.addGeom(square5) cube = render.attachNewNode(snode)
  • 14. Snúa, tengja og hlaða # snúa cube.hprInterval(5.5, Point3(360,360,360)).loop() # tengja self.accept("1", self.toggleTex) self.accept("2", self.toggleLightsSide) self.accept("3", self.toggleLightsUp) # hlaða texture sem er mynd self.testTexture=loader.loadTexture("maps/photo.png")
  • 15. Spurning • Netfang gudmundurjon@hotmail.com • Twitter @gudmundurjon • LinkedIn gudmundurjon@hotmail.com
  • 16. Áhugaverðir hlekkir Python • http://www.python.org • http://www.stackless.com • http://www.ironpython.net/ • http://pypy.org/ • http://wiki.python.org/moin/PythonGames • http://www.python.org/about/success/ 3D • http://www.panda3d.org • http://www.blender.org • http://www.horde3d.org Youtube • http://www.youtube.com/watch?v=WwMHnJC08vo&feature=related • http://www.youtube.com/watch?v=mQ4qr5bEP6U&feature=mfu_in_order&list=UL Kóða dæmi • C:Panda3D-1.7.2samplesProcedural-CubeTut-Procedural-Cube.py