Master of Alchemy is on the App Store!

After six months of hard development we’re so happy to announce that Master of Alchemy has been finally published in the iTunes App Store last Friday!

I’m sorry to spam again with this topic, but trust me, it has been a bet for all of us!
And actually it’s included into the “New and Noteworthy” section!
You can see Master of Alchemy page at the AppStore

Reviews

Games Uncovered review…without a doubt one of the best iPad games yet.

Simply a fantastic puzzle game that is challenging, deep and graphically stunning. An absolute treasure.

.

Destructoid review:Score: 8.5 — (8s are impressive efforts with a few noticeable problems holding them back. Won’t astound everyone, but is worth your time and cash

Master of Alchemy: our first iPad game!

We’re really proud to introduce our first iPad game: Master of Alchemy.
Master of Alchemy is an iPad game developed by DarkWave Games and published by Chillingo – Coming very soon on app store.
We are really proud of our game: it is being presented at E3 Expo 2010.
Master of Alchemy is an original and engaging puzzle game based on the manipulation of solid, liquid and gaseous elements.
Exploiting the features of a series of instruments (stills or alambics, button, hot air balloons, etc.), player can create new elements. To complete each level, he has to generate one or more required substances and bring them to some targets containers. facebook  zoosk  badoo
Substances’ streams are characterized by a realistic behavior, because of the implementation of a physics engine.
So, like an alchemist, player creates new substances, starting from basic elements characterized by different colors and by the three material states.
In detail, player has to manage a small alchemic laboratory that is equipped by an increasing number of instruments (alembics – like crucibles, pipes, coils, blenders, steam engines, condensers, etc.). Thanks to these tools, he can blend, fuse, sublimate, condense or break up elements, according to the targets and limits/obstacles of levels.
In background to the various levels, there is the history of Master of Alchemy: the war between the two factions of the setting (alchemists and mechanologists – the machine-oriented scientists).
At the beginning of MoA, player has to choose which alchemist to perform (among a group of six characters). During the game, his alchemist evolves.
Main Features:
  • realistic physics engine;
  • manipulation of colorful flows of gas, solids and liquids – transformation tools specifically designed to maximize the amazing capabilities of the iPad; an iPhone version will be coming soon
  • steampunk artwork style – Amazing Graphic Details
  • moving physics obstacles – buttons, hot air balloons, gates, big solid blocks, etc.
  • disappearing walls – to create gameplay variations: player will have to move tools inside the level more than once to solve it
  • secondary targets: purity, gems bonus, time bonus, to minimize particles loss/waste unique puzzle designs;
  • a fantastic storyline – a detailed background setting with a related comics;
  • presented at E3 Expo 2010.
Other Features:
  • 60 levels – hours of fun!
  • Almost 20 tools (alambics)
  • Animated tools
  • More than 10 Interactive Obstacles (buttons, hot air balloons, disappearing walls, gates, big solid blocks, etc.)
  • Crystal Implementation
  • 6 different characters to perform
  • In-game characters’ evolutions
  • Positional sound effects
  • An interactive and animated tutorial
  • More than a solution in most of the levels
Videos:
Watch Master of alchemy videos on YouTube

Continue reading

Bicephalous Dance is on App Store

Try our first IPhone game for free! It’s a simple but addictive game which will stress your multi-task brain abilities!

GAME BENEFITS:

– Improve your multi-tasking abilities (it’s really important if you want be ready for the next iPhone release!)
– It’s perfect when you have nothing to do! (i.e. when you are on a train or your girlfriend/boyfriend is boring you, …)
– A lot of FUN!

GAME DEFECTS:
– brain’s short circuits possible!!
– creates addiction!!

DESCRIPTION:
Can you split your brain in half and play in two different way at once? Use accelerometers to move the grey ball while using your finger to hit the buttons!Improve your concentration and memory with these simple but addictive game. Share your score with your OpenFeint friends and find out if you are a real bicephalous!!!

GAME FEATURES:
– Tutorial
– OpenFeint support
– Built-in high score
– Endless fun with increasing difficulty

SCREENSHOTS:

Screenshot 1

DOWNLOAD:
app-store.png

Download it from the App Store here: http://itunes.apple.com/us/app/bicephalous-dance/id371977705?mt=8


Apple is evil and developers are not stupid

If you’re an iPhone developer probably you have been involved in the messy App Store publishing process.
Here there is a very interesting post about the Apple’s mistakes: http://www.paulgraham.com/apple.html
More or less I’m completely agree with the author, especially about the app store policies, because I tested in first person. There would be dozen of other topics I can found about it, but the app store is the perfect example.
But yesterday I discovered this post: “Apple is not evil. iPhone developers are stupid“.
After reading that post I realized that developers are stupid because they pretend to publish their applications on the App Store! Wow, I never thought about this! When I signed the iphone sdk I didn’t read anywhere that I should publish my applications on the web because the app store is a mess!
I don’t question the fact that many applications could be published on the web, but that’s is another thing. The point is: I have the choice and I want to choose.
So the conclusion is that we are stupid because we don’t understand how much Apple is evil and we don’t publish applications on the web instead of trying to publish them on the App Store!
The assumption is that I have an application that could be either published on the app store as standalone application and on the web, and is my mistake if I want to publish on the app store.
So why apple simply doesn’t close the App Store for us poor developers and keeps it only for the big companies which pay in order to be in the front page?

Thoughts about flash on the iPhone

I didn’t have the chance yet to try out Flash CS5, but I’m still a bit concerned about the new feature that makes users able to compile their own application into valid iPhone apps.

Things look really good if you look at the examples and if you talk with the people that already had the chance to try this feature out. But I must remember that usually the excitement for a new – and let’s say outstanding – feature usually cannot guarantee the final result to be acceptable. I fear that this feature might evolve the same – bad – way as Alchemy did: they started with a promising project that then felt down to a side project because many users shown that it was possible to achieve the same or better results by just using plain AS.

A few weeks ago I started spending my free time on experimenting with generating a valid iPhone app from a SWF file. I didn’t know anything about the fact that the Adobe would have put the same feature in Flash CS5.
My approach wasn’t too sophisticated: basically, as long as I didn’t have so much time to spend on writing a full binary converter, I was parsing the SWF and then generating static Objective-C/C++ (well mostly C++ and I’ve used Objective-C as glue where strictly required) code that then was compiled by Xcode to a working iPhone application.

I stopped once I figured out that Adobe was going to promote a similar thing (even if their approach is better and probably more powerful), but I had time to figure out a few issues that they may encounter (or maybe they already encountered):

  • Generated applications are really big in size, mostly because there is a lot of glue code generated and because you need to replicate the FPL API in C++ to be able to easilly convert the SWF into an iPhone app;
  • ActionScript is a dynamic language, and this dynamicity must be taken into account when generating binary code (or source code in my situation). Even if using LLVM probably helped with this, you will always need to generate additional dynamic checks that slow down a lot the execution;
  • The FPL doesn’t support (yet) threading API, nor the AIR version does. So, if they want to preserve the portability of a flash game so it can be run with AIR or on the iPhone without any change, they are limiting the developers on building just quite simple games;
  • The same can be said for all the other native APIs. AIR for instance has multitouch API, which are however at a lower level then the ones provided by the iPhone;
  • The other big issue is rendering performance. When I was working on my project, I’ve tried many different approaches to figure out which one was the best to render decent vector graphics with a good framerate on the iPhone. Core Graphics is not an option, as long as it is as slow as hell. Using OpenGL to render the graphics increases a lot the performances, but adds a few limits to the rendering quality. The best approach I found was to mix caching and OpenGL rendering together, but that was not working fine with rapidly changing graphics. But I must say I didn’t have the same knowledge as the FPL developers on this topic and I didn’t have months to work on that too …
  • iPhone developers must take special care for memory and resource management; probably having a huge bootstrapping code and transition structures won’t help.

What I fear most actually is that they’ll be able sooner or later to solve all the issues and create a good product, but probably that product won’t be suitable for complex applications, that will be always developed directly using XCode.

That said, I think that probably a better approach would have been to figure out a way for Adobe to include the Flash Player on the iPhone. It’s already ready and I really can’t understand why they don’t release it (it must be Apple, and probably because having a Virtual Machine on the system will break the basis the App Store has been built over).
Having the FPL on the iPhone will still limit us, but it will open up a brighter future for AS developers who want to release apps that runs on the iPhone too (Did you ever heard about compile once, run everywhere?).

So let’s wait and see what happens. What I’ve seen so far on the app store are really simple games that don’t use so much resources, so I can’t really say yet if they did a great job or not …

Flash for iPhone!

Well, it’s not true at all, but it’s something like that ( they enabled this by using the Low Level Virtual Machine (LLVM) compiler infrastructure).

With the upcoming Flash CS5 we will able to create iPhone applications using Actionscript 3 and the Flash IDE (Flash CS5)!
It also seems that in the future it will be possible to compile iPhone apps using the free flash compiler.
We won’t have flash iphone apps, but native iphone applications:


iPhone applications built with Flash Platform tools are compiled into standard, native iPhone executable packages and there is no runtime interpreter that could be used to run Flash byte-code within the application.

Most of the Flash Player 10 and AIR 2.0 APIs will be available, so for instance: pixel Bender filters and also dynamically loading SWFs that contain ActionScript (but the Actionscript will be ignored since there’s no flash VM in the iphone).


The Cons.

We won’t be able to test our apps using the Mac iPhone simulator.  And we cannot use the iPhone controls with actionscript.

Read original entry here:
Read the developers’ FAQ:

iPhone on holidays

Welcome back everybody!
I just want to share with you my little experience I had with the iPhone sdk during my summer holidays.

This year I haven’t spent my holidays on the beach, like usual, because I just bought home and so I had to put up everything… that’s why I decided to devote some of the free time to try out objective-c. I wanted to make something for the iphone since I bought it in March in NYC but I never had the free time to do that..

First of all I had to buy a new Mac-mini because the iphone sdk is not supported on my old mac-mini ppc. Then I had to subscribe to the developer program for $99 because otherwise I was unable to test applications on my iphone, but only on the simulator (cool, I have to pay to install my own applications on my iphone!).

Well, after reading a bit the documentation, watching some video tutorials and looking at example code I started with my first application. What I wanted to do was a simple SMS application to show sms received, sent and a simple search. A very simple app but for me better than the limited built-in iphone sms application.

After a couple of days I reached my goal, but not without troubles. There’s nothing inside the iphone documentation about the SMS system.

Afterward using an “UPDATE” sqlite query I was getting an error: “SQL error: no such function: read”, and obviously there was nothing in the doc explaining this. Only after half a day I discovered that I had to create a C method and use sqlite_create_function in order to bypass that error:
const char *fn_name = "read"; sqlite3_create_function(database, fn_name, 1, SQLITE_INTEGER, nil, sqlite_fn_read, nil, nil);
Now that everything with the db was fine I had to google a bit in order to find a way to implements features like “reply”, “forward” or “call” (basic features in a telephone, but not covered in the iphone sdk documentation).

Finally, after a long debug and Instruments session to find leaks ( I must admit xcode has some powerful tools for debugging and inpect apps) I installed my first application on my own iphone.

And big big surprise!! On the iphone my application is unable to mark messages as read and delete messages too!
In other words it is unable to write into the sms.db!

And Why?
That’s because a beautiful sandbox which does not allow applications to write outside their scope! Oh, cool! That’s correct, but in this case you, Apple, must give me an API which wraps those features!
They gave an SDK for developing on a mobile phone but they don’t grant access to any of the telephone features?!?

iPhone & Ubuntu notes…

No Flash stuff this time 🙂
During my last trip to New York city I finally decided to buy an iPhone for me too (I think I have everything from Apple right now.. except a mac 🙂 ).
The most annoying thing for a linux user like me is obviously the fact that the iPhone syncronization should pass from iTunes, which is not available for linux…
Ok, there are some ways indeed to copy music like this: http://help.ubuntu.com/community/PortableDevices/iPhone, but as you can see is not so smart.

Sync your address book isn’t easy too. The AddressBook sqlite can be easily browse using an SQLite browser such as SQLite Database Browser http://sqlitebrowser.sourceforge.net/, just get the AddressBook.sqlitedb (it’s into  /private/var/mobile/Library/AddressBook/)  from the iphone via sftp (just remember to install BSD Subsystem and OpenSSH) and call a simple query like this:
SELECT t1.First, t1.Last, t2.value from ABPerson as t1, ABMultiValue as t2 WHERE t2.record_id = t1.ROWID
For a full AddressBook sync you can read more here: http://www.estamos.de/blog/…the-making-of/

Another tip I just discovered is how to upload into the iPhone my own Ringtones.
First convert the mp3 file into an M4R file using this command line script:
mplayer -ao pcm input_file.mp3 -ao pcm:file="~temp.wav"
faac ~temp.wav -o output_file.m4r -w
rm ~temp.wav

then using sftp put the output_file.m4r into /Library/Ringtones directory. A sample workflow can be this one:
~/iphone/Ringtones$ mplayer -ao pcm The_Spell.mp3 -ao pcm:file="~temp.wav"
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing The_Spell.mp3.
Audio file file format detected.
Clip info:
Title: The Spell
Artist: Lunatica
Album: Fables & Dreams
Year: 2004
Comment: 00001A75 000016D0 00004374
Track: 6
Genre: Other
==========================================================================
Forced audio codec: mad
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
[AO PCM] File: ~temp.wav (WAVE)
PCM: Samplerate: 44100Hz Channels: Stereo Format s16le
[AO PCM] Info: Faster dumping is achieved with -vc null -vo null -ao pcm:fast
[AO PCM] Info: To write WAVE files use -ao pcm:waveheader (default).
AO: [pcm] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
Cannot sync MAD frame 538.0 (08:58.0) 0.8%
Cannot sync MAD frame
Cannot sync MAD frame
Cannot sync MAD frame 538.0 (08:58.0) 0.8%
A: 288.3 (04:48.2) of 538.0 (08:58.0) 0.8%
Exiting... (End of file)
alessandro@alessandro-u-laptop:~/iphone/Ringtones$ faac ~temp.wav -o The_Spell.m4r
Freeware Advanced Audio Coder
FAAC 1.26.1 (Jan 22 2008) UNSTABLE
Quantization quality: 100
Bandwidth: 16000 Hz
Object type: Low Complexity(MPEG-2) + M/S
Container format: Transport Stream (ADTS)
Encoding ~temp.wav to The_Spell.m4r
frame | bitrate | elapsed/estim | play/CPU | ETA
12388/12388 (100%)| 137.8 | 12.5/12.5 | 22.95x | 0.0
alessandro@alessandro-u-laptop:~/iphone/Ringtones$ sftp root@192.168.1.203
Connecting to 192.168.1.203...
root@192.168.1.203's password:
sftp> cd /Library/Ringtones
sftp> put The_Spell.m4r