About this blog
This journal may contain languages not suitable for minors and some occasional swearing.
Entries in this blog
This weekend was good, I refactored my dynamic rendering pipeline, and now it actually works. I never could figure out what was going on before, but every so often some of the stuff being dynamically rendered was blinking (this was the best case), worst case, entire letters would disappear altogether, imagine a buffer becoming full and then dumping out the first few elements to make room for the new ones, but the new ones never came. Kinda like that... doesn't matter, it's all fixed now and works quite nicely.
Now that I am able to display some text, I got my framerate counter up, and I'm happy to see that my entire terrain is rendering at 70+ average fps.
Anyway, I'm gonna get back to work. I still have that strange UV issue with models to look at, but I may just do something else... problems like that annoy me sometimes.
I'm taking a week off from work to visit family and spend time with my wife. I decided that whenever I got a few minutes to myself (since I'm not at home and don't have access to my code, or even VisualStudio) that I would work on my website.
So I've been doing a little ASP and html, but the weird thing is... I can't think of anything I'd like to add to my site, I mean the site itself is pretty good (IMO) and could only benefit from having more content.
I fixed a couple of small bugs that I had never gotten around to fixing, but they were in the "members" section of the website (which only has 1 member, me). It's really cool, a while back I wrote a nice little system that allows me to update my site from anywhere just by logging in to it.
I asked a buddy of mine, who is pretty good at doing web stuff, and he suggested I tried one of those CMS (content management systems), which basically let you create your site just by customizing some things. Sounds cool and all, but it kind of takes the magic away from it. I'm very proud that I've always made my own website by writing every line of code myself (except of course for those few copy/pasted from somewhere else).
One thing I'm a bit curious to try is using C# in a website, I'm not entirely sure what I would do with it though...
Yea, so that's about it, nothing terribly exciting, hell, I'm kind of falling asleep as I write this.
Oh yea, and it's my birthday today... I'm 26 now, only 4 years left to become a millionaire before my 30th birthday. It's on now.
I'm about to head home, I'll probably post something on-topic from there... basically have been doing more of the same, I keep meaning to go back to that UV bug, but I'm having fun with the other stuff I'm doing.
Why do I get all the stupid bugs?
** EDIT **
Look at the comments of this post for some LUA stuff =)
So, still no luck fixing the strange flickery stuff problem.. I have no idea what it is. Not that I have been working much on it, I've been keeping myself busy with a different project, hopefully one that will provide some financial gains...
Anyway, just thought I'd do a quick post... cya.
Anyone know where I can buy a Dell Axim PocketPC in Vancouver, BC ?
Is there a store similar to Best Buy, or Fry's in or nearby Vancouver?
(real store, not online)
So, I've been real quiet lately, but it's only because I've been keeping real busy. Although not directly a game development project, it's something that anyone can use.
The project is called Explore++ and what it does is allow you to have 1 file exploring app open where you can transfer files using tabs. This will get rid of the clutter from your taskbar since you will no longer need all those explorer windows open. It also has a lot more useful features that will help you manage your files more efficiently.
You can read more about it and download the trial version here:
Well, the game I was working on is finally out and I can now rest. It was a long project, but it was so much fun. I truly grew as an engineer and am now a lot better than I used to be, even though I used to think I was pretty good. It was amazing working on a team with scuh talented and smart engineers. I feel comfortable saying that I learned more about software design, engineering, math, graphics, AI, networking in this project than I did in 4 years of school. I am a firm believer that you learn by doing a whole lot more than you do by studying, this is why I had such a hard time in school.
It's satisfying to play our game now. For a long time I only saw our game in snapshots, small parts... there's a bug in a level, you go in, you fast forward to where the bug is, you find the problem, go into the script or code, you fix it and you move on to the next thing... never really playing. Now I get the chance to see all the fantastic work that our designers and artists did with the technology we gave them. Even if they complained about it all the time ;)
I'm really happy with the game we made and I can't wait to get started on the next one.
The only thing that kind of bothers me, but not enough to give it much importance is how reviewers tend to root for the underdog, even when the top dog has a clearly superior product. But I guess it comes with the territory.
And now that I've had some time to play (these are all my opinions, if you disagree, then we must agree to disagree, I won't be convinced that a game does not suck, if I feel that it does).
WoW is cool for an MMO, it makes me hope they make a Diablo3 soon.
Prediction: Half life 2 will be overrated, but good.
Counter Strike Source: I was never into CS, I tried this and didn't find what millions of other people did... feels like if I was playing an old game, like quake 1... not too bad though.
Sims2: Just like the first one, it was entertaining when I used cheats and made a big ole house with all the cool stuff in it. It got old soon after that.
Finally, the games that I'm looking forward to play are:
LOTR B4ME... coming soon.
HL2 - will probably not look as good as their videos ever did, even on my high end system at work, I hope it's fun.
Prince of Persia 2: The first one was just awesome, best console game I've ever played (this console generation, of course).
And I think that's it... man it feels good to be back to normal.
It sucks, SUCKS... It seems intent on ruining my life... GRRR.
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.
I found what's causing the strange behavior, but I haven't come up with a solution yet. It's strange, but basically, what's happening is that for some reason the UVs are different on different faces that share a same vertex.
--- Face: 0
0: -20.00 -20.00 0.00 [ 1.00 0.00 ]
2: -20.00 20.00 0.00 [ 1.00 1.00 ]
3: 20.00 20.00 0.00 [ 0.00 1.00 ]
Notice the UVs for vertex 0, they're 1.0, 0.0 further down the list we have:
--- Face: 4
0: -20.00 -20.00 0.00 [ 0.00 0.00 ]
1: 20.00 -20.00 0.00 [ 1.00 0.00 ]
5: 20.00 -20.00 40.00 [ 1.00 1.00 ]
Now they're 0.0, 0.0 which is wrong, and since this is being mapped directly into the vertex buffer, it's changing UVs that were already good.
So now I have to figure out why this is the case.
Well, the time has passed and I have removed the Santa hat from my avatar.
I've kept treading on the mobile 3D game library I dubbed sgeMobile. It's coming along nicely, I'm using Intel's optimized GPP (here) which seem to be pretty fast (it has some optimized arithmetic, geometry, trigonometry primitives).
I haven't gotten to the 3D rasterizer yet, at the moment all the tests I've done hace consisted of drawing circles at random locations, but I'm quickly approaching the point where I can start working on the rasterizer.
I'd post a screenshot, but I don't think there's an easy way to take a screenshot right out of the pocketpc and into the PC... perhaps I should write EasyShots for PDA... hmmm...
I just uploaded a new demo and source code on Texture Management on my site (http://www.spheregames.com/articles.asp).
I'd like some feedback, so if you have time to check it out, please do and drop me an email.
I used to keep my MSN private, and I've recently realized that I should not be such a private individual, so if anyone wants to chat about making games, programming cool shit or needs help, don't be afraid to contact me, if I'm around I'll be happy to help, or just chat.
What have I been doing lately? well, I've been helping out my friends on a project they're doing, and it has required me to code a GPS receiver. I got it all working quite nicely, I can parse the data and determine my longitude, latitude, altitude, and some other bits of info, which is pretty damn cool. I was pleasantly surprised at how GPS data is formatted, it's very straightforward.
My next game is going to be GPS enabled, you'll need a GPS receiver on your computer to play it.. haha
Last night I converted the fixed point math class my friend wrote from C to C++, it turned out pretty good, you can use it just as if it was a primitive data type:
fixed fxNum1 = 32;
fixed fxNum2 = 2;
fxNum1 *= fxNum2; // performs multiplication in fixed point
fixed fxRoot = fixed::sqrt( fxNum1 ); // fixed point sqrt
float fN1 = (float)fxNum1; // converts fxNum1 to floating point
int iN1 = (int)fxNum2; // converts fxNum2 to int
float fRoot = (float)fxRoot;
Fixed point numbers will only be converted into something else when you cast them into either (float) or (int), as long as you don't cast them, any operation you perform on them will be done as fixed point arithmetic.
I also converted my Vector and Matrix classes to use 'fixed' instead of 'float' last night. So AFAIK they're much faster now, I just need to run some tests.
Slow day today...
Capt. Dale Dye stopped by today, I happened to be in the room where they were going to show him some parts of the game so I stayed to hang out. He's a nice man, he sure has a lot of stories and his insight and advice is really interesting. Last time I saw him was well over a year ago when we went to play paintball (for combat reference, of course). That was a pretty fun time. He would show us combat strategies and then we'd enact them in the field (under his direction). It was very intense and exciting, I can only hope that I get a chance to do that again.
Anyway, I've got a task to do, so no quick tip today, at least not for now.
So, it turns out that VS.Net 2005 has a pretty good pocket pc development environment. Of course it uses VS.Net Compact Framework 2.0, so Im not sure just how backwards compatible it is.
Because of this I also installed embedded visual C++ 4.0, where I also made a hello world app, but I'll spare you the screenshot.. hehe
Anyway, today I'm going to concentrate on the graphics API's for pocket pc and I'm going to start developing my game prototype on the PC.
Ok, so my previous post was threatened by lightning, so I'll just repost it again here in hopes that it'll attract some attention. I've tried everything I can think of and haven't been able to figure this one out...
So, I'm getting a strange problem in my engine, at first I thought it was my code (and it could still be, but Im not sure). I have some text that was being displayed on the screen, FPS, position, etc. When using the debug drivers everything works great, but when I use the release drivers, even if I remove the code that draws the text, I get junk on the screen, flickery bits of text from what was previously being drawn.
Here's a screenshot:
Anyone seen this before? for the longest time I've thought the problem was on my dynamic rendering code (for text), but I still get the problem even after removing the code that was drawing the text in the first place.
I've started playing around with making a 2D game, I already wrote a design and I'm about to begin prototyping it. My plan is to make the game for PocketPC and sell it online.
Oh yea, and Im about to install all the pocketpc dev tools, so it should take me a few hours to become familiar with how it works.
I don't have a pocketpc yet, so I'll use an emulator for my "Hello World", I'll post a screenshot when that's donde.. just for kicks.
I've coded myself stupid. I've been coding so much these past few days, on several different projects that I've managed to become stupid.
Actually, I'm just experiencing a little bit of burnout, I hardly slept at all last night.. some people stay up worrying about their finances, their love life, family problems... me, I stay up worrying about whether I should try a different rasterizing approach in the morning or if I should figure out how to create a DataSet from an XML schema, or if perhaps I should continue with the 2D stuff on sgeMobile since some of it is 50% complete...
All this thinking about that kept me up, so today everytime I've tried to do any coding my mind just goes bzzzzzz...beep...access denied - systems disabled pending system reboot...beep...bzzz...
Or like those computers in fallout "You press a few keys on the keyboard, but fail to learn anything from this terminal"...
Anyway, I gotta get up somewhat early tomorrow, so I plan on going to bed at a reasonable time (like all the 'real' humans), so I should feel better tomorrow and be productive again.
Maybe I'll watch TV... I haven't done that in at least a week... I've forgotten what it's like.
So, I had previously worked on my event system, and I had tested it, but I ended up putting it in the back burner because I needed to do some graphics work. But, as I do more and more work, the need for an event system is becoming more urgent, or at least more desirable.
I'm not entirely happy with my current implementation because it uses templates, and templates have a way of becoming hard to manage the more you work with them. Another problem I have with them using templates is that it became a bit troublesome when I decided to work on the event manager class (aka, the event scheduler).
But, this is what it looks like right now:
All the main application is doing is randomly issuing "Fire" event on the good or evil ships, when the good ship fires, the evil ship listens for that event and determines that it has been hit. If a ship's health reaches 0, it executes the "Destroyed" event. What I didnt do, but would be trivial is to make the other ship listen for the "Destroyed" event and display a message, such as "I win. bitch", but it wasn't necessary because I had already proved that all listeners listen for the event and react appropiately to it.
Steady progress is being made on sgeMobile, last night I added a textbox, it's still missing the scroll bars, but those shouldn't take long to add.
Here's a link to the executable of the previous post if anyone wants to try it (Rob), I'd really appreciate it.
I'm curious as to how it runs on other PPCs.
It was recently pointed out to me that there was a black theme available for a few weeks now... I wish I had noticed before I complained about it, but the good thing is that I'm now using it. My eyes will no longer attempt suicide when I look at this site at 3 in the morning =)
I just finished EasyShots v2.0 last night (4am, to be precise). It now uses .Net Framework 2.0, which resulted in quite a few UI enhancements, so EasyShots looks a lot more professional now, which hopefully will result in more sales.
You can also send screenshots via email directly from EasyShots now, which was a nice feature to add. I still plan on adding a couple of features, but I need to decide whether those will be done for the 2.0 release or for a 2.1 release. I'll have to analyze the scope of the features and check if it's worth delaying the release.
Anyway, back to work.
So, the new gamedev site is up, and I like it. However, now my images no longer blend nicely with the background as they used to... oh well.
Not much today, last week I wrote another small program in C# that I also plan on releasing as trialware. It may even be handy for some people here, I'll make an official release soon, just going to test it for a couple of days...
I installed VC# 2005 Express today, and so far I've liked it, I'll have to port one of my apps to see how it goes, and use some of the new goodies it comes with.
Anyway, I like the new site, but it's 3:40am and the brightness of it hurts my eyes =(
Time to head home, I can't wait to get there and keep messing with the net code stuff, it's fun.
That's all I have...
Ok, I'm leaving.
So I've kept working on my mobile gaming library which I dubbed sgeMobile, it's looking good, currently it has double buffering, it loads any type of image file supported by CreateBitmap and last night I put in animated sprites.
I'd take a screenshot of it, but it wouldn't be as interesting, I'll take screenshots when I get 3D stuff working.
Today I'll use the sprite class to create a font class. After getting text to show up on-screen properly I think I'll (finally) begin working on the 3D stuff.
So, a few days ago, johnhattan sugested I try Raknet (http://www.rakkarsoft.com/ so last night I took it for a test drive.
It was great, I got a very simple text based chat program working in less than an hour, and the code is so clean and well designed. I really liked it, so whenever I get tired of working on the graphics side of things, I'll keep extending the simple chat application, and testing out the other features of RakNet, the autopatch feature seems very cool.