Wednesday, March 10, 2010

Five Months Later...Life is Great

Its been a long time since my last post. I didn't forget about my blog or anything. I just never updated it due to being either too lazy or too busy. But let's spend this time recapping what's happened in life since that time. Here we go.

October 2009 ended with completing my second Half Ironman and concluding my second triathlon season. That race went well despite suffering numerous problems from start to finish, like getting kicked in the face and having my goggles knocked off within the first 5 minutes of the swim. I was happy with the result though and I enjoyed the race more than I did last year. Before the end of tri season I was already working on my next goal, completing the Austin Distance Challenge, which is a series of seven races from a 10K up to a full marathon throughout the fall and winter months. Before my half ironman race I already completed the first two races in the series at a distance of 12K and 10K. The 10K race I ran I set a personal record by over two minutes, which I was really excited about.

In November I ran my first half marathon in San Antonio. Well, technically it might have been my third half marathon, since there's a half marathon run in the final leg of a half ironman. But this was my first time running a half marathon race that didn't have anything other than running to it. It was also my first time staying overnight in a hotel for a race away from home, something I think I'll be doing more often in the future. I will have to say though that I had to learn the hard way how to race these longer distances. In San Antonio I started out at a blistering (but comfortable) pace that put me at sub 20 minutes for the first 5K and sub 41 minutes for the first 10K. I totally ran out of steam in the last mile of that race and I was hurting bad, but I still finished in 1:30:48, which I was pretty pleased with. What was amazing about that race was the sheer number of people in it. I finished in 150th place overall of over 30,000 runners. That's right: thirty thousand runners. And that doesn't even count the few extra thousand runners who did the full marathon that day.

The week before Thanksgiving I visited my mother who lives in Gilbert Arizona, part of the Phoenix metropolitan area. In addition to visiting family that week, I had one other very special purpose behind this trip: Ironman Arizona. I've had my eye on this race for over a year. In fact I intended to register last year, but at that time I didn't realize that Ironman races sell out within hours or minutes after online registration opens. I learned that volunteers get priority registration at Ironman events, and since Ironman Arizona was less than a week before Thanksgiving it just worked out perfectly for me. So I volunteered there both at packet pickup and at one of the run aid stations. I also got the opportunity to study the course, the race, and get some training time in. I have to say that Tempe Town Lake was the coldest water I think I have ever swam in and I am not looking too forward to jumping in there again. But it was a great race to watch and the atmosphere was unlike anything I've ever felt before. It just felt so epic, with so many people pouring in so much time into this single day in their lives. There were motivational signs, chalk writings, and crowds everywhere. And yes, I am now officially registered for my first Ironman race to occur in November 2010. I've got a few months left to get in the best shape of my life!

Since the only racing I was doing after October for the next few months was running, that's pretty much all I did. It was nice to take a break from the continual struggle between wondering whether I should swim, bike, or run on a given training day, but I quickly grew anxious for the next season and wanted to do another triathlon right away. December marked the furthest I've ever ran in my life, getting in a 20 mile and then a 22 mile run. My training was going great until that 22 miler, when somehow my right achilles heel just exploded on me. I took an ice bath after that long run (my first one since high school 10 years ago) and did everything I could but it wasn't enough. The pain was so bad that I was broken and unable to run. Well, I could have ran but I didn't want to develop severe injuries over the winter and then start the next tri season with a beaten-up body. So I took a couple days off, that turned into a few days, that turned into two weeks. Two weeks with almost no exercise. I could have done some cross-training, but I was just lazy.

I sunk into a depression at the end of December and throughout the first part of January for a few reasons. First, I missed triathlon training that much that it affected me emotionally. Second, I couldn't run due to this annoying injury that just appeared out of nowhere with no warning whatsoever. And third, I felt like I didn't have any direction or purpose to my life at the time. I was still unemployed and hadn't found the type of job I want, I wasn't in school or doing anything productive other than keeping my body in shape, and I just fell into a rut. I started playing video games a lot, which is something I have a habit of doing when I get depressed or don't have a social life (sadly I admit that I don't have much of one). Its a self-replicated cycle, because playing games too much makes me depressed, which only makes me play games more to forget about being depressed. Pathetic, I know. During this time of 3-4 weeks I experienced many feelings and symptoms that I had during my fight with my anxiety disorder as a graduate student, which made me recall details about that experience and the hell I went through then. Fortunately, I later managed to get my head back on my shoulders and I feel great about myself now. But that's jumping too far ahead. Lets go back to the end of 2009.

At the end of December I interviewed for a software engineering job at UT Austin. This was the first job I was really interested in since I left my last job in April 2009. The interview lasted a full 8 hour day and I met with perhaps 10 different people on the project, from engineers to astronomers to managers. It was a little different than what I was used to, but not so different that it was unfamiliar. The interview went great (I thought) but I fumbled at the end. They decided to save all of the technical questions for the end of the day, when my mind was feeling a bit weary from the last 6 hours. I hate technical questions, really. I mean I have an undergraduate and graduate degree from two of the top ranked engineering universities in the entire world and I've been successful at two full time engineering positions in addition to being an active member of the open source community and founding and leading my own project. Why does it matter that I can't tell you off the top of my head what the standard signature is for a pointer to a method of a C++ class? I know the answer: because somehow people seem to sleaze their way through college and work by relying on others instead of being diligent with their own studies and work. I know because I've observed and worked with some of them. But I still find technical questions irritating, especially because they're often the weakest point in my interview. Anyway, the technical questions I was asked weren't too difficult, but I gave poor/incorrect answers to a small number of them because I was so anxious to spit out an answer that I didn't take the time that I should have to really think through the problem. This happens to me sometimes in interviews and I need to work on it. Well a week later I am told that neither myself nor the 4-5 other people that they interviewed were hired. They decided that they wanted to have another round of interviewing candidates but would still consider me, basically not giving me a yes or a no. A couple months later I learned through UT's system that they hired someone (I was told that they'd keep me informed but I guess they forgot). So it was disappointing, but I wasn't exactly holding out hope that they'd reconsider me anyway.

Now on to January. I start my first race of 2010 with a 20 mile race on January 10th. I had barely run or done any exercise for two weeks prior to this race and my achilles injury wasn't completely gone either, so I went into this one not feeling very positive. What I had learned from my training runs is that I can run for a few miles just fine, but my achilles starts acting up after maybe 7-8 miles and it really kills me. So my plan for this race was to go out at a speedy pace and get as far as I could before the pain disabled me. The race happened to be on a freezing cold day too, below 20F, easily making it the coldest race I ever ran. Well I held a 7:00 minute pace for 9 miles, which was as long as I could. And then I fell not due to my foot injury, but to exhaustion. My legs were practically suffering from atrophy due to all my non-exercise (mostly composed of sitting in a chair and playing video games all day) and I really paid the price. I only got slower and had to walk more and more as the miles wore on. The last 5 miles especially were sheer torture for me. Cardiovascularly I felt fine, but my leg muscles were so fatigued they could barely support me. It was a horrible race for me. So bad that it knocked me back from 2nd place to something like 6th place in my age group in the Austin Distance Challenge rankings. That sucked, but I was glad that it was over. Surprisingly, my achilles didn't bother me one iota that race. So the good news was that I was healed. The bad news was that I was out of shape, with a little over a month remaining before my first marathon.

After that race I started coming out of my depression. I got working on Hero of Allacrost again, that open source game project I founded oh so many years ago in June 2004, a few months before I first started writing to this blog. I had repeatedly tried to get myself back into working on it, as I had been lacking motivation/interest for some time, but it just wasn't happening. Then suddenly one day, it did. And since then I have been working on this project like crazy. It feels great, and I've helped our team to accomplish so much in such a short time of a few weeks. About a week and a half ago we made our first release since 2008. It's an unstable beta, but its also the best thing we've ever released in my opinion. I may comment more about this project and my roll in it in another post, but for now I'll leave it at that.

Toward the end of January I had another half marathon race (my third, as I had one in November and December last year). It was two weeks after that awful 20 miler race, but I had renewed energy and my body wasn't making any complaints so I went into it feeling good, though definitely still not 100%. Friday night before the race I did a swim workout and some light weightlifting, then went to the grocery store. And then it happened. I still don't understand what "it" was, but suddenly my right foot started hurting so bad I couldn't even stand on it. I was baffled. I was shopping and I got injured? I thought I must have just temporarily sprained a muscle somehow, but it was still there the next day. I had a friend come in to town that weekend and we did a lot of walking, which was painful. I was not happy with my situation at all. Sunday morning was race day and my foot pain was worse than ever. I couldn't do my usual warm up run because it hurt so much. I even avoided standing on it because it hurt. This particular race had a start delay of almost an hour due to high winds knocking over police barricades and making the course unsafe, so I had to stand there, on one leg, wondering what was going to happen to me. I was prepared for the likely possibility that I might DNF (not finish). Finally the race starts and the first mile is torture. I was wincing in pain with every single step. I took it out really slow and easy. Then at about mile 1.5 my foot started to feel a little better and so I started to go a little faster. And the pain gradually subsided and eventually I was able to run my normal pace. I did have a few instances where the pain suddenly came back strong if I landed on my foot wrong and I was also unable to make sharp right turns, but other than that I was good to go. I had a great race after that. Actually thanks to that injury, I managed to run that race in negative splits (a good running strategy where you run your last half of the race faster than your first). I'm still not sure what that injury was all about, but within another couple of weeks it was gone for good.

Then came February, and on Valentine's Day my first marathon. Due to these wacky injuries I had been having, I was nowhere near the shape I wanted to or should have been in coming into this race. But as in life, things don't always go your way and you have to make the best of what you got. One thing I had learned was that races tended to go my way if I started out slower than my goal pace and then sped up along the way. If I went out too fast in a race, I would die well before the finish and end the race on a bad note. I had run the entire marathon course (not all at once, but in two pieces) during my training so I had a strategy for every section of the race. I have to say my strategy worked well and things were looking good. Unfortunately though I just didn't have the endurance for a full marathon in me and starting with mile 19, I started to falter. But I still had enough left in me to finish those last 7 miles with dignity. My total finish time was 3:17:54, but I wasn't too upset about it. In fact, immediately after crossing that finish line I knew that I wanted to do another. I knew that if I trained properly and diligently and didn't let these injuries put me down, I'd be able to cut off 10 minutes or more. I don't know when my next marathon will be yet though, and I've backed off of running those long distances for now as tri season training has officially begun for me at the conclusion of this marathon.

Its March now. I'm starting to feel pretty anxious about still not having a job. Next month will mark the one year anniversary of resigning from my last position. Money isn't a problem yet, but I find myself wanting to buy things I want/need but having enough sense to know that I should only be spending my money on essentials right now like food, gas, and rent. I'm also so happy and busy working on Allacrost that part of me doesn't want to get a job now, which will greatly reduce the amount of time I have to spend on one of my favorite hobbies. I had an interview earlier today for a job I'm really interested in, but unfortunately even though the interview went well the likelihood of me getting the job is low since I am missing experience with some of the libraries and toolsets that they are using. But we'll see. I might actually work on the project pro bono if I don't get hired. I really do need to get on the ball and be more proactive about job searching and not restricting myself to non-corporate jobs. I don't feel I have the luxury of time anymore to wait around. I do get contacted by recruiters maybe once or twice a week, but usually I'm not interested in what they're selling.

So I guess I'll start to wrap this up. Its 5:30 in the morning and I was unable to sleep last night, hence why I decided to kill time by writing to my neglected blog. I've been on a really weird sleeping schedule and even I don't know when I will fall asleep now. 2010 is going to be a year of many firsts for me. Next month I'm riding in the MS150, a 150 mile bike ride to raise money and awareness for multiple sclerosis research. If you'd like to make a US tax deductible donation to help me raise money for this cause, I'd greatly appreciate any help you can give! I've heard of this cause for some time and finally decided its time to do it. I've already finished my first marathon last month. Before summer begins I plan to complete my first century, which is a 100-mile bike ride (the 150 mile ride for MS150 is split across two days). And then of course in November I'll be competing in my first Ironman. This is going to be a big, successful year for me I can already feel it. And not just with regard to athletics either. Oh, and in case you were wondering yes I still have many things to remark upon and criticize regarding religion. I've actually found a lot more material and continue to study and learn all that I can so you can expect many of those things to show up on here soon. I'll try to write here more frequently than I have in the past few months, but I'm not making any guarantees! Thanks for reading.

Labels: , , , , , ,

Wednesday, September 10, 2008

Unwelcome Compromise

Alright, now on to Allacrost. If you keep up with the site news at all, you'll see that we've been rather sluggish this year. So sluggish, in fact, that at least once we've been accused of being a dead project (we are not though, not by a long shot). A lot of the people on our team have been not outputting nearly as much as they usually do. Especially myself. This year has been the first real break that I have had from Allacrost since I started this project over four years ago, and for a while it felt really good. Now I feel guilty when I ignore Allacrost and instead choose to spend my time watching Netflix movies or playing games with my little free time. I can't speak for everyone else, but I know there are three reasons why my time to spend on Allacrost has diminished by so much.


First, my training takes up a lot of my time. I'll spend anywhere from 1.5 to 3 hours a day exercising (not including travel time, socializing, etc.) and I usually workout 6 days a week. Many times I'll workout in both before and after work, so those days are even tougher. Allacrost used to be my primary hobby for many years but I've just replaced it with something else (for better and for worse). The second reason is work. In my past job I used to write code all day so when I came home, often I was sick of programming and it was the last thing that I wanted to do. So since I hardly do any programming at my job lately, I thought to myself "hey, I'll come home and won't be burnt out on programming!". Wrong. My work is so demotivating and my days at work are so long and boring that when I come home I just feel lazy and lethargic. I think work is actually making me a little depressed as well. The third reason is I've been having trouble maintaining my Debian system. I run Debian unstable, so I guess I can't complain too much. I didn't update my system software for a long time but finally did it a few months ago and decided to install a new kernel. Well, I couldn't get the ndiswrapper to work for my USB wireless device (even though it worked and continues to work fine in the old kernel) and I had problems with nvidia's graphics drivers as well. I spent nearly half of my Saturday trying to get those two to work once and made almost no progress, it was very frustrating. To make matters worse, the upgrade broke the graphics drivers in my older kernel, and I can't get them working again because that software isn't available anymore in the Debian packaging system (AFAIK). I've also had headaches with hardware, including a dying (in a very loud and annoying fashion) north bus fan on my motherboard, which I replaced with a passive heat sink (that I had to modify with a hacksaw to get it to fit with my graphics card) and I think its not quite enough, because now occasionally my system will randomly freeze up in a very bad way and I have to restart my system. I've been considering extreme solutions such as buying new hardware or installing Ubuntu over Debian, but I haven't made up my mind yet. I really want my system to be more quiet though...when I built it years ago I tried to choose components to make it as silent as possible but it is still definitely loud. I can still work on Allacrost on my laptop of course (running Ubuntu), but I hate working on my laptop (ergonomic issues with it).


Anyway enough of those issues. So we've been on the cusp of our next release for Allacrost for like two months now. There's just not a lot of motivation on the team right now and we have been really taking our sweet time with this one. Its kind of annoying actually. I'm not sure if I'm correct here, but I've been thinking that maybe I'm the reason that the rest of the team has been slow and unproductive. I am the leader of the team, and I've been so detached from Allacrost for a good part of this year that I don't know what people are working on, or who some of the new people are, or things like that. So I think that my actions (or rather the lack of them) has led everyone else to feel decreasingly motivated about Allacrost and things just kind of gradually slipped away. Even though I'd like to resume the commanding leadership role that I used to have, I don't know if I have the capacity to do that if I'm also working and training my butt off. I've been trying to encourage some other people to step up into being leaders so that our team can continue to function well even when I'm gone, but its difficult.


One thing that I think would really help our team out in a phenomenal way is to have a team manager. We've had three team managers in the past (all of which have left the team). They've all been a great help in their own way, but none of them have really stepped up the way I hoped they would. I really want a manager who lives up to that title. Our previous managers have been more like "support personnel", helping with the website and other miscellaneous stuff. I want a manager who organizes people, sets priorities, organizes content, leads design discussions, etc. I know its hard for someone completely new to the project to step up to such a role, but I still hope that we can find such a person someday. I know the manager of the FIFE project, barracuda (who also visits our IRC channel quite often), and he is exactly for FIFE what I want our manager to be for Allacrost. We are currently without a manager, so after we get our next release out I think we'll probably solicit for such a position. If we can get an outstanding manager (or managers) and have other leaders on the team live up to their roles, I think our team will be in awesome shape.


Content production has been slow lately too although our main composer, Ryan, has been producing a lot of new music lately. I almost feel bad sometimes because he has produced so much music for this game over the past four years, and yet so far we have very little game in which to present his works. The programming team made a decision a while back to stop messing around with our engine so much. Our engine is still incomplete, but its in good enough shape that it can do most of what we need. Much of our time last year was spent working on the engine, which is great and all but it doesn't really do much to help progress of the game in the short term. We've decided that instead we're going to be more focused on our short-term objectives. We know what features we need implemented for our next release, and we're going to do exactly what is needed to implement that feature. That may require us to go into the engine sometime to add support for something, but for the most part we'll be working on code for the actual game.


For the past couple of days I've been working on Allacrost a lot while I'm on my vacation. And let me tell you it feels really good to be working so hard on this project again. I've been working on the map mode code and fixing some issues in there and preparing it for additional features that we'll need in the near future. Its exciting to work on challenging design problems again (something that has been mostly absent from my job). My motivation to work on Allacrost has increased nearly ten fold in less than two days, its amazing. I wake up each morning and get right to work on it without even thinking. I'm hoping that this feeling will last past my vacation and that I can make a full comeback into Allacrost. If that happens, I hope that other people on the team will follow my return.


Well that's about all I have to say about Allacrost. Now back to writing code. :)

Labels: , ,

Saturday, January 05, 2008

I'm not very good at this... -- part II

In this post I'll talk about how things have been going with regards to Allacrost. In short: pretty darn good. If you keep up with Allacrost news at all you'll know that we made our third demo release around December 10th. Probably the best part about reaching that milestone is how much more mature the game engine code is now. Particularly the video and audio engines are pretty darn solid. We didn't intend to work on the engine so much for this release (and its a large part of the reason why the release happened much later than we were hoping for). It just sort of happened.....mostly because I started mucking around in the video engine and ended up re-writing half of it, and then someone else took our new audio engine code with an OpenAL back end and integrated it into the main SVN trunk. I'd like to get a bit technical with what exactly was done in this area for a bit, so if you don't care about that kind of stuff then skip it :)

First the video engine. The main problem with it was that when the first full version of it was completed long ago (I think over 2 years ago actually), it was not done very well. Some parts of the design were very clever, but others were more dirty hacks than anything. The major problems I had to rectify were as follows below. Keep in mind that I have virtually no experience with graphics programming or OpenGL, so this was very much a learning experience for me.

1) Sparse comments -- a lot of things were ill-explained, or not explained at all. Other places had comments that were just plain confusing.

2) Code standard -- a large part of the code did not conform to our code standard. To give the original programmer credit, we hadn't really finalized our code standard by the time he was mostly finished with this. I asked him to go back and make it conform to the standard after his work was finished, but he left before even starting on that.

3) Bad design -- some parts were absolutely horrible. For example, the code to draw an image was implemented in the GameVideo class (the main singleton class for the engine) rather than the image classes themselves. Another example (which was incredibly difficult for me to rectify) was that all image classes were designed to contain 1-n "image elements" to support creating composite images (ie, representing an image formed from multiple images in the game). This really, really complicated the image code far more than it should have been. My solution to this was to allow our abstract "ImageDescriptor" class (which is our most basic type of image class in the engine) to represent an image element for the new CompositeImage class that I wrote, which is what is now used to support those types of images.

It was that third point that really took the most work to fix. I think I spent something like 6-8 weeks working on the video engine, and I didn't even finish working on all of it. I worked the most in the image and texture management code, which is really the "core" of the engine and what all the other parts of the engine build upon. Thus, it was the most painful to revamp. I also did some work in the text rendering code and GUI code, but those areas still need some additional work. I'm glad that all of this is behind us now, because it really was something that needed to be done (because the old design made expanding upon the engine insanely more difficult), but I got really aggravated at some points and focused my anger towards the person who originally wrote it. This person (who I shall not name) came on the team about two years ago, when we had an OpenGL graphics engine that was extremely rudimentary and could barely do anything. He really did an awesome job at providing us a full-featured engine at a record pace (around two months) so we were extremely grateful to him. I now realize the reason he was able to do it so fast is that he really skipped out on commenting, design, extendability, etc. I had originally told this person to focus on providing a really solid core for the engine (ie images and texture management, which is what I re-wrote), but he ignored my plea and went right into producing particle engines, distortion meshes, and all kinds of advanced graphics which we have not even been able to make use of yet. Worse still, a lot of those advanced features depended on the existing state of the graphics engine to work, so they will pretty much have to be scrapped now since I'm sure they don't work. After this person had finished all their work on the graphics engine, I asked him to go back and make it conform to the code standard, add comments, etc. and he left the team shortly after that (coincidence? maybe...). Anyway, the lesson I learned from all this: don't allow our programmers to do quick-and-dirty jobs because it takes such a large amount of time and effort to clean up their mess later.

Now the audio engine was also a bit of a pain in the ass, but it didn't absorb as much time as the video engine did. A completely new audio engine was written by one of our top programmers (who unfortunately had to move out of the country and left the team as a result). This version utilized OpenAL as our audio library, instead of the SDL_mixer library that was used for our 0.2.0 release. I had written an OpenAL library myself about two years ago, but there were a ton of problems with it because OpenAL is.....not very nice in many ways. For example, the code base for Windows, OS X, and Linux versions of this library are all entirely different...there's no common code! As you can imagine, this leads to quite a few problems in providing a cross-platform solution. We didn't have too many problems with that this time because we chose not to use ALUT (an OpenAL utility toolkit library) and instead implemented our own WAV and Vorbis file loaders directly. I think this engine is pretty solid now. In the near future we'll be adding distance attenuation (audio sources that get louder the closer you are to them) and customized looping playback of specified sections. This is actually the *fourth* rewrite of the audio engine. The first one I wrote with SDL_mixer, then wrote one using OpenAL, another SDL_mixer one when OpenAL was too buggy, and finally back to OpenAL again. I actually wanted to avoid using OpenAL again, but we can't implement the features we require with SDL_mixer, and there doesn't seem to be any better free audio library out there (we looked hard...couldn't find anything that seemed better than OpenAL). So I guess we're stuck with it.

Looking to the future, if you've read the main site at www.allacrost.org you'll notice that we're now working on demo 1.0.0. I'm really excited about this release (much more so than our other three releases). This is going to be the original demo that I wanted to have as our first release, but we weren't anywhere near ready for something like this 18 months ago and we needed to get an initial release out, so 0.1.0 was very under featured. The part I think I'm most excited about is that this demo will actually have a story and a plot to follow. With regards to most games, what motivates me to continue playing the game is to find out what happens next. I'm all about the story, and likewise Allacrost will have a strong emphasis on the story as well. Most of the programming work for this release is going to be in the actual game code, and only a small amount in the engine. I find writing game code to be more fun, because its easier to see the results of your work and get instant gratification for it. I'm really concerned about the artwork demand for this release though; I have a feeling that artwork might be the bottleneck for this particular release.

Anyway, that's all I have to comment on about Allacrost for now. Next week I'll talk about how my life in general has been going.

Labels: , ,

Tuesday, June 12, 2007

And... I'm back

So the last two months have been reasonably eventful (for me anyway). Yes, I'm still unemployed, but I can't get these damn recruiters to leave me alone. I get a call/e-mail from one nearly every weekday and I'm getting sick of re-telling my life story to them. I'll be looking for a job soon though, and I'm hoping that I'll find something I don't detest by the end of this month.

At the end of April I became a member at Lifetime fitness and ever since, I've been spending more and more time at the gym. One of the first things I did there was take a fitness assessment test that tells you your "body age" compared to your chronological age by measuring your VO2 max, strength, flexibility, and body composition. I did fairly well and my body age was 18 years old (my chronological age is 24). So that made me kind of happy to hear that. :) I spent most of May focusing on my weak point, body strength, but I also started cycling in addition to running. Towards the end of the month, I started swimming too, which has been a difficult challenge for me because...well, I like to breathe when I'm working out. :) Over the past 3 weeks I've been self-teaching myself how to front-crawl properly and I've come pretty far in such a short time. Now I can easily do bi-lateral breathing (turning your head to the left and right for breaths of air) rather than always trying to keep my head out of the water. The furthest I've swam in a day so far has been about 0.8 miles.

Yesterday my roommate (who is a cyclist and occasional triathlete) invited me to go swim in open water with a bunch of people that meet weekly to go swim. I went and it was fun, although a little freaky since I haven't properly learned how to sight. Most days if I'm not tired, I try to do two forms of cardio, but today I went all out and did three. I swam for half a mile, cycled for 12.4 miles, ran over 3 miles, and did about an hour of weightlifting. Needless to say, I'm totally exhausted as I write this right now, but in a good way :) Even though I won't be anywhere near race condition by the time it comes, I'm thinking of doing a 5K race on or around July 16th, which will be my 25th birthday. It is to be my official "come back" into the world of competitive sports. (For those that don't know, back in high school I ran cross country and track and I loved racing more than anything at that time). My roommate is trying to convince me to do a triathlon, and I actually think I want to do one too, although not until after I get comfortably back into running races again. Plus the way my training routine is going, its almost like I am already becoming a triathlete. ^_^

A couple days ago we finished our second release for Hero of Allacrost. Its a major improvement over the first demo we released in October last year. So far we've seen a pretty good stream of publicity and positive feedback. The most important thing about this demo, in my opinion at least, is that now our code base is mature enough that it is extremely easy to build onto what we already have. I re-wrote some major subsystems of the code after our first release, particularly I re-designed that map code nearly from scratch (to add free range movement support among other things) and I re-wrote the global code, which is the code that manages all of the data that different portions of the game share (characters, inventory, skills, that sort of thing). I haven't announced this on our site yet, but the plan from here is to make smaller, more periodic releases that add a small number of features/improvements over the previous release. We're also going to start a recruitment hunt tomorrow to increase the number of programmers and artists on our team to help speed up production. Needless to say, its an important turning point for our project (which is now 3 years old by the way).

Well I'm exhausted and need to get some sleep. Tyler out.

Labels: , ,

Wednesday, January 03, 2007

New Year

I had a concurrent nightmare about grad school my first two nights of the new year. In this dream, I suddenly discovered that I didn't meet the course requirements to graduate just yet, so I had to take 3 more classes, which I was pretty depressed about in the dream. One class was some crazy mathematics class on differential vector calculus or some esoteric topic like that, another was digital signal processing, and the last was some neuroscience class. Why these specific courses were required by my degree, I have no idea. When I woke up both mornings it took me well over 10 minutes to realize what I had just experienced was a dream, and that I am truly and absolutely finished with grad school. But you know what? I still don't feel like I'm 100% done, because I have no document or status that says "yes, you graduated". They don't mail degrees out for another week or two! Seriously, what school can you graduate from but still not know for weeks after if you really graduated or not?

Luckily I didn't have that nightmare three nights in a row. Last night I had a series of some very strange and very interesting dreams. I don't recall them very well, but in one of them I was at some track and three girls came up and started singing to me in unison while holding giant beer mugs in each hand. The song they sang told me that they wanted me to go to Louisiana with them so that they could take a picture of me and strawberry lemonade (why we had to go to Louisiana to do this, I had no idea). Then after they finished their song, they pored the contents of their mugs on my bare feet, which became covered in red, yellow, and purple yogurt. Yes, that's right. I have dreams about girls singing to me about strawberry lemonade while poring yogurt on my feet. No, its not some sick fetish that I've been hiding.

I've started working on Allacrost hard-core again, which feels really good. I did some work cleaning up the scripting engine, then I started working on the new map mode design, I've been mopping up the sloppy mess that we call our video engine, and I've been writing more of the story as well. I'm well enough now that I can do a decent job with these things, but my mind still is foggy so its more difficult for me than it should be. The map code I'm exciting to do a complete re-design of, because the old code was getting awfully messy. The biggest changes I'm doing to it right now are adding in support for free-range movement to replace our old tile-movement. Basically what this means is: you can walk more freely rather than being forced to walk only from tile to tile. It's a little tougher to code than tile-based movement, but it will be worth it. The video engine is pissing me off though. The code in there is just so messy and it doesn't follow the code standard very well at all. The data types used don't make sense half the time (using floats to represent the number of pixels, for instance) and its just generally frustrating. The video engine works and works well, to be sure, but when it comes time to modify it or add new features, it can be a nightmare.

Well one of my resolution's for the new year is to stop using my blog as an ad-hoc "emo Tyler diary", so I'll just say that I'm feeling much better after two weeks at home, but still have a ways to go. :)

Labels: , ,