Influxis Flash Media Interactive Server 3.5 Hosting Specialists


TVStation2 beta is Finally Here!

June 25th, 2009

tvstation2_intro

TVStation2 beta is now available for immediate download for all Influxis customers.

For all those unfamiliar with TVStation, TVStation is an online web application that allows any user to setup and run their own instant television or radio station. Through TVStation users can setup a self made list of pre-recorded content or images and broadcast it to viewers live 24 hours a day 7 days a week. Users can also broadcast live high definition video (through Flash Media Live Encoder) or broadcast live video directly from TVStation itself. Viewers can also text chat among each other while watching their favorite show or listening to their favorite song for a complete interactive experience.

New to this release:

1. Administrator

The first major difference of course is the completely new administrator interface built entirely in Flex. The new interface is a more powerful, efficient, and user friendly then the last version. This makes it setting up a schedule, broadcasting live, or managing settings a snap.

2. Broadcast Engine

This version features a completely new broadcast engine built from ground up and was made to be more efficient and faster than ever before. Included with the new engine is a new scheduling and playlist system which allows you to setup and manage schedules on the fly.

3. Live Engine

The live broadcasting engine has also gone through a big change. Through the new “Live” interface, users can now broadcast high definition video directly from Adobe Flash Media Live Encoder without use of any plug-in API. The new live engine also enables multiple users to broadcast to TVStation. A new casters list is available to switch between all users broadcasting live to TVStation allowing for instant cam switching.

4. Chat

A new chat engine is now also available. The new chat offers a new chat administrator for quick and efficient moderation of the TVStation.

5. Channels

This feature is the biggest addition to this version. Administrators can now setup and manage multiple channels directly from one TVStation instance. No more having to setup painful and confusing FMIS instances. A new login system has been created to separate and protect each channel. Master administrators can setup permissions for each channel for total and complete control of their network.

6. Uploader/Encoding

This version of TVStation also includes a new uploading system (available only with some servers). The new system allows users to upload and encode content directly from within TVStation. The new system encodes files at different rates (selected by the user) to make sure every user gets a smooth experience when watching video. With dynamic streaming built into our new player, the player will automatically switch streams when a user’s bandwidth speed changes. Dynamic streaming makes sure the transition is smooth so the viewer does not notice that a switch has occurred.

7. New Viewer

The old viewer has been rebuilt to provide a faster and a more viewer friendly interface. The new version is also compact to allow customers to embed in smaller areas.

There is much more to come in future releases so keep checking back for new TVStation2 updates. Also, you can find the application home page here and the live demo page here.

As always, your feedback is very important to us so if you have any questions, comments, or feature requests, please feel free to contact Influxis support at support@influxis.com. Keep checking back for detailed tutorials on using the new administrator.

Influxis Wizard 3.0 Highlight: New Usage Monitor

June 23rd, 2009

Features of the Influxis Wizard 3.0’s New Usage Monitor

1.       You can choose any time period from a range of 1 to 31 days within a 12-month history.

Usage Monitor Time Period

2.       Account summary shows: total data transferred, total connections, total unique users (by ip), number of applications, streams, and live streams accessed in chosen period.

Usage Monitor screenshot 4

3.       By clicking “Generate Report” you will get a detailed chart/grid view of the account in the following categories:

1)      Daily transfer of the account

2)      Daily connections and unique users of the account.

3)      Geo location lists of 20 most popular countries, regions, cities, or zip codes accessed to this account.

4)      Popular applications in the Account by number of connections

5)      Popular streams by number of plays for any streams in the account.

6)      Popular live streams by number of publishers for any live streams in the account.

Usage Monitor screenshot 1

4.       By clicking any application in the application list, you can generate a detailed chart/grid view of the chosen application’s report in the following categories:

1)      Daily transfer of the application

2)      Daily connection and unique users of the application

3)      Geo location lists the 20 most popular countries, regions, cities, or zip codes accessed to this application

4)      Popular streams by number of plays for any stream in the application

5)      Popular live streams by number of publishes for any live stream in the application

Usage Monitor screenshot 2


5.       By clicking any stream or live stream in the stream or live stream list, you get a detailed chart/grid view of the chosen stream or live stream in the following categories:

1)      Daily transfer

2)      Daily publishes and unique users

3)      Geo location lists most 20 popular countries, regions, cities, or zip codes accessed to this stream or live stream

4)      Popular streams by number of plays for any stream in the application

5)      Popular live streams by number of publishes for any live stream in the application

6)      Stream performances (for stream only)

Usage Monitor 6 screenshot


6.       By clicking any day in a daily chart, you can get the hourly data for that day.

Usage Monitor Screenshot 3


7.       From the grid view you may download the CSV source of the data grid.

Usage Monitor 7 screenshot

These reports are standard for all new customers. For any customers who joined Influxis prior to June 22, 2009, please contact support@influxis.com and request the new Wizard 3.0. You will be upgraded free of charge.

For more features of Wizard 3.0 see previous post.

New Influxis Wizard 3.0 Available!

June 23rd, 2009

Wizard 3.0 Main Screen
See below features and screenshots of the new Influxis Wizard 3.0 built in a Flex environment.

Now available to all customers upon sign up. For customers who signed up prior to June 22, 2009, please contact support@influxis.com and request the new Wizard 3.0.

See what’s new about the Influxis Wizard 3.0:

Features a new interface built in Flash with enhanced reporting systems.
wizard_usagemonitor1

The File Manager is improved with easier uploads and more user-friendly operations including right-click actions and simple drag-and-drop abilities. Includes more control over files.
Wizard 3.0 File Manager

The new Pre-built Applications screen allows for URL management.
Pre-Built Flash Applications

Flash Player builder now has the Influxis Player with customizable dynamic settings.

Wizard 3.0 Player Builder

Again, as mentioned above, all new customers will get the Influxis Wizard 3.0 with signup. For any current customers who signed up prior to June 22, 2009 and would like to use the new Wizard 3.0, please contact support@influxis.com with your request.

RMI’s Adobe Flash Builder 4 and Flex 4 Course: Register Now!

June 19th, 2009

If you’re in Los Angeles, or want to make the trip, we recommend signing up for RMI’s class for Adobe Flash Builder4 and Flex 4 course.

Dates: August 29th, 10:00 am - 2:00 pm (~4 classroom hours a day)
Instructor: Sam Rivello
Price: $99.00
Max Students: 30
Location: Rich Media Institute - Los Angeles - 525 Venezia Avenue, Venice, California, 90291 (map)

Description: Adobe Flex 4* is updated with tons of must-have new features! MXML & AS3 (Flash 10) are faster and more potent, the component architecture & skinning model is game-changing, the Flash Builder 4 IDE is easier and more powerful than ever, and more! For newbies, there has never been a better time to jump into Flex, and for veterans this training will expose just what you need to augment your toolset.

*Adobe Flex 4 is still in BETA. Features and syntax may change before the full release. Full release date TBD.

Students will receive: Attendees will become familiar with the strengths of Flex 4 and how to start a new project using the technology or migrate a current Flex 3 project. All source code and documentation will be available to attendees.

Who this course is for:Beginner to advanced Adobe Flex 3 developers and Flash CS4 developers looking to learn Flex.

Click here or link below to register and get more information:

http://richmediainstitute.com/flashbuilder4top10features

Adobe pre-built tools

June 12th, 2009

Adobe has recently released some great Flash Media Server 3.5 tools. One of the cool tools developed by Adobe is the DVRCast Application which is a DVR application allowing live video streams to be paused, and resumed from the paused state. The DVRCast Application also allows the live video streams to be rewinded and played back on demand.

To check out and download the newly realased tools please click on the following link:

http://www.adobe.com/products/flashmediaserver/tool_downloads/

To setup the samples found on the link above please follow the general directions below:

1 Create an application directory folder using the Influxis Wizard.

2 Upload the content from the dvrcast_origin folder to the Influxis application directory folder.

Note: If SFTP access is setup for your Influxis account you can just upload the whole dvrcast_origin folder to the Influxis application directory folder.

3 Once the FMS server-side has been handled, apply your connection path to the client-side Flash/Flex sample and publish a new .swf file.

4 To verify that the server is correctly able to run the application, open Flash Media Administration Console using the following link:

https://secure1.influxis.com/MEMBERS/fms2_console.htm

5 Upload the .swf file to your web server for web access. Your .swf movie should then be able to remotely connect to your Influxis account via RTMP protocol whenever it is accessed by a user.

If for any reason help is needed to setup any of the samples please feel free to contact Influxis Support (support@influxis.com).

QoS and Dynamic Stream Switching with AS 3 (Flash)

June 4th, 2009

Before we get started here are the requirements for this tutorial:

FMIS 3.5 (any size hosting plan)

Flash CS4(Adobe)

Source Files [optional]

qosplayer_sample1

In this labs entry we will monitor QoS and dynamically switch the streams based on the client resources.

Stream switching is best used with logic that checks for the user’s stream quality and switches the stream based on the clients resources.

Let’s get started - in your Influxis account, create a new application folder named “switch”. Then upload a blank main.asc file to the directory or, if you are using the application wizard, select the default main.asc file. If you are using your local install of FMS 3.5, create the folder within your default application”s directory.

We will use 3 versions of 1 video file for this sample. You can use the ones in the sample source files (sample1_2000kbps.mp4, sample1_1500kbps.mp4, sample1_1000kbps.mp4) or create your own. When encoding your videos, Adobe recommends you keep the Audio samples and Bitrates the same for all the files. This way we will get a smooth transition from one file to the next hopefully without hearing any audio pops.

Upload your videos to your account under your application folder matching this folder structure:

switching / streams / _definst_

The video files should exist in the _definst_ folder. If the folders are not there, you can easily create them with the “New Directory” button in the wizard.

Open flash and create a new FLA.

Within the FLA, write your connection code to the application you created on your FMS account called “switch”. The rtmp path should look like this:

“rtmp://account.rtmphost.com/switch”

Your Influxis account will be in place of “account” in the rtmp path above, or account.rtmphost.com would be localhost if you are working off of your local machine.

You should have something like this:

FLA (frame 1, Layer 1)

import flash.events.NetStatusEvent;
import flash.net.NetConnection;

var rtmp:String = "rtmp://account.rtmphost.com/switching";
var nc:NetConnection = new NetConnection();

function onNetStatus( p_e:NetStatusEvent ):void
{
	var code:String = p_e.info.code;
	trace("onNetStatus "+code);
 	switch( code ) {
		case "NetConnection.Connect.Success":
			break;
	}
};

nc.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus );
nc.connect( rtmp );

Now that we have connected successfully, we can move forward.

To keep things simple I’m going to use one button for playing the stream, and a video object in the UI to let the user to view the different videos which were uploaded.

Add a video window to the stage of the FLA. We”ll call the video object “vid”. Add a new Array called
“videoFiles” and list the video file names you wish to transition between. Then create a HDVideo instance and name it “hdVideo” to create our stream and handle the stream used to play the video file. Be sure when creating the HDVideo instance you pass the “videoFiles” Array and “vid” video objects as shown:

Note: You only need to add the mp4: to the stream name if your files are in h.264 format, if you are using regular FLV files you should not have it.

var videoFiles:Array = new Array(”mp4:trailer_1000.mp4″,”mp4:trailer_1500.mp4″,”mp4:trailer_2000.mp4″);
var hdVideo:HDVideo = new HDVideo(videoFiles,vid);

Now create a doPlay method that will handle the initial playing the video when the user clicks on the “Play” button. To get the video up an streaming we will simple use the zero slot of the videoFiles array when defining the stream name.

If you wish can later define the initial file selected for playback based on server-side bandwidth detection.

function doPlay( p_e:MouseEvent ):void
{
	var code:String = p_e.info.code;
 	if( code == "NetConnection.Connect.Success") {
               hdVideo.play(videoFiles[0]);
               btnPlay.label= "Stop";
	}else{
               hdVideo.stop();
               btnPlay.label="Play";
         }
};

btnPlay.addEventListener( MouseEvent.CLICK, doPlay );

Test the application and, once you connect, click the play button. It should start playing a stream in the video window.

To select the relevant video file from the array based on the user’s QoS lets first begin by creating a Timer and naming it “tNetStream”. The “tNetStream” Timer shall call the “onNetStreamTimer” which shall monitor the user’s QoS and dynamically switch the streaming video based on the user’s results:

function onNetStreamTimer( p_e:TimerEvent):void
{
	var realMXBPS:int = Math.round(hdVideo.ns.info.maxBytesPerSecond);
	var realDF:int = hdVideo.ns.info.droppedFrames;
	var realBL:int = Math.round(hdVideo.ns.bufferLength);
	var nResult:Number;

 	if ( bl < realBL || df < realDF && realMXBPS < mxbps ) {
               if( nArrayTracker==0 ){
                     return;
               }else{
                      nResult = nArrayTracker-1;
                      switchVideo(nResult);
                      nArrayTracker = nResult;
                      checkNetStream(false);
               }
	}else if ( bl > realBL || df > realDF && realMXBPS > mxbps ) {
                   if( nArrayTracker == videoFiles.length-1 ){
                     return;
               }else{
                      nResult = nArrayTracker+1;
                      switchVideo(nResult);
                      nArrayTracker = nResult;
                      checkNetStream(false);
               }
         }
         mxbps=realMXBPS;
         df=realDF;
         bl=realBL;
};

If you notice the switchVideo method uses the play2 function on the NetStream class. This will only work with the Flash 10 plugin, so Flex users should make sure you are targeting Flash Player 10 in your compiler settings; otherwise you will get errors.

import flash.events.*;
import influxis.com.events.SimpleEvent;

var nc:NetConnection = new NetConnection();
nc.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus );
nc.client=this;

var rtmp:String = "rtmp://account.rtmphost.com/switching";
var videoFiles:Array = new Array(”mp4:trailer_1000.mp4″,”mp4:trailer_1500.mp4″,”mp4:trailer_2000.mp4″);
var hdVideo:HDVideo = new HDVideo(videoFiles,vid);

var tNetStream:Timer = new Timer(1000, 0);

var nArrayTracker:Number;

var mxbps:int;
var df:int;
var bl:int;

function onNetStatus( p_e:NetStatusEvent ):void
{
	var code:String = p_e.info.code;
	trace ("onNetStatus "+code);
 	switch( code ) {
		case "NetConnection.Connect.Success":
                            addChild(hdVideo);
                            nc.call("checkBandwidth",null);
                            hdVideo.connect(nc);
			break;
	}
};

function onBWCheck( ...rest ):void
{
	return 0;
};

function onBWDone( ...rest ):void
{
	var p_bw:Number;
         if( rest.length > 0 ){
                  p_bw = rest[0];
         };
         btnPlay.enabled = true;
         bwHandler(p_bw);
};

function bwHandler( p_bw:Number):void
{
	if( p_bw >= 3200 ){
                  nArrayTracker=2;
         }else if( p_bw >= 1600 ){
                  nArrayTracker=1;
         }else if( p_bw >= 800 ){
                  nArrayTracker=0;
         }else{
                  nArrayTracker=1;
         };
};

function switchVideo( p_i:int ):void
{
	hdVideo.play2( p_i );
};

function doPlay( p_e:MouseEvent ):void
{
 	if( btnPlay.label == "Play") {
               hdVideo.play(videoFiles[0]);
               btnPlay.label= "Stop";
	}else{
               hdVideo.stop();
               btnPlay.label="Play";
         }
};

function onRootNetStream( p_e:SimpleEvent ):void
{
	var code:String = p_e.data.info.code;
             switch( code ) {
		case "NetStream.Play.Start":
                           checkNetStream(true);
                           tNetStream.addEventListener( TimerEvent.TIMER, onNetStreamTimer );
			break;

};

function onRootPlayStatus( p_e:SimpleEvent ):void
{
         var code:String = p_e.data.info.code;
         switch( code ) {
		case "NetStream.Play.TransitionComplete":
                           checkNetStream(true);
			break;
                  case "NetStream.Play.Complete":
                           btnPlay.label="Play";
                           removeEventListener( TimerEvent.TIMER, onNetStreamTimer );
			break;
         }
};

function checkNetStream( p_b:Boolean ):void
{
	if( p_b ){
                  if( !tNetStream.running ){
                       tNetStream.start();
                  }
         }
         }else{
                  if( !tNetStream.running ){
                       tNetStream.stop();
                  }
         };
};

function onNetStreamTimer( p_e:TimerEvent):void
{
	var realMXBPS:int = Math.round(hdVideo.ns.info.maxBytesPerSecond);
	var realDF:int = hdVideo.ns.info.droppedFrames;
	var realBL:int = Math.round(hdVideo.ns.bufferLength);
	var nResult:Number;

 	if ( bl < realBL || df < realDF && realMXBPS < mxbps ) {
               if( nArrayTracker==0 ){
                     return;
               }else{
                      nResult = nArrayTracker-1;
                      switchVideo(nResult);
                      nArrayTracker = nResult;
                      checkNetStream(false);
               }
	}else if ( bl > realBL || df > realDF && realMXBPS > mxbps ) {
                   if( nArrayTracker == videoFiles.length-1 ){
                     return;
               }else{
                      nResult = nArrayTracker+1;
                      switchVideo(nResult);
                      nArrayTracker = nResult;
                      checkNetStream(false);
               }
         }
         mxbps=realMXBPS;
         df=realDF;
         bl=realBL;
};

btnPlay.addEventListener( MouseEvent.CLICK, doPlay );
hdVideo.addEventListener("onNetStreamStatus", onRootNetStream);
hdVideo.addEventListener("onPlayStatus", onRootPlayStatus);
nc.connect( rtmp );

Test your application and you should be able to play a stream. With the onNetStreamTimer begin called about every second the conditionals set within the method should smoothly transition to a high medium or low file based on the user’s QoS. The player will take a few seconds to transition the file so you might want to add handling for enabling and disabling depending on how you use the feature. In our sample I enable the timer handling the QoS based switch within the onNetStreamTimer conditionals and enable it on the “NetStream.Play.TransitionComplete” event.

I am aware of the labs entry being very basic and brief which why I’ll gladly welcome any suggest or comment to help further develop this labs entry and inform anyone reading.

Massiva 3D beta is Launched!

May 15th, 2009

Massiva 3D
Massiva 3d Beta is now launched and available for immediate download!

To download the source files and customize your own world, login to your Influxis account and click on the Applications link.

If you do not have an account, sign up now and try it!

For more info on the Massiva 3D application, and try the user demo, click here: http://influxis.com/applications/massiva/

Try the Beta now and let us know what you think by sending an email to massiva3d (at) influxis (dot) com.

Massiva3d Tutorial Version 1 (the basics)

May 11th, 2009

Massiva3d is written to take a lot of the headaches out of creating your own 3d MMO system.  Unfortunately, 3d is difficult, especially in Flash.  So, if you are just learning Away3d or Papervision this might be an intermediate to advanced level tutorial.  This is also written specifically for the Developers that are going to build their own world.  I will be writing more tutorials in the future on how the 3d assets should be made/implemented, but for now, I’m just trying to lay out enough to get you started.

What you will need

  1. An Influxis hosting account (any size will do).
  2. You will need Flash CS4 to open the FLAs.  The reason for that is Massiva3d uses the Flash10 branch of Away3d.
  3. If you have 3d Studio Max you will need this: http://drawlogic.com/2007/07/30/as3-geom-class-exporter-for-3ds-max-for-pv3d-sandy-and-away3d/
  4. If you don’t have 3d Studio Max you will need this:  http://www.blender.org/ (or a script for your favorite 3d  that will export your model to .AS3)
  5. Once you have Blender installed, you’ll need this:  http://www.rozengain.com/blog/2008/01/02/export-your-blender-objects-straight-to-away3d-papervision3d-and-sandy/ This will allow you to export your model directly to AS3 code that you will import into either your AvatarAssets or CityAssets.fla.  I suggest using this way as opposed to importing a DAE/Collada file due to how much XML is needed to be parsed in Collada files.  They are bloated and slow.

(I’m currently creating an Air App that will allow you to convert your .OBJs/3dsMax/DAE to AS3, so soon you will not need Blender specifically).

The Asset Workflow

There are 4 swfs (AvatarAssets.swf, CityAssets.swf, ExternalAssets.swf, Massiva3d.swf) and 2 XML files (Massiva.xml, Settings.xml) that makeup Massiva3d.  Here is a brief explanation of each file:

  • AvatarAssets - This is the file that you will output with your Animated Avatars and your Avatar Skins/Materials.  The Avatar Assets were seperated from the city assets for loading purposes.  This will also include the 2d version of all of your Avatars.
  • CityAssets - This is the file that you will output with your City/Environment 3d Assets/Materials in.  Your CityAssets will be loaded in the background while the user is selecting/personalizing their Avatar (thus making a shorter load process for your App).
  • ExternalAssets - This is the file that includes all of the art assets for the app.  I have included everything you need in the FLA, so just restyle the assets to your liking and output the SWF.  All of your changes will be seen instantly.
  • Massiva3d.swf - This is the engine (you may want to wrap this in a preloader depending on how many Avatar/City assets you will be loading).
  • Settings.xml - this is the file that includes your RTMP path.
  • Massiva.xml - this is the file that points to all of your AvatarAssets/CityAssets.  The City Assets will be able to be positioned via this file as well.

AvatarAssets.swf/FLA

Please open the AvatarAssets.fla in Flash CS4, and go to the library.  There you will see all how I setup all of the Skins/Materials for the 3d avatars and all of the 2d assets for each different avatar (all of the .PNG files are for the Billboarded version of the avatar).

If you open Massiva.xml and scroll down to the area that has these lines:

<male avatar = “src.ExternalAni” 2d = “Man2d”/>
<male avatar = “src.ExternalAni2″ 2d = “Man3d”/>
<male avatar = “src.ExternalAni3″ 2d = “Man4d”/>
<male avatar = “src.ExternalAni4″ 2d = “Man1d”/>

<female avatar = “src.ExternalAni5″ 2d = “Woman1″/>
<female avatar = “src.ExternalAni6″ 2d = “Woman2″/>
<female avatar = “src.ExternalAni7″ 2d = “Woman3″/>
<female avatar = “src.ExternalAni8″ 2d = “Woman4″/>

Notice that the 2d = “Woman1″ is pointing to the Linkage that I setup for the Woman1.png in the AvatarAssets.fla.  That is how you set up the Billboarded version of your avatar.

Now please open the AvatarAssets.as file found in the src folder, and you will notice a bunch of imports and some public vars.  What I am doing with this, is allowing the files to be pointed to and instantiated by the Massiva3d.swf via the XML (<female avatar = “src.ExternalAni8″).

Now the hard part.  If you haven’t created an animated 3d asset with Away3d there is a good tutorial on how to do that here: http://away3d.com/tutorials/tutorial-how-to-use-the-animator-class.  I’ve also included my own Avatar files that you may use in your own App.  If you do decide to create your own Animated Avatars I have created the ExternalAni.as files as a template for you to use.  I have setup the Avatar files to assign their own Material inside the ExternalAni.as Files.

For the moment the Animator that you create has to be named ani, and only 2 AnimationSequences are seen by Massiva3d.  Idle and Walk (Idle will be played when your avatar is not moving, and walk of course will be played as your Avatar is walking).

Massiva3d creates 2 avatars for you once your assets are loaded.  It instanciates your 3d Animated Avatar, and it creates a Sprite2d out of the .PNG file that you include in your AvatarAssets library.  Why it does this is it loads the 2 versions into a Level of detail object.  Why I’ve set that up is, if the avatar is far away from the user the Level Of Detail Object will switch out the 3d Avatar to the Sprite2d (which frees up all of those used Tris, and doesn’t bog down the client’s system).

This also leads to one of Massiva’s most powerful features: Proximity based billboarding.  What this does, is if the Frames Per Second of the client drops too low Massiva will start to switch out the Avatars from 3d to 2d based on Proximity to the User’s Avatar.  This system will basically keep swapping out the 3d avatars to 2d Avatars until the system is at a level that is can handle it.  I set this up due to the natural tendancy for users to cluster close together.  This would kill the flash player usually, think of 15 Avatars at 300-500 triangles a piece all clustering together.  Depending on the system, flash is able to deal with 1500-2000 tris in such an environment (I say that due to the camera movement, and the lack of static assets).

*Note:  when creating 3d Avatars for Massiva3d (or Flash 3d in general) you really REALLY need to take into account how many Polys/Tris you are alloted for each Avatar.  I suggest less then 500 tris per avatar (yep, that’s 250 Polygons), you might be able to get away with more, but it’s going to be a CPU hog.*

CityAssets.swf/FLA

This is pretty much setup the same way as the AvatarAssets.fla was setup.  I just want to go over a little of the XML in Massiva.xml and how it correlates to CityAssets.

<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>
<world ground = “CG”/>

The world is made up 9 planes.  And each of these planes are assigned their material in order via the materials stored with linkages in the CityAssets.swf library.

<city building = “src.CityBlock1″ x = “-30000″ y = “0″ z = “30000″ scale = “1200″ material = “City1″ 2d=”no”/>
<city building = “src.LowPolyMountain” x = “-60000″ y = “0″ z = “60000″ scale = “5000″ material = “LPM” 2d=”no”/>

These lines should be pretty self-explanitory.  I will explain the 2d property next.

<city building = “” x = “1000″ y = “350″ z = “5000″ scale = “2″ material = “Tr” 2d=”yes”/>

This is a cool feature that is in Massiva3d.  If you keep the building property blank, and you set 2d to “yes” this will create a Sprite2d asset for you.  That line is creating a tree.  Sprite 2ds are great for anything that you don’t want to waste Polys on.  Background assets like, Trees, Flowers, Mountains, Clouds, would all look great using this technique.

Another cool feature of Massiva3d is that any of the 3d City Assets will have a rudimentary Collision Detection in place.  Unfortunately the 2d assets have no collision detection at the moment.  I will be implementing Jiblib’s collision dectection shortly.

External Assets

This FLA includes all of the artwork that implements the User Interface.  Since this is a beta release there is very little built in to move around the assets at the moment.  I will be rolling out advanced controls over the placement shortly.

That concludes the overview for Massiva3d.  If you have any questions or any requests please feel free to e-mail:

massiva3d (at) influxis (d0t) com


Massiva3d For FMS

April 29th, 2009

massiva3d_banner

Thought a 3d MMORPG was impossible with flash?  Well think again.  Massiva3d is launching for Beta Testing.

What is Massiva3d?  Massiva3d is a Multiplayer 3d Engine built on top of Away3d.  With Massiva3d any Influxis customer can plug in their own Avatars and City Assets into the Engine and have a fully functional 3d Avatar Chat System running.

massiva1

Massiva3d also incorporates a new system that takes into account the client’s framerate, and dynamically switches out the 3d Avatars with Sprite2ds.  It also includes Collision Detection, and a rudimentary physics engine.  Massiva3d also takes care of creating new application instances once rooms are too full.

massiva2

If you are interested in finding out any more information about how to beta test, or if you would just like to see the demo feel free to e-mail us at:

massiva3d (at) influxis (dot) com

Keep on rockin’ in a 3d world.

Flash on Tap: All About Craft!!

April 8th, 2009

Join Influxis, Infrared5, and the top Flash designers and developers from May 28-30, 2009 in Boston for Flash on Tap the first-ever web design, technology and beer tasting event all in one!

Brewers are Pouring at Flash on Tap!

We promised to bring you a unique and exciting social atmosphere, so joining the Flash on Tap conference are a group a fantastic brewers! You’ll get a chance to taste the best of Abita Brewing Company, Boulder Beer Company, The Brooklyn Brewery, The Bruery, Cape Ann Brewing Company, Edison, Haverhill Brewery, The Lagunitas Brewing Company, Magic Hat Brewing Company, The Narragansett Brewing Company, Smuttynose Brewing Co., Stone Brewing Co., and Stoudt’s Brewing Company. Don’t miss this opportunity to spend good times with fellow Flash professionals and soak in some excellent speaker sessions as well.  Learn more about the beer sponsors at Flash on Tap or Buy your ticket now!

Micro-Brewing Video for Flash

And speaking of brewmasters, be sure not to miss Robert Reinhardt’s presentation at Flash on Tap. Author of the Flash Bible series, he’s a master at video encoding and an expert on multimedia application development, particularly in Adobe Flash. His favorite beer? Find out!

Flash Animator Goodman Added—Waltz with Bashir Screening!

Yoni Goodman, Director of Animation for Waltz with Bashir joins the line-up of keynote conference speakers at Flash on Tap. Goodman will discuss his work on the film, including the creation of its unique Flash-cutout technique, and his career as a designer and instructor. The animation format, invented by Goodman, is a unique combination of Flash animation, classic animation and 3D.

To register for the conference, a workshop, or a single-day to attend Yoni Goodman’s keynote address—go directly to the conference registration page: http://flashontap.eventbrite.com.

Keith Peters iPhone Workshop Added

We’ve added a new pre-conference workshop, From Flash to iPhone, led by renowned Flash developer Keith Peters. Improve your developer skills and take the opportunity to learn from a leading developer in both Flash and on the iPhone. Peters will cover Objective-C language, Cocoa, Interface Builder and some OpenGL ES.

Attendees of the workshop will need a Mac with the free XCode developer tools installed. To run iPhone applications on personal iPhone devices, attendees will need to apply to the iPhone Developer Program http://developer.apple.com/iphone.

Sign up for the workshop!

New Lower Conference Hotel Rate $149

All events take place in Boston at The Castle and at The Boston Park Plaza Hotel. Special rates are available for attendees. Reserve your room now as special rate rooms are limited.

Early Bird $595 pricing ends soon—sign up now for the best possible pricing for Flash on Tap.

Group rates are also available:

Save up to $300! Register 3 or 4 friends, and receive $50 off each plus $100 off yours.

Save $1,100 or more! Register 5 friends, and receive $100 off each ticket, plus you get in FREE!

To take advantage of these special rates, contact Deb@Flashontap.com

Cheers!

Presented with support from: Platinum Sponsor, Adobe and ActionScript.org, AIGA/Boston, Electric Rain, Flashgoddess.com, friends of ED, IdN World, Influxis, Infrared5, MacTribe.com, Mashable, NetDiver.net, Noble Desktop, Peachpit, PilotVibe, PointRoll, Powerflasher, ProductionHub, Ribbit,Sapient and Toon Boom.

Influxis Discount Code: BRAINBEER gets you 5% off ticket prices