GDC 2008 - Volition

foremanyellowΛογισμικό & κατασκευή λογ/κού

7 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

76 εμφανίσεις

Adam
Pletcher

Technical Art Director, Volition, Inc. / THQ

adam@volition
-
inc.com


www.volition
-
inc.com

python

TM

for technical artists

Background



Myself



Python @ Volition



MaxScript



Tech Art Council



Programming Classes



Future Engine Toolset

Key Features

Dynamic Typing

>>>

spam = 32.38

>>>

print spam

32.38


>>>

spam =
"
Three, sir.
"

>>>

print spam

Three, sir.

Key Features

Clear Syntax

for

(
int

i = 0; i < 6; i++)

{


avgColor += colorArray[i];

}

for

c
in

colorArray:


avgColor += c

C#:

Python:

Key Features

Introspection

>>>

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…

Key Features

Real 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

Key Features

Classes, Inheritance



No more
structs
-
as
-
classes (
MaxScript
)


Extendable



Add functionality with C, C++, Python packages


Embeddable



Python scripting in
your

application


Key Features

Ginormous

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)

Key Features

Third
-
Party Extensions



Windows win32 API



COM, app. automation (MS Excel, etc.)



Image manipulation



More GUI toolkits, RAD designers



Source control



Databases



Reports & graph generation

Key Features

Python is
FUN



Feel more productive



Fits your brain



Huge community

Demonstrations

Scripts for Tech Artists



Data mining



Screen scraping



Data persistence (serialization)



Using GUIs



Texture validation, comparison



Databases



COM integration with 3ds Max

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

Books

Python Resources

Learning Python, 3rd Ed.
, Mark Lutz

Python Programming for the Absolute Beginner
, Michael Dawson

Python Programming in Win32
, Mark Hammond, Andy Robinson

Programming Python, 3
rd

Ed.,

Mark Lutz

Beginning Python: From Novice to Professional
, Magnus Lie Hetland



Python Resources

Useful Extensions

wxPython
-

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
-
python

PyExcelerator
-

http://sourceforge.net/projects/pyexcelerator

Pygame
-

http://www.pygame.org/

Py
2
exe
-

http://www.py2exe.org/

Pyro (Python Remote Objects)
-

http://pyro.sourceforge.net/

www.volition
-
inc.com/gdc



All code examples



Powerpoint slides



Extra goodies

Questions?

adam@volition
-
inc.com