• entries
135
130
• views
52849

This journal may contain languages not suitable for minors and some occasional swearing.

## zee floo

I'm sick, I got the flu, this sux.

I'm too tired and sick to do much, I worked a tiny bit on sgeMobile today, made a little headway into clipping against the frustum, and added the code to remove backfaces. I'm not sure if it's working 100%, I'll have to verify once I get textured polygons rasterizing.

I'll probably work on a program I made for this VOIP company last year, it seems they want to add 3 or 4 new features and are willing to pay for those changes, so it'll probably be some money, I'm gonna try to get them to pay nicely, since I can see how much they make a week (let's just say I wish I had setup a VOIP company).

Anyway, that's all I have, I'd still like some feedback on the alpha version of the Sphere Games new website:

Sphere Games Alpha Website

The themes still need a ton of work, work I haven't honestly felt like doing. There's also a poll on the sidebar, feel free to vote.

Thanks!

## Yesterday

Didn't write anything yesterday, it was quite a day, I was refactoring a bunch of script. My first idea didn't quite work as planned. But I was mentioning the problem to a friend and he suggested I try a point to line distance solution. Turns out that gave me a very nice, elegant and reliable solution to the problem. It took me all afternoon, but once the point to line stuff was working everything else just came naturally and started falling into place.

Today is one of those days in which I'll spend most of the day getting the level stable, playable and looking good. Then I'll add a feature and everything will go to hell, just like always.

## xRC, my new toy

So here's something new... a little while ago some bad shit happened that have put me in the place where I am today, long story short, I currently don't have a TV, except for the TV tuner card in this computer. Unfortunately, it's a pretty old TV tuner, so it does not have a remote...

Let's take this story back a few months, to E3... at E3 I won a cool wireless XBox gamepad, not long after I bought an adapter so I could use it on my PC (mostly for game development, I have no PC games that are suitable to play with a gamepad).

Fast forward to the present... one day while watching TV and wishing I could just lie in bed and switch channels, I saw the xbox controller lying around, so I thought to myself... why don't I just write a little program that will map the gamepad's output to keyboard keys...

I have not fully established whether I'll try to sell this, or release it as freeware, I guess I'd like to gauge interest on it and then decide, so, if you're interested and want to try it out, GET IT HERE

Here's a screenshot so you get an idea of what it is:

Oh yea, system requirements:

- Windows XP
- .NET Framework v2.0

Feedback, comments & bug reports are greatly appreciated!

## xRC is now freeware

Some of you might remember xRC, a little program I made that maps joystick input to keyboard input. It's a very simple program that I wrote so that I could use my xbox wireless controller to change channels on my TV tuner. I finally got around to yanking out the shareware type stuff and made it freeware, the only thing I did to it was put some ads for EasyShots, Explore++ and SleepyTime on it, in hopes that if someone liked xRC they'll try out the other programs too.

It's a little strange because I've only mentioned xRC here, and just that one time, and even then it gets downloaded about once a week... which means people either read my old posts, or that somehow google is pointing them towards it, either case it's pretty cool.

So here it is:

xRC (freeware) Map joystick buttons to keyboard input.

## x-mas wish list

Ok, so I decided to share with you and at the same time immortalize my list for Santa for this year so that one day I can look back and say "why the hell did I want that?".. but here goes:

1. Dell Inspiron 9300 laptop (with the good video card)
2. Dell Axim x51v (with the good video card)

hmmm, when did I become a Dell fanboy? hehe dunno... but those two are pretty awesome.

3. For EasyShots and Explore++ to sell really well.

That's it for my material wishes, I have a ton more non-material ones, such as "to become one with the universe and steal all of its knowledge"... I also have some new year's objectives, like "launch the first privately owned satellite made from old circuitboards and chewing gum into space". But I'll save those for a different list.

Happy holidays!

BTW, is it not cool this year to say Merry Christmas? jeez, next year they'll have to sell talking toy Santa's that either 1. have a disclaimer that is very quickly spoken after each "HO HO HO" or 2. Santa's new phrase will be "HO HO HO Happy time off work, but in case you do have to work, happy day at work!"...

## wth gd?

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.

EasyShots is great for taking IOTD screenshots, btw.

## WOW

Just signed up for the World of Warcraft stress test. I didn't get into the beta back when it started, and not being a real MMORPG fan I wasn't devastated. But from what I've heard, this one will be worth picking up, so I'm happy I get to play it in a couple of days, or whenever they open it for testing. It's downloading on my home computer as I write this.

On other news, I'm fucking starving, lunch won't be here for another 40 minutes...

What else? oh yea, I guess I'll finish this with another quick tip.

Never, EVER hardcode numbers, if you need to, use a const variable for it, this will describe what this number is being used for. Doing stuff like this:

float fAltitude = fCurrentAltitude * 0.304799f;

const float fMetersToFeetRatio = 0.3040799f;
float fAltitude = fCurrentAltitude * fMetersToFeetRatio;

by doing it this way you don't have to guess what's going on, it's plain to see you're converting fCurrentAltitude from meters to feet.

And that concludes todays quick tip.

## Work, 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.

## Why I don't post interesting stuff

The problem is that I have a conflict, I work in the games industry, so I can't just go freely discussing what I'm working on because I could get in trouble. And when I get home, if I do some coding on my own time, I usually get very into it and do it until I go to sleep, which leaves no time to talk about it here, except the next day when I'm at work, but since I'm at work... basically a while (1) with no breaks.

And it's not like I get to do anything that cool at home anyway, there's only so much you can do and not feel like you're neglecting your loved ones.

Oh, on that note, although I still play World of Warcraft (usually during my lunch hour), I uninstalled it from my home computer, it was too much of a distraction. Now I actually do some productive stuff at home. yay. (I do miss playing though, that game is fun, oh well).

Ok, on a development related note, I'm interested in learning a little bit about how MMOG's client/server architecture works (not so much high level, but low level stuff). Anyone know where I can find some good reliable information on this? I think it would be a really fun "hobbyist" kinda project to make a little MMO system, even if it's just a sort of chat room in its first iteration.

Oh, I forgot to mention something... I changed webhosts for my website, and when I did and needed to update the DNS servers on my domain, I found that network solutions had somehow lost most of my website's registration data (even though I had renewed my domain name for the next 6 years about two weeks ago). I had to call them several times and fax them some data that proved I owned the site at some point before I could regain control of it.

But, it's all straightened out and I am going to take the time one of these weekends to really overhaul the site, improve the layout and change some things.

## Where have I been?

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.

## Well this is a first

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?

Here's the sort callback:

** code removed because it was embarrasingly dumb **

nevermind, I fixed it

## Welcome to the world of tomorrow!!

I neglected to write a post about a great milestone in my life. I am now the proud father of a little baby boy, who I hope will be impressed when his brain develops enough to understand what his dad does for a living. His name is Luka and he was born on June 26th, which happens to also be my birthday, he has a really cool birthdate 06/26/06.

Here he is, notice how his hands have perfect keyboard posture, he's asking "is that a laptop?"

He was not thrilled when I told him I couldn't bring the xbox to the hospital.

His mom is healthy and practically recuperated and he's doing great, and we're all sleeping very little, but it's ok.

## Weekend in SF

So I took this weekend off and drove up to San Francisco, took the 101 all the way (it's the scenic route). It's such a nice drive, next to be beach, all the vineyards along the way, and just nice scenery all the way.

I do wish I could afford a laptop, our hotel room had free DSL hookup, but I guess we all need to be unplugged for a while and just enjoy the outdoors and small vacations.

So yea, no programming post right now, maybe tonight if I get anything significant done, but I think today will consist of figuring out where I left off and picking it up from there.

So, anyone get a PSP? does it live up to all the hype? I probably won't get one, just like I never got a gameboy, gameboy advance or gameboy advance sp... even though I always said I would... I just don't really have time to play portable games, the only time I could actually play, is when I'm driving home, or to work, but there's one problem... I'm driving. I rather have a beefy laptop.

Ok, for a non-programming related post, this is getting too long. Cya.

## tucows.com

tucows.com has a sleazy business practice... their business model is to make people buy expedited software submission, if you don't, they'll place your program in a queue, a LONG queue, EasyShots is currently at 1009/1634, which means it'll be about 30 days before it gets CONSIDERED to be posted.

Now, their submission website is IMO messy, lately I've seen several, some are really bad, some are real nice, some just get the job done...

Anyway, what's the sleazy business practice? well, after my program has been sitting in a queue for about 40 days, they send an email saying the application has been rejected.. here's the reason:

because the submitted file was named one
of the following: setup.zip, setup.exe, install.zip or
install.exe. Please choose a file name related to your
program.

First, the file name is setuptrial.exe, but I understand it's not related to my program, so I agree with them, what I don't agree is that nowhere in the submission page did it said "warning: if your program has this criteria, it will be rejected", and if it does say it, it must be some really small print, because I'm pretty sure I read everything, at least everything that wasn't hidden away by some tiny link somewhere.

Now, why is this sleazy? because after 40 days, they put you right back at the end of the queue... back at 1634/1634... it took me
But, for $50 you can buy expedite submission... for$65 you can buy expedited and you get to choose the date you want from a little box, and for \$2000 you get expedite all your submissions for a year..

Now this may work for a large corporation that mass produces software, or for those developers that have had an insane streak of hits that generate tons of money... but for a guy that's just starting out, and who has actually invested more money than what he's made so far, it just doesn't work.

What's even funnier is that in 82 days, I'll probably have a v2.0 or more of Explore++.. which means I'll have to resubmit, or submitting the update will take at least 40 days... but they'll be nice to offer me expedited submission.

## Trip is back on. 90% sure

It seems I now fly out tomorrow morning, with a somewhat upside down schedule... damn stupid money hungry airlines... they f'd me up on purpose from what I can gather. I'd complain tomorrow, but then they'd probably spit in my crappy airplane food, I'm not sure if that'd be an improvement, but still.

On game development related news, this morning I got the rest of the 3d transformations to work properly, and I now have a rotating triangle that is also moving along the Z axis with perspective projection.

Next step will be to get the textured polygon rasterizer, and then I'll finally be able to check if the BSP code is working, and I believe it is.

I was also very happy that with all the transformations, I didn't lose much in terms of framerate, it did go down a tiny but, but it's just a fraction, so it's good, it also means that the fixed point math is doing what it's supposed to, and that makes me happy.

## Trip cancelled - temporarily, I hope

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.

## Trialware development

So, as I mentioned in my previous post, I have launched my very first serious trialware application, Explore++. This project was my first ever in C#, before doing it I had only glanced at what C# code looked like.

Now, I'm not the kind of guy that gets into what language is better, C++ or Java, Java or C# and so on.. to me that's a waste of time. You find the most appropiate language to solve a problem and you use it. With that out of the way, let's continue...

I really liked a lot of things about C#, and I also disliked a couple of them, but not enough to make them worth mentioning. I liked how (relatively) straightforward it was to do almost everything, I liked making a custom control and having it appear on my controls toolbox then dragging that into my app and bam! it works. That was cool. With MFC it always felt as if I was fighting VS to get what I wanted to work, with C# most things just kind of worked like you'd expect them to.

Interoperability stuff took me a bit longer to learn, although when I figured it out I realized how not terribly difficult it is, just well, not what you're used to doing with C++.

I released Explore++ two days ago, and I'm pretty happy with the amount of downloads it has received so far, I'm sure that number will go up once it's posted on the cnet network of download sites.

Now that my first application is done, I'm planning my return into games. I'm thinking of making a simple 3D game using managed directx whenever I feel I need a break from working on SGE.

Speaking of which SGE deserves a post of its own, I'm tired of how incredibly difficult this architecture is proving to be when it comes to dynamic rendering of stuff, so I'm seriously considering ditching the deferred renderer and switching to an immediate renderer instead... but I'll post more about this later.

## Tired

So I haven't been around much these past couple of days... my wife got a job that requires me to wake up at an extremely early hour in the morning to go drop her off... being the night person that I am, this is problematic because now I feel tired at night when I need to be up and doing my stuff. But, I'm sure I'll get used to it and I'll be able to get back to my old routine, or close to it.

Not a lot of interesting stuff, I'm still having that UV problem, sorry I keep missing you Rick, I've been in bed when you've msg'd me... =(

Hopefully I'll be able to lock that down during the weekend, it's gone on for far too long, it's weird, I didn't have this problem when I wrote my own 3dsmax exporter back in the day... now I've tried two exporters and I get the exact same results, and the author of one of these exporters said my code was fine... so annoying.

## Tiny sub-vacation

Ok, so my motivation has been low the past couple of days, I find that this happens whenever I lose my train of progress... I went to the beach over the weekend, which halted all work I was doing, now that I'm back, I haven't quite felt like working... it's terrible. Vacation is a double edged sword, on the one hand you get to relax, rest and enjoy life, on the other you feel like it should ALWAYS be like that and you don't want to do anything. I thought I was going to return refreshed and ready to work more, but turns out I didn't. But I think I'll get back on track starting today.

Anyway, that's all for now, hopefully my next post will be development oriented.

## This sounds fun

I was just reading about LaMothe's new creation, the XGameStation. Here's what it says:

This sounds like something I would like to play with, it would be real interesting to write a 3D rasterizer for this system. See how far the cpu on it can be pushed.

## They call me CMS master

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.

## The word is out.

The first screenshots, and a video of the stuff I've been working on have been released. Here's a cool screenshot of it:

Screenie

yay!

## The universe tends to unfold as it should...

I don't remember where that quote comes from (some movie), but it stuck in my mind and for some reason my subconscious is always reminding it to me, especially when things aren't going all that great. Things do seem to be slowly turning around and getting a bit better, we'll see how everything 'unfolds'.

I got the new architecture for SGE working, at least the barebones of the scene graph implementation. It's not at the same point where my previous architecture was yet. I've been porting over different components and man am I proud of the work I did in making each component self sufficient, porting has been extremely easy.

Oh, I also ported the project to VS.Net 2005, and was pleasantly surprised at what MS did in deprecating some old C functions and replacing them with safer versions, I'm not sure if this is an MS thing only, or a C standards change, so I'm not sure what the cross-platform implications are, however, everything is nicely enabled/disabled with a #define, so it's not a big deal, in fact, I put the define in an #if _MSC_VER >= 1400 block, so those defines only get used in VS.Net 2005.

VS.Net 2005 is nice, I haven't used it all that much to find a lot of things. However, I was a little disappointed that some rather small, yet very useful things didn't make it. Particualily, things that VisualAssist gives you. For example, something I use a lot in VA is the ability to open the corresponding .cpp for a given .h or viceversa, I was hoping they would make that part of the VS.net IDE (if it's there and I just haven't seen it, please let me know). IMO VA also provides much nicer syntax highlighting, and although VS.net did improve their syntax highlighting, it's still not as complete as VA.

That is all for now, I need to get back to work on SGE..

I hate them.

That is all.

## survey

I just got back from a nice weekend at the beach. I feel very relaxed and ready to start working a lot.

I haven't received any replies to the easyshots surey, I really want to improve it, and I can't think of a better way than by asking people who have tried it, or are currently trying it, what they think would improve it...

Patience is a virtue I suppose.