I’m late as usual but after months of looking over other people works and the current Kinect frenzy, I’ve finally tried Open Frameworks and it wasn’t as painful as I thought it would be, in fact it was quite fun and the performance it’s blazing fast.
Expect another influx of experiments from it soon.
Prefab is the most ingenious flash tool I’ve ever encountered yet; it makes 3D game in flash a snap.
But if you just starting to probe into this tool, there are several quirks that you must notice and it mostly involves the modeling and BSP generating process, so here it goes;
How to model
- First note the model has to be simple, so if you were planning to have any nooks or crannies on model ensure that the proximity between any triangles are as far apart as possible.
- Every vertex has to be united with one another and ensure that there are no vertices holes.
- If you have a large environment try to make the shapes as one enormous chunk, a modular shapes can make the calculation process much heavier and sometimes can lead into an application crash.
- If the model has multiple rooms then ensure the walls are part of the model.
How to generates the BSP
- Depending on what application you are using to build the model, its best to just export it as Collada 1.4 although Prefab does supports other format but the occasion happens haphazardly.
- Once you have the Collada file when you import it, the model sometimes will look out of scale, simply rescale it by modifying Scene Obj Scale and ensure that camera guideline fits snugly inside the model just like you expected to be, even if you have to augment the scale to 100 times its original scale.
Follow these steps and I guarantee you like yourself more at the end of the day and the last thing that you have to notice is that when the texture is generated, it will creates a mysteriously huge PNG file (hopefully that will be gone in the next version), you can alter that just by re-exporting the texture from Photoshop.
And I think that just about it, even though this breakthrough is awe-inspiring but you still can’t rely it to make a full blown FPS game just yet. So enjoy the demo below, use your arrow keys and mouse to navigate.
I’ve came across my prehistoric blog (yes I had blogged before since 2003) and found my old post is still relevant up to this moment and everywhere I went people seems to be blissfully ignorant about the concept.
And so it goes…
A few weeks ago I’ve had a brainstorming session with some of my friends who worked in Advertising Company, his company had this client who was trying to promote their detergent product and their demographical audience was the Indonesian middle class family.
This advertising company was trying to concoct the ideal message to convey the aforementioned product to the targeted consumers and they came up with a story, which sounded something like this;
It was Monday morning and people were busy preparing the day and amongst this hustle and bustle there was a group of children running merrily to school.
When the morning ceremony came, children and teachers were rushing neatly towards the field, the flag was raised and everybody saluted as the clean flag (thanks to the detergent) flutters proudly in the sky, there was a great sense of patriotic everywhere and then a closing caption emerged-We are proud with Indonesian product and we are the XXX Detergent!
Upon hearing this explanation I was gobsmacked, it was very beautiful yet something was missing… something that was very obvious.
The most important aspect which we have to recognize is that aesthetic perceptions are differ between regions/countries/cultures and this concept was definitely not Indonesian (even though the modern urban young generation appreciated and adopted western culture more vigorously) but in this case the target consumer of this product had been the Indonesian middle class population and most of these people who were categorized within this group received only moderate education level and have less influence of western culture –except of course facebook- the concept was too complicated to be comprehend by the majority of this group and most likely will be completely ignored by them.
Conveying effective message needs a relevant context, which the listeners can instantly relate to. This is I think is the basic principle of delivering a good message, advertiser tend to ignore what the customer actually needs and what their background are.
Although in some cases if you have a very powerful product behind the message, preemptive communication can cultivates more yields, think about iPad to the technophiles or Justin Timberlake to the naïve adolescent female teenagers, it will fuel them even more. But these ultimate products emerges very rarely, ergo the basic premise still stands, give the customers something they can relate to and in order to achieve this, first understand their needs/traits/psychological patterns/cultural background/educational background/economic capacity/social status/social environment/preferences/physiology/gender/spiritual believe… well the list goes on.
Establishment of the concept enables for further adaptations, which can be cultivated to various platforms, as long as the basic principle is used.
This is always the problem with artist/designer/creative workforce in Indonesia, we were and are still the by-product of the western culture and contaminated at such level, we most of the time, forget our own identities and ignore this basic principle and even reject it completely.
There is always something exciting about Apple, whenever they launch their product everybody just mesmerized by it, gasped and awed in unison to its shines, it reminds me of Willy Wonka when he unveils his Chocolate factory.
iPhone OS4 had just been released today and has introduced some new features such as:
- Wallpaper on the home screen : Yes! Now we can change our wallpaper.
- Multitasking/background tasks : Of course with some limitations.
- Unified e-mail inbox : Browse different accounts in one inbox (that is what I’ve understood anyway).
- iBooks! : Move over kindle and other product alike.
- App folders: for all of you that is obsessive compulsive.
- Open e-mail attachments in other apps.
- Game Center.
- Mobile advertising (iAds).
But out of these features, iAds seems to be the most prominent as Steve hinted.
The average user spends over 30 minutes every day using apps on their phone. If we said we wanted to put an ad up every 3 minutes, that’s 10 ads per device per day. That would be 1b ad opportunities per day.
I can almost see the dollar sign lit up in his eyes when he uttered that sentence, its no secret digital Ads worth of billions of dollars and Apple wants to take a massive bite of it.
Steve again had contended that Ads today is attractive (he was showing a flash banner as the bad example when mentioned this and I could have sworn he was smirking in triumph) but lacks the emotional value, although I will guarantee the iAds will be another of “Shoot [something] to win [something]”.
Steve said that there’s nothing like it, but didn’t I just developed something similar for flash banner a couple of weeks ago?
That’s so emotional, I had tears of joy in my eyes.
In conclusion despite of another unprepared PR charade and the implicit statement of “we don’t care about you, just shut up and buy the damn product”, but the matter of fact is Apple had successfully delivered one of the greatest invention of the century, and its glory had captivated the materialistic world ever since and until the charm still lingers, we -the gullible customer of the modern world- will still perceive that what glitters is always Apple.
PS: Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited. which means goodbye Flash CS5 and thanks for the effort (but at least my time learning objective-c didn’t go to waste )
UPDATE: October 1st, 2012
I noticed that the code doesn’t work anymore, since they’ve added a crossdomain reference and modified the API a bit, but a simple proxy should do the trick, check this blog for solution.
I’ve just discovered an ultra-simple way of converting text to speech utilizing an undocumented Google API code.
var _path:String = 'http://translate.google.com/translate_tts?q=';
var _sound:Sound = new Sound();
// all it takes is just to pass the words to the path
_sound.load(new URLRequest(_path+ 'hello world'));
_sound = null;
It’s limited, yet the practical uses of it are endless.
Here’s a little demo.