First Papervision3D Game!

ObstacleCourse game

Anyone remember the original 1992 Xwing game? When you first started playing the game, you had to do obstacle courses to learn how to fly the various ships. They all had their strengths and you needed to learn how to navigate using those strengths basically.

I couldn’t find a screen shot online of the obstacles, so the ones I created are purely from memory. But they’re fun and they get the job done, so how cares, right? I added a little mutliplayer element with the Leader Board (that added a couple extra days), and I think it really makes it 1000x’s more fun if you see your friend’s times πŸ™‚

The workflow was incredible on creating this game! All told, i think this is probably about 4weeks work, and that’s with all of the learning curves. I was able to create all courses in 3D Studio Max, export as collada and load at runtime! All I had to do was right a little code around handling the child objects of the collada object (better known as obstacles) and whenever I loaded a new course, it already knows where they are and how many etc. Then, to allow for more obstacles to be used in a course, I only show 10 at a time. Couldn’t be easier to create new corses!

I think with this demo, we can see Paperworld taking shape as this uses many of the same features and principles of what we’re putting together for Paperworld.  On my laptop with dualcore2, it smokes at 30fps!

The objective is simple: Follow the arrow and get through all of the obstacles as fast as you can.


  • Use the roll keys (A, D) to orient yourself to the oncoming obstacle.
  • If you don’t have a fast computer, flying in cockpit view helps give you some extra speed by not rendering the Xwing
  • Go fullscreen and back to gain speed while playing in the browser (remember to go back, otherwise your keys won’t work in fullscreen mode)

Check out the videos:


Play it here!

Rings Race

Speed Test

Cork Screw
  1. Amazing! …however I need to practice a lot to get used to the controls πŸ˜‰

    Really nice work!

    • z
    • March 10th, 2007

    invert mouse!!!!!

  2. You see it right? It’s in the options panel πŸ™‚

  3. flying upside down and drinking a couple of brews can be a disorienting experience… but loads of fun!

  4. It’s just as hard to use as I remember it being in the original.

    • Webdevotion
    • March 10th, 2007

    Please convert the code to use the arrow keys on the keyboard. It’s unusable for people with azerty layout ; )
    Great effort nontheless

  5. Looks cool, but hard to use my graphic tablet to play πŸ™‚
    It tries to install Flash Player 9 on my Firefox, even I got Flash Player 9 Debug version. In IE works fine. Greetings =)

  6. Damn! That’s got to be the hardest game to control ever. Great job, I’m just not sure that I’m goign to have the time to perfect my flying skills.

  7. Doesn’t work in my player. Throws errors like:

    TypeError: Error #2007: Parameter type must be non-null.
    at fl.core::UIComponent/fl.core:UIComponent::callLater()
    at fl.core::UIComponent/invalidate()
    at fl.core::UIComponent/setSharedStyle()
    at fl.managers::StyleManager$/::setSharedStyles()
    at fl.managers::StyleManager$/registerInstance()
    at fl.core::UIComponent$iinit()
    at fl.controls::BaseButton$iinit()
    at fl.controls::LabelButton$iinit()
    at fl.controls::CheckBox$iinit()
    at flash.display::Sprite/flash.display:Sprite::constructChildren()
    at flash.display::Sprite$iinit()
    at GameOptionsPanel$iinit()
    at flash.display::Sprite/flash.display:Sprite::constructChildren()
    at flash.display::Sprite$iinit()
    at flash.display::MovieClip$iinit()
    at stats_fla::MainTimeline$iinit()

    Flash Player 9.0 r15, Firefox 2

  8. Yeah, you’ll need the latest 9.0.28 player for this one I’m afraid. This one’s a bit bleeding edge πŸ™‚

    • Phillip Kerman
    • March 12th, 2007

    you left handed or something?

  9. LOL no! πŸ™‚

    • Nicole Love
    • March 12th, 2007

    Spectacular, Spectacular!

  10. Great real sample! good vision of Flash for future

    • Rosytown
    • March 15th, 2007

    So with Papervision 3D I can control the camera which is viewing the 3D object, from within Flash at runtime? Yes or No?

    • Rosytown
    • March 15th, 2007

    Does Papervision 3D allow for smooth vector based output (as seen in Swift 3D) or just that pixletated grainy raster look. Yes or No?

  11. To your first question about Camera control: Yes, exactly. You can do that πŸ™‚

    As for the second question – The game might look pixelated, but that’s because of choice for the game performance. I set the quality to “low”, so there’s no anti-aliasing by the Flash player. If you set to “high” or “best” it looks very nice.

    now, in saying that, Swift3D is not runtime3D – it’s for design and static animation for the most part. Papervision is realtime 3D – model, scene, camera manipulation etc.

    Hope that helps

    • Russ
    • March 20th, 2007

    oh my god, I just vomited on my keyboard…

  12. @Russ: Classssssic – anyone remember decent?

    • Dave
    • March 23rd, 2007

    At first, I thought the controls were absolute trash, with my xwing flying out of control, I almost gave up after 20 seconds. BUT then I realized I was just going too fast, making drastic movements with my mouse, and not playing fullscreen, so my mouse kept leavinAg the stage. I gave it another shot, and love it now.

  13. Thanks Dave! Yeah, the speed key is incremental – if you hold it down you’ll go faster and faster until you hit the speed limit.

    Too, on smaller screens it can be hard to play because of the mouse – I’m thinking of releasing an apollo version if I get some spare time

  14. John, very cool game! Having lots of fun here. Brings back good memories…

    • yohami
    • March 25th, 2007

    controls are impossible 😦

  15. yeah you should watch the videos to see how to do it.

    Just remember: the mouse steers the craft, the keys deal with speed and roll.

    watch your speed! holding the speed button down will continually increase your speed until you hit the speed limit. At that point, you’re probably going way to fast. So, just tap the W or S key to speed up/slow down

    • bluecat
    • April 3rd, 2007

    Cool stuff! A speed meter would be helpful too… πŸ˜‰

  16. If you enter cockpit view ( hit the “;” key ) you can see the speed meter on the hud to the left.

    But you’re right, I need to add it to the external view as well – thanks for reminding me!

    • moon
    • April 14th, 2007

    Hello, I dont understand how you did this project !
    Do you import a 3Ds file then you add the interactivity ???
    How can we find the paperVison3D ????

  17. I’m going to go over that at the class I’m teaching in June (

    When you create scenes in 3D studio Max, you export as a collada file. Collada is an XML file essentially. So, at runtime, you’re really loading an XML file that carries data with it that you can use. PV3D creates objects in exactly the same way you created them in 3DS and gives you access to those objects via ActionScript.

    It’s awesome!

    • moon
    • April 15th, 2007

    Hello John,
    So if I understood what you said, to add interactivity to a 3D model issues from a 3ds file, I have to export the 3Ds file as a collada format which is a sort of xml file. Then I will access the data ( in the collada file ) with actionscript to add the interactivity. It that true ??
    Do I have to use PV3D or it dosen’t matter ??
    What I would like to do is to turn arround on my 3D model using Flash.

    Think you for your answer.

  18. PV3D is required to render the Collada information, so that part is required.

    To simply rotate your 3D model, you can use the PV3D API very easily with calls like:

    rotationX, rotationY, rotationZ, roll(), yaw(), pitch() – everything you’d need to rotate your model is in the PV3D API.

    • moon
    • April 16th, 2007

    Is there a PV3D API ????? I thought that PV3D is just some packages written in action script ??
    I thaught waht i have to do is to download the the PV3D package and use that code in the action script panel of Flash !!
    Please where can I find a complete definition of PV3D ??

  19. Sign up for the email list – when you get the WELCOME email, it will have the SVN URL for getting the packages:

    There you go! Good luck!

    Then, go to – tutorials, links are out there

    • pixelvader
    • April 17th, 2007

    Takes a bit of work to figure it out, but a really cool game once you do. I have a suggestion for you though… some sort of spedometer so you know how fast you are going. πŸ™‚ Arrow keys would be good to because then your finger will be closer to the /, ;, and p keys as well. Other wise ground breaking game for Flash, maybe Director games will be finally be a thing of the past.

  20. Very dope.

  21. very very very cool but very very very poor controls. that’s the only thing holding you back — usability.

  22. Maybe I need to do a video on how to control it? Or maybe better instructions?

    I just have a hard time seeing what’s difficult. I mean, yes, it’s not easy – but you steer with the mouse and control propulsion with the keys. I mean, just about every game I play today has the same setup?

    You fly a jet, you do it the same way in every game you play with a mouse.

    I don’t mind making adjustments to the controls – I don’t want to come across that way. But, i’m an avid gamer, I play flying games all the time and they all require the same setup.

    Maybe some suggestions?

  23. yea ideas about the control is correct but something is just off.. sensitivity maybe etc. there’s advantage when you know how it works, but to the average person, it’s something that’s gonna get clicked off in seconds unfortunately.

  24. Yeah I think you’re right Tom – I’ve been staring at it alot lately thinking i need to start from square one again on the physics and options. Need to go back and play some other more recent games and see what they’re doing etc.

    • anthony aloschi
    • May 26th, 2007

    when is full version comming out ?

    • anthony aloschi
    • May 27th, 2007

    i was just thinking , when u go into 1st person mode , it would be cool insteade of just the blue screen but have the inside cockpit of an x-wing

  25. Yeah, I toyed with that idea, and actually ran some tests. Doing a fully 3D cockpit would have looked awesome, but we would have paid for it on CPU processing. Then I tried a bitmap, and it was very limiting in the area you could view. So, it seemed like you got little reward for a cool affect (IE: it made playing the game harder)

    • anthony aloschi
    • June 20th, 2007

    any idea on when the playable demo of the trench run would come out

    • peper
    • August 28th, 2007

    I think You should work on physics. This ship is flying lika a plane like tere’s air and all the forces on wings. Spaceship flies rather like a .. brick πŸ™‚ Imagine a brick in space with one engine on the back, and four little steering engines on the front (up, down. left, right). While flying with rear afterburner off, you can turn around the ship “in place” without changing course. It could be more fun I think

Comments are closed.
%d bloggers like this: