Entries in this blog

This just in! Terrorists were planning on using clothes as explosives in airplanes, from now on, everyone must fly naked!

Ok, so it's not an actual headline, but at the rate it's going I won't be surprised when full cavity searches are "standard procedure", hell, they already fondle old ladies, cause everyone knows that grandma can be one mean terrorist.

When I was a kid, I used to love flying in an airplane, now it's one of the most deplorable things you can do, even worse now that I won't be able to fight with damn dehydration by bringing my own water or gatorade in, I'll have to drink the 0.42 oz. of soda they give you. Screw that, if you're getting on a plane, demand that the airline have a large bottle of chilled gatorade waiting for you inside the plane, I think if consumers begin to demand stuff, they may get it.

We should all as the world community use the money we would've otherwise spent at the duty free and fund research into teleportation. Anyway, enough ranting, I gotta go to work

I've been plugging away at the changes requested by the VOIP company, it's been going well, even though it's not the most fun work there is. At least they pay well.

Communication with them is a little messed up though, I ask "do you need this X thing to change?", they tell me "no, that's fine", then I get an email from the main guy "we need X to change"... quite annoying, I had to refactor some of the work I had already done, something I would've taken into account from the beginning, had they gone ahead and said "yep, we need that"...

it's hard when your customer doesn't know what he wants... then again, that's pretty much how software development is... requirements are constantly changing, it's a good thing we like what we do, at least most of us... I think... hell, I do.

Infinite loops result in some truly unpredicatble behavior. Especially when the infinite loops exists in a script rather than in code.

Basically I had a function (I'll call it FunctionA) that worked something like this...

while ( conditionA is false ) pause execution here

if we got here, then call FunctionB

then in FunctionB I had

while ( conditionA is true ) pause execution here

if we got here, then call FunctionA

So, this worked nice and didn't cause any problems... that is until a different bug somewhere else caused the object that was being tested for conditionA to be NULL.... so now, the while test would be undefined, and the scripts behavior in this case is to keep executing... that's where all hell broke loose and eventually resulted in a stack overflow.

It's a silly mistake, I should've thought about this problem a little longer before I implemented such a bad solution. Oh well, I refactored that piece of code and I'm about to test it.

So, I've kept working on the new website, and although it's currently in a prototype stage, it's already so much better than that blog crap I was using... ok, maybe I'm exaggerating, the blog thing was actually kinda cool because it automated everything for me... and for some reason it seems to get a TON of hits, although nobody comments on anything, so I don't know for sure if my web statistics are correct, so I'm kinda planning on integrating the blog thing into the new website, I'm thinking wordpress somehow links blogs with each other or something because I can't quite explain where all that traffic is coming from.

It's so nice when things actually work. This weekend has been incredibly productive, I ported everything to VS2k5, I'm using a new project organization which is working very nicely, I used to have a separate project for each component, like Renderer, Game, Input, Network, System, etc. Now I got rid of that, I have 1 project, SGE and all my files live under it, and I create a separate project for an executable, so now I can do stuff like, work on my game, but if I want to test out a feature, I can create a project for say, AnimationTest, and it will create its own executable, or maybe to join the 4E5 contest.. hmmm...

The contest sounds interesting, and although I haven't seen the movie or read the book, it made me think of the Da Vinci Code...

Anyway, I've got good inertia going, and the weekend is almost over (who was the genius who carved in stone that 2 days were enough?)

My CMS for the new sphere games site is going incredibly well. I've been working on it for two or three days now (days kind of blend between each other for me, it's hard to keep track), and I have a pretty decent layout prototyped, the login mechanism works and so does the admin page.

Once in the admin, you can add news items, or view a summarized list of all the items from this list I'll be able to edit or delete news items if necessary. Adding news is now really cool, I integrated FCKeditor, which is pretty damn cool, so all my news can be easily authored, plus you can add links, images, formatting and all that good stuff.

So, it's going really well, I hope to be wrapping this up by the end of the week, I have a ton of stuff I have to do, and a ton of stuff I want to do... so I can't spend much more time on this.

My work permit has been approved and this pretty much closes the deal. I'm moving to Montreal as soon as next week to start working at EA. I can't wait, I'm very excited to go back to EA, while some people complained, I enjoyed it enormously and I'm sure I'll continue doing so.

My posting frequency may diminish, although I intend to find out EA's policy on "blogging" to see whether I can post more programming stuff than I have so far.

So that's the news I have for now, I gotta go pack stuff like crazy, make backups of my HD (I never trust those xray machines, even though they seem to be safe) and do a whole bunch of stuff, man, I got tons to do, I better go do it.

I've been so tired the past few days... it's starting to affect me... I don't want to do much of anything, I spend half the day fighting to stay awake... it's not work either, work has been great, it's the amount of activities that I've had after work that's killing me. I've been attending childbirth classes with my wife, but since she's due real soon, we had to take several a week, when normally it would be one a week, and each of these classes lasts 3 hours. We're still unpacking stuff and cleaning up our new apartment, which sounds easy but it's surprisingly more work than you'd expect, add to this the fact that I now do a lot more excercise than I used to, I now walk a few blocks to the metro station, then walk through a mall to get to work.

I was pissed off yesterday, I had left work, I was feeling shitty, I got on the metro and I stood holding on to one of the center poles, reading Lord of the Rings: The Fellowship of the Ring (yea, I hadn't read it until now, I'm a bad geek), when an asshole that was sitting right next to me decides it would probably be funny to light a firecracker inside the metro, from the corner of my eye I saw the bright flash for a split second and then the sound hit my left ear, immediately I went quite deaf and could only hear that loud ringing in my ear. The doors opened right at that moment, so I walked out and got on an adjoining cart so that I could continue to enjoy my book.

Yesterday I completed another portion of Sphere Games' new website CMS, it's awesome, now I can modify portions of the site from the site's admin section, by the time I'm done, I may not need to FTP to my site to change anything, in theory at least, I doubt I'll have time to bring it to that level, but at least I'll be able to add content quite easily.

Well, my short trip did not materialize.. not by choice, there was some error in the way the flight was booked, I've communicated this to the powers that be and I'm currently awaiting a response, hopefully it will just get rescheduled.

I'm currently writing a better architecture, currently the demo we have is written in structured C (because it's my friend's strong language), while I'm taking that porting it into an OO architecture and optimizing everything I can.

We also have a very simple terrain.

All in all it's going real well. Here's a real quick checklist of what we currently have:

Ok, so something bothers me about gamedev. When I released EasyShots, I sent an email to announce it in the news section, I know it's not strictly a gamedev tool, but *I* use it to take screenshots of my works in progress, so I thought gamedev readers might be interested; my news never got posted, I wasn't happy, but I thought that perhaps gamedev is just trying to seem like a more _industry_ portal, I mean most of the news that get posted are industry news; but anyway, I didnt even get a response saying "sorry, we wont run your news, we are trying to stick to industry type things", which I would've understood... but I did not complain, I just kindly let it slip.

But now... I saw that currently there are only two prices posted for 4E5, so I thought I'd give up a license of EasyShots to every contestant; I sent an email to the link they have on this page with my offer, this was on either friday or saturday... maybe I'm not as patient as I should be, but at least send a "we're busy but we'll get to you..." reply.

My offer still stands, albeit "unofficially" for now, if any of the contestants is interested, send me a PM and provided that you can with a link to your entry and I'll happilly hook you up.

I was able to get the mesh to draw properly, but I stopped right before I started converting the skeleton and animation data and I havent been able to pick it up. I had some time this weekend, but I just couldn't get myself to do it, so I decided to rest, I need it, my wife is going to give birth any day now and we're all anxiously awaiting the big moment.

Anyway, I'm cooking, so I gotta go check up on the sauteed shrimp & potatoes, it's my own recipe, yum.

I didn't get much time today to work on sgeMobile, but I did get a spinning wireframe triangle to render. Now, this may sound like a step backwards, but it's actually a huge step forward. For a couple of days I've been moving all the rasterizing and rendering code into our C++ architecture, and yesterday I had all the pieces in place for rendering, but it wasn't working correctly.

I found out that it was mostly due to a problem in the code that generates the lookup tables for sine and cosine, I made an awful mistake (and I paid for it)... long story short, I needed to use ::cos(theta) instead of cos(theta), because I had named my function in fixedTrig cos and sin respectively... yes, bad choice, I know... I don't even remember doing it, so I'm guessing it must've been early in the AM...

Now, I still need a couple of things to get this just right, the world to camera transformation is not quite working, I suspect that there's a bug in the code that generates the view matrix, shouldn't be too hard to track down. Once that code is working, I'll need to do the camera to perspective projection, which is already written, just needs to be tested.

With all that in place, I'll be in good shape to start porting over the textured, z-buffered rasterizer... which reminds me, I also wrote a ZBuffer class, it's just a helper class that allows me to create a 16 or 32 bit zbuffer, and properly deallocate it when I'm done.

Well, I kind of have disappeared for a couple of weeks, and a lot of my projects are either on hold or going at a very sluggish pace... but there's a good reason, a reason I have not yet shared with you my fellow game makers.

A couple of weeks ago I wrote a little bit about a short trip I was going to take, but I didn't go into much detail about it. Well, I flew up to Montreal, QC for an interview at EA. The interview went great, I almost immediately felt like I was already part of the team the way everyone was with me, I had a ton of fun interviewing, which was completely different than what I expected.

So, about a week after I returned from that trip, EA extended an offer, and I accepted it. So, it seems I'm going back to EA, yay! I'm very excited, I'll be working on an unannounced project, which I don't even know much about, and what I do know I probably can't (or shouldn't) say, but it sounds really damn cool.

So right now, all that is pending is the work permit stuff, which is being processed and I should hear something about it anywhere from 10 to 15 days from now, and I think I'll be flying up to Montreal around the time this month ends... just in time for summer. I can't wait.

I submitted a news item about the LUA tutorial, I want as many people who are interested in adding LUA to their games to check it out. But the news item has not been displayed... is it that these type of news are no longer published? I remember a few years ago when I submitted news about the skydome tutorial and that one did get posted.

So what's the deal? is the news section now strictly for industry-wide news and no longer for news that may be interesting to the community? or is it just that there is a huge queue of news items that need to be approved?

So here I am at work, I just signed up for GDNet+, like many others my main motivation to sign up was to support GameDev which through the years has been a great source of information.

Not many people here know me, in fact, probably no one does. I've never been the kind of guy that spends a lot of time in forums, at least not writing in them, I do read a lot of posts that catch my eye on here, but usually people beat me to replying with a solution.

Also, the fact that the project I'm working on is getting close to being done doesn't give me much time to do anything, other than work. I haven't gone surfing (in the ocean, not the web) in months, I sure miss it. I might just say 'fuck it' on sunday and go, it'll be a good way to unwind and release some of the pressure.

Don't get me wrong, I love making games professionally, especially the project I'm on. But it sure is a lot of work, so much work in fact, that I no longer play as many games as I used to. And when the game I'm working on comes out, I wonder if I'll have time to play it. I'll have to make time because it's going to be an awesome game. And yes, I am biased, but it's not like I made the whole game, there are levels that I haven't even seen, or that I've only seen glimpses of and they just look amazing.

Ok, it's time to go grab some lunch. Damn, I didn't bring money to get a soda from the vending machine.

I just released a new program, it's called SleepyTime, it allows you to schedule when you want your computer to shutdown, reboot, log off, suspend or hibernate. It allows you to set a specific time or to set a minute timer. It's incredibly useful if you don't want your computer to stay on all night after you've gone to sleep, or if you want your computer to reboot after a long process is complete.

You can check it out here: SleepyTime

I also updated EasyShots, here are the latest updates:

- JPEG quality is now set to the highest possible - Screenshots can now be resized in the edit window - Resized or cropped image size is now properly updated in the thumbnail list - Edit window will not get set to a size larger than the desktop resolution upon zoom - Crop & capture box dimensions are now white text over blue background, improves visibility - Optimized area capture - Images can now be dragged into the thumbnail list - Thumbnails for small screenshots are no longer zoomed in - The + and - keys now control zoom in the edit window - Optimized screenshot capture and thumbnail list process

I spent all day yesterday fixing my damn pocketpc... I don't know what happened, but my game executable now kills it, it makes it lock up, the weird thing about it is that I set a breakpoint on the very first line of code and it never hits it, by that time it's already locked up, so I have no idea what's going on.

At least I got the thing to work again, and was finally able to install the rom update, which was a big pain in the ass. So at least, today I'll be able to determine what happened in my project that's causing the pocketpc to barf... hopefully, it doesn't take me all day to figure that one out.

So I'm in the middle of porting my old code to VS 2k5, and I'm running into this:

when I use std::sort

I guess it's possible that I was always doing something wrong, but it used to work well. It also could be that something from my port is broken and that this is a red herring, but who knows. Has anyone run into this?

Today I formatted my C: partition, reinstalled all my software (well, I'm in the process of doing that) and next I'll be cleaning up my development drives and preparing for a new wave or renewed enthusiasm and desire to take SGE to the finish line. DX9 SDK April 2006 release just finished installing, yay!

I have a ton of plans on how I'm going to move forward, I haven't cleaned them up into human readable form yet, currently it's a combination of unintelligible streaks of ink in a notebook and deceiving diagrams, but after I'm done getting all my software back into shape, I'll have something nice and clean to work with.

Anyway, things seem to be going a bit back to normal, and some sort of a routine is starting to develop, which is fine, it'll make planning a bit easier... at least till until a month from now, then there'll be a few weeks of disarray and reorganization, but I don't think it will be so bad... sleep deprivation is a friend, not food.