Archive for the ‘PIXEL’ Category

Thursday, November 22nd, 2007

Andy Zupko is probably doing some of the coolest / useful work in performance and possible effects combining 2D and 3D. Using 2D BitmapData and papervision 3D it turns out you can create a parallel dimension of coolness that cannot fully exist by themselves.

Papervision 2.0 with these effects and if it is as pluggable as it seems is very good for games that lighting is a key component or effects. Imagine a game that can customize weapons with 2d effects in 3d, or rocket boosters, or fireworks or all kinds of inspiring things like changing the mood or environment such as fog, lighting etc… If you start taling about adding physics to all this it just gets too fun. Effects have always been there and around, but making this possible to have a semi-standard way to do this and if it is pluggable, this can lead to many engine advancements.

I think the PV3d team additions of Tim Knip and Andy Zupko have been very good and zupko era in PV3d has begun. Tim Knip is also very active and helping to really organize the ascollada formats and performance stuff like only drawing what is on screen.

Who needs Hydra now? j/k although having this now in papervision leads me to see a very fun 2008 ahead for Flash, it is also, if as pluggable as it seems, a bit like a shaders kit.

All those older great 2d effects merging into 3d from the good old days (some still going very strong) of praystation, yugop, levitated, neave (great 2d tv effects in neave.tv) , flight404 (moved to processing) and many others. And a new era of zupko [pv3d], mr. doob, unitzeroone [pv3d], fabrice [away3d] and many more a new 2d effects in 3d platform is emerging. This kit for papervision3d by zupko and Hydra is making the future glowing full of bright points, and lots of effect explosions.

Let’s hope papervision3d 2.0 it is released soon and it has zupko’s effects code in there.

 

Saturday, September 22nd, 2007

Take a look at this amazing custom 3d isometric engine for building 3d virtual worlds. This literally just popped up on the scene. It seems that they are progressing nicely, not sure how much it can handle in terms of multiple assets but they have a sample of a house and many effects such as lighting (day+night changes), interpolation, zooming levels etc. They are using their own custom 3d engine and texturing system but it is probably highly inspired by the new 3d engines available out there.

Try out the sample here

 

Now we have all the techs in one engine. Now we also can add bump-mapping and unique lighting FX (say, some green light on a wall near the grass). The engine has some optimization potential, but speed is mainly based on a texture quality settings.

It is supposed that all the objects will be in a 1 pixel = 1 centimeter scale.

Keys:

  • Spacebar — change daytime
  • Mouse wheel — change scale
  • Shift + wheel — tex quality
  • Ctrl + wheel — lightmap quality
  • Alt + wheel — groung quality
  • Q — tex interpolation on/off

The real-time lighting and 3d aspects of this look very promising. There are strong limitations to bulk in 3d in flash, for instance if you had a view with 100-200 homes and zoomed out with this I would like to see the performance then. Amazing work by this Russian development team.

Via Den Ivanov from Park

All the demos from this engine are excellent here’s some:

Saturday, September 22nd, 2007

Sascha over at hexagonstar aka h1dd3n.r350urc3 has created a very cool AS3 Animated Bitmap Class. You might be asking, why would you need this, you already have movieclip animation and time-based animation? Well when making games sometimes you want to lock in a certain framerate or create assets/sprites (in the classical sense) you know will be pixel based that you need to lock their framerate say at 24 while the flash application can run much faster when you need to base off frame-based animation or enterframe situations as your game tick().

In game development sometimes the platform outspeeds the designed activity such as back in the day when the “turbo” button appeared on the 33MHz computers from 16MHz. DOS games built without this knowledge were unplayable because they were so fast. Flash with AS3 is all about performance and speed and at some point controlling that for a pixel based 2d game or iso game might be necessary if you need the rest of the SWF to run faster. You can also do time based animation rather than frame-based animation but there are always times when this could

This class helps situations when you have to have an animated bitmap sequence but don’t want to include all the files for each frame, rather you put them all in one and the SWF export is much smaller and this is always good.

You can download the class including demo source code and demo image here.

Be sure to head on over to hexagonstar and h1dd3n.r350urc3 because there is a sample there and also a photoshop CS script to help create these and adds a nice little capability to any game development pipeline.

From Sascha:

What are the advantages over using a generic MovieClip? When writing games you might have several animated graphics (also called sprites, but not related to the AS3 Sprite class) that should run with a different framerate than the game’s global framerate. Let’s say your game runs with a global framerate of 99 and you put several animated sprites into your game that were created for playing back with a framerate of 24. With a MovieClip all those sprites would also play with a framerate of 99 which means they play way too fast. However with an AnimatedBitmap you can set every framerate individually. There are a couple of other advantages like that a Bitmap is more lightweight than a MovieClip and it has a isPlaying() method. Also it changes the way of how to embed assets. Instead of embedding many files for one animation only one image for a whole animation sequence is embedded which has positive effects on the file size. The ring sequence used in the demo has 21 frames that use 102Kb as single images but only 44Kb when they are combined to one image.

Thanks Sascha! Be sure to check out the other great old skool gaming tools that hexagonstar has come up with, good stuff like the hexagon framework.

Thursday, September 13th, 2007

Incremental Blogger has posted a very well done mouse gesture/handwriting/tablet PC silverlight demo. ByteArray has a similar script for flash with a Mouse Gesture library but this is very accurate to real handwriting.

Tuesday, September 4th, 2007

Recently the “seam carving” technology to size images in a content aware way to preserve the original intention of the photo has been really taking off. In fact, Joa Ebert and Mario Klingemann, two flash geniuses have created and optimized [2] an AS3 algorithm for seam carving based on the paper about this new technology that was highlighted at 2007 SIGGRAPH.

Tuesday, August 21st, 2007

Watch this interesting “seam carving” technology to resize images, image item removal, and manipulating images that go well beyond crop, resizing and retargeting.

[youtube=http://www.youtube.com/watch?v=vIFCV2spKtg]

Be sure to watch the end where you can edit the images and remove objects from the photography or image.

Tuesday, August 21st, 2007

Watch this interesting “seam carving” technology to resize images, image item removal, and manipulating images that go well beyond crop, resizing and retargeting.

[youtube=http://www.youtube.com/watch?v=vIFCV2spKtg]

Be sure to watch the end where you can edit the images and remove objects from the photography or image.

Sunday, July 15th, 2007

Rafajafar posted a great tutorial on 3D Flash Perlin Noise dynamic terrain generations with AS3 and Sandy.

Sandy is a flash 3d engine that has been out just a little longer than Papervision3D. The code for Sandy is very clear and it is a great engine. I have experimented with it and found it to be a bit slower it seems that papervision but it has great tools, including an extra 3ds file importer in addition to the Collada and ASE formats that most flash 3d engines support.

Using Perlin Noise is very common in 3d engines to draw large terrains and realistic terrains for 3d games or simulations. This technique makes it very easy to make dynamic terrains or randomly generated terrains, water effects, fire, clouds, whatever your need.

The demo has terrain generation class that can be used to build the dynamic terrain generation and the perlin noise material movement.

Samples using the TerrainCreator class to make different terrains. This could be used to also make level editors and other components of the game making pipeline in flash 3d.

//Water
ter = new TerrainCreator("MyTerrain", 1000000,
128, 9, 6000, 6000, 10,60,60, false,false, 15,
BitmapDataChannel.BLUE, false);

//Gentle Hills
ter = new TerrainCreator("MyTerrain", 10, 128, 9,
6000, 6000, 10,120,120, false,false, 15, 7, true);

//Smooth Hills
ter = new TerrainCreator("MyTerrain", 10, 128, 9,
6000, 6000, 10,120,120, true,true, 30, 7, true);

//Mountainous
ter = new TerrainCreator("MyTerrain", 30, 128, 3,
6000, 6000, 15,100,100, false,false, 10, 7, true);

Click here for the full tutorial and source files on 3D Flash Perlin Noise dynamic terrain generations with AS3 and Sandy.

Now if we could just fast forward 2-3 years on processor power and speed, or get hardware acceleration for Flash…

Saturday, July 7th, 2007

Who’s got the textures and cool chrome shiny 3d objects in Flash? There have been lots of materials work recently from papervision list developers and away3d developers (away3d is a branch of Papervision3D) and recently it is heating up a bit.

Early on on the papervision3D excitement, flash possibilities in 3d with AS3 specifically, much of that was due to 3d in flash but also the ability to texture and have bump mapping, toon rendering/cell shading and other neat effects like baked lighting, faked real-time lighting, video and movieclips on flash 3d objects and animated textures.

But when it comes to environmental mapping and true 3d reflection that might be simply stretching Flash to a limit that might require hardware acceleration but that isn’t stopping some.

I am not sure if environmental mapping will every be possible on a large scale without hardware acceleration. Pushing the limits could help influence Adobe to the market direction. But then again I never thought I would see the level of 3d in flash that we have and maybe in 2-3 years with multi-core processors it will be possible.

Here’s a snapshot of the current materials and environmental mapping (fake and real attempts).

UnitZeroOne first environment mapping /bump mapping:


Some toon renderings from UnitZeroOne

Recent work by mr doob

Wood

Metal

Weird

Weird 2

Recent work by actionscript architect

Perlin noise algorithm to animate texture real-time into water effect

More environmental mapping effects by the away3d materials developer Fabrice. Fabrice and the away3d developers are really taking off with the papervision3d core. I am seeing lots of engine limits tested and some great work at away3d.

Bumpy Meteor

Flat Lighting on bitmapMaterial

Chrome Ball (dont’ zoom in too far :) )

Did your processor melt yet?

I think that for games and flash effects faking it or real environmental mapping will have to be judged by what is needed for your purpose. I think that Flash player on software rendering can only go so far. So if you have real-time environmental reflections and surroundings it doesn’t always make your gameplay better and it won’t make your demo better if it means removing assets in other areas to make up for the performance drain of software rendering and the pressures it puts on the processor or browser plug-in.

You can still make really killer effects with baked animations, fake environmental mapping, faked dynamic real-time lighting and other effects. Flash, nor silverlight, will not be able to match hardware rendered shaders, per pixel lighting and physics anytime soon. But people are making good progress on this. I think it would be great if hardware acceleration were added to both Silverlight and Flash, with that, a brand new massive game market online, and it will be game on!

Thursday, April 26th, 2007

Will McGugan posted an article about subpixel manipulation in Python.  This is possible in other technologies like OpenGL and DirectX but Will has implemented it in Python.

 [check it out]

Here’s a picture of it in action.  Top row with sub-pixel, bottom row without. 

Photo Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at Photobucket
Photo Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at PhotobucketPhoto Sharing and Video Hosting at Photobucket

Download subpixel.zip  It requires the Numeric library.