Archive
My most important Twitter Messages #4
My most important Twitter Messages #3
The new YouTube AS3 Chromeless API in Flex, Air, Flash
I was very pleased that YouTube released a ActionScript 3 API for their Chromeless Player. I looked at some availabe code snippets on different blogs and unfortunateley, I had to realize that the API is not really object-oriented and a little bit annoying to work with (because of the missing code completion).
My current project - an independent Web Video Player - is still using the old workaround YouTube API Tubeloc and I have to change this. That is the reason why I created a Flex Component for the new YouTube AS3 API. If you would like to use my code for your Flex or Air projects, please feel free to use it and if you will find some bugs, please leave a comment!
Now I will start with some explanations of my code. I create 4 classes, which manage the whole YouTube Chromeless API. The class YouTubeAs3 contains all the most important functions and is based on the Flex Framework(!). The classes AirYouTube and FlexYouTube extends the YouTubeAs3 class. Both classes are Flex Framework based classes. I had to divide the YouTubeAs3 class into these 2 classes, because the Adobe Air environment don't support the command Security.allowDomain() and it is cleaner to use this command for a web-based projects. So therefore please use the FlexYouTube component for web-based projects and the AirYouTube component for your Air projects. The fourth class FlashYouTube is an only Flash plattform based class, that should be very handy to use for non-Flex projects. Read more...
Flash Indie Developer Part 1: Check your talents and skills!
For every project you should check your skills before you start. It helps a lot for preventing possible problems and makes the life easier. Thus I highly recommend to do a self-assessment before your start as a Flash Independent Developer. After this self-assessment you should have a very clear picture about your abilities, skills and of course your weaknesses. It is very important that you know your weaknesses because you can outsource some of this problems to your network buddies. An independent team-oriented working approach works in this case very well, because it replaces your weakness with a strength of another person. It works like the Captain Planet or the A-Team metaphor
Read more...
Independent (Flash) Developer: Is it possible?!
A couple of months ago I started thinking about becoming an Independent (Flash) Developer. So I wrote a blog series in German about this topic. This blog series describes my idea behind the passion of an Independent (Flash) developer. Unfortunately, the feedback was quite less for me and zproxy is right, when he said I should write this in English because of the less size of German speaking flash developers and that it is also an interesting subject for all English speaking flash developer... So I decided to translate all my articles about this subject in English. Who is able to read German can have a look on the complete series here.
Firstly, before I started any activity into this direction of becoming an Independent (Flash) Developer, I had to define my personal idea of an Independet (Flash) Developer.
So my main goal is to do cool things with Flash or other Technologies, which I really enjoy to realize. That could be a Flash Game, or an open source library for a special problem or just a nice software or anything, what you can imagine.
After this process of creation I must have a product, which brings some money in my pocket, so that I am able to pay my rent and living costs. So the most important thing for me is that this product has a relation to things I love to do! The earning or the income plays minor role. I hope when you do cool things the money will come...
In addition to this, I thought freelancing could be the solution. Do some small projects, which are ok for me and spend the rest of my time with the cool things I would like to do... But later I noticed for me that is not the freedom I want to have. So I spent more and more time to find a nice solution and I think I found a plan which could work. I am going to tell you the details in this blog series about the passions and opportunities of an Independent (Flash) Developer.
The information size of my solution is too big for one blog article, so I divided it in 10 parts. Every part explains a very important part of the Independent (Flash) Developers journey. I created a Mindmap for you which shows all subjects and relation beyond my blog series I am going to mention.Read more...
Meine wichtigsten Twitter Messages #2

Hier eine kleine geordnete Zusammenfassung meiner wichtigsten Twittermeldungen:
Flash Game Frameworks, Classes and Libraries
More than 2 years ago I wrote a blog post about Flash Game Programming. Since this blog post until today a lot of actions happens in the Flash Game Community. Some Flash Game Developer created great classes, libraries and frameworks, which makes our life as a Flash Game Developer so much simpler. In this blog post I would like to give a short overview which tools are available at the moment.
General Frameworks & Classes

In this category you can find tools, which solve some common problems like resource management, loading processes, screen management, level management and so on
- Push Button Engine (all in one Solution for all kind of games) | Video Tutorial | YouTube
- Flixel (all in on Solution for 2D Games) | Tutorial 1 and 2 | Detail 1 and 2 | DAME Editor
- Bold Pixel Engine (all in on Solution for 2D Games) | Review | Tutorials
- Glaze (physics, AI,Screen Management, UserInput)
- Citrus Flash Game Engine (all in one Solution and Box2D) | Leveleditor
- Flash Punk (collision detection, bitmap-based rendering, User Input, ...) | Tutorial
PixelBlitz Engine (collision detection, bitmap-based rendering, User Input, ...)AS Data Structures for Game Developers **outdatet**- AS HIVE (Loading Media and XML Assets, Screen Management, MVC Structure)
Rendering and 3D Libraries

This topic handles the issues of visual renderings. Some renderers delivers nice editors for creating game levels
- Papervision 3D (Editor)
- Alternativa 3D
- Yogurt 3D | Tutorial
- Away 3D
- Minko 3D Engine (GPU Renderer)
- Sandy 3D
- as3isolib (Isometric) (Editor) | Tutorial
- FFilmation (Isometric) (Editor)
- OpenSpace (Isometric)
diesel blitting engine (bitmap based)- Flash Punk (bitmap based) | Tutorial
- Starling Framework (GPU 2d Renderer) | Introduction | pdf | video
Physic Engines and Collision Detection

You want to add almost realistic behaviour to your game. Here are some engines which helps you
- JigLib (3d Physics)
- Flare 3D Physics (Tutorials)
- AlternativaPhysics (3d Physics)
WOW Engine (3d Physics)APE 2D Physic Engine- Box2D (Tutorials)
Motor2 (very powerful 2D Physic Engine) **outdatet**- Glaze (2D Rigid Body Engine)
Foam (2D Rigid Body Engine)- Nape Game Dynamics (2D Rigid Body Engine based also on haXe)
- Collision Detection Kit - Examples (just for collision detection)
Vimeo Moogaloop in Flex – FlexVimeoPlayer Component
I was very happy after completing my extended VimeoPlayer Class, so happy that I had enough motivation to wrote a Flex Component. With my component it is now very easy to use the moogaloop API in Flex. The functionality features are the same as my VimeoPlayer class, except that I also support some Flex-based features (Data-Binding, updatedRendering).
I created a very ugly and simple Flex GUI Interface, which demonstrates the functionality of this Flex Component. The component has some useful attributes / properties and some Functions. Here a short overview:
FlexVimeoPlayer Properties:
[Bindable] public videoClipID:int; // The vimeo video clip id [Bindable] public duration:Number; // read-only property [Bindable] public currentTime:Number; // read-only property [Bindable] public playerState:String; // Have look on the VimeoPlayingState Attributes [Bindable] public playerColor:uint; // HexValue of the Player Color [Bindable] public volume:Number; // Volume of the video Player instance //-------------------------------------------------------------------------- // // Additional getters and setters // //-------------------------------------------------------------------------- [Bindable] public isPlayerLoaded:Boolean; // read-only property public isVideoPlaying:Boolean; // read-only property
FlexVimeoPlayer API Functions:
The API functions to control the vimeo player api are still the same, except the setSize() Function is not available anymore. You can use the width and height properties of the component as every other Flex Component. Here are the available functions: Read more...
Working with Vimeo Moogaloop API in Flash
The last weeks I dealt with the vimeo Moogaloop API. The documentation on the JavaScript and Flash API was not so well. But fortunately a couple days ago they updated the documentation for the JavaScript API and then for the Flash API. So now I am able to give an introduction how you can use the Moogaloop API in Flash. The guys from vimeo published a Videowrapper Class which handles the very very basic stuff of the vimeo video player. So you can easily import the vimeo video player in your Flash Projects and you are able to do basic functionality like play(), pause() and loading a new video. But if you wanted to create your own video player, this wrapper class doesnot go too far. So I did some analysis on the moogaloop.swf File and found some interesting functions, that solves some of the problems, which Robert Abramski described in his Blog post Vimeo Player and the Secret API.
In my blog post I will describe how you can use my extended version of the VimeoWrapper class. For a deeper inside of the analysis I will write another blog post. So here you can see the my “ugly vimeo Custom Player” as an example application.
A short explanation of the control buttons. Beginning with the left button :
- Play Button -> Play the vimeo video
- Pause Button -> Pause the vimeo video
- Blue Seek Button -> jump to a defined position at the video
- “C” Button -> Change the color of the vimeo video controls
- “V” Button -> Loading a new Video
- “F” Button -> Resize the vimeo video and the player (Fullscreen Mode)
- “M” Button -> Mute the video sound
- “U” Button -> Unload the vimeo video and stop the loading process
- “Q” Button -> destroy the VimeoPlayer Wrapper Class
Between the video and the controls you can see the duration and the currentTime of the Video and the VideoStatus of the File. Read more...

