Introducing Train Lord

Train Lord is a live massively multiplayer game (MMOG) using real world data and maps. The goal is simple. Become the richest lord in the world by buying rails, stations, trains, creating rail sets and dispatching trains. I have been developing this game and learning a lot of technologies to put all the stuff together since February 2012. Starting November I was able to release the first version live. Click here to play, here to see help page, or here for Communuty page. I would like to describe and give credits to some technologies I have used, so it may help other developers as well as myself somewhere in the future ;-).

Read the rest of this entry »

Flex Arc Preloader Without SparkDownloadProgressBar

There is a lot of flex preloader tutorials all over the internet. If you take a closer look at each, you may notice those all extends DownloadProgressBar or SparkDownloadProgressBar classes. You may decide that these classes do not fit your needs, and it that case you can extend regular Sprite with IPreloaderDisplay implementation. Soon you realize there is some other Preloader in use, that communicates with your custom one through events. Following example contains a preloader implementation that renders a filled arc based on application load progress and RSL load progress. Lets have a look how to handle it properly.

Read the rest of this entry »

Quick Tip: FlexUnit & JUnitReport & haltonfailure

In case you are using flexunit ant task with your flex builds and you are used to failed builds with haltonfailure=”true”, you may notice that junitreport task is not executed when unit tests fails. Without having test reports, it does not give you much info about what went wrong. Fortunately, there is a solution using attribute failureproperty and fail ant task. Here is a quick ant build config to generate junitreport report for failed unit tests followed by build fail.

Read the rest of this entry »

YCanvas Remote Controlled By Remotair

At the same time I released YCanvas, I have spotted an interesting starling experiment. I realized I can do this for YCanvas easily with Remotair. Remotair is a concept of transmitting device inputs (gestures, accelerometer, camera etc.) into receiving flash or AIR application. Consists of one transmitting app installed on a mobile device or a tablet and one receiving app running on a PC. In order to pair transmitting and receiving application, RTMFP protocol is used. Implementing remotair reciever into any flash application takes only a few minutes, I spent much more time on touch + multitouch implementation with transitions. At the end of the day, I was able to remote controll YCanvas application with BlackBerry Playbook.

Read the rest of this entry »

Introduction to YCanvas

Hello YCanvas, who are you? I am an open source ActionScript 3 library that provides stage3D (GPU) engine for perfectly overlapping grid based zooming projects like world maps or onBoard. What? Ok, I am the engine that statnds behind onBoard, and I can handle much more. I can implement Wall Of Fame, WebCanvas, MapQuest, ArcGIS, Open Street Map or do some experiments like Flickr gallery, all this in one flash, few lines (10-20) of specific code per mode, all running at 60 FPS. Anyhing else would you like to see implemented? Just let me know… Do you want to know more and see it in action?

Read the rest of this entry »

Quick Tip: FlexUnit & ANT

Even if you have worked already with flexunit task in ant, it may not be obvious that there are 2 ways to execute it. First, you can compile runner.mxml to .swf prior to flexunit task or you can force flexunit task to generate/compile runner for you. Now lets have a look at pros and cons of those 2 solutions. Unfortunately it seems the flexunit ant task development has stopped sometime a year ago, and a few features are missing in order to call this task perfect, so it seems we are left in wild with what we have…

Read the rest of this entry »

onBoard v3 Goes GPU

onBoard is a massive collaborative painting and drawing canvas where you can draw, sketch, paint, zoom, rotate, screenshot or post your drawing to facebook. See other users drawing live. Today, I am releasing 3rd version (1st, 2nd) that is a little different than the previous ones. It takes advantage of Starling Framework and YCanvas and runs on GPU at 60fps, smoother than any before. For now there is a new web version available with old drawing and other tools. Mobile versions are currently not available. I am also working on a canvas/grid framework called YCanvas that is available on github (more information with next blog post). Have a look and compare cpu vs. gpu versions of onBoard…

Read the rest of this entry »

Useful links and market url schemas for Android, iOS, BlackBerry

After a few months off from mobile development, I realized I have forgotten all the necessary developer, application and market links for my Android, iOS, BlackBerry applications. Furthermore, it took me some time to gather them all back together as well as market deeplinks for all environments. So, I have decided to put the list together that will help me catch much faster next time.

Read the rest of this entry »

Flex + ( Ant | Maven ) + Sonar

The title may sound like there are two possible ways how you can have your source code analyzed and published to sonar, but you better do not rejoice prematurely. After spending couple of hours trying to figure out how to make it work using ant I may have hit some nice articles, however sonar-ant-task seems to have major issues with sonar version 2.8. The solution is maven!

Read the rest of this entry »

Flex & QTP Automation Testing

While there is not much source available out there about how to prepare QTP (HP QuickTest Professional) automation test environment working with flex applications, I decided to write this post. It is not clear, nor straightforward for one who never ran QTP, and while I spend just a few hours preparing the test environment, I hope this article will help some of you to get started much faster. Basicaly what you need is QTP 11, Internet Explorer 8 (unfortunately), Flex Automation Plug-in and flex automation framework (.swc classes)…

Read the rest of this entry »