Tuesday, August 26, 2008

We are live with r19!

I'm proud to say that after an entire month's worth of work, Vektornye is about as ready as it has ever been to be shown to the public.

However, don't mistake this for a complete application. Sputnik-5 focuses entirely on UI. The App Engine code is only functional enough to serve SVG, JavaScript, and images.

I've fixed things that the application can do that are obviously wrong, and I've fixed some things that people can do that are obviously wrong (but that won't keep people from doing it). There are some things that still need a little bit of tweaking and fixing, and yes, there are still some easy ways to cause bugs and even break the script that I am at least aware of, but I really do think I've reached a good milestone with r19. To see how much progress has been made in Sputnik-5, see the roadmap here:
The Sputnik-5 Roadmap

As such, I read up a thing or two on App Engine, and uploaded my stuff there. Vektornye works just fine there, and I think this will be the start of a very awesome backend. Some things done serverside that I wish to support in the future are a personal workspace where items can be saved and accessed again based on Google user authentication, as well as a way to share items people have created in a public place. This will be done using the groundwork present in the Field object and Voxel array and their associated functions.

Once that is done, (I'm always looking to the future! Gotta extend those roadmaps...) I will work on the component consolidation algorithm (which I have been just dying to get to), extending the UI once again-- this time with selection, copy, and paste, and finally, the functionality logic blocks such as what was described in a prior post. Some of my ideas for this can be found in the following articles on the Vektornye wiki:
Just to clue in the clueless, Vektornye will not work in MSIE-- Internet Explorer, 'The Internet', or simply 'the little blue E'-- without additional extensions.

So, without further ado, I present... Vektornye Engine Prototype Sputnik-5 r19!

http://vektornye.appspot.com/index.svg

Now, for some acknowledgements.

The code that started it all, what really helped me create the entire underpinnings of my application, was the Drag & Drop code hosted at SVG-Whiz.com, created by Doug Schepers. Although my monstrosity no longer bears much more than a passing resemblance to this code (mostly the function names & some variable names), it does share ancestry, and this must be carefully noted.

Next up is the Sylvester JavaScript library. It's really a nice library for doing matrix math, and the bulk of application initialization takes place using this. As it would have been pretty cumbersome to keep track of SVG transformation matrices, I decided to replicate SVG transformation code, and it would not have been possible without Sylvester. Much kudos go to James Coglan for this.

Also deserving of mention is Andy Fitzsimon's Trash Can. Thanks, buddy, for sharing your beautiful can, and I don't mind touching it up a bit in order to get it looking good so other people can see it also...

Finally, thanks to all those around me, including my friends (You know who you are) who often wind up as amateur beta testers, as well as to the folks at the Boulder Game Dev and Front Range Pythoneers meetings I went to last week, who gave me some of the support and impetus I needed to finally get this out.

- Alex

No comments: