Full-time Pure ActionScript Position Available (No Websites)

May 8th, 2007

If you’re an MXNA blogger in the G.T.A., I would be greatful if you shared this information on your blog. Thanks!

Position Summary
The Flash Developer will be responsible for integrating unique solutions within our Flash Gaming Suites. The position strongly emphasizes ActionScript programming, from core libraries to interface development. The position will be part of a team of 2-5 flash developers and 2-3 graphic designers of varying experience.

Key Responsibilities
- Assist in the creation and maintenance of Parlay’s suite of Flash games
- Integrate solutions within Parlay’s Gaming Suites
- Flash skill requirement is largely ActionScript and interfacing with Java and Web components

Required Skills and Competencies
- Competency in the use of all Flash IDE’s from Flash MX 2004 onward
- Extensive Flash ActionScript experience with AS1 and AS2 with a workable understanding of AS3.
- Familiarity with OO concepts, design patterns and is comfortable with implementing them for Flash applications
- Familiarity with HTML
- Must be flexible and able to work with AS1, AS2, and AS3 scripts
- Formal training in programming is a requirement
- 2-3 years related experience
- Strong written and oral communication skills

Definite Assets
- Proficiency in Photoshop, Illustrator, Sound and Video Editing Software
- Understanding of Java, XML, HTML, and other web technologies
- Gaming experience
- A College Diploma or University Degree in a technology field

So if you are interested or you know someone who might be, please send me your resume/CSV at mlapasa at parlaygroup dot com. The role is focused on client-side application development and not website design. For more information about the company, please visit http://www.parlaygroup.com.

Mark Lapasa
Flash Developer
Parlay Entertainment
Where the World Plays Bingo.
mlapasa at parlaygroup dot com
www.parlaygroup.com
2305 Wyecroft Road, Second Floor,
Oakville, ON, Canada L6L 6R2

Developing for Silverlight

May 3rd, 2007

First-time Flash In TO poster “djshagz” shares experiences into using Microsoft Expression Blend and XAML.

“Well, I’ve been working with Blend for a few weeks now, working on a POC using WPF technologies for a client, as part of an exercise to learn XAML and Blend, figure out what the workflow it suppose to be and how it might fit within our company, etc.

I have to say, it was a really frustrating experience, but I have to qualify that by saying I had never done any C# sharp programming before…”

The post seems honnest and sincere. I have yet to take a stab at it myself. You can find the post here.

Silverlight Logo

Firebug: Edit, debug, and monitor CSS, HTML, and JavaScript live in any web page!

April 17th, 2007

Today, I asked a co-worker whether or not it was possible to debug javascript in real-time inside the browser. I didn’t want to embed cumbersome temporary Alert()’s into the source which was already in production.

Specifically, I wanted to see how the .swf was reaching outside of the Flash Player and invoking a javascript function in the HTML source.

He led me to FireBug. I must say, this is probably one of the most impressive plugins for debugging javascript. With little guidance, I was able to setup a watch on the js function and was able to log the arguments passed to it into the console with no typing required. Point and click! I’ve never been this excited about javascript.

If you already knew about Firebug, I’m just sharing the love.

Video: Mike Potter’s Presentation on Apollo @ FlashInTO

February 6th, 2007
Apollo Logo

Rick Mason from FITC posted the Apollo Demo given by Mike Potter at January 31st meet. If it was on You Tube, it would be easier to embed the video but here’s the link to the presentation anyways.

http://www.flashinto.com/phpBB2/viewtopic.php?p=19532#19532

If you are in the Greater Toronto Area, the Flash In T.O. Flash Usergroup has monthly meetings. Visit http://www.flashinto.com/ for more details on the next monthly gathering.

Value Objects with Getters/Setter Interface

January 6th, 2007

Recently, I’ve built the client side of a J2EE Transfer Object pattern implementation and it composes a number of value objects. I was going to shape the VO’s like in Darron Schall’s Book VO used in his “Convert Generic Objects into Class Instances” article (good read I might add). The VO consists of an object with public attributes and nothing else.

public class Book
{
public var title:String;
public var pageCount:int;
public var publishedDate:Date;
public var inLibrary:Boolean;

// Just for kicks...
public var random:*;
} // end class

I was contemplating whether to use getter/setter methods using the get & set keywords. It would allow me to parse information that was coming in as Strings but return it in the type it was needed.

A little bit of net research led me to this nice article that using get methods and set methods can add more flexibility in the future.

1) Get methods can return a default value if it’s undefined/null

2) Get methods can be used to trigger lazy instantiation: Why create instantiate the object of a linked attribute at the time of the VO’s initialization when you can do it at the time you need?

3) Set methods can perform validation: This was the main reason why I considered getter/setters with VO’s.

4) You can have multiple getters for the same private attribute: Very cool, didn’t realize how handy this could be.

Source Control Management

November 13th, 2006

Where I work, we have a full-time build engineer who manages and builds thousands of lines of code made by other people. It is an interesting and complicated process that will take you away from the low-levels of code and pit development skills into the deployment/version management process like creating branches, etc.

If you are thinking about CVS, you can go with Perforce (not free) which I heard is doing wonders. For my personal projects, I use Subversion (SVN) because of nice integration with Eclipse. Supposedly CVS is on it’s way out however it is the foundation repository of many companies today.

SVN has a very simple command-line interface which runs under *nix and has binaries for Windows. The docs for Subversion are some of the most concise, compact and simple reads I have enjoyed. They encourage you to read what you need to know and not everything from cover to cover.

SVN is not check-in/check-out like MS Visual SourceSafe. It is based on copy-modify-merge model of text files. There is also a capcity to lock files so that people cannot make overrwritting submissions. This is handy for binary files like .fla’s.

Could This Be The End Of The Mouse and Keyboard?

October 23rd, 2006

This might be old news but it’s new to me. Just watching the video made me think that the hand-manipulating of data was so ‘god-like’. It looks practical and I am sure with gloves, one will not sandpaper down their finger tips. More on “Multi-Touch Interaction Research” can be found at http://cs.nyu.edu/~jhan/ftirtouch/

From the researcher’s website:

“While touch sensing is commonplace for single points of contact, multi-touch sensing enables a user to interact with a system with more than one finger at a time, as in chording and bi-manual operations. Such sensing devices are inherently also able to accommodate multiple users simultaneously, which is especially useful for larger interaction scenarios such as interactive walls and tabletops.”

Quick and Dirty 3-D On The Web

August 27th, 2006

The following is just a quick summary of approaches I know to do 3-d on the web. If you know of any others, please feel free to leave a reference. Thanks!

Processing


Java Required to view this applet (Credit: Processing.org)

Product Home
http://processing.org/

What’s Been Done With It
On http://processing.org/ main page, look on the left side for the “Examples” area.

Description
“Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.”

How To Learn
http://processing.org/learning/
Note: There is no conventional linear documentation HOWTO. You just look at the categorized prototype code, cut & paste, and understand how it works. The nice thing about the code is for the most part, it is very short.

Web Deployment of 3d
The Java run time environement is required to view Processing applets

Comments
- Fast learning curve to get some good results
- Growing technology gaining fast adoption because of high cohesion of doing visualization quickly
- Aimed towards dynamic interactive 3d experience
- FREE!

Macromedia Director MX 2004


Screen shot of Quake 3 Forever done in Director

Product Home
http://www.adobe.com/products/director/

What’s Been Done With It
http://digg.com/playable_web_games/Play_Quake_3_Directly_in_your_Browser!
http://necromanthus.com/Games/ShockWave/quake3.html

Description
“Macromedia Director is the proven multimedia authoring tool for professionals. Director combines broad media support for media types, ease of use, high-performance, and an infinitely extendible development environment to deliver rich content and applications for CDs, DVDs, kiosks, and the Internet. Director MX 2004 offers powerful new features, including two scripting languages, DVD-Video support, cross-platform publishing, and Flash MX 2004 integration”

How To Learn
- http://www.adobe.com/support/director/3d_index.html

Web Deployment Of 3D
- Users must have Adobe Shockwave Player Plug-in to view Director-generated content

Comments
- Lingo (the scripting language for Director) is better suited for doing large scale real-time 3d projects on the web
- Not free

Adobe Flash + Swift 3d


Click lower section to load movies (Credit: erain.com)

Product Home
http://www.erain.com/products/swift3d/

What’s Been Done With It
http://www.erain.com/products/swift3d/examples/

Description
“Swift 3D is the only 3D application to directly integrate with Macromedia Flash and provides unrivaled vector rendering quality and output style options. Swift 3D’s toolset and interface allow anyone to quickly create 3D content while providing a full set of advanced tools to grow into. With both vector and video export capabilities, Swift 3D provides the entire motion graphics design industry with a powerful, easy to use 3D solution that delivers high quality results for an affordable price”

How To Learn
- In-program tutorials

Web Deployment Of 3D
- Users need to have the Flash player installed
- Out of the 3 approaches to 3d I have mentioned, this one has the largest reach.

Comments
- Aimed towards graphic designers; Claims you can learn in under 1 hour
- The combination of these tools will allow you to do non-dynamic 3d whereas the other two mentioned are more code based
- Not for creating dynamic interactive 3d
- Least amount of programming involved

Google’s SketchUp


Rollover to animate (Credit: Sketchup.com)

Product Home
http://www.sketchup.com/
http://sketchup.google.com/

What’s Been Done With It
Google Earth

Description
Google SketchUp (free) is an easy-to-learn 3D modeling program that enables you to explore the world in 3D. With just a few simple tools, you can create 3D models of houses, sheds, decks, home additions, woodworking projects - even space ships. And once you’ve built your models, you can place them in Google Earth, post them to the 3D Warehouse, or print hard copies.

How To Learn
- Video Tutorials
http://sketchup.google.com/tutorials.html
- In-program tutorials (very easy!)

Web Deployment Of 3D
- Google Earth: http://earth.google.com
- 3D Warehouse: http://sketchup.google.com/3dwarehouse/

Comments
- Very pleasureable and powerful experience when developing 3d
- Not for creating dynamic interactive 3d
- Still growing, not taking over the 3d world at any rate
- To my knowledge, absolutely no programming

Adobe Flash using ActionScript only


Click so that SWF has focus and then use Arrow Keys to navigate (Credit: Kirupa.com)

Product Home
http://www.adobe.com/products/flash

What’s Been Done With It
http://digg.com/gaming_news/_Wolfenstein_3D_created_with_Flash_8

Description
“Flash® Professional 8 is the industry’s most advanced authoring environment for creating interactive websites, digital experiences and mobile content.

With Flash Professional 8, creative professionals design and author interactive content rich with video, graphics, and animation for truly unique, engaging websites, presentations or mobile content.”

How To Learn
http://www.kirupa.com/developer/actionscript/3dindex.htm (3d essentials in Flash)

Note: This approach has probably the worst learning curve as familarity with ActionScript is mandatory.

Web Deployment Of 3D
- Users need to have the Flash player installed

Comments
- If your serious about doing 3d on the web, I’d go with lingo as it offers more for 3d as I have been told

Flex 2 Notes: World of Buttons

August 21st, 2006

Some notes I took going through the manual…

Old Fashion Button
Q: When to use a button control?
A: When you need to elicit user gesture to fire an event.

Quick Code:

xmlns="*"
creationComplete="null">

label="Hello World!"
width="150"
icon="@Embed(source='warning.gif')"
click="myTextArea.text = btn.label"
/>

width="150"
height="20"
/>


Pop-up Button Control
Q: When to use a pop-up button control?
A: When you want the button to take on different modes but you don’t want to instantiate a button for each mode.

Quick Code:

xmlns="*"
creationComplete="null">


import mx.controls.*;
import mx.events.*;

private var myMenu:Menu;

// Initialize the Menu control, and specify it as the pop up object
// of the PopUpButton control.
private function initMenu():void
{
myMenu = new Menu();
myMenu.dataProvider = [{label: "Offence"}, {label: "Defence"},
{label: "Retreat"}];
myMenu.addEventListener("itemClick", changeHandler);
popUpBtn.popUp = myMenu;
}

// Define the event listener for the Menu control's change event.
private function changeHandler(event:MenuEvent):void
{
var label:String = event.label;
status.text="Set mode to " + label;
popUpBtn.label = label;
}

public function displayMode():void
{
if (popUpBtn.label != "Select Mode")
{
status.text = "Launching " + popUpBtn.label + "!";
}
}

]]>

label="Select Mode"
width="135"
creationComplete="initMenu();"
click="displayMode();"
/>


Toggle Button Bar
Q: When to use a toggle button bar control?
A: When you want to have your user to be faced with multiple choices but only one can be selected. Think of it as one giant button with many options but only one handler called ‘itemClick’

Quick Code:

xmlns="*"
creationComplete="null">


import mx.events.ItemClickEvent;

private function clickHandler(e:ItemClickEvent):void
{
if (e.index == 2)
{
myTextArea.text = "You are a freggin genius!";
}
else
{
myTextArea.text = "You need to work on your math";
}
}
]]>

width="200"
height="20"
text="What is 1 + 1?"
/>

horizontalGap="5"
itemClick="clickHandler(event);"
>


1.3
3**9
2
All of the above



Video: Vader

August 11th, 2006

Was doing some research on Scaffolding plug-in for Confluence Wiki and I ended up stumbling on this clip:

From You tube via Random Bits