Thursday, March 15, 2012

Sad Endings

I hate sad endings, but unfortunately, that's what I feel.  I just wasn't able to recover from falling behind, and my project suffered because of it.  I did get some pretty cool things working, but it's nowhere near my usual level of quality, and it certainly isn't what I'd consider "finished".

But if it's true that the value of a class is measured by the amount that you've learned from it, then I can still consider this class a success.  I already knew C++ and OpenGL, of course, but now I know things about both of them that are deeper and more advanced than my experience alone had revealed.  That was valuable for sure.

Well, there's only one thing left to do before I become an alumnus:  Capstone!  With this class behind me, my capstone is all that remains of my degree requirements.

Well, dear GAM475, you certainly weren't easy, and you weren't always fun, but I leave you in gratitude.  (And relief!)

Bye!

Monday, March 12, 2012

Final Days

Here we are in the final days of the GAM475 class.  My excitement and enthusiasm for the class has diminished in the last few weeks as other factors outside of the class have attacked me from all sides.  I wish I could just go back and do it all over again, but I know that simply isn't possible.  At the moment, I'll just be happy to have something to turn in for the final project and put this disappointing and frustrating experience behind me.

I'm not speaking against the class in general or the professor, of course.  I think it was well designed for its intended purpose, and Keenan did a great job as always with the material and the assignments.  I'm just extremely irritated that I was not able to produce better quality work.  I normally take a lot of pride in my schoolwork and go above and beyond the minimum expectations.  Most of the professors I've had in my life could attest to that fact.  But in the final weeks of this class, I barely had the time to get through the lectures, let alone sink myself deeply enough into the very challenging final project.  I had to watch the last three lectures in tiny increments throughout the week, which obviously did not lend itself well to following along with my own code.  It has been truly awful.

I still have very little working on the project, and I only have two days remaining to get something functional that conforms to the assignment's requirements.  Some stuff is working, but not nearly enough to call it done.  I'm not giving up on it just yet, but I grow ever more certain that I will not achieve all of the stated requirements by Wednesday night.

On the other hand, I'm pretty much done with the final exam.  I like most of my answers, but would really like to include some more intelligent content on one of them.  We'll see if anything inspires me between now and Wednesday night.

The approaching deadline is stressing me out, but the relief that I'll feel when it's all over will be profound.

Wednesday, February 29, 2012

Venting Nested Frustrations

My work schedule changed last week and loaded me up with a good long list of crap to do.  Combined with my obligation to babysit my five-month-old son while trying desperately to get my work done, I feel pretty out of touch with what's going on with this class.  Just now, I finally finished watching last week's lecture.  I'd made other attempts throughout the week, but something has always come up to stand in my way.

I see that some significant challenges remain to completing the game engine project, so I'm going to do my best to get my job-related stuff out of the way ASAP so I can really focus on my homework and get back on track.   

It's funny, in a way.  Now I'm frustrated that I can't even get to the frustrating part!

Sunday, February 19, 2012

Open Wide for OpenGL

Again I forgot to update my blog as I've done my classwork, so here's a summary of the last few days.

Thursday
Watched the first part of the lecture video. Got interrupted and didn't get a chance to finish it.

Friday
Had to work all day. No time, energy, or brainpower left over for homework.

Saturday
Followed the instructions on the lecture slides to get OpenGL set up.  Ran some sample programs and played around with transforms.

Sunday
Finished watching the lecture video. Corrected some things that I didn't do right the first time (project settings, cleanup, etc.)  Checked initial version of game engine project into Perforce.  Skimmed through the OpenGL SuperBible.

Monday, February 13, 2012

Life Gets In The Way

I thought for sure that I'd have time to fix those dang access violations today before the final deadline, but once again, life got in the way. Work and family obligations teamed up against me to keep me away from my computer pretty much all day.  As a result, I'm turning in PA2 with some serious flaws. This is something that I NEVER do. I do NOT turn in incomplete assignments EVER. But I guess I can't say that anymore, can I?

On the bright side, all PA1 tests pass, all but one of the PA4 tests pass, and most of the checks in the faulty PA2 files actually do work even if the overall tests are considered failures. So it could be worse, but it's still probably the worst assignment I've ever turned in.  I am ashamed, and I can only hope for mercy from the almighty Professor.

I'm ready to have this all behind me though, complete or not.  I remain optimistic for the next phase!  I'm crazy like that.

Sunday, February 12, 2012

PA2: Not One, But Many Headaches


I have actually made some progress with PA2.  Several of the checks that were failing last night are passing now.

As of right now, there are only two root causes of failure: one that causes unit tests to fail and one that brings the system crashing down.

  • The currBytesUsed calculation fails on two of the three tests in StressTest_Heap.cpp.  The first test works fine though, as do ALL of the other checks in the entire file.
  • In every place where the tracking block is referenced, I got access violations.  Commenting out the code allowed several tests to pass, but it caused disastrous crashes in the others.

So, for my final test of the evening, I included align_basic_tests, memory_test, StressTest_Alignment, and StressTest_Heap.  I excluded StressTest_fixed, StressTest_Tracking, tracking_tests_global, and tracking_tests_heap.  This resulted in 19 tests, of which 17 passed and 2 failed.

Here's an updated status of the tests.

FileStatus
align_basic_tests.cppNo problems. All tests pass.
memory_test.cppNo problems. All tests pass.
StressTest_Alignment.cppNo problems. All tests pass.
StressTest_fixed.cppCrashes with an access violation that I have not yet investigated.
StressTest_Heap.cppFirst test passes. currBytesUsed tests fail on other two.
StressTest_Tracking.cppCrashes with an access violation when reading the tracking block.
tracking_tests_global.cppCrashes with an access violation when reading the tracking block.
tracking_tests_heap.cppCrashes with an access violation when reading the tracking block.


Saturday, February 11, 2012

PA2 is a Disaster

Time runs short for me to figure out what to do about PA2.  Right now, it's somewhat of a catastrophe.  Here's what's going on with the unit tests:

FileStatus
align_basic_tests.cpp Access violation on Mem::setTrackingBlockHead(gTrackHead->gNext);
memory_test.cpp No problems. All tests pass.
StressTest_Alignment.cpp currAllocIndex tests fail. For some perplexing reason, several lines are skipped entirely because the debugger says they contain no executable statements.
StressTest_fixed.cpp Not attempted.
StressTest_Heap.cpp currAllocIndex tests fail. Seems to be the exact same problem as StressTest_Alignment.cpp
StressTest_Tracking.cpp currAllocIndex tests fail. Seems to be the exact same problem as StressTest_Alignment.cpp and StressTest_Heap.cpp
tracking_tests_global.cppcurrNumAlloc tests fail
tracking_tests_heap.cpp currNumAlloc tests fail

So this is where I will begin tomorrow, with sincere hopes of having it all worked out by Monday's deadline!