• entries
135
130
• views
52469

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

## I'm out - for now

I just clicked on the 'Cancel Subscription' button, this means I wont be renewing GDNet+ at this time. Why? for many reasons, most of which are personal, no I'm not getting out of games (not yet), no I don't hate GameDev, I quite enjoy it, actually. I'm just trying to evaluate where all my money, or lack thereof is going. I work in the gaming industry, and I haven't been able to afford an xbox360... and I've been wanting a new computer of a decent laptop for a while now but somehow, I never have enough money. So I believe I need to reduce my expenses as much as possible, then identify where the money is going and then decide where I want to use it. Plus, I have more bills now than I used to, hell, the gas bill up here is like \$80...

Anyway, I'll be back (will my journal get deleted? that would be crappy), hopefully soon.

Cya.

## It's getting ridiculous

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

## Je suis fatigue

So between the baby and the new job I don't really get a chance to do much lately. Work is going great, there's plenty of it and I'm having fun, though I am tired; I haven't been working what I consider long hours yet, but I've definitely been doing a big of OT, which is fine because I really like the game I'm working on (did you see EGM's cover this month?)

I've been thinking, but I can't seem to decide... I would like to make some more money on the side, sempesoft.com is not generating as much as I thought it would (or hardly any at all), so should I bother making a small puzzle game for the pocketpc, it would be something I could make fairly quickly, and sell it, or should I continue with SGE and the game I've been planning.. which I also plan to sell one day, but it'll take more time to get there. It's a tough decision, because I have so little time to spend on this (although it's getting better, we're getting the hang of the baby).

Anyway, that is all for now, it's 8am and I gotta get ready to go to work. Oh yea, I never though it would be this f'n hot in Montreal, it's been so hot and muggy that I'm actually looking forward to winter.

Finally, a few days ago I ran into a programming issue that I wanted to share, check it out here: site I could definitely use some opinions, I haven't been able to spend much time figuring out what's going on.

Oh, and the french lessons are going well, hence the title (btw, e does not work on the title)... hehe

ce tout, au revoir

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

## Happiest place on earth?

Guatemala is among the top 10 happiest places on earth according to this:

http://www.happyplanetindex.org/list.htm

I guess it would be for me if there was a game development or large software development industry (which I predict there will be in 10-15 years), and if there wasn't as much violence and terrible governments that keep the country poor and underdeveloped. It's also not the case that there is so much violence, there probably is the same amount of violence in other places in the world (LA), but it's in a much smaller country/city, so you're affected more directly.

It's a pretty nice place, the weather is awesome most of the time, really nice tourist places to go to, very welcoming people, good schools, lots of cultural diversity and a city that's growing too fast for its own good.

Anyway, I gotta go make games now... I've lingered here too long.

## bleh

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.

cya.

So I'm working on getting importing models with full skeletal animation support. I've been doing this for the past couple of days, but mostly I had just been evaluating my options. First I gave Cal3D a try, setting it up was a pain; I'm not fond of DLL's, not for something that's not a plugin to an existing application, I know they're useful in some cases, but if I can avoid them I'm happy, I actually forgot what was the ultimate reason why I decided against it, I didn't like the way it was coded, I didn't like how a model was broken up into many files, just too many negatives. In the end, I decided to go with Microsoft, I mean, I'm already using Direct3D, so why not use their file format?

It took me about 20 minutes to get a hacked in animated character (that completely bypassed my entire rendering architecture), and now I'm working on actually making it conform to the architecture; here's the first thing I saw when I compiled:

This is actually better than I expected, I expected my computer to die a horrible death, but instead I got that! So it's all good, it just means somewhere the data is getting read or written incorrectly and it's jacking up the indices, or the vertices. Shouldn't be too bad to figure out.

Alright, I'm going to keep at it because it's pretty exciting.

Cool, just a few minutes after writing this post I found my error, I forgot to account for the index buffer stride, so after quickly fixing that:

Now, I know that looks weird, but, that's just because I have only converted the geometry over, I completely ignored all the transforms, so every "submesh" is being drawn at the origin (everything has the identity matrix as its transform), so now, it's only a matter of getting the right transforms for each submesh, then I'll have to also get the frame data for the animations and get the bone information as well.

If all goes well, I'll have an untextured, skeletal animated model tomorrow, making it textured is the easiest part, all I need to do is load the textures into the manager and save the handle in the submesh's material, it's so easy, I'll leave it for last.

## Beware of zombies!

I thought this was pretty funny, so I decided to share it...

I can never go near that file again, I do not wish for it to eat my brains.

*edit: I had the wrong image before...

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

## So good

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?)

Ok, more later, gotta while (IsWeekend()) { drink coffee; write code; }

## 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

## Finally!

I was FINALLY able to get all my projects in their right locations with all the perforce bindings working correctly, at least it seems more likely that it worked this time. It seems that everytime I think they're working when I come back at night and start messing with the projects, they're not quite right. I do think I got it right this time, that's the one thing I don't like about perforce, it's not always easy to get the projects working correctly, but once they are, it's so damn cool.

So, I've been thinking a lot about it, and I think I've finally accepted what I always knew, but didn't really care. I've been concentrating too much on writing an engine, which is fun and all, but it's not going anywhere. This is perhaps because the goal is elusive.. a moving target even, the closer I got, the newer more advanced thing I wanted to add... there was a lot of work, but not enough direction, no vision.

So I've decided that I'm going to take what I have, do a quick evaluation of what stays and what goes (I already have a pretty good idea what that is) and I'm going to move in the direction of writing a game.

On the game design side of things I already have an idea, an idea I like quite a bit, so I'm working on evolving that idea into a design. Currently I have a page with a story overview (I'm keeping the story light, but I do want some story elements) and a couple of mindmaps with ideas and structure.

Hopefully, I'll be able to keep this simple and finally evolve SGE into something more real.

## Fresh start, again

Today I bought a 250gb HD, it was at a pretty good price, I'm pretty happy about it, the only thing that I don't like is that I had to redo everything I had done since last week again, I'm just now finishing up installing my software again and I still have to setup my projects and redo my perforce bindings and all that fun stuff. The great thing about it is that now I have a separate 80gb HD that I'll put in one of those external casings and I'll use it to backup my project to it nightly.

In other news, I started up a GD group for Montreal, there wasn't one and there's like 130 people from Montreal registered. It might be fun, I look forward to people joining, it might be fun to do a gathering and meet some of the people here in real life.

Alright, I still have a lot to install, so I better get going.

## Not much to report

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.

tabarnak!

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.

Ok, I'm getting tired, so I better get back to installing shit.

## Busy, busy

I keep wanting to post here, and go back to programming at home a bit, but I've been really busy, not so much at work, the work is cool, maybe a bit slow since we're in post-E3 mode, but nice. But Im still unpacking, and the last two nights I've gone to pre-natal classes with my wife (we're having a baby REAL soon), so we have tons to do, like setup the nursery and finish unpacking and cleaning up.

In addition, my computer is going real slow, so I think it's time for a good ole format of the C: drive, but that's time consuming and I have to do it in one sitting, I don't like leaving the computer crippled or vulnerable by not doing it correctly, perhaps I'll get a chance this weekend, Monday is a holiday here in Montreal, so it's a perfect opportunity.

And now I gotta run off to work, yay!

lates.

## EA Montreal

It's been a while, I know... I'm currently at my new job at EA Montreal and it's awesome. I've moved into an apartment, but I haven't set up my computer or subscribed to an ISP yet, so I can't update from home.

Anyway, Read this it's a bit about EA Montreal and the project I'll be working on. This game is going to be awesome.

## It's official

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.

## Pulled the switch

It's done! I've pulled the switch and the new Sphere Games site is now live.

www.spheregames.com

For sentimental value, I left a copy of the old site here:

www2.spheregames.com

at least for a while, and in case something catastrophic happens I can revert back to it.

## a game?!

Ok, so I'm FINALLY working on a game project. I started yesterday with some real basic stuff. It's going to be a small puzzle game in C# that I'm going to try and sell similar to how I'm selling EasyShots and all that.

I figured, I already have 3 programs out there, instead of using my time and energy on a fourth one (which is already in development), I'll give making a game a shot.

So here's a bit of what I know:

- Will use C# with .Net framework 2.0
- 2D puzzle/action game
- Uses DirectX (Direct3D for 2D, no HW stuff)
- Single player
- PC standalone & web version (web version will be a port, no details right now)

Here's what I have:

- A prototype game design
- A basic 2D drawing library (at 'alpha')
- A photoshop mockup of the game interface
- A high level design of the game mechanics

And that's it... I'm still thinking and writing down ideas because I currently don't know where to begin, and to me that means I have not properly planned and design the game, so opening up visual studio and programming blindly would cause this project to quickly make its way to the "incomplete" bin, instead I'm going to go plan more... way more.

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

## New Release: SleepyTime

Hello!

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

## Sphere Games Website

Today, in just a couple of hours I added the ability to for people to add comments to my "news" postings on Sphere Games essentially turning it into a type of blog.

I think that's the last bit of functionality I want to have working, now I just need to work on the content, which I think the heavy part is done (the gallery was a lot of work), and then it's just a matter of evolving the site over time.

Tomorrow I will very likely upload the newest update to EasyShots, it has couple of new features, a couple of fixes and a couple of optimizations, it's the best version yet =) I'll post here when the update goes live.

## .Net 2.0 bug?

I'm currently updating EasyShots a bit, and in doing so I added a new feature. I now allow images to be dragged into EasyShots, once you do, you can manage them, edit, send them and everything that EasyShots lets you do. It worked great, that is until I tried to drag an animated GIF into it.

Dragging the GIF into it wasn't a problem, when I went into edit mode the program threw an exception deep within .Net code, particularily inside the code responsible for switching the GIF's frames.

So after a while of debugging, I came across this piece of code:

FileStream fs = File.Open(mImageFilename, FileMode.Open, FileAccess.Read, FileShare.Read);mBmp = new Bitmap(fs);fs.Close();

So, I thought, could it be possible that in creating the bitmap in that way I lose valuable information?

I replaced that code with this:

mBmp = (Bitmap)Bitmap.FromFile(mImageFilename);

and this worked. So I wonder if it's a bug, or perhaps it's documented somewhere in MSDN (I didn't look) that creating a bitmap from a stream does not guarantee the same results as using the Bitmap class to load the image directly.

But nothing is free... the second approach may fix animated GIFs, but it appears to leave my file open, so when I try to update it, I get an exception that says "Unable to write file, another progress is using the file".

So I guess it's actually two bugs, first using streams to open files loses a GIF's structure, and using Bitmap.FromFile does not close the file after itself.