Home Tutorials Forums Articles Blogs Movies Library Employment Press

Blogs

(Page 1 of 13)   
« Prev
  
1
  2  3  4  5  Next »

Recently, there is a lot going on regarding games development. Mainly speaking about how prominent Unity3D is becoming, we can hear more and more people speaking about it everywhere; even my wife (who doesn’t understand anything about games development) asked me these days about it, she said; hey! what’s that unit 3d plug-in for? Is that a kind of Adobe Flash competitor? I said; well to be honest I don’t know enough about it for calling it “competitor”.

About couple of weeks ago there was a conference here in London called bluegfx, mainly focused on 3D production stuff (film industry, cgi effects, etc) and also 3D game development… the Unity guys were there showing off some features and for the very first time I got the chance to look at it deeply. Guys! I have to confess that I fall in love to it same I did in 1998 when I first met Macromedia Flash.

Am I switching from Flash to Unity?

The short answer is no. Long answer is; nowadays I am really worried about Adobe’s attitude regarding the Flash platform. It seems to me Adobe cares every day less and less about Flash and for me, in this last quarter of 2012 the big question is; if Adobe doesn’t care about it why should I do it? It feels like those old days when our girlfriend is not anymore into the relationship, she stops feeding it and even worse, she’s interested in other men. Well my friend, maybe it is time to move on.

In my case, I truly love Flash more than Adobe does it, simply because I mainly use it not for making money but satisfying my joy, my creativity… but hey! we are here speaking about business not love, aren’t we? Yes, sorry I forgot about it. Money, money, so should we make things in HTML5? Huggg! once again I will skip this HTML5 part, It feels like going backwards in all senses… let’s just put it in this way; What you can achieve in HTML5 today is equivalent to what we did in Flash in 2003 (and back those days it was less painful). People are very ignorant about Flash and unfortunately these days there are more developers/designers using it wrongly more than properly, which is understandable, not everybody have a certain skill set and responsibility to make a decent work in a robust platform that tries to satisfy us all. Sadly, the Flash platform trending is to get worse. I am in the games industry so let’s go back to what we were talking before, Unity!

Just in 2.5 days

Around a year ago Flash made a big step giving us multiplatform support for dealing with real 3D (rendering 3D using almost any GPU chipset), however we all know how complicated things are when dealing with 3D, especially the nature of 3D programs and the way they behave in the GPU. As expected, all what Flash (Stage 3D API) had to offer was something very low level and complex, so the chances of “pick it and go” were a bit low unless we use a third party 3D framework such as; away3d, alternativa, stariling… Unbelievably, Unity came with a solution that makes everything even easier; the whole Unity world is about “multiplatform 3D games” using an IDE which allows us to build our own scenes in 3D by simply using the mouse, isn’t this awesome?

Inspired by the blugfx conference I’ve decided to have a go with it and make a very simple game, a TETRIS game in 3D, which I’ve tried to do in Flash before but unfortunately I have to postpone it over and over again due to the amount of time it was taking me, surprisingly making it in Unity took me only 2.5 days to build the whole game logic and visuals. I am very satisfied with what I have achieved in just 2.5 days of work.



Unity exports to SWF (Stage 3D)

Although Unity uses C# as a main programming language, it also accepts a strict version of javascript which looks almost the same to Action Script. However I built the whole game using C# why? I just wanted to try something different. It was my first time with C# and you know what? I loved it!

The craziest part of it all is that Unity exports to almost every platform (Web, xBox, Play Station, Nintendo Wii, iOS, Android), and when speaking about web, it has its own web plug-in but it also exports to Flash SWF which was one of the things I was interested the most. My biggest question was; how on earth does it generates a SWF? How come? The answer is; it understands my crazy logic written in C# and translates it to Action Script… Whoooaaaaaa!!! amazing! the thing is that there are some resources in Unity C# libraries that are not available in Flash so, guess what!? In those cases you can tell to Unity that you have your own Action Script .as Classes and Unity compile them all together when generating your SWF. God! Is there anything else you could ask?

TetrisWorldRecords.com

Once I got the game done (in 2.5 days) I have decided to build a leaderboard so people can submit their score and compete against others. This took me another 2 days to get it done and then, and I have to confess that it was here when I decided to named it “Tetris World Records”, so I’ve registered its domain tetrisworldrecords.com which I am going to leave up and running for very long time, totally for free (no ads, no fees). I am pretty sure I am not the only one here who love tetris.

I just made a quick test exporting this Tetris Game to other platforms (PC, Mac and Linux) it all works perfectly fine in all of them. I highly recommend to you having a go with Unity, you will be surprised how easy is to make 3D games.

I hope you liked it!

Cheers!

 

Alex Nino (yoambulante.com)

Misunderstanding Adobe Air for mobile platforms

This is a funny thing, nowadays, even in this first quarter of 2012 when I speak with developers sometimes they get surprised when I say that I am working in an iOS project using Adobe Flash, people say, ehh? Hmmm? How come? Adobe Flash is not supported on iPad, nor on iPhone… To be honest I can't understand how Adobe has not made this very clear, people still think Flash is banned from iOS and only few of us know that this is a complete misunderstanding (this is wrong). Flash is not supported on safari browsers (in Apple mobile devices), so are not other plug-ins such as; java applets, unity3d, etc… but people don't see this; the only thing they see is Flash can't run on iOS.

I have spent countless hours testing adobe flash on iOS (yes using adobe air), my final conclusion is that it will never be (in terms of performance) as good as an app natively made in Objective C, but hey, this is not new for us, it was always like that, same on PC, same on MAC, we can't compare Flash with programs made natively in C++ and other languages that work closer to hardware. So we are in a very similar position to where we were before; depending on what we would like to achieve Flash will perfectly satisfy all our needs, as usual.

I am following what Adobe is doing from earlier stages with the flash platform. I am quite happy with all the progress they've got so far; they have made some serious improvements in the flash platform running on iOS and other mobile platforms. I know earlier versions of Adobe Air on iOS were not even a possible solution, they run badly comparing with other apps made in Objective C natively. Nowadays I have to confess, the current version of Adobe Air 3.1 is something you can seriously consider for building your apps, what you get in terms of performance is more than acceptable, sometimes equally good comparing to apps natively coded, and you know what's the best part of it? that you can transparently port everything you have done to other platforms. Maintaining different source code depending on its platform is really a pain.

Almost limitless

Did you know you can code part of your Flash App natively using Objective C? Yes you can, this is called Native Extensions, which allows you to communicate your flash app with pure Objective C code on the fly. This is really useful, before you didn't have any way of using some resources from the operating system like, accessing internal API, system notifications, app-in purchases, game center, checking battery status, etc… I highly recommend having a go with Adobe Air for mobile, it has changed a lot during the last year, I can't wait for the version 3.2, Adobe is promising fully control of the GPU (Stage3D for mobile), woohoooo!

So far the majority of the flash apps we can find in Apple, Android and Blackberry markets (made purely using actionscript) are very simple apps in terms of complexity, and games that normally demands extra work, are quite rich in visuals and sounds but very simple in terms of algorithms and processing. And I was wondering why? Is it all about performance?

Traffic Wonder was made purely using actionscript

I've been totally focused working fulltime on this project since october last year, for those who haven't heard about it from my previous posts, it is a crazy puzzle game aimed to be distributed on all existing mobile platforms (including desktops computers PC/MAC/Linux), the game is currently in QA at the very last stage, its release date is on March 15th for all platforms, you can find out more about it at http://www.trafficwonderapp.com

Traffic Wonder screenshots

I have tried making different prototypes of the game using C++ combined with Objective C but at the end of the day, I end up building it all using purely actionscript for many reasons, the most important one "portability". It was a big challenge make it work in all existing platforms, since there are big differences in hardware architectures from device to device, for example; flash could run on iPad1 about 5 times slower than iPad2 if you don't make some proper tweaks and optimisations, taking advantage of the device itself and relying less on its GPU. I have faced the same problems everybody did, my app sometimes suddenly crashes without giving me any particular error, and the reason was the same all the times "abuse of memory usage". Think about making a SWF file that will start running once forever, you cannot control when the user or the operating system will terminate it but yes you need to be worried about keeping it in memory running stable all the time, you have to manage very well resources which is a bit tricky when coding complicated algorithms manipulating lots of assets. I am recently, strategically using more often in parts of my code System.gc();

Here is a video I have filmed today with some interesting notes about its development, explaining the most important feature of the game "the drawing experience", at the end, the user experience dealing with the game mechanics is what really counts, I hope you enjoy it.



I can't wait for Adobe Air 3.2

Something very interesting that really worth to mention is that, we have spent a lot of time on making the levels good looking, make then look as nicer as possible, each level has 3 different representations; on spring (green), desert (dry summer) and winter (snow). Have a look at this level for example:

Traffic Wonder spring

Traffic Wonder desert

Traffic Wonder snow

At the moment each level has in average 20 millions vertices, I've made some tests with Flash Player 11, and apparently "there is a light at the end of the tunnel" a possibility in an early future to render all the levels on the fly and then cache them as bitmaps in (Adobe Air 3.2). That will be definitely a huge help for making the game far much smaller in terms of file size, maybe to 20% of its original size, at the moment all the levels are pre-rendered bitmaps, that's why the game is 150MB, which is still aceptable for a tablet game.

traffic Wonder wire frame



Some advices and tips (regardless what language you use) which apply only for paid apps

I have made a massive research during the last years on different mobile platforms and markets, there are some things that really surprised me a lot and I would like to share some of them with you:

Be careful using the accelerometer sensor, your app controls cannot rely totally on it; some users feel ridiculous when using it in public.

People will remember your app not only because its graphics and UI but also sounds, sound is part of your app identity, it needs to be unique, keep in mind it is extremely important and can destroy completely the user experience, be aware some devices won't play sounds as good as others do, and what I mean with this is, it could be really annoying (same sound) depending on which device it's being played, it might play louder or quieter, sometimes it doesn't even sound. Why!? Frequencies, some devices like iPads have really, really, really bad speakers, iPads are not even stereo, and if they are, it is completely pointless, they have only one speaker hole on the side; they are monophonic unless you use them with headphones. Some devices are not able to play low frequencies so you can't hear any bass at all but yes really loud high frequencies (treble) and that's the only thing users can hear, annoying treble noises. Have you ever wondered why Michael Jackson sounds the same everywhere, all speakers? Masterization, you might have to master sounds you use in your app in order to guarantee a good user experience (Best device speakers from my point of view – Playbook, it is stereo, better frequencies range, etc…)

Did you know that 1 in 20 persons in the world have some index of colour-blindness? That means that if your app rely on colours (like Traffic Wonder does) about 5% of users won't be able to look at your app exactly in the same way you do, be careful with the colour balancing.

You have only one chance with new users (listen very well, one chance only!), be careful with your app instructions, do not rely on text descriptions much, around 65% of the users don't read anything, be creative, make your app as intuitive as possible, otherwise they will give up and will never try it again. I am constantly struggling with this.

QA (quality analysis) is extremely important, spend more time than usual testing your app, do not make final users test it for you otherwise you have a massive big chance of burning your app forever, to the point of, if you want to improve/enhance it, you might have to change its name and its art for republishing it as a completely new app (this is a crazy strategy of many developers, especially on Android platform).

The main platform you have to be focused on is currently Apple. Why!? There around 200 million users in iTunes, 44% (88 millions) of these users are considered as active users which (unlike Android users) they like buying things, at least one app monthly in average. So whatever you do, do it, aiming to at least 1% of this audience :)

Guess how many apps are being published per day in the Apple Store? Between 150 and 200 (this is mad) that means that we have around 1200 per week, (52/12) x 1200 = 5200 per month. So indeed you app icon is super important, when you publish your app, you have only few minutes on the shared NEW tab at the store. Make your app icon attractive or at least not crabbed :)

Developing for Android is easy but it could be a pain in the ^&%$... When you think about Android, you think about it as an operating system itself, not as a specific device. So whatever you do (I am afraid) you can't guarantee it will work and run the same on every device, Google is facing same problem Microsoft did on 1994, there are people making Android devices in any garage in china where android crashes all the time and at end sadly what people see is Android is bad! I can see Android as one of the best mobile OS but not now, in 5 years time maybe.

For god sake, some users wants everything for free, so you better think in a proper strategy for selling your app, having "freemium" versions is not always the right way to go, be careful with lite versions, although it sounds odd, lite versions can affect negatively your sales "drastically".

Keep an eye on the Blackberry Playbook platform, regardless they are not even 10% of the 45 millions iPads out there (15 millions first generation + 30 millions iPad2), Blackberry users have no problems paying high for what they consider a good app. Nowadays you can find big titles for the playbook platform and they (unlike other platforms) are highly expensive, apps such as; Monopoly (EA) USD$5.00, SimCity (EA) USD$4.00, Angry Birds (Rovio) USD$5.00, etc.

Nowadays you have to compete with very high quality standards, do not spend more than USD$80K making the game (including marketing and your own time), the more you spend the higher your risk if you don't have a very clear marketing campaign, so stop thinking in those hero-champion-apps that have been sold millions of times like Angry B… this happens really rare, I wouldn't say it is a bit of luck but it depends on many factors, most of them about when your app was launched in relation with tendencies, quality, cost/benefit, etc... The market doesn't promise anything else that worth increasing a higher budget of USD$80K to "guarantee" some profit.

It is really weird, the way how apps get featured in the Apple Store, it seems to be at random rather than highly reviewed, evaluated and chosen, at the same time it feels odd when an app gets featured same day its release date, that means one thing only; it doesn't depend on users and acceptation, I don't like to speak about this much… just don't rely on this, if your app gets featured or not, it is not in your hands, so you need other alternatives to propagate your app.

Careful with what you read, this crazy market changes so quickly, 6 months old readings might be obsolete, I am writing this article in the morning of February 19th 2012, I have no clue if all I said here will be valid by the end of the year.

There are evil people out there buying your app, some of them are very ignorant, some of them are just 100% your competitors (enemies), be prepare for bad reviews, those bad 1 star reviews will always come over at some point, try to interpret them in the best way possible, regardless how much effort you put in your app, regardless how good your app is, we need to understand bad reviews are part of it all.

This is really serious; when you own a product there are 3 key elements that worked combined to reach your hands; "Idea", "Development" and "Marketing", I have asked many people I highly recognize and appreciate about these, most of them experienced entrepreneurs, interesting thing, they don't know each other, they are from different nationalities... my question was very simple which demands a simple answer, If we have to give percentages to each of these elements (idea, development and marketing) what these figures are? I couldn't believe this but surprisingly the average answer was 1% idea, 54% development, and 45% marketing. So marketing is SUPER IMPORTANT! my conclusions are; the idea is only good once you have proved it is, so at the beginning the idea represents only one thing "risk", it values nothing commercially, however it is the spark (soul) of the whole product. Development is what you can control 100%, and then marketing (the art of predicting the future) is what you can incite to happen but is never guaranteed. You might end up extremely frustrated unless you have the whole time of the world, and you are up for waiting ages to see results. If you don't make any marketing the chances your app has of doing well in sales are almost none regardless your app is a super-hero-champion-app, we are in 2012! It is not like 3 or 4 years ago when users don't have much to choose. Important thing! It is completely a waste of money and time if you don't have a good budget for it (at least USD$25K). Do not waste your money on small marketing campaigns, the results are very similar to doing nothing (cost/benefit). Although you might not have the right channels to achieve this, focus more on approaching magazines, news papers, critics and journalists... contact a good PR agency. If you don't have any budget at all for this, try finding a partner. Don't release your app alone (without marketing) the results could be undesirable.

Guys, I will keep adding some more things later on, so keep in touch through the RSS feed,

Have a good day everyone!

Cheers!

Alex Nino (yoambulante.com)

It has been a while since I've published my last post. To be honest I just been unbelievable busy and I didn't have much spare time for making new experiments; those I do for fun with no pressure, no rush.

Couple of weeks ago, by chance I read some articles (from different sources) about global warming, overpopulation, worldwide resources, world's education and that entire thing you might have heard already about humans destroying the planet slowly. I know that you may be feeling a bit tired about this subject but I was actually thinking what if you have a real chance of making instant-huge changes on earth, what would you do?

So, in one afternoon during my coffee break, I wrote down an email with some specific key questions and I sent it to some friends around the world (thanks everybody for the well detailed answers), these answers gave me a good idea about what kind of resources-tools we could use for making quick-drastic changes on Earth so I built up a Flash interface with the idea. I have published the whole thing on facebook but it is also available here (both use same database)

http://www.yoambulante.com/en/labs/FixPlanetEarth/


The technical part

Well, it is all about Flash and using some resources only available on Flash player 10 like its drawing API; copyPixels, drawTriangles, blending modes, etc. It is a bit interesting, this app didn't take me long, I did the whole thing from scratch in just few days. It took me exactly 9 days working at nights, it definitely looks more complicated of what it actually is. I think it could be a good practice for the people who are interested to know how it was made. This is a very simple program, it is pure actionscript without using extra libraries or extra resources (I am not using any 3D Engine), it is just actionscript with some good magic bits of bitmap data manipulation (the performance of the app when rollover the countries on a 3d projections was a good challenge).

I am currently thinking in writing an article explaining it step by step divided by days. You might wonder where I got all the data from, textures, countries data, filters, etc, and the answer is simple; Wikipedia. Did you know that Wikipedia has an API which you can use from Flash and extract any kind of data you want?

I have extracted automatically all data I needed in my app from Wikipedia, including the countries coordinates, capital, globe coordinates in degrees (latitude and longitude), mouse rollover sectors, highlights; i.e. this piece of code extracts from Wikipedia the string where the capital name of a country localized:

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onCountryData);
var country:String = "France";
loader.load(new URLRequest("http://en.wikipedia.org/w/api.php?action=query&titles=" + country + "&prop=revisions&rvprop=content&rvlimit=1"));

function onCountryData(e:Event):void {
var data:String = loader.data;
var found:int = data.indexOf("|capital");
if (found > 0){
//shows the string where the capital is
trace(data.substring(found+9,data.indexOf("\n",found)));
} else {
trace("capital not found :(");
}
}

Unfortunately, I ran out of time, this is all what I can say so far, I will write down an article explaining it bit by bit (I soon as I have the chance) it was a very interesting practice for me.

Cheers guys!

(Page 1 of 13)   
« Prev
  
1
  2  3  4  5  Next »
No blogs found.
Copyright 2000-2013 ActionScript.org. All Rights Reserved.
Your use of this site is subject to our Privacy Policy and Terms of Use.