About this blog
This journal may contain languages not suitable for minors and some occasional swearing.
Entries in this blog
So, I think the tech interview went really well, I sent them some code samples and now I can only hope they like what they see. Getting this job would be quite life altering for me (in a good way) and I can't wait to hear that they will hire me.
Anyway, I leave you with a screenshot for your viewing pleasure:
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, 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 =(
Monday was a bad coding day... couldn't get even the simplest things (that I've done many times) to work, my brain decided to unplug some major areas, apparently. Yesterday started bad, but as it got later it improved.
I got a very crude, slightly buggy chat program running. It's client/server, and I only tested it locally so far, but I was able to run several clients and all the chat data was properly propagated to all the clients.
I don't love the code design, so now that I have a working version I'm going to refactor it and then I'll take a couple of days to design an MMO server architecture (no coding, just on paper). This may involve a trip or two to the nearest bookstore to do some research.
Anyway, today I'm actually working on a cool fun task I can't tell you about... I got it working yesterday, I just need to improve the authoring side of it today.
So, I decided that I would write a few new shaders for my engine just to make it look a bit more impressive, so far it's going good, yesterday I added a cool transparent glass type shader, it kind of looks like a bubble to me, I just need a better cube map that matches my sky and it'll look a lot cooler.
I'll hold off on posting screenshots until I have one or two more shaders in there, which should be today or tomorrow depending on how busy I get with other work...
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.
Ok, don't get excited, it hasn't happened yet... hehe, but I've been planning it a lot lately, and I'm trying to juggle many different projects that I have currently in development. There's the 3D pocket PC engine that's coming along nicely, we already have MD2's loading and animating (in wireframe), I'm real close to getting the BSP renderer to work, at least in wireframe, I know the tree is being properly processed and rendered, but the current rasterizer is barfing at so much data...
I'm working on a new XP tool, I don't want to release any details about it yet because it's very early, and I haven't worked on it much.
It's been a rather busy week and I'm taking a short trip next week, so I won't get much done.
Anyway, about the site redesign, my main idea is to change the style of the page a little bit, I want to make it more development oriented in the sense that I want to help the community by writing howto's and small articles (as well as some in-depth tutorials), so I want to develop a small framework, in PHP in which I can easily upload a new howto or article in one shot, or incrementally and then hit a "publish now" button.. or I may just do it the old way and write them offline then post them, perhaps using some blogging software.
I think it would be something fun to do, and hopefully useful for beginner and possible more advanced programmers.
I have many other ideas for the site, but I don't want to spoil the surprise. This is something I will do, I'm just not sure how soon, my plan is to design it well right now and then use any free time or time when I need a break from programming to implement this.
Man, I've been keeping myself extremely busy lately. I finally fixed all my model loading problems... I can't believe how I couldn't see it, it was obvious what I was doing wrong... it seems that sometimes our brain kind of locks on to what it thinks is correct and just won't let you see the problem. No amount of reasoning and thinking would convince my brain otherwise, everything just seemed right. And then suddenly, after having put model loading in the back burner for a long time I decided to revisit it and there it was, the flaw in my logic.
Part of it was that I hadn't clearely understood the way the data was stored on disk, and the format it needed to have to be displayed.
I'm quite glad that's done, now I can move on to other interesting things, such as animation =). I've done very little animation programming in the past, and I'm very excited about taking it on. I won't be doing anything groundbreaking, I'm going to stick to the simplest method I find, even if it's not very efficient and then I'll take it from there. As long as I design a good API for the system, I can iterate on it and mold it into something great.
Anyway, all this talking about doing stuff only makes me want to do it more... so off I go =)
Ok, so I mentioned that my 3D woes deserved a post of their own, so here it is. SGE uses a deferred rendering architecture. For those unfamiliar with the term, what this means is that I put everything that is to be rendered in a list, once the list is generated, I iterate through the list and render each element of said list. This works pretty good, and it's really fast and also very easy to program. Getting something to render is as easy as:
sgRenderUnit* pRenderUnit = sgRenderer::GetNewRenderUnit(sgRenderer::RU_DEFAULT);
pMesh is a simple class with a vertex and index buffer, material has the textures and shaders.
Anyway, this all worked great until I reached the point where I wanted to make my particle and font systems. The reason this became a problem comes from the use of dynamic buffers.
The problem is, if a dynamic buffer gets full, I need to create a render unit, this gets added into the list. But what happens if I have more geometry that needs to use that buffer? if this was not a deferred renderer, I would simple render whatever was in the buffer, flush the buffer and start using it again. Since this IS a deferred renderer, I need the buffer to be flushed on the next frame, AFTER the list has been rendered. This caused stuff to flicker...
I have tried quite a few more things than this, with pretty bad results... unfortunately, I have not found information on deferred renderers and how they handle dynamic rendering.
So, today I started looking into the possibility of switching to a non-deferred architecture. It seems that it will be a lot of work, but if it solves this problem it would be worth it.
So, EasyShots has been getting quite a few downloads. I'm curious to know if you've tried it, what you think of it, have you found it useful? is there anything you'd add to make it better?
Personally, I'm using it quite a bit, I'm constantly sending screenshots to my friends of the work I'm doing, and I find it so cool that I just hit Alt+PrintScreen (to capture a screenshot of the current window), then I open up EasyShots and drag the screenshot into MSN and off it goes.
Comments, questions and feedback are greatly appreciated.