Skip to main content

10 weeks, 6 production level games

In this quarter’s Games Capstone class teams were presented with a challenge to produce a full featured video game released in the wild, on major game distribution sites such as Kongregate and newgrounds so that their creations can be evaluated in the real world.

I am happy to report that the games are now out, you can see all of them here.  Give them a try, they cover a variety of genres.

More interestingly the games gathered significant praise from the players around the world.  Here I list some of the outcomes (new ones arriving hourly):

–    Around a million players played all games in total in last 3 weeks

–    Two games had full featured reviews by a site that reviews a few noteworthy games each week. You can read the two reviews here: http://jayisgames.com/archives/2010/05/chromatic.php and http://jayisgames.com/archives/2010/06/hello_worlds.php

–    The publicized games have now over 10 contract offers for distribution at different game sites, as well as offers for additional funding to develop the game for other platforms.

–    Hello Worlds! Game has won two monetary prizes: a second place, in the best game of the week, and the second/third best game of the month (even though it has been out only for the last week of May) on Kongregate.com.  This is particularly impressive given, that the competition is games with real budgets, and high quality production including the licensing rights for Wallace & Gromit branding.

–    as of last Sat, hello worlds is now a #1 featured game on Kongregate!

–    This week, Defenders of the Light and Time Decay are competing for the best game of the week honor at Kongregate.com

–    The teams collectively earned a significant amount of revenue through awards, commissions, and distribution contracts, which will likely continue beyond the class.
Zoran

June 9, 2010

Registration and overloading

We have decided to manage overloads a bit differently this year. In the past we’ve kept overload request lists, and the process of maintaining and managing those lists is difficult for many reasons, so we’re going to try a new system.

If you are interested in a course this fall that is full, keep monitoring it for space to open.  If you are still unable to get into the course by the time the quarter starts, attend the first week. Instructors will give out add codes by Friday of the first week if there is room in the course to overload. The only course that we think will be too oversubscribed is CSE 378. For those of you still needing that course, remember that there will be one final offering of 378 in winter 2011.

If you have trouble registering due to prerequisites, you should contact an advisor for assistance.

Capstone requests will go out the first week of June, which includes CSE 454 offered this fall.

CSE 390 is now posted:

CSE   390 SPECIAL TOPICS CSE
Restr  20209 A  1       T      130-220    EEB  125                                 Open      0/  55  CR/NC         %     
                        SYSTEM AND SOFTWARE TOOLS                                                                                                                           
May 21, 2010

Fall registration notes

*466 is now on the books, info below

*454 is a capstone, we’ll send out a survey in a couple of weeks requesting students to choose their 1st or 2nd choice for a capstone during the 2010-2011 academic year. No add codes for 454 will be given until that process is completed.

*If you need advisor help registering, please send your student number and the sln’s of the course(s) you want us to add, that saves us a lot of time looking everything up for you. If you don’t send us the info, you risk not having us add you.

CSE   466 SW FOR EMB SYS Prerequisites
Restr  20155 A  4       MWF    1030-1120  EEB  045                                 Open      1/  50          $50         
       20156 AA  LB     T      230-520    CSE  003E                                Open      0/  13                      
       20157 AB  LB     Th     230-520    CSE  003E                                Open      1/  13                      
May 13, 2010

401 now open for Autumn, Thursday sections 1:30, 2:30

401, Compilers, was closed due to schedule changes. The schedule is now set and registration is open, but you can’t see the new Thursday sections on the main Time Schedule page yet.

Here are all 401 SLNS:

  • Lecture A, SLN 19938
  • Section AA, Th 01:30-02:20, SLN 20124
  • Section AB, Th 02:30-03:20, SLN 20125
May 10, 2010

Reminder: Animation Capstone Info Sessions

Just a reminder that we have two more information sessions coming up for students interested in participating in the animation capstone course series. The next one is tomorrow afternoon. We encourage you to attend!

What:

Animation Capstone Series Information Session

When:

Thursday May 6th, 2:00-4:00 PM  (Paul G. Allen Center for CS&E, room 674, the “Irish Room”)

Tuesday May 11th, 2:00-4:00 PM  (Paul G. Allen Center for CS&E, room 691)

Light refreshments will be served.

Additional information about the series can be found here: http://www.cs.washington.edu/research/ap/.

Questions?

Contact:

Barbara Mones, AP Program Director ( mones@cs.washington.edu)

Robert Forsberg ( dybbek@cs.washington.edu)

May 5, 2010

Change Seminar – Spring Quarter

———- Forwarded message ———-
From: Eleanor O’Rourke <eorourke@cs.washington.edu>
Date: Wed, Mar 17, 2010 at 12:03
Subject: [change] Change Seminar – Spring Quarter
To: cs-grads@cs.washington.edu, cs-staff <cs-staff@cs.washington.edu>,
faculty <faculty@cs.washington.edu>, dub@dub.washington.edu,
change@change.washington.edu

Join the Change Seminar during the Spring quarter on Thursdays at noon
in the Paul Allen Center (Room 203).
Change (http://change.washington.edu) is a group of faculty, students,
and staff at the UW who are exploring the role of information and
communication technologies (ICT) in improving the lives of underserved
populations, especially in the developing world.

Next quarter, we are continuing our one credit seminar (CSE590C1, SLN:
19341). The seminar is available for all UW students and the content
is designed to be widely accessible. We encourage students from all
departments to enroll if interested.

We will have a number of speakers and discussion topics lined up, so
stay tuned to our calendar (http://is.gd/3PkTF), Twitter
(http://is.gd/3PkVk), or mailing list (http://is.gd/3PlkS) for more
information. There will also be opportunities for those interested in
presenting ongoing work to gather feedback from the group.

Please forward this message to the relevant mailing lists (especially
non-CSE) and we hope to see you on Thursday 4/1 at noon in PAC 203
_______________________________________________
change mailing list
change@change.washington.edu
http://changemm.cs.washington.edu/mailman/listinfo/change
_______________________________________________
Cs-ugrads mailing list
Cs-ugrads@cs.washington.edu
https://mailman.cs.washington.edu/mailman/listinfo/cs-ugrads

March 18, 2010

Overload form

We’ll close the overload form on Wed and plan to have preliminary decisions out by late Friday.   We won’t be able to add very many spaces to courses, and there is a particularly long list for 378, so if you were hoping for that course this spring, you will most likely need to plan to take it this fall. We’ll do the best we can.

Here is the link to the overload form.

March 15, 2010

New Spring Quarter 1 credit Course: Law for Engineers

From Marlo Anderson in Dept of Aeroautics & Astronautics:

I am pleased to announce that we will be offering a new, 1-credit seminar course in Spring Quarter, titled “Law for Engineers.” It is designated AA498A/598F, and will be open to all undergraduate and graduate students. The class will meet Mondays at 3:30 PM in Guggenheim 218, beginning April 5 and ending May 24 (8 lectures), and will be graded C/NC.

The lectures will be presented by Joel Lohrmeyer, an alumnus of our department (BSAA 2002, MSAA 2004), who received his JD from the Oregon School of Law in 2008. The course description and Joel’s biography are attached.

An add code is required to enroll in this class. Please send an email to Marlo Anderson marlo@aa.washington.edu along with your student number if you wish to register or you have any questions.

Overview:

Engineering and legal principles govern most everything in our society today.  This course examines and explains the practical application of the law to engineering, and assists the engineer in industry, higher education, and life.  Topics focus on intellectual property law, business and contract law, tort law, and engineering ethics.  Discussions explore patents, trademarks, copyrights, and trade secrets, specifically what they are, how to obtain them, how to use them, and how to lose them.  Additionally, the class considers how businesses are started and governed, product liability law, and the ethical duties an engineer owes to an employer and the public.  This course is applicable to all engineering disciplines.

(more…)

March 11, 2010

Possible new course: Beyond Programmable Shading

We may offer the course described below this spring for students who have taken CSE 457.  If you think you might take the course, please send me an email (ceney@cs.washington.edu) keeping the subject heading consistent and let me know if you will:

1. Definitely take the course if it’s offered T/TH 1030-noon

2. Definitely take the course if it’s offered T/TH 12-120

3. Might take the course if it’s offered at one of these two times
It would likely be offered T/Th for 1.5 hours each day probably 1030-noon or noon-1:20pm.

It would be 3 credits.

Course info:

Beyond Programmable Shading

A university graduate course to be taught at Stanford University (Mike Houston) and University of Washington (Aaron Lefohn) in the Spring Quarter of 2010

DRAFT 1/8/2010

Course Description:

There are strong indications that the future of interactive graphics programming is a more flexible model than today’s OpenGL/Direct3D pipelines. Researchers and developers are combining flexible parallel graphics architectures and emerging parallel programming models with the traditional graphics pipeline to create new graphics pipelines and algorithms that significantly increase image quality. This course introduces students to the parallel graphics architectures and the parallel programming models that are fueling this change and teaches students how to create interactive rendering algorithms and pipelines that extend, or are completely different than, the traditional Direct3D/OpenGL interactive rendering pipeline. The course also introduces students to many of the unsolved rendering and programming model research topics in this field.

The first part of the course introduces parallel graphics architectures, parallel programming models for graphics, and parallel algorithm primitives. The second part of the course looks at cases studies from recent rendering algorithms and systems—discussing the mix of parallel programming constructs used, details of the graphics algorithms, and how the rendering pipeline and computation interact to achieve the technical goals. The focus is on what currently can be done, how it is done, and future trends. Topics include examples from game developers using these new capabilities in next-generation rendering engines, volumetric and hair lighting, alternate real-time rendering pipelines including ray tracing and micropolygon rendering, in-frame data structure construction, and complex image processing.

This is an advanced graphics course designed for graduate students interested in pursuing research in real-time rendering algorithms, graphics systems, or parallel programming systems. It is open to students who have at least an introductory background in computer graphics and computer systems and architecture. Two short analysis/exploration projects and one large, team-based final project must be completed.

Prerequisites:

Students should be comfortable with OpenGL and/or Direct3D and have had an introductory computer architecture course.

Stanford: CS248 or equivalent introduction to compute graphics course

UW: CSE557 or equivalent introduction to computer graphics course

Syllabus (Two 75-minute lectures per week):

“Background Block”

Week 1:

Introduction: “why and how is graphics programming” and retrospective
A trip down the rasterization graphics pipeline

Week 2:

Overview of current GPU architectures
Overview of proposed future architectures: Larrabee, Fusion, tile-based rendering, etc

Week 3:

Parallel programming for interactive graphics: data-, task-, pipeline parallelism
DirectCompute and OpenCL

Week4:

Data-parallel primitives (scan, reduce, sort, etc)
Building graphics pipelines

“Case Studies Block”

Week 5:

Game task graphs and “blurring lines between graphics and compute” (DICE work)
MegaTexture (id Tech5) and  Voxel rendering (id Tech6)

Week 6:

Image processing – i.e. fuzzy/blurry things like DOF, recursive filters, etc.
Shadows

Week 7:

Rasterizing transparent objects (esp. hair rendering)
Real-time ray tracing

Week 8:

Real-time micropolygon rendering
Game physics (focus on parallelization challenges and interactions with graphics system)

Week 9

What if the pipeline is just software?
Open questions: future of graphics APIs and real-time graphics programming systems

Week 10:

(Deadweek at most universities – course debrief and reviews)

Week 11:

Project presentations

Projects:

Project #1 (1.5 weeks)

–          Assign middle of week 2 due end of week 3 (individual project)

–          TODO: We need to decide on one of the following

  • Build a CPU task system that supports a “parallel_for” construct (no SIMD use)?
  • “Hello world” OpenCL + OpenGL program?

Project #2 (2.5 weeks)

–          Assign middle of week 3 due end of week 5 (individual project)

–          Heterogeneous parallel compute “warm-up” that uses a mix of task-, data-, and pipeline parallelism on a combination of CPU and GPU to draw a picture.

  • Could use OpenCL tasks on CPU, OpenCL data-parallel compute on CPU or GPU, and OpenGL graphics pipeline.
  • Could use Thread Building Blocks (TBB) tasking on CPU with DirectX 11 data-parallel compute and graphics pipeline on GPU.

–          We will provide examples of possible examples but students will be free to choose a different problem as long as they incorporate all forms of parallelism into their application.

Term project (4-5 weeks)

–          Assign middle of week 5 (group project with 2-3 people per team)

–          Proposal due week 6, checkpoint week 8

–          We will provide a list of possible ideas, but we expect teams to propose their own ideas with the best projects being prototypes of new research ideas. Example scope of ideas includes:

  • New rendering algorithms that use all compute resources in machine and mixes of parallelism
  • New rendering system (
  • New parallel programming systems for CPU or GPU targeted at graphics

Readings:

Background material (helpful but not required):

–          Real-Time Rendering—Akenine-Moller, Haines, and Hoffman

–          Fundamentals of Computer Graphics—Shirley et al

–         Computer Architecture: A Quantitative Approach—Hennessy and Patterson

–         Patterns for Parallel Programming—Mattson, Sanders, and Massingill

Material for the course:

–          No text book currently exists for this material. Throughout the quarter, we will recommend reading from a combination of recent conference presentations, research papers, API documentation, and books.

March 4, 2010

CSE 390, 1 credit, System and Software Tools, recommended for new majors who have not had 303

*CSE 390 sln 19260 1 credit, cr/no credit only, Tues 130-220

*If you have completed 303 you are NOT allowed to register, no begging, we mean it…  🙂

1. You don’t need it, you already covered these points

2. We don’t have the space even if you think you want some review

UW CSE – System and Software Tools
Course Description

Structural Place in the Curriculum

  • 1 credit (1 weekly lecture),  credit / no-credit  (C/NC) only
  • Pre-requisites: CSE 143
  • Taken by: Optional but recommended for CS and CE students who have NOT had 303
  • Catalog Description: TBD

Course Overview / Goals

There are many practical skills that are important for students to know for upper-division CSE coursework, but that do not smoothly fit in with the core material of those courses.  Such skills include: using a Unix/Linux environment; text editors and software tools; Unix shell commands; file/process management; regular expressions and text processing; shell scripts and scripting languages; and tools for managing and compiling programs.  This material is important to computer scientists, but much of it is practical and not strictly computer science.

This course provides a weekly lecture on these topics to students who have completed CSE 143.  It is a gentle introduction “on the side” of the rest of the curriculum, with only moderate work, requirements, and demands on student time.  The course makes no assumptions about student knowledge beyond basic programming ability.

The course is for CSE majors only.  It will be listed as optional, because some students will already know these topics or will not need them in their course path.  But the department will recommend it to all incoming majors because of its importance to many majors courses.

The course will have a faculty member listed as “instructor of record,” but the weekly lectures and grading will be conducted by a graduate student under the faculty member’s supervision.

Description of Possible Homework, etc.

Each lecture would end with the assigning of one short homework, expected to take 2-3 hours at most to complete.  Each assignment would involve solving various problems in the CSE labs or at home involving Unix commands, shell scripting, etc.  Example assignments:

  • Write various shell command one-liners to produce given results or discover various system information.
  • Solve various shell tasks involving regular expressions and related tools.
  • Create a shell login script that sets up certain environment variables and settings.
  • Author, compile, and run a short Java program from a Unix server.
  • Set up a short Makefile to compile and run a Java program.
  • Write short script programs to perform various tasks and produce a given output or result.

“Passing” the course involves submitting satisfactory solutions to the majority (say, 8 out of 10) of the assignments given out for the quarter.  At the instructor’s discretion there may also be a short final exam at the end of the quarter, though such an exam should be less strenuous than most CSE course exams.

Possible Textbook

Barrett, Daniel J.  Linux Pocket Guide.  O’Reilly, 2004.

The textbook would likely be optional.  A substantial set of online and printed resources (lecture slides, web pages, links, etc.) would also be given to students as a reference, for both during and after the course.


Approximate Topic List

  • basics of navigating a Unix/Linux environment
  • using a Unix command-line shell
  • Unix file system; file and directory management
  • permissions, groups, and users (including super-user, root)
  • processes and process management
  • pipes and redirection
  • globs and wildcard characters
  • environment variables
  • connecting to remote servers (ssh, sftp, scp, vnc, rdesktop, etc.)
  • commands related to multi-user shared Unix systems (e.g. attu)
  • using a text editor such as emacs
  • regular expressions and related tools (e.g. sed, grep)
  • string and text processing basics: filtering, substituting, etc.
  • compiling and executing Java programs from a command line
  • Makefile basics (without C programming)
  • shell scripting (bash or Python)
  • version control basics

Possible additional topics, time permitting:

  • basics of programming in a scripting language such as Python, Ruby, or Lua
  • basics of HTML and/or setting up a basic web page
  • setting up a basic Unix/Linux system
  • configuring a Unix/Linux system to act as a basic file/web server

Non-Topics and Relation to Old Curriculum

This course is essentially a subset of the material once offered in CSE 303, spread out over a 10-week quarter.  The most major topic area removed from 303 is the coverage of C/C++ programming and related issues.  Some topics are covered in less detail than they would be in 303.  The following (which occupied up to 6-7 weeks of CSE 303) are not covered:

  • messy details of many topics (version control, emacs, Makefiles)
  • details of particular Unix/Linux operating system distributions (e.g. “How to use Ubuntu”)
  • C / C++ programming
  • object-oriented programming
  • memory and manual memory management
  • debuggers, testing, linking, loading, libraries
  • concurrency, synchronization
  • security (beyond that provided by file permissions)
  • ethics and society
March 2, 2010

« Newer PostsOlder Posts »