adam pletcher technical art director, volition, inc. / thq adam@volition-inc

17

Upload: dyani

Post on 20-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

python. TM. for technical artists. Adam Pletcher Technical Art Director, Volition, Inc. / THQ [email protected] www.volition-inc.com. Background. Myself Python @ Volition MaxScript Tech Art Council Programming Classes Future Engine Toolset. Key Features. Dynamic Typing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc
Page 2: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Adam PletcherTechnical Art Director, Volition, Inc. /

[email protected]

www.volition-inc.com

pythonTM

for technical artists

Page 3: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Background• Myself• Python @ Volition• MaxScript• Tech Art Council• Programming Classes• Future Engine Toolset

Page 4: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesDynamic Typing

>>> spam = 32.38>>> print spam32.38

>>> spam = "Three, sir.">>> print spamThree, sir.

Page 5: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesClear Syntax

for (int i = 0; i < 6; i++){ avgColor += colorArray[i];}

for c in colorArray: avgColor += c

C#:

Python: No braces?!

Page 6: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesIntrospection>>> val = 32.38>>> help(val)Help on float object:class float(object) | float(x) -> floating point number | | Convert a string or number to a | floating point number, if possible. | | Methods defined here:

etc…

Page 7: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesReal Exception/Error-Handling System

try: myList.append(val)except AttributeError: print 'Oops, "myList" needs to be list type!' print 'It was type', type(myList), 'instead.' except: raise

Page 8: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesClasses, Inheritance• No more structs-as-classes (MaxScript)

Extendable• Add functionality with C, C++, Python packages

Embeddable• Python scripting in your application

Page 9: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesGinormous Standard Library• Manipulate text, binary, XML, HTML, ZIP files• Send & receive email• Dates & times• GUI toolkit• Data Persistence/Serialization• Internet access, networking• Multi-threading • Unit testing framework (two, actually)

Page 10: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesThird-Party Extensions• Windows win32 API• COM, app. automation (MS Excel, etc.)• Image manipulation• More GUI toolkits, RAD designers• Source control• Databases• Reports & graph generation

Page 11: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Key FeaturesPython is FUN• Feel more productive• Fits your brain• Huge community

Page 12: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

DemonstrationsScripts for Tech Artists• Data mining• Screen scraping • Data persistence (serialization)• Using GUIs• Texture validation, comparison• Databases• COM integration with 3ds Max

Page 13: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc
Page 14: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Official Python Site – www.python.org (try the tutorials)Dive Into Python – www.diveintopython.org

ActiveState Cookbook –http://aspn.activestate.com/ASPN/Cookbook/Python/

Guide to Python Introspection –http://www.ibm.com/developerworks/linux/library/l-pyint.html

Large collection of Python Tutorials –http://python.objectis.net/

Web

Python Resources

Page 15: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Books

Python Resources

Learning Python, 3rd Ed., Mark LutzPython Programming for the Absolute Beginner, Michael Dawson Python Programming in Win32, Mark Hammond, Andy RobinsonProgramming Python, 3rd Ed., Mark LutzBeginning Python: From Novice to Professional, Magnus Lie Hetland

Page 16: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

Python ResourcesUseful ExtensionswxPython - http://www.wxpython.org/Python Win32 - https://sourceforge.net/projects/pywin32/Python Imaging Library - http://www.pythonware.com/products/pil/MySQLdb - http://sourceforge.net/projects/mysql-pythonPyExcelerator - http://sourceforge.net/projects/pyexceleratorPygame - http://www.pygame.org/Py2exe - http://www.py2exe.org/Pyro (Python Remote Objects) - http://pyro.sourceforge.net/

Page 17: Adam  Pletcher Technical Art Director, Volition, Inc. / THQ adam@volition-inc

www.volition-inc.com/gdc• All code examples• Powerpoint slides• Extra goodies

Questions?adam@volition-

inc.com