Fall2010.CSCI210 History

Hide minor edits - Show changes to output

Changed line 20 from:
* '''Test 2''': TBA
to:
* '''Test 2''': Monday, Dec. 6, 2010
Changed lines 28-29 from:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]], [[Fall2010/CSCI210_Homework3 | Homework #3]], [[Fall2010/CSCI210_Homework4 | Homework #4]].
to:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]], [[Fall2010/CSCI210_Homework3 | Homework #3]], [[Fall2010/CSCI210_Homework4 | Homework #4]], [[Fall2010/CSCI210_Homework5 | Homework #5]].
Changed lines 28-29 from:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]], [[Fall2010/CSCI210_Homework3 | Homework #3]].
to:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]], [[Fall2010/CSCI210_Homework3 | Homework #3]], [[Fall2010/CSCI210_Homework4 | Homework #4]].
Changed lines 28-29 from:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]].
to:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]], [[Fall2010/CSCI210_Homework3 | Homework #3]].
Changed lines 28-29 from:
* [[Fall2010/CSCI210_Homework1 | Homework #1]].
to:
* [[Fall2010/CSCI210_Homework1 | Homework #1]], [[Fall2010/CSCI210_Homework2 | Homework #2]].
Changed line 19 from:
* '''Test 1''': Wednesday, Oct. 13, 2010
to:
* '''Test 1''': Friday, Oct. 8, 2010
Changed line 19 from:
* '''Test 1''': TBA
to:
* '''Test 1''': Wednesday, Oct. 13, 2010
Added lines 97-100:

* [[http://irrlicht.sourceforge.net/ | Irrlicht]] is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.

* [[http://www.ogre3d.org/ | OGRE]] is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
Changed lines 28-29 from:
* [[Fall2010/CSCI210_Homework1 | Homework #1]] (not available yet).
to:
* [[Fall2010/CSCI210_Homework1 | Homework #1]].
Changed lines 15-16 from:
* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSCI210Fall2009/StudentNotes | wiki for lecture notes]] [- (requires password, opens new window) -]
to:
* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSCI210Fall2010/StudentNotes | wiki for lecture notes]] [- (requires password, opens new window) -]
Changed lines 76-77 from:
to:
** Also see [[http://byob.berkeley.edu/ | BYOB 3.0 Build Your Own Blocks]].
Changed lines 60-61 from:
** [[http://www.bodypad.com/eng/QuestionsMainPoints.php | Bodypad game controller]] actuated by the body.
to:
Changed lines 42-43 from:
# NPR, "[[http://www.npr.org/templates/story/story.php?storyId=112586347 | Internet Addiction Center Opens In U.S.]]", Sep. 9, 2009.
to:
# NPR, "[[http://abcnews.go.com/Technology/internet-addiction-center-opens-us/story?id=8498176 | Internet Addiction Center Opens In U.S.]]", Sep. 9, 2009.
Deleted lines 81-82:
* [[http://www.pyglet.org/ | pyglet]] - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).
Added lines 93-94:
* [[http://www.pyglet.org/ | pyglet]] - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).
Changed lines 70-71 from:
* [[(http://wellstyled.com/tools/colorscheme2/index-en.html | Color wheel]] for user interface design.
to:
* [[(http://colorschemedesigner.com/ | Color wheel]] for user interface design.
Added lines 82-87:
* [[http://www.pyglet.org/ | pyglet]] - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).

* [[http://inform7.com/ | Inform]] - a design system for interactive fiction based on natural language. It is a radical reinvention of the way interactive fiction is designed, guided by contemporary work in semantics and by the practical experience of some of the world's best-known writers of IF.

* [[http://unity3d.com/ | Unity]] - a multiplatform game development tool for 3D (and 2D) games.
Deleted lines 94-95:
* [[http://www.pyglet.org/ | pyglet]] - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).
Deleted lines 96-99:

* [[http://inform7.com/ | Inform]] - a design system for interactive fiction based on natural language. It is a radical reinvention of the way interactive fiction is designed, guided by contemporary work in semantics and by the practical experience of some of the world's best-known writers of IF.

* [[http://unity3d.com/ | Unity]] - a multiplatform game development tool for 3D (and 2D) games.
Changed lines 13-14 from:
* %newwin%[[Fall2009.CSCI210_Course_Syllabus?action=print | Course syllabus]]
to:
* %newwin%[[Fall2010.CSCI210_Course_Syllabus?action=print | Course syllabus]]
Changed lines 13-14 from:
* %newwin%[[Fall2009.CSCI210_Course_Syllabus | Course syllabus]]
to:
* %newwin%[[Fall2009.CSCI210_Course_Syllabus?action=print | Course syllabus]]
Added lines 32-35:
# Wikipedia, [[http://en.wikipedia.org/wiki/Computer_and_video_game_genres | Computer and video game genres]].

# Wikipedia, [[http://en.wikipedia.org/wiki/Game_engine | Overview of Game Engines]].
Deleted lines 37-43:
# Intro to '''Python'''
** Magnus Lie Hetland, [[http://hetland.org/writing/instant-hacking.html | Instant Hacking in Python]] (for non-programmers) and [[http://hetland.org/writing/instant-python.html | Instant Python]] (for programmers).
** John Zelle, ''Teaching Computer Science with Python'' transparencies: [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-slides.pdf | one slide per page]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-handout.pdf | four slides per page]] (PDF).
** Jeffrey Elkner, Allen B. Downey and Chris Meyers (2008), "[[http://openbookproject.net/thinkCSpy/index.xhtml | How to Think Like a Computer Scientist - Learning with Python)]]", 2nd ed., The Open Book Project.

# NPR, "[[http://www.npr.org/templates/story/story.php?storyId=112586347 | Internet Addiction Center Opens In U.S.]]", Sep. 9, 2009.
Deleted lines 39-40:
# Wikipedia, [[http://en.wikipedia.org/wiki/Computer_and_video_game_genres | Computer and video game genres]].
Added lines 42-43:
# NPR, "[[http://www.npr.org/templates/story/story.php?storyId=112586347 | Internet Addiction Center Opens In U.S.]]", Sep. 9, 2009.
Changed lines 52-53 from:
# Wikipedia, [[http://en.wikipedia.org/wiki/Game_engine | Overview of Game Engines]].
to:
# Intro to '''Python'''
** Magnus Lie Hetland, [[http://hetland.org/writing/instant-hacking.html | Instant Hacking in Python]] (for non-programmers) and [[http://hetland.org/writing/instant-python.html | Instant Python]] (for programmers).
** John Zelle, ''Teaching Computer Science with Python'' transparencies: [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-slides.pdf | one slide per page]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-handout.pdf | four slides per page]] (PDF).
** Jeffrey Elkner, Allen B. Downey and Chris Meyers (2008), "[[http://openbookproject.net/thinkCSpy/index.xhtml | How to Think Like a Computer Scientist - Learning with Python)]]", 2nd ed., The Open Book Project
.
Added lines 1-96:
!Game Programming

!!When / Where

MWF 1-1:50PM / LONG 220

!!Description

A course introducing principles of game programming, including computer modeling, data visualization and animations, media transformations, and video game ethics. Students will be exposed to several game engines, a scripting language, and develop at least one game.

''Prerequisites'': CSCI 120, CSCI 180 or permission of instructor.

* %newwin%[[Fall2009.CSCI210_Course_Syllabus | Course syllabus]]

* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSCI210Fall2009/StudentNotes | wiki for lecture notes]] [- (requires password, opens new window) -]

!!Test Dates

* '''Test 1''': TBA
* '''Test 2''': TBA
* '''Final''': 12-3pm, Wednesday, Dec 15, 2010

!!Assignments
>>comment<<
(:note Sep. 4, 2009: |Homework #1 is now posted.:)
>><<

* [[Fall2010/CSCI210_Homework1 | Homework #1]] (not available yet).

!!Readings & References

# [[http://agile.csc.ncsu.edu/pairlearning/educators.php | An introduction to pair programming]]. [-This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming. Here is the [[http://agile.csc.ncsu.edu/pairlearning/worksheet.pdf | accompanying worksheet]].-]

# Intro to '''Python'''
** Magnus Lie Hetland, [[http://hetland.org/writing/instant-hacking.html | Instant Hacking in Python]] (for non-programmers) and [[http://hetland.org/writing/instant-python.html | Instant Python]] (for programmers).
** John Zelle, ''Teaching Computer Science with Python'' transparencies: [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-slides.pdf | one slide per page]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-handout.pdf | four slides per page]] (PDF).
** Jeffrey Elkner, Allen B. Downey and Chris Meyers (2008), "[[http://openbookproject.net/thinkCSpy/index.xhtml | How to Think Like a Computer Scientist - Learning with Python)]]", 2nd ed., The Open Book Project.

# NPR, "[[http://www.npr.org/templates/story/story.php?storyId=112586347 | Internet Addiction Center Opens In U.S.]]", Sep. 9, 2009.

# [[http://www.paperprototyping.com/what.html | Paper prototyping]] - what is it?

# Wikipedia, [[http://en.wikipedia.org/wiki/Computer_and_video_game_genres | Computer and video game genres]].

# [[Fall2006/Games and violence]] readings.

# [[http://www.nytimes.com/2008/10/11/arts/television/11hamm.html | <img src="http://graphics8.nytimes.com/images/2008/10/11/arts/television/hammer.jpg" height=50 alt="World of Warcraft"/> A Fantasy Universe Raises Its Broadsword Against World of Warcraft]] from NY Times. [-Designing a successful massively multiplayer online game may be one of the supreme challenges in all entertainment.-]

# Geoff Howland, "[[http://www.gamedev.net/reference/design/features/makegames/default.asp | How do I make games? A Path to Game Development]]".

# Schiesel, S. "[[Fall2006/CSCI299_NYTimes1 | Online Game, Made in U.S., Seizes the Globe]]", New York Times, September 5, 2006.

# Laitinen, S. "[[http://www.gamasutra.com/features/20050623/laitinen_pfv.htm | Better Games Through Usability Evaluation and Testing]]", Gamasutra, June 23, 2005.

# Wikipedia, [[http://en.wikipedia.org/wiki/Game_engine | Overview of Game Engines]].

# Alternative user interfaces (UIs) for game (and other) development:
** [[http://mrl.nyu.edu/~jhan/ftirtouch/ | Multi-Touch Interaction]] - bi-manual, multi-point, and multi-user interactions on a graphical interaction surface.
** [[http://www.ercim.org/publication/Ercim_News/enw57/leikas.html| Pressure-sensitive floor tiles]] - users interact intuitively and naturally with the environment and with each other.
** [[http://www.bodypad.com/eng/QuestionsMainPoints.php | Bodypad game controller]] actuated by the body.

!!Artifacts and Rules

* [[http://www.findsounds.com/ | Sounds]] - find sound effects and musical instrument samples.

* Stock photos [[(http://)www.sxc.hu]], [[(http://)morguefile.com]].
* Textures [[(http://)www.mayang.com/textures]], [[(http://)www.imageafter.com]], [[(http://)www.spiralgraphics.biz(/packs)]].

* [[http://www.writedesignonline.com/resources/design/rules/color.html | Color design rules]] - rules of thumb about color.
* [[(http://wellstyled.com/tools/colorscheme2/index-en.html | Color wheel]] for user interface design.

!!Software

* [[http://scratch.mit.edu/ | Scratch]] a cross-platform graphical environment for developing 2D games and animations (Windows, Mac OS X and Linux)
** [[http://youtube.com/watch?v=jxDw-t3XWd0 | Intro video]], and [[http://youtube.com/watch?v=ix6Hlt8xL3E | image effects video]].
** [[http://info.scratch.mit.edu/Support/Reference_Guide_1.4 | Reference Guide]].

* [[http://ccl.northwestern.edu/netlogo// | NetLogo]] - a cross-platform programmable modeling environment for simulating natural and social phenomena (Windows, Mac OS X and Linux).

* [[http://education.mit.edu/starlogo/ | StarLogo TNG]] - a cross-platform graphical environment for developing 3D games and simulations (Windows, Mac OS X and Linux).

* [[(http://www.)Python(.org)]] official site.
** Python 2.5 [[http://rgruet.free.fr/PQR25/PQR2.5.html | quick reference]].
** Guido van Rossum (2006), [[http://docs.python.org/tut/tut.html | "The Python Tutorial"]] (also available under Help within IDLE).

* [[http://pygame.org/ | PyGame]] - fully featured 2D games and multimedia programs:
** [[http://www.pygame.org/docs/tut/intro/intro.html | overview]], [[http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html | tutorial]], [[http://www.pygame.org/docs/ref/index.html | API reference]], [[http://mu.arete.cc/pcr/cat/pygame | examples]], [[http://pygame.org/wiki/resources | resources]].

* [[http://www.pyglet.org/ | pyglet]] - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).

* [[http://www.panda3d.org/ | Panda3D]] - a 3D engine for rendering and game development:
** [[http://www.python.org/pycon/dc2004/papers/29/ | overview]], [[http://panda3d.org/wiki/index.php/A_Panda_%22Hello_World%22 | tutorial]], [[http://panda3d.org/wiki/index.php/Main_Page | manual]], [[http://panda3d.org/wiki/index.php/Examples_Contributed_by_the_Community | examples]].

* [[http://inform7.com/ | Inform]] - a design system for interactive fiction based on natural language. It is a radical reinvention of the way interactive fiction is designed, guided by contemporary work in semantics and by the practical experience of some of the world's best-known writers of IF.

* [[http://unity3d.com/ | Unity]] - a multiplatform game development tool for 3D (and 2D) games.