Unity and Flash, the best of both worlds! - Unite presentation slides

Last Tuestday I presented at the pre-conference Unity for Flash developers day, at invitation of Unity. It was a very interesting day for every Flash developer who wants to get into Unity (which by the way is  very easy to get started with, as Unity Indy has been made a free product!). Other speakers that day were Mauricio Longoni, John Grden and Tom Higgins.

I think the day provided the visitors with a lot of essential information in order to get started with Unity. The feedback I received on my talk was very good, so hopefully I contributed to new Unity users getting started with Unity.

As promised in my presentation, I've posted my presentation online, which you'll find at the end of this post. In the next weeks when I've returned and recoverd from this conference, I'll start posting some of the examples as mentioned in my presentation. So you can expect the JSON, Google Analytics, XML loading and Parsing, image loading and posting variables examples on this page.

New mobile streaming campaign - Pak de Polo

PakDePolo.nl

Last Thursday a new campaign for Volkswagen went live, which makes use of mobile streaming. I did some work for this in cooperation with Achtung!, before looking at what I developed for this campaign let me first give a nutshell introduction.

A new Volkswagen Polo is driving around in the Netherlands. When you see the car passing by, you can wave at the car, so the current driver has to stop and the new driver can continue the ride. Each day winner who drove the longest distance gets a ticket for the finale that takes place after the campaign. The one who wins the finale will win the car.

Visitors of the website www.pakdepolo.nl can see where the car is at this moment through several video streams and live GPS. You can leave your zip code on the website in to vote for your neighborhood, which could result in sending the car in that direction. The car is equipped with an custom written navigation system making use of Google maps and is in connection with the website. New routes can be pushed to the car. It is also possible to leave your mobile phone number or e-mail, in order to get a warning when the car is will cross your neighborhood.
I was asked to equip the car with all the technical stuff, as I have quite some experience with mobile streaming and equipping cars with it.

I had to:

  • Recreate and assemble the camera system.
  • Set up streaming to a Wowza server.
  • Real-time push GPS positions from the car to all clients over a RTMP (Red5) connection
  • Track distance per driver. (This was a real hassle, as the GPS devices which I’ve used gave unreliable positions once in a while)
  • Create a LED display showing a driven distance per driver. (This was custom made. A Phidget has been used as the interface between a laptop and the LED display).
  • Set up a local in-car network to set up a remote desktop between the laptop in front of the car, with laptops in the trunk.
  • Custom build all hardware in the car.

The following images show some parts of my work: (more...)

Serious multiplayer 3D games using Unity, Flash and Red5 - Presentation video

The video registration of the Adobe Usergroup Meeting #12 about games is made available on the website of the Dutch Adobe Usergroup. This is including my presentation about serious multiplayer 3D games using Unity, Flash and Red5.

I've receive quite some feedback, including some international feedback of people who are disappointed the presentation is in Dutch and they can't understand it. I'd love to get invited and do this presentation for an international audience, so ping me a message when you have an opportunity (hint: I'll probably travel to California in September :-) ).

Regarding the presentation, also make sure you'll watch the following presentations:

Kudos to the Adobe Usergroup for making these videos available!

Serious multiplayer 3D games using Unity, Flash and Red5 - Presentation slides

Today's meetup of the Dutch Adobe Usergroup has been a very successful day. Not only because I did one of the presentations. The other presentations where very interesting as well. It was very interesting to hear experiences from other people that are involved with game development. The line-up was top of the notch, with speakers like Senne de Jong from Little Chicken Game Company, Tim Hudson and Sander Wichers from Virtual FairGround, Quinten Beek from MediaMonks Games, Daniël van Gils from Kamerblauwlicht and more. Check out the Adobe Usergroup website for more details.

Couldn't make it to this meeting? Don't worry, all sessions will be available on the Adobe Usergroup website soon (I'll dedicate a new post on this once it is available).

I've been asked to do a presentation about what I'm doing with Unity, Flash and Red5. Hopefully it gave some new insights to at least a few of the 250 attendees. I really liked talking about my recent passions and want to thank the Adobe Usergroup for inviting!

I've just posted my presentation slides to SlideShare, while waiting for the session videos that will become available soon:

Speaking at Dutch Adobe Usergroup Meeting

I've just been confirmed as one of the speakers for the next Adobe Usergroup meeting. This will take place at 13 may in Amsterdam.

The theme for this meeting is "Games" in its broadest definition. Although the name of the usergroup implies otherwise, it is technology and platform-agnostic. This gives me the chance to talk about "Serious multiplayer 3D games using Unity, Flash and Red5". I'll talk about how we combined the best from the Flash world with Unity3D as the fundamentals for serious 3D browser-based games. Flash is used for everything that's related to the interface and requires usability. Unity3D is used to display everything that is 3D. Javascript let both elements on the page communicate with each other. Red5 is used to add multiplayer functionality to Unity3D.

The Adobe User Group is an assocation in the Netherlands aimed at creative professionals: the pixelpushers and the code-warriors, the projectmanagers and the art directors. People who are hands-on and share a passion in delivering creative work. Meetings are more like regular mini-conferences, being held 6 times a year and attract 200-250 people on average. Each meeting/presentation will be recorded and made available as an on demand streaming video on their website. So for those who can't make it to the meeting there's a chance to watch the video afterwards. However, as it is the Dutch usergroup meeting, presentations are mostly in Dutch. So will be mine.

Did I already mentioned the meetings are free!? For more information about other speakers, the usergroup in general and sign-up, check out their website: http://www.adobeusergroup.nl/site/list_messages/204

Anyway, I'm quite excited about presenting where I've been working on for quite a while. I hope to see some of you there!

RTMP Communication with Unity3D using C#

I'm very excited to share with you some information about what we at DNBmedia tried to achieve in the last couple of months. We're very interested in the use of Unity3D, as you could read in my last post. Especially integration with a browser and communication with Flash is important for us. In that last post I talked about communication on a single page between Unity, a browser and through that with Flash. What kind of communication you do need more when you think about Flash? That's right, RTMP communication! And that's exactly where we've been working on in the last couple of months. For those who don't know; in Unity3D you can program in C# and use DLL's. So what we've decided to do was to implement the RTMP protocol in a DLL library. This resulted in having a very hard job on reverse engineering the protocol with just a little documentation. I need to give my best colleague Stijn Raaijmakers all the credits for that, who's a very talented programmer with advanced C# and Actionscript skills.

(more...)

Paperworld3D v0.1 Installation tutorial

To set up a Paperworld3D project you need to use several programs, which might be partly new for the average Flash developer. Since I know this makes it kind of hard to set up a project for the first time, I wrote down all the steps which I've taken to get the demo files up and running on my local machine.
Follow these steps exactly and you are able to get it all running too!
[NOTE] I'm using Windows XP, I'm not sure if all these steps are the same on Vista and Mac (Let me know!).

(more...)

Paperworld 3D v0.1 released!

Go check out yourself: http://www.paperworld3d.com

Later on this weekend, I'll post my thoughts and examples about this very promising project!

[Update 2008-04-06]
During this weekend I've been looking into the source code. It's all well organized and Trevor Burton did an excellent job!
Since it's a first release, without any tutorials yet, it is kind of hard to get it all running right now. Errors found in the project could mean that I've misconfigured something, or that I've found a bug.
Trevor showed his will to help me out which I really appreciate. As soon as I have some working examples I'll write down my experiences on this blog.

Multiplayer Papervision3D using Red5

With Paperworld3D coming to us very soon I've been experimenting with a multiplayer papervision3D application. I've been using Adobe Media Server before to build some multiplayer applications, but this time I want to build it in red5, since I was inspired by Chris Allen's session at FITC Amsterdam about a month ago.

To keep it all very simple for now, I just made a simple cube with some textures. Each visitor of the application will be represented as an avatar, which is in this case just a plane with a random colored texture. The avatar can be controlled by using your arrow key's in combination with the mouse.
Locally the avatar is moving in a 3D environment and pushes it's position (x/y/z/rotationX) every half a second to the server. Every half a second each avatar in the 3D environment will look where all the other avatars are positioned at that moment and tweens each plane to that position, so it will all happen smoothly with a delay of half a second.

(more...)