« October 2004 | Main | April 2005 »

January 28, 2005

"Software Engineers for Interactive Media Club" Idea

I'm kind of interested in starting up a little club of Computer Science minded people within the Interactive Media division. For those of us who used to be CS majors and want to keep our coding skills working, or for those who want to grow their existing skills, I was thinking about organizing little workshops on some potentially important future coding subjects. These would hopefully give us all a chance to learn from each other and share code.

I'm realizing that my projects aren't up to the scale that I'd like. I want to be authoring 3D animations and games. Honestly, I'm starting to think that we should be able to generate 3D prototypes of things, especially if we have previous programming experience. (I'm also on a quest to be a good enough coder to generate a full entertaining 3D application in C++ from scratch in under 3 hours. Wouldn't that be cool?) I was hoping that we could split up some high profile important topics and present them to each other. We could all learn from the presentations, and the presenter always learns a lot from teaching other people.


Some possible topics I'm considering are: -

Direct3D and OpenGL - Talk about how to set up a window and draw into it. Differences between the two API's, how to pull off the basic effects. Talk about incoroporating shaders. Share information on good tutorial sites.

Advanced Graphics Math - Cubic splines, correct collision detection, advanced graphical effects such as Bump Mapping, anisotropic reflections (they look awesome!), shadows, etc. Maybe Ray Tracing. Focus would be how to add these features to our code, and understanding exactly how they work, so they don't seem so intimidating.

Windows Programming - I've done this a couple of times now. While writing Windows code is pretty intimidating at first, it's not so bad once you know what you're looking at. We could also learn about C# and how it works.

Writing good C++ code quickly - Describing some of the most useful design patterns for C++. While working on Dyadin, I found that a few lines of difficult code could turn C++ into a language that was nearly as convenient as Java (or nicer, if you like low level stuff like me 8-)).

Using Visual Studio effectively - How to get the most out of Microsoft's great IDE. Overview of useful and commonly overlooked features. (i.e. abusing the hell out of IntelliSense :) )

FMOD - Probably the best way we can get sound up and running in our native code. This little gem is really powerful, easy to use, and free! It also supports mixing and everything else without all the lousy latency issues we get with Flash, or the instability of Sonia for Processing. Also of note is that this code moves over to the console platforms....

Data file reading and writing - Using OpenGL and Direct3D isn't particularly useful if you can't use all those pretty meshes that we've been creating in Maya and Max! Discuss how to load common mesh, image and sound file formats and write them out. Possibly talk about integrating freeware XML reading and writing libraries.

Bushido - The game engine that we built for Dyadin has proven itself to be pretty flexible and useful. Personally, I would love nothing more than for other students to be able to use it. A lot of the basic functionality is already there, and the tech support (namely, Glenn and I) are right available to help other students get it up and running for their projects. Obviously, the system isn't without its quirks, though, but I'd be more than willing to give a presentation up on how to develop a simple application using it.

******************************************************************

Anyhow.... This wouldn't be an introduction to coding. This is for those of us who already know how to code, but want to get more out of our projects. Especially when it comes down to our upcoming thesis projects. If we work together, hopefully we can share code code and designs that will allow us to have the scope and horsepower that we want, without spending all of our time worrying about fileIO.

Who else would be interested in this? I didn't post on the main page because I wasn't sure if other people would be interested in joining, and I didn't want to spam the main blog. I figure we'd probably meet every couple of weeks. Have pizza (maybe Beer if everyone stays under control 8-)). I also have some friends in engineering, maybe even some professors, who would likely contribute if we had enough interest. If enough people comment back, then we can organize something and I'll post to the main page.

Posted by efn at 05:40 PM | Comments (4)