Wednesday, September 29, 2010

OSD600 Project Chosen! - C3DL Refactoring it is!

For my project this semester, I've decided to go with the refactoring of the C3DL library core. From what I understand about the library, whenever you include it, EVERYTHING in the library is included, which most of the time will include a bunch of features a developer may not want or need. So for this project the idea is to basically, shape the library into modules so that developers can pick and choose what they want to include in their projects. The main page for the C3DL library can be found here. As for why I've chosen this project, it was one of the initial projects I saw that piqued my interest, and I'm very interested in getting into game programming, and the C3DL library allows you to do that within browsers utilizing javascript and HTML5.

As far as keeping up with what I'm doing for this project, I'll be making frequent posts here on my blog and you can also check out the project page directly. I'll do my best to keep all major announcements pertaining to the project available as soon as I get to them, most likely through my blog and immediately after on the project page.

My plans for the 0.1, 0.2, and 0.3 releases I'm not totally sure yet, I will have to speak to my contacts for this project to get a better understanding of what exactly I will be doing and how far I'll be digging into the library. When I know a little more about the project, I'll update this post with more definitive stages to look toward.

The major languages I'm going to have to become more familiar with are Javascript, HTML5, and WebGL. I've already done a bit of javascript, so I think a brief refresher will help out there, as for HTML5 and WebGL I'll have to pick those up, but what I've seen so far from HTML5 I'm excited to explore them.

From past and current courses I already know Cathy. I have yet to speak with her, however I'll speak to her tomorrow about the project and see what she has to say on it and where I can begin.

As far as collaboration and contributing, as I've mentioned already I'm not 100% sure of what exactly will need to be done, but if you are interested in getting involved on this project, you can contact me directly through email. From the project list I saw while choosing this project there were a few other C3DL related projects going on. It would probably be beneficial to communicate with the people working on those projects as we might have some advice that will help each other out.

What I'm most worried / concerned about is jumping into a project where I don't know what's fully going on, but I am confident that I can get up to speed quickly once I have set some goals in place and know where I am heading to. It'll also be helpful to have some contacts I can get in touch with if I get lost during the project.

That's all I've got to say on that now, hopefully I'll keep these --> ლ(゚д゚ლ) to a minimum during the project!

Friday, September 24, 2010

Bug submitting with Bugzilla!

So I've just finished submitting the two fairly major bugs I encountered while doing my initial performance testing on the Chrome Experiments.

The first bug that I found was in the physicSketch experiment, which basically allows you to draw whatever shapes you can think of and then uses forces of gravity to drop and move depending on what other objects are in the scene. You can check out the status of this bug here.

The second bug I found only seems to appear on my laptop, as when I tried it out on my desktop it disappeared. Basically the window would get very jerky whenever you would try to re-size it. The experiment is a fairly entertaining kaleidscope effect, and you can keep up to date on the status of this bug here.

Tuesday, September 21, 2010

Performance testing with firefox and chrome

So last week, we got our first taste of contributing to Mozilla, by doing some beginner performance tests on The Chrome Experiments. For the most part it seems as Firefox and Chrome are performing pretty comparably, with the exception of a few isolated experiment bugs (which you can read from my results in the Mozilla link above).

I think one of the more impressive experiments I got the chance to play around with was the Amiga Workbench Emulator, which is essentially a full javascript re-work of the Amiga operating system, you can open programs, change fonts, windows etc... All within your browser. Pretty neat!

What sucked about it is that it seemed to internally "crash" while loading the "operating system" on Firefox and I was not able to see how well it ran. It did however load up on Chrome, so if you want to check this particular experiment out, chrome is your only choice at the moment.

Tuesday, September 14, 2010

Fibonacci & Factorial Windows Calculator

So, an idea came to me as I was sitting in DSA class thinking about the introduction to windows programming I got during the first week of GAM666. So I thought it might be an interesting mini-project if I were to combine the two ideas being discussed and create a calculator in visual studio that would use different algorithms from DSA and display them in a more visually appealing fashion.

To start off I simply drafted a quick resource dialog box in visual studio so I could figure out what I was working with and how it should look:



Once the easy part was out of the way, I decided to take steps at a time first getting buttons to properly update the label field, which is where I ran into my first issue. I was able to set text into the edit control easily enough, it was appending and maintaining the number that was causing issues, until I found this support article, that helped me immensely. The following code is how I solved this issue:

            index = GetWindowTextLength(editBox);
            if (index != 0)
            {
                SendMessage(editBox, EM_SETSEL, (WPARAM)index, (LPARAM)index);
                SendMessage(editBox, EM_REPLACESEL, 0, (LPARAM)((LPSTR) L"0"));
            }
            else
                SetDlgItemInt(hwnd, ID_NUMFLD, 0, TRUE);

Once the number is put in and the user clicks on either the fibonacci or the factorial button, I use GetDlgItemInt to retrieve the UINT from the edit control.

Friday, September 10, 2010

Hello World

Hello, I'm Andrew, and this is my first time blogging. I'll be using this to keep track of various projects I'm working on other than what I'm doing in OSD600, so hopefully there should be plenty of posts coming soon!