Papervision 3D 2.0 Breaking Changes on Object yaw, roll, pitch

Papervision 3D 2.0 Alpha has been undergoing lots of changes and one you might want to know about is the object yaw, pitch and roll change.  Thisis changing on how you access them but only slightly.  This is good because you an read and write the values on the object not just set them. Per the papervision list from the man Tim Knip:

On many users request:

DisplayObject3D’s methods pitch(), yaw() and roll() are now getters / setters.

Usage:

do3d.yaw = degrees;
do3d.pitch = degrees;
do3d.roll = degrees;

var myYaw : Number = do3d.yaw;

This means these values are now ‘absolute’ values instead of previous
‘relative’ values as in deprecated do3d.yaw( 1 );

Let me know any issues (as I’m sure there are…)

Tim

This only affects the latest and greatest revisions of papervision but is definitely a good change.  It is good to make changes that make more sense without worrying about breaking changes.

Google Tech Talk: Simple interactive 3D modeling for all - VideoTrace

3D models from basic video… This can be huge in all sorts of ways.  For exponential growth you need to go virtual.

  • This is a technology called VideoTrace from Australia
  • The Siggraph paper describing VideoTrace is available here (pdf 6MB)
  • Larger videos available here, with a more compressed version here.

AS3 Creative Papervision 3D Flash Games

Recently on the papervision lists there have been some really creative uses of pv3d in games. I will highlight two here:

The Bowling Buddies game is made by the very creative Playfish.com company (more on the release at their blog). They have some great facebook/social network games combined with flash. With bowling buddies they created a game similar to Wii bowling (even with customize characters) and the best part is how they have scaled down versions. You can play in 2D, 3D and at different levels of quality to make it accessible to everyone. I think that will probably be needed with 3d flash games (Shockwave Director has LOD (Level of Detail) that helps with scaling down to slower machines but you have to do that yourself with the state of 3d engines in flash so far).

Bowling buddies and most playfish games are Facebook/Social Network based. You might say, why? (especially if you aren’t in the US where facebook is the biggest social network). But even Activision’s CEO calls facebook a threat to online gaming as we know it, this is because of the community aspect and the ability to play with friends and multiplayer games easily. Rather than setting up your own player find mechanism, facebook has it built in and all the viral aspects you need to garner more fans. So those into facebook and gaming are possibly ahead, but also it will be extremely competitive.

[ try bowling buddies ]

Airship is a really creative game that has been impressive to watch grow over the last weeks. It is now textured and performs pretty well. The best part is the Airship model and the fans. Very neat and I hope this one is seen through to a launched game. It is a bit like a RTS/Strategy overhead game that would be very cool to play multiplayer with Red5 server as well (just need the TIME!).

[ try airship demo ]

The best part is you can see after a year+ of release papervision and the other 3d engines are really changing the way gaming is done online. What was once a Java or Shockwave only capability, flash now has with evolving 3d engines, and there are playable fun games to prove it that are commercial ready.

Get your game on!

AS3 Flash 3D Engine Alternativa Platform Drops A Nuke - Isometric and FPS

This will blow you away. Found first via mrdoob (with quantum rss reading capability, before the message is concieved mrdoob is there).

Alternativa Platform, previously Alternativa Game, launched their Alternativa Platform milestone 1 and really one demo would have been enough but there are some great demos there that literally put them what appears a couple laps up on the 3d FPS style engine in Flash.

The engine is highly optimized and smooth, heavy on the processor, but using the ‘t’ key you can see some nice revealing triangle rendering. Also, playing with the field of view adds for some nice game effects. (try jumping on the fans in the half-life like room in the first demo)

Check the textures

See the Matrix

Get superpowers

From Above, Isometric

Here is what is to come from the platform:

Congrats to the Russian based Alternativa Platform, the world is watching.

AS3 Flash 3D Engine SWFZ Source Code Goes Open Source

Jono is giving SWFZ to science and the open source devices.

The SWFZ engine is one Flash 3D engine that took a different approach. It is a bit early in its technique used but the author at custom:media Jono has decided to float the source code out there in ghost mode (no active development but not dead). It is just ready to branch and others to run with it. He is floating the source but I think in 1-2 years this will be the preferred method if processors and multicore parallel usage is optimized. We shall see.

The implementation method and difference with SWFZ engine in Flash for 3d is that is is a pixel based renderer or scanline. It is based on a really fun game engine called Irrlicht which has been pretty active for the last few years but is a C++ DirectX and OpenGL engine. Since SWFZ has to run in Flash and it is a pixel renderer/scanline it has some limitations currently in Flash. Games and renders have to be fast to pull this off and Flash is limited by the software renderer but as computers get multiple processors and flash player gets better at this then this will be a viable option (it is the same thing that limits Canvas based renderers right now). One main problem with this is you can’t go too full screen the biggest sizes that perform well are smaller windows 320×240 etc. But if the processors can handle it it is actually more efficient when it removes overlap, extra triangle drawing and painters algorithm like problems dont’ pop up (triangle overlap when on same plane). This method draws pixel by pixel but fast enough flash engines like Papervision, Sandy3D and Away3D draw overlaps due to the drawing technique, back to front.

But SWFZ still manages to pull off some amazing feats such as these demos

Quake Demo

Terrain Demo

Yoshis Hip Hop Couzin

Jono has put some great classes into SWFZ engine such as bsp parsers, quake md2 parsers, animated mesh, and lots of great examples in porting C++ Irrlicht to AS3. This was a very early example of how AS3 was fun for programmers to port stuff from C or C++ into Flash. AS3 is just fun. Also be sure to check the site for more samples like an FPS game, some basic ai etc.

Jono has been working on 3d in Flash for a while and actually this message is what shows the difference betweeen this approach and other flash engines the way Papervision, Sandy and Away3D (pv3d derivative) make 3d in flash fast enough (Painter’s Algorithm and drawing skewed movieclips and textures.

Demos

More about the Engine Some Notes

The SWFZ engine.

Overview:

SWFZ engine is the result of four years of me messing with 3D in Flash.

I was a complete newbie to 3D, so a lot of learning has happened to get to here.

If you’re interested in 3D engines check out the resource links at the bottom of the page:

The Demo:

Model

  • .md2 format from ID’s Quake2.
  • Uses frame based animation
  • Textured with jpeg
  • No lighting, No Gouraud Shading, just plain texture

Skybox

  • Textures are just jpegs.

Boxes

  • Rendering – Textured Gouraud , Textured Gouraud with Alpha, Textured Gouraud with Quick Alpha, Gouraud Shaded, and the large box is just Textured.
  • Star Texture – Targa (.tga) file format.

AS3 classes

  • 171 classes and interfaces

Scene

  • No lighting
  • No collision detection

SWFZ engine technology:

The demo only shows a small part of the capabilities of the engine. In the coming weeks I will get www.custommedia.co.nz up and running and start to post more info then.

Currently implement stuff:

New file formats supported

  • .tga – Targa Image
  • .bmp – Bitmap Image
  • .3ds – 3D Studio Max
  • .bsp – Quake3 levels
  • .md2 – Quake2 models
  • .obj – Wavefront 3d object (static)
  • .zip – Read from a zip archive (all in Flash, no server side scripts)

3D Rendering

  • mipmaps
  • perspective correct texturing + affine texturing
  • Flat shading
  • Gouraud
  • Textured Gouraud
  • Textured Flat
  • Textured Two Layers
  • Gouraud Alpha
  • Textured Flat Alpha
  • Textured Gouraud Alpha

3D Scene

  • Billboards
  • Parent, Child scene nodes
  • OctTree
  • Skybox
  • Static Meshes
  • Animated Meshes
  • Basic collision detection
  • Scene node animators

If any code is useful to you maybe drop him a donation or what would be nice if this was all setup at google code and used to be integrated into other engines. Irrlicht ports are fun and there is a future in this method when processors catch up I think.

3DS Parser Added To Papervision From Away3D

Good news, I meant to post this a few days ago last weekend Tim Knip added 3DS parsing support to Papervision3D. Here is the thread with the quick howto.

Thread in nabble

Added a simple 3DS parser to the Great White trunk.
=> org.papervision3d.objects

.parsers.Max3DS

…USAGE:


// where to find textures
var textureDir:String = "./images/";  // use a trailing slash!

// optional materialsList
var materials:MaterialsList = new MaterialsList();

// the 3DS file
var fileName:String = "[path-to-3ds-file]";

// load it!
_3ds.load(fileName, materials, textureDir);

// add to scene
scene.addChild(_3ds);

Also, one other golden nugget is Den Ivanov’s newest demo with Papervision portals! This is a very smooth demo, be sure to enter into the portals to see the seasons change.

Also here is a  non papervision 3ds parser.

AS3 Nascar Game By mr. doob - AS3 Flash Library Mashup

I have been one upped by mr. doob! I did a little nascar like RC pro am like prototype in march ‘07 when the pv3d kit showed up on my screen and I was hooked like most suceptible flashers who have longed for 3d in flash! Only my version is like Nintendo64 and his is like xbox360 with updated effects and physics kits and some doob magic. All these are based off of, of course the original race car driver in Papervision and its creator Carlos Ulloa (Adobe should be paying this man).

To the feature! This is a sweet game by mr. doob, called burn and brag for Nascar.

Now I don’t’ particularly like Nascar all that much but who doesn’t like to peel out to some fiddlin’? I mainly do Nascar stuff because it is highly marketable and like the only answer most ad agencies have for getting the southern us markets it seems, that and c-o-u-n-t-r-y mu-si-c (must be said at a slower rate).

But I digress, this is a perfect mix of advertisment, game play, fun and experience. It is fast, simple, and playable. Exactly the simplicity and smoothness needed of gameplay and playback.  Great ad work but it also gives something fun to do and best of all it is built in AS3 flash with a plethora of libraries from the flash as3 community.

The game platform is emerging fantastically in the AS3 market. mrdoob used these kits to build this:

It would be cool to see a post on how he did the replays with tweener - I imagine just a series of points collected with car state (current position state) and then just play them back with a call back or time delay. You’d have to capture alot for smooth playback without laggy movements.  I am working on multiplayer games with this same issue for a current project.

Game on! The question is when will this be SOTD or SOTM at thefwa.com?

AS3 Extruding Pixels to 3D with Papervision 3D

Den Ivanov scored another “why didn’t I think of that” flash demos with extruding pixels into 3d with papervision.  He has some great samples and demos on his site about it.  Den Ivanov is a long time flasher and recent scores with Brahma bus (one of the coolest first papervision commercial projects) and the terrain generator.

This uses ExtrudeImage which does exactly what the class says.

AS3 Water Effects in Papervision 3D, Away3D and Sandy3D

I was messing with water effects and Perlin Noise (sandy3d) and some other stuff and collected some water effects and simulations that are fluid like for research, a snapshot of the state of fluid and water effects in 3d in flash.

Ralph Hauwert, of course one of the original pv3d team members, posted some great samples on water effects on 3d objects in Papervision 3D. Of course the papervision list spawned this discussion from another great post on water simulation in papervision and away3d by Exey Panteleev .

Also, some other water like effects from Fabrice Closier and the notorious mrdoob.

Ralph’s Water Effect Demos:

Hey look, the water ball is smiling at you.

Exey Panteleev’s Water Simulation:

Some other Water Like Fluid Effects:

Water is hard in flash. Fluid dynamics will probably have to be cheated but it is still looking pretty good. The amount of processor usage depends on how real you want it to look.

If you are looking to make some agua, with x, the y AND the z in Flash or Flex, these are a good place to start.

AS3 Flash Isometric Engine

Just got word of this great isometric engine similar to the Alternativa engine or zenbullets but with plans for open source. I checked out the demos and it looks well done and is pretty responsive. Once you get to heavy lighting it can draw a little slow (the cowboy becomes more John Wayne like with slow drawls) but this seems like a great base for an isometric AS3 engine.

The author, who is currently anonymous, describes it as:

The FFilmation Engine is an AS3 isometric programing engine, focused mainly on game development. The aim of the project is providing a robust development platform, where game designers can work on the game’s details and forget about the render engine. It is intended to be really usable from a “real production scenario” point of view.

Unfortunately there is no name associated with the project yet, I think it would be wise to let that be known. The author has some info on the level structure of files and 3 great demos.

Here are some features and plans for the engine:

  • Have a programming interface as small and easy as possible, no matter how complex the internal code is. From a software engineering point of view, the OO structure may not be as correct and clean as it could have been. It is not messy, but several decisions where made that improved performance and simplicity at the cost of breaking some “good OO programming” conventions.
  • Rendering performance is a major concern when designing all the algorythms. Some of them have been rewritten 4 o 5 times from scratch until one fastest enought was found. If it doesn’t perform well, it is not usable. We’ve all seen several impressive actionscript demos that look really cool and invite to be used in your next project. But then if the effect takes 90% of your CPU, you can’t build anything on top of that.
  • Graphic designers should be able to work on the application’s ( game or not ) environments without any programming skills, visually, and with almost immediate previews of what they are doing. Using the engine should be fun to some degree. If you have this terrific engine and adding a wall to your dungeon means you have to write 10 lines of OO gibberish, lazyness will eventually win you over. If art directors can draw and place the walls and lights an floors and enemies and see them appearing onscreen, you have more chances of reaching your deadline.
  • Flash has built-in drawing and animation tools. You should be able to take advantage of them !!

All this is important because in reality projects depend on limited resources. Resources are money and time, but also the enthusiasm of indie developers or single individuals doing stuff “for fun” in their bedrooms. Projects, specially the “for fun” ones, have more chances of completion if the production process is gratifying to some degree.

Here’s a list of highlited features:

  • One engine capable of handling several isometric scenes of different complexities.
  • Create scenes from human-readable XML definitions, allowing easy edition of the scene’s topology and contents
  • Graphic media can be split into several external resources and loaded when an scene needs them
  • Flat textures. Paint your grahics directly into flash. Walls, floors and celings are edited as 2D graphics and projected by the engine. Elements and animated characters can be animated via flash timeline, no need for complex programming.
  • Dynamic lighting, global lighting, real-time shadow projection. Multiple lights from multiple sources affecting the same objects.
  • Bump-mapped surfaces. Still somehow buggy and a serious performance killer, but already there.
  • An extendable material interface. MovieClip materials, autotiled materials, procedural materials.
  • Automatic zSorting of all surfaces and objects
  • Built-in collision detection. No need to program complex coordinate comparisions, simple listen to COLLISION events generated by the engine.
  • Basic AI API helpers such as “is character A visible from character B’s position ?”

I plan to make the engine open-source, but I’ll wait until I have a release “solid” and documented enough.

I am looking forward to more updates and to find out more about the author. We have some great engines underway in ‘08 for AS3 and it looks to be a very fun year in that aspect.

Because it is an isometric engine is is not true 3d but sprite based animation. However with planes and objects other isometric 3d objects can be built such as walls, boxes, buildings, cubes, etc. I wonder if there are any toolkits being used or if this is all custom built?

Keep your eye on this space. It is very similar to the Alternative Engine.

Here are all the Demos:

And some docs on the architecture:

Check it out!

AS3 Flash FPS Paradox Engine Updates - Simply Amazing

Paul Spitzer has been updating the animasinteractive paradox FPS engine for flash with some great new additions and more about the engine capabilities. I think you will be blown away again by this engine.

Paul has added proximity objects which are key elements of online multiplayer games for networking (distance based messaging and events) as well as fun stuff like proximity mines as demoed. Get over there and check it out the best, quality FPS engine yet in flash continues.

The lighting, textures, effects, HUD, all look excellent.

This is in flash, a paradox indeed.

AS3 Flash FPS 3D Temple made with Away3d

Wow. This new away3d demo of a temple and FPS movement in Flash9 AS3 rivals that of the paradox engine in pv3d.

Both are extremely smooth movement and great looking textures, both of these efforts are amazing for Flash is at this level. I would say Paul Spitzer’s paradox papervision3d based engine is still a little more responsive and the textures have such good baked lighting that is is very smooth (he posted recently on some internals and usages of media in the engine). But from these two engines and iterations you can see that the FPS engine in Flash is not too far off.

Although there used to be crashes with away3d it has really improved and this is very smooth. My processor was actually quite chillin’ with all the software rendering carpet bombing from software rendered 3d in flash. But it really is starting to get much better with optimizations to flash this year and papervision, away3d and sandy getting more mature and further iterated to greatness.

The away3d sample if you walk through the rooms also has an interactive button, opening doors, room transitions (and if these are dynamic) a decent room engine with pretty sweet load times since the whole thing is under 300k.

Game Development: Havok Offers Core Physics free for PC Game Developers

havok_logo2.gif

This is a bit off the online games department (although Havok was part of Director previously) but they are offering Havok physics core engine, the one that runs many great games including Half-Life 2 family, free. This is truly amazing Havok was the best and probably still is the best 3d physics engine for so long but was so freaking expensive it made it unattainable to anyone without probably close to half a million for budget. I think they are either getting heat from competition or they realize the importance of allowing communities to see what they can do with something, then coming along for the ride rather than being a wall that they have to go around. (of course this leads to bigger license fees once someone is established and can afford it).

They say exactly this here:

Havok’s core platform, Havok Complete combines the industry-leading Havok Physics engine and Havok Animation, the company’s premier character animation solution. Havok Complete is already the most popular solution in the cross-platform AAA games market, featuring technology used in over 200 games. By making Havok Complete for the PC freely downloadable, Havok will further build on its leading position by completely removing the barriers to entry for the large number of independent developers, academic institutions and enthusiasts in the PC space.

I always encourage products and people making any sort of toolkit, engine, application or library to offer it free or a portion of it free to get people hooked, and then as skills are acquired, they are then completely sold in. It is a bit of a play on the old piracy market where applications become so rampant that everyone uses them for years, then they recommend them at work and the growth of this type of marketing is long-term. Windows and Photoshop both got their market shares this way, they will never admit this though but I digress.

I am so excited by this news. It is interesting that the next version of Director, Director 11 was recently announced and it NO LONGER uses the Havok 3d physics engine but the AGEIA PhysX due to it being free (although the source license is still 50k).

I currently use Irrlicht and AEGIS, or ODE (open source physics engine - open dynamics engine) for pc based game development and physics fun. I will have to read the Havok license carefully but just getting your hands on this will be beneficial to all aspiring game developers.

Now if only game companies like Epic, Artificial Studios, and others would do the same, hrm…

One item of note is that it won’t be available until May.  I can imagine that the developers are like “ok well give me a few months to clean up all the code and cuss words from the source” j/k.  Let’s hope this release is not on Valve Time.

Get your game on!

AS3 First Open Source 3d Flash Physics Engine Released - WOWEngine

Seraf, True to the word WOWEngine was released today. It is still a work in progress but it is the first 3d physics engine out of the gate. It is built with many open source kits that are emerging. It can use any of the 3 major flash 3d engines (pv3d, sandy, away3d) and it is built on APE AS3 2d physics engine.

WOW-Engine use Sandy library for all the 3D mathematical computations (matrix, 3D vector, plane). The inner architecture of the engine is also inspired by Sandy’s one.

Collisions and physical reactions are possible thanks to the AS3 physic engine made by Alec Cove, named APE(version 0.2.).. Even if APE is a 2D physic engine, it is possible to extend the contraints on volumes, and that’s the purpose of WOW-engine. WOW-engine extends APE, and allows to simulate physics on 3D volumes.

WOW-Engine is capable to handle positions and rotations of abstract objects, which need to be linked to some visual objects (2D or 3D). The visual objects can be drawn thanks to another library (Sandy3D , Papervision3D, Away3D for 3D).

WOW-Engine use and depend of the Data Structures classes written by polygonal labs.

Basic technical Demos :

Advanced technical Demos:

Tutorials: