Friday, July 13, 2007

beautiful mistakes

Fullscreen and splash window (ie borderless) support is in. I ran several systems overnight with a script which flips between fullscreen and windowed every second to ensure there's no threading issues with the new code.

In the process I generated this great mistake, basically what happens when you don't clear the background while rendering the collision blocks. We're going to have to do more complicated mojo to make splash windows "transparent".

Overall work on the engine is on-track for Beta-2.

Now on to dynamic text textures

Thursday, July 12, 2007

Beta-1 Success & Bugs

A mere hours after Beta-1's release bugs started getting found. This was entirely expected.

The largest problem people have had is with installing ODE 0.8 on Ubuntu. For whatever reason the last packaged version available to Ubuntu users is 5. Installing from source means editing /etc/ld.so.conf to add /usr/local/lib and running ldconfig, something a bit scary to new users.

Overall positive comments from testers though. It's great to get this sort of confirmation even with the engine so incomplete. Of course Beta-2 with input support and mesh loading will be much better.

A month off from that point, here's another screenshot.

Tuesday, July 10, 2007

power outage

Ack. Thanks to a long term power outage the svn + website server was down for several hours today delaying work. With luck we should have that release out tomorrow (7/10).

Monday, July 09, 2007

Three tickets remain

The last of the beta-1 tickets have been delegated. Hopefully they're easy ones.

Then we start with the final check to make sure nothing obvious segfaults.

the day before beta-1

Today we saw one of the largest recent API changes come to pass, "mesh" is now something that can be applied to a Body, not a type of Body itself.

soy.bodies.Pyramid is gone, there is now a pyramid.py in tests/ which provides it for the test scripts. I also copied over the blocks.py file from Blockdropper (one of my old Soya games) and updated it's API for our engine. That is the screenshot I included here.

There are a few tickets remaining for Beta-1, but barring some last minute critical bug discovery we should be set in the next 16 hours.

Saturday, July 07, 2007

"State of the Soy" @ r400

I just committed revision 400 which sets video playback to realtime. Yes, video, we now have the ability to stream Ogg Theora as a texture onto a canvas or mesh.

Working backwards, Toba got some more shapes committed (ie, box) so collision is progressing nicely. We can now stack widgets by depth (layered), horizontally, or vertically with aspect ratios and margins. All soy.Window functions (ie position, resize, title change) are working.

We have a basic light/material model working (1 light, 1 texture), with textures being imported from PIL, and every form of 1d and 2d texture is supported including greyscale, greyscale+alpha, color, and color+alpha. These can be shown on a canvas or mesh.

Just 2 days out from Beta-1 with a handful of critical tickets remaining, I think we'll get it ready. The most exciting work is still a few weeks off, though. Stay tuned.

Friday, July 06, 2007

soy.Window ready for beta-1

About a quarter of the Beta 1 tickets were various bugs in soy.Window left behind when we migrated from GLUT.

After a day of work I'm happy to announce that they've all been fixed:

Multiple windows work, I tested a loop to create 100 of them then destroy them all in various orders.

.position and .size can be both accessed and changed from the Python side. I tested with multiple windows to ensure each had it's properties being updated in realtime. While we don't have container widgets yet each widget gets a _resize call whenever the parent window is resized.

The window's .title can be set in realtime. I spent a number of hours trying to get the window's icon setable to a 2d texture but gave up, more code is needed here than I have time for.

Dynamic camera changing for a projector is now supported as well. That was a trivial little bug..

Overall we're close to 60% finished with the weekend remaining to finish them up. I'd like to dedicate Monday to packaging it up and getting the list of dependencies together.

Thursday, July 05, 2007

recent work update

We're 4 days out from beta-1 now, at this point we're starting to see all the things that won't get done in time.

Angelo got lights working, or at least one light. More work is needed before beta-1. Texturing is acting odd in that it's colors are ignored if provided from a soy.colors.Color (while they work fine without texturing). Static colors work fine. I can only guess as to the reason behind this.

Today Toba got fields to activate based on collision shapes, a huge step forward. He added a new test script to show this.

I managed to get much further with File loading; transports are now being processed by _coreLoop (through an ugly hack), codecs are identified, and Theora streams are being initiated. I hit a barrier with trying to use dicts within coreloop, so before moving forward the soy._internals.IndexTab class will need to be finished (which will provide lookup of void *'s from either int or char* key, each object having both).

Jayce dropped out of Summer of Code. His work has been pushed to beta-2 for others to finish.

Nothing from Mike recently, we still need work done for joints.