I wanted everyone to see that it's in progress, so here's a quick test that is only using CSS transformations. There is no canvas involved in this example. This will not work in IE8 or earlier (yet) so don't even try. =)
CSS Transformations Testing
I feel it's important to point out that this isn't using the support method I previously talked about. That was actually quite problematic and wasn't an ideal solution. Instead, HTMLElementContext has transformation support built into it. It also has a very simple transformation stack so it works like the canvas context. By the way, this is running out of the v2.0 branch.
The Render Engine is a cross-browser, open source game engine written entirely in Javascript. Designed from the ground up, it is flexible and full of great features. The engine runs on a wide variety of browsers including Firefox, Chrome, Safari, Opera, and IE.
Sunday, November 28, 2010
Wednesday, November 24, 2010
CSS Transformations
Most modern browsers support some sort of CSS transformation. What this means is that a lot of what can be done only with Canvas, can also be done within the DOM. There has always been a plan to include this and I think that v2.0 will be the place where it is developed. In particular, the HTMLElementContext has had support for this for a while, but nothing was ever done with it.
Each class in The Render Engine can implement a class method called resolved() that will be executed as soon as the class dependencies are resolved and it can be initialized. The HTMLElementContext uses this method to load one of two support files, either for Safari or Gecko. These files would add the functionality for transformation support into the context, thus completing methods which are currently just abstract in RenderContext2D.
I just wanted to point this out because so many people have been asking about the HTML contexts recently. While support is limited in v1.5.3, the next major version of the engine should have more complete support for this functionality.
Each class in The Render Engine can implement a class method called resolved() that will be executed as soon as the class dependencies are resolved and it can be initialized. The HTMLElementContext uses this method to load one of two support files, either for Safari or Gecko. These files would add the functionality for transformation support into the context, thus completing methods which are currently just abstract in RenderContext2D.
I just wanted to point this out because so many people have been asking about the HTML contexts recently. While support is limited in v1.5.3, the next major version of the engine should have more complete support for this functionality.
Downloads Fixed
Someone alerted me to the fact that the downloads were broken links. They have been fixed now. There is a variable used in the build process that means "engine version" and another that means "build version". I got them mixed up and lo' and behold, the download links were borked... <sigh>
Monday, November 22, 2010
User Interfaces in v2.0
After spending some time doing the due diligence on user interfaces, I have decided to remove them as part of The Render Engine. Since the engine is running in a browser, it just didn't make sense to try to abstract what the browser is doing so well already. While it would be neat to have a user interface be tightly integrated within the engine, I feel that it just eats up cycles better spent on the game. User interfaces can still be created, loaded, displayed, and interacted with -- it'll just happen outside of the engine. For example, you could load a UI with jQuery and display it over top of the game. You'll have finer control over the interface's design and display, and you'll also have access to the game's objects if you want to display things like sprites and so forth. So, in an effort to get 2.0 going again, and to focus on what makes a great game engine, I'm dropping UI's as a part of the engine core and leaving that up to the developer. I think most people will agree that this is a better plan all around.
Saturday, November 20, 2010
v1.5.3 Released
Just a quick note to let you know that The Render Engine v1.5.3 was released today. There were a few small bugs that appeared while creating Tutorials 8 & 9.
Friday, November 19, 2010
The Render Engine v1.5.2
Last night I released v1.5.2 of The Render Engine. This version is a small update to the 1.5.1 release to address some bugs identified in the ColliderComponent and its subclasses. In addition to the fixes, I've added the ability to specify collision masks which should eliminate the need to perform instanceOf checks in the onCollide() callback. Plus, a new callback has been added which will let your host object know when collisions have stopped: onCollideEnd().
Other things in this release:
Other things in this release:
- Transform2DComponent now supports non-uniform scaling
- Container's forEach() method wad updated so it will halt if the "this" object is defined and has been destroyed. The loop can also be terminated by returning false from the callback
- ColliderComponent's execute() method will not throw an exception if the host is destroyed
See the release notes for full details.
Wednesday, November 17, 2010
v1.5.2 is Coming...
Some of you might have noticed that v1.5.2 showed up for a moment on Wednesday night. I have pulled the tag and rolled back to v1.5.1 for the time being. There was a regression in the collision components which needs to be addressed. The API still shows as v1.5.2, but still applies to v1.5.1. I hope to have v1.5.2 up by tomorrow night.
Sorry for the mistake!
Sorry for the mistake!
Subscribe to:
Posts (Atom)