How to Excel Spreadsheet into SQLite

February 11, 2011

In this video you learn how to import an Excel Spreadsheet into SQLite.

Sweet Pee Gets ready for Molehill

February 11, 2011

Jonathan affectionately known as “Sweet Pee” has been working with 3DS Max for a few years now. His skills are improving and he is working on a new game specifically tailored for the Molehill API about to be released by Adobe.

Sweet Pee
Sweet Pee

Below are some of the 3D models he has been developing.

3D Models
3D Models

We are pretty fortunate to have such a talented 3D modeler in our mist. I’m sure Sweet Pee’s talents will be put to good use on many of our projects.

If you don’t know about Molehill and are wondering why we are so interested in it, check out the video below:

While Papervision3D was limited to about 2000 polygons 15fps in the Flash 9 days…Molehill can easily do 1/5 million polygons at 60Hz HD.

Wow, strap on your rocket pack, we’re about to go on a 3D adventure ride!

HTML 5: From where to where

February 7, 2011

Sponsorship: MindWindBlowing

Chapter 2 Wrap Up, Videos, Demos, PDF, and Source

May 30, 2010


I’m wrapping up chapter 2 in this post and starting chapter 3. In addition to the code demos, videos, and source, I’ve included an old version PDF of Chapter 2 (not what is in the book)…but close enough. I’m very excited about Chapter 3. I’ve got much to show you.

Chapter 2 … wrap up videos.

Chapter Demos

Interactive Cube

Hello Plane

Orbit Example

Basic View Test

Container Pivot

Simple Particle Pivot

Sphere Pivot

Christmas Tree

Chapter 2

Old Version Chapter 2 PDF


All Examples Above

Humvee in Away3DLite (and PV3D) wheels and steering

May 18, 2010


In chapter 5 of my book, I discuss how to make a car’s wheels move forwards and backwards and steer. It is actually pretty easy to do in PV3D. But in Away3DLite it is not so obvious. So in the video below I discuss the difference and show you how to get wheel movement and steering working for both PV3D and Awa3DLite.


Driving a Humvee in Away3dLite

Try It Out

Driving a Humvee

Driving a Humvee in Away3DLite


To see the code click the link below:

Read the rest of this entry »

Collada and Jiglib – how to get it working!

May 3, 2010


I’ve been working on a number of Collada Jiglib projects so I thought I’d put a few videos (and some code) out there so people can use the Collada format in PV3D or Away3d. In the tutorials:

Video1: I start with Cinema4D create a die export it as a Collada file.

Video2: I show you how to bring it into Away3d and show how to hook it up and control it in Jiglib.

Video3:  I show you how to bring the Collada file into PV3D, controlling it in PV3D is very similar to that of Away3d and I’ll be doing a ton of other videos on building PV3D games in the further. Enjoy!


The demo is similar to the one created by Yagiz Gurgul on Active Tuts but I’ve upgraded it to Flash 10 and I am using a Collada file for the Dice as opposed to the standard square primitives that Yagiz used. In addition, I’ve moved it over to Flash Builder design view which gives me a ton of components and faster design, but does slow the 3D a little.

Dice and Table

Dice and Table


Collada and Jiglib – Building Cinema4D Dice

Collada and Jiglib – Controlling in Away3d

Collada and Jiglib – Loading into PV3D

Stub Code for Controlling in Away3d (Complete Code Below)

Here is the stub code for bringing in the Collada file and controlling it in Away3d.

private function createmyDice():void {

//model1 = Collada.parse(Charmesh, {scaling:10, material:material, mouseEnabled:false});
collada = new Collada();
collada.scaling = 1.4;

//var carSkin:ObjectContainer3D = ObjectContainer3D(event.loader.handle);
model1 = collada.parseGeometry(MyDie) as ObjectContainer3D;
model1.materialLibrary.getMaterial(“ID3″).material = material4;
model1.materialLibrary.getMaterial(“ID8″).material = material2;
model1.materialLibrary.getMaterial(“ID13″).material = material3;
model1.materialLibrary.getMaterial(“ID18″).material = material1;
model1.materialLibrary.getMaterial(“ID23″).material = material5;
model1.materialLibrary.getMaterial(“ID28″).material = material6;

dieBody= new JBox(new Away3dMesh(model1), 28, 28, 28);

//model1.mouseEnabled = true;

Stub Code for Importing into PV3D

Here is the stub code for bring the Collada file into PV3D. Controlling it is very similar to Away3d and you will be covering this in more detail in upcoming videos.

public function initCube() : void

// autoplay, name, loop animation
myCubeIs = new DAE(false,null,true);
myCubeIs.addEventListener( FileLoadEvent.LOAD_COMPLETE ,onmyLoad );
myCubeIs.load( ‘die.dae’ );
myCubeIs.scale = 10;
myCubeIs.z = 300;
myCubeIs.x = -100;
myCubeIs.y = 300;
myCubeIs.rotationY = -90;


Full Source

To see the complete source for the Away3d version click the link below:

Read the rest of this entry »

Intertactive 3D Cube with Dynamic Textures

April 30, 2010


We are moving along with assignment 2 of chapter 2 of Professional Papervisoin3D. And in the first video below you learned how to build the standard Papervision3D class presented  in Chapter 2. And in the next three videos you learned how to use BasicView to build an interactive cube with dynamic textures. Dynamic means that you can change the textures while the program is running just by clicking on them.

PV3D Class

The Papervision3D Class PV3D Book

BasicView Interactive Cube Part 1

Building an Interactive Cube Part 1

BasicView Interactive Cube Part 2

Interactive Cube Part 2

To see the code for the interactive cube Part 1 click the link below:

Read the rest of this entry »

Tips for Optimizing 3D Web Games Part 1 and 2

April 22, 2010

Intro Optimizing 3D Web Games

In this video tutorial set your learn the tricks to optimizing 3D Games for the web.

Videos 1 and 2

Tips for Optimizing 3D Web Games Part 1

Tips for Optimizing 3D Web Games Part 2

Optimization Notes

Tips for Building 3D Games for the Web

3Games – qball (chapter 12), footBall, bowling buddies
elegantly simple and highly addictive

  1. Good news everything is getting faster
    Hey we are native now!
  2. What about cache – careful where you
    put your passwords!!!
  3. A Few Optimization Tips:
    Viewport size
    Unprojection vs Jiglib
    Sprites plus 3D
    Vertice Number
    Stage Quality

Video 2: Image Tricks

Optimize your images (the designer developer war)
— Photoshop export for the web!
Avoid Transparency
Mip map your images (2, 4, 8, 16, …1024
Reduce Viewport size (1/3rd + 2/3rd rule)

Count Vertices!!!
Combine low polygon with good sound!!!
This gives a real feel effect.

  • Book List from Chapter 10 Professional Papervison3D
  1. Viewport size-as mentioned earlier rendering your 3D objects to the stage is about 2/3rds of the CPU work. Whenever you can reduce viewport size this lessens the amount that needs to be rendered. So bring your viewport down to the point that you do not diminish game play. In the shooting game this has already been done. But when you design your next game keep this in mind. If you need to fill the entire screen do it with some static graphics.
  2. Transparency-transparency is real CPU killer in PV3D. So in the pool game, get rid of your transparent bounding box material and add a line3D outline instead. It’s not as cool but it’s faster. You’ll have to do a little reprogramming of the PV3D plugin and create a line3D bounding box class to accomplish this.

  3. Movie Clip Animation-Movie clips are expensive items on your CPU-they carry a lot of overhead. You can use a frame ripper instead, which cycles individual bitmaps, or just use a single graphic.

  4. Mipmap all your Graphics and Filters-you’ve already done this for the pool game, but keep this in mind as you create other games in the future.

  5. Use Solid Colors When Possible-whenever possible exchange your texture colors with a solid color. In the case of the pool game, you can dump all your ball textures for solid colors. However, this may save some resources, but it’s guaranteed to make your game look ugly. Use this option sparingly.

  6. Reduce Vertices Number-reducing vertices can make a big difference. For example, if your balls are 8×8 and you reduce them to 8×6 you’ve saved 16 vertices per ball or a total of 160 vertices for 10 balls. It adds up, so whenever possible bring your vertex count down.

  7. Drop the Bullet Imprint-adding more bitmap material slows your processor; dropping the bullet imprint will save some CPU resources.

  8. Drop the Spring Camera-the spring camera requires a few extra iterations and substituting in a Camera3D in this case will make little difference on how your game looks and performs.

  9. Remove tracer filters, line blur, and panel drop shadows-removing drop shadow from your panel will not change much, but removing the line trace blur filter will since you’re generating it every time you shoot.

  10. Remove the tracer line or replace it with a recycling particle or bitmap. The problem with line material in PV3D is that it accumulates in memory and even if you remove it properly, it still waits around for garbage collection. If you really need a tracer, use a recycling particle that doesn’t need to be removed from memory; another option is to use a bitmap.

  11. Drop the Skybox and add a simple background image. Skyboxes are beautiful but can add a serous lug to your game-especially if they are being moved often.

  12. Turn off scroll policies-in Flex, make sure that all scroll policies are turned off. Scroll bars require resources and turning them off saves on CPU resources.

  13. Keep stage quality low (stage.quality=”low”)-setting stage quality to a higher level will cause anti-aliasing to kick in, requiring a x2, or x4 iteration of every frame which is a significant processor hit. In most cases, keeping stage quality low doesn’t make a difference in appearance.

  14. Watch out for hidden background objects. Sometimes in game development objects are left invisible, layered in other objects, or left in the background. You might not see them, but your CPU does. So make sure that all unnecessary objects have been removed from your game.

Chapter2 Assignment 2 PV3D Book

April 21, 2010

Assignment 2

Here’s the class assignment for chapter 2 of Professional Papervision3D. You’ve got some reading to do, and few videos to watch.

Assignment Video

Assignment # 2: Chapter 2 Professional Papervision3D

Watch the following videos

Chapter 2: 3D Language (PV3D Book)


Chapter 2: Getting the Classes (PV3D Book)


Series on CS4 and PV3D

Reading Assignment Chapter 2 for Professional Papervision3D

Read the following sections in chapter 2.

Display Object3D

Running Papervision3D 4 Different Ways (Hello World)

Using Flash or Flex

Special note below !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Big change no longer using

pv3Canvas.rawChildren.addChild(viewport) in Flex

But using in Flash Builder using


<s:SpriteVisualElement id=”mySprite/>

Building Classes

Watch Getting Started with Classes 1 & 2

Formulating a Papervision3D Class

Jiglib Soccer Field Part 1 and 2

April 19, 2010

Intro Jiglib Soccer Field

In these two videos I demonstrate how to hack Jiglib to create a soccer field in PV3d. This goes along with Chapter 2, and now that you are a hacker. It’s time to charge on with the rest of the chapter.


Flash Jiglib Soccer Field Part 1

Flash Jiglib Soccer Field Part 2

Notes (Summary)

  1. Download Jiglib
  2. Prepare your PV3D ActionScript Project (in Flash Builder)
  3. Prepare your Jiglib base code
  4. Hack Jiglib
  5. Add your field
  6. A little touch of photoshop

Click the link below to see all notes and code for this video.

Read the rest of this entry »


Get every new post delivered to your Inbox.