About this blog
This journal may contain languages not suitable for minors and some occasional swearing.
Entries in this blog
Guatemala is among the top 10 happiest places on earth according to this:
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.
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.
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.
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
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.
Ok, this is just a shameless bump to get a few more opinions on my new website:
woo! I just finished writing a new tutorial... I'm not gonna give it away just yet, I still need to package it up, add the links to the web page, send out formal announcements and do a little dance.
None of which I'm going to do right now cause it's almost 4am, which means something to some people... but I feel a bit tired, so might as well get some rest and release the tutorial once I'm rested. I'll also proof read it when I'm rested... probably a good idea.
and I'm out.
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.
So, I have a "beta" version of the new Sphere Games website... I guess it's not techincally beta, it's more of a prototype. I'm still debating whether it's in the direction I wan't to go, mainly because I envition it being a lot of work in maintaining it up to date, and writing new tutorials...
If you notice, I tried to keep the ads and things like that to a minimum, but I am interested in making a few extra bucks, it'd be nice to at least make enough to pay for the hosting.
Anyway, you can take a sneak peak here:
Sphere Games Prototype Website
All feedback is appreciated, especially if you hate it.
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.
I'm happy to share with all of you that I just released a new tutorial. Using LUA with C++
It's based on the implementation of LUA within SGE which I believe is very easy to use, so I hope that the people who read the tutorial think so too.
I also added a tutorial on texture management, previously, you could only get the demo with source code, so I threw together a short guide on how it works, and how to use it. You can find it in the same page as the LUA tutorial.
The demo for the LUA tutorial came out cooler than I expected, I noticed D3D9 came with some very nice sample artwork, so I borrowed it for this demo. After all, it IS a Direct3D 9 demo.
And now, I have to roll out the VOIP software... I hope it works "out of the box"...
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..
So, for the past couple of weeks I've been talking about the CMS I was creating for the new Sphere Games website and it's finally to the point where I'd like to share it with everyone and hopefully get some comments or suggestions. So, instead of talking a lot about it, I'll let you go ahead and take a look:
I'd really appreciate some feedback, good or bad, I'd like to make it as best as I can and I'm running out of time, as I start my new job in just a few weeks.
I'm trying to get some feedback on EasyShots in an effort to improve it. As an incentive, I've decided to give anyone that fills out the survey a 50% discount.
All you have to do is fill out this short survey (8 questions):
And at the end you will receive a code to collect your discount.
Of course, the survey does assume that you have tried EasyShots
Thanks a ton!
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.
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.
Just wanted to share a screenshot.. it's not that big of a deal, just your typical rotating triangle (except I put it upside down, to be different).
Notice the framerate, 120+fps, WOO!
This screenshot is pretty cool for me, not because of what you can see, but because this is actually running from within my C++ API, which uses a fixed point class exclusively for almost everthing, and it's also very clean code-wise.
And it's also a small milestone, right now I'm just missing a few of the transforms that will complete the pipeline perspective-correct rendering. With that done, all the pieces will start falling into place.
Ok, so I've decided to revisit the issue of redisigning the Sphere Games website... so far it's going OK... although today I did a lot of research into ready-made CMS packages and couldn't find any that I liked enough, and the one I liked the most, had pretty good modules that would've been great if they actually worked. So, I'm kind of back to the original idea of writing my own CMS, which is not something I enjoy terribly, and I rather be programming other, more interesting things, but I don't seem to have much choice.
I don't want an overly complex CMS, I just want to be able to upload news, tutorials, files and have an image gallery. So my plan is going to be to take it one thing at a time, so that eventually it all comes together... I had thought of making capable of supporting templates, but I'm not so sure I want to do something too complex... I would really like the ability to toggle themes, so that users can select what they like... but I'm not even sure where to start to write a system like that...
Anyway, I've recruited my web designer friend to come over and give me a hand with a couple of problems I'm having tonight, hopefully I'll have at least the basic layout working well by tonight.
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.
Man, it's 12:09 am... I shouldn't need to be here. I hate it when they ask for so much stuff in such short notice. This blows. I want to go home and sleep. Oh well, I'll be able to post a link to show what I've been slaving over once this is done... in the meantime, I think my build is done, so I'm going to test this and if all goes well go home.
Just got back from having dinner at the cafeteria, had a turkey sandwhich with swiss cheese and what felt like three pounds of icecream. Today is one of those days, I've been working most of the day on the same thing and yet at the end of the day I feel like I have accomplished nothing. I'm probably not staying very late tonight, I'm starting to feel fatigue affecting my work, so I'll go get some rest at home tonight.
Maybe tomorrow I'll have a more development oriented entry in this journal... but, who knows.
Now I got to get back to trying to figure out a damn bug that's really annoying the hell out of me.
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);
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.
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.
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
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.