Monday, January 30, 2006
It's 6:23am when I'm typing this, and I've been working on my MQP since midnight. After working for that amount of time, living only on tea, I find myself wanting to rant about how this project will suck the life out of me until I'm happy with it. I've posted before about "blogging to my audience", but I will break my rules with this post since I'm not gonna make a new blog now ... so fuck you :P For all those who don't know what an MQP is, it's WPI's way of killing its seniors. And if you happen to be a CS major, you have it no easier or harder, but you are at a disadvantage. The MQP really is suppose to be a team-based project that spans approx 21 weeks and at the end you have a tangable thing that you can show off as your project, accompanied by a paper the thickness of common WPIer's skull. My project is to make a domain specific language, Video Game Language (ViGL), which is based on XML, that will generate a video game in a target language of the user's choice. This language will sit ontop of a game development framework that we are also building, and provide a much nicer way to work with the API rather than just using it. Plus, the framework is written in Ruby, so you would have to know how to program in Ruby before using it. Currently the project is only scoped for 2D graphics, simple sound control, keyboard and mouse input, and defining game specific stuff like game type, player model, object interactions, etc. The framework is a heavy wrapper around Ruby SDL, so it's capabilities are there for expanding to 3D. So in a nutshell, we are creating a language, a framework to power everything, and a compiler to convert the language into a target language (currently only Ruby, but future platforms could be Java, C/C++ w/opengl or directx, or even Flash). Also, the code generation patterns must be plugable, allowing users to install/make their own generators and switch between them easily. This is a pretty involved project, but for 21 weeks ... if scheduled properly, is definitely possible. But here's the catch, we only have 5 more ... yeah. The past 14 weeks have been spend coming up with designs, throwing them out, finally deciding on one, prototyping it, throwing it out, ... repeat. Why so many reworks? Answer: I'm the only set of creative eyes. This has all been my vision and my design work, and that's why this project is taking so long. This week we are to have the framework's graphical abilities designed/prototyped/implemented and have the graphical language features of ViGL designed and documented, then building the compiler to interpret the ViGL code and generate the appropriate target code, just for graphics. Basically these next 5 weeks are a high gear implementation time where we take all our older code and experience and pound out these features. One week all graphics, next week add events (including sound and collision detection), next week who knows. With 2 grad classes, a biology class, and all the other stuff I'm doing, I see these hours of the morning way too often. OK, I've rambled long enough. Other great things have happened in the past 20+ days that I haven't talked about, and I promise to, but for now I was pissed at this code and I needed to yell about it.
Saturday, January 28, 2006
Thursday, January 26, 2006
Sunday, January 01, 2006
Ok, so that holiday season just flew by. So, the end of 2005 ... eh, it doesn't phase me, I won't miss the year much. When really bad things happen it always seems that really good things accompany, and visa versa. When people say "oh that was such a terrible year," I dunno, I feel like they're just focusing on the negative. Anyway, lets not get into that. So I'm working at SMPL again this break, and I'm really torn now b\c I really want to start working for them, but I've decided to stay on for grad school, so hopefully I can just do it part time or something, we'll see. So now I'm juggling that, my compilers project, a little work on the fsae website, and my personal website. Yeah, about stopping time ... anyone figured that one out yet?