
This is a common developer story. It will not have any tips or difficult lessons. I just want to share this story with you, because, I think, every programmer has a project with which he goes through life, returning to him from time to time. Related memories, funny incidents. You already have a lot of experience, a lot of serious completed projects, but treat your first child with warmth when you made mistakes that you wouldn’t allow now. Yes, and people remember you with the phrase "Oh, yes, this is the one who did ..."
This story began with the purchase of a disk Shanghai: Dynasty for Windows 95 from the company-developer Activision. This was my first acquaintance with the legacy of the ancient Chinese sages. Not to say that I was delighted in solving a cunning solitaire. But the game came to taste of my little five-year-old son, who was hanging for a long time in front of the monitor, looking for similar pairs of chips. This distracted his attention, which was constantly focused on any pranks, and made his parents' life easier. But the popularity of the game affected the quality of the disk surface and it began to be read worse and worse in the drive.
Flash
At that distant time of the 90s, Macromedia Flash technology was part of the Internet. Initially intended for presentation clips, with the advent of the browser plug-in, they began to embed it into web pages, and the most advanced advertising providers replaced them with gif banners. Flash in the 4th version was very limited for writing code, and the main tool for creating games was promoted by another product of Macromedia Director, which even produced some very good toys. But the latter seemed too confusing to me, but Flash offered a few lessons when it was launched, after studying which you could immediately begin to work. This is the tool I chose to implement my ideas.
The ease of development was overshadowed by the inconvenience of the interface for the developer. In the 4th version there were not even functions, and it was necessary to write code in a small window, suitable only for stop () and play (). To see it normally, I had to copy it to external text editors. But despite the difficulties, the game was ready in a couple of weeks.

During the development, FlashKit website helped me a lot, which at that time was the main resource for flashers with good lessons, code examples and sounds. Very popular was the section of games where ordinary users laid out their work. There were a lot of games then, finding something good was not easy, but there were some very worthy things. The design of my game with the mysterious blue hieroglyph was terrible, but I was not afraid and put it in the puzzle section. Laid out and forgot ...
After some time, I began to receive emails asking for permission to use the game for some site and offered a small amount of money. But realizing that the game can be “dragged off”, and the money can be received only by check, with a cash bank deducting the amount, I automatically answered “yes, take it that way”. After thinking “who are these people,” I went to FlashKit and saw that the game was hanging on the main page in the top ten. She lasted there until this site decided for some reason to close the games section.
Interesting proposals came to the post office to develop something similar with a different design. For example, the CEO of one company reported that their entire office played in this mahjong without stopping, and made an order instead of standard chips to put a photo of their employees. Click-click ... and the pair disappears. Serious enough hint, but I hope rather a joke.
Understanding that the source code needs to be backed up from a possible system failure, I sent it to be safe at the most stable at that time, Runet web site Chat.ru. At the expense of failure, I was not mistaken, it happened soon. But at the expense of the site ... Chat-ru died suddenly with the source and almost simultaneously with my hard drive.
Repetition is the mother of learning. I again collect mahjong, but on advanced Flash 5 in my spare time. This time I decided to abandon the raster graphics and do everything completely in the vector. Due to this, the size of the game becomes no more than 100 kb, and you can stretch the field without loss of quality on any screen.

But it was not without an error, which manifested itself very rarely, but it haunted me for more than ten years. Through FlashKit, the game spread all over the Internet, but the name of the mailbox was always in the corner, which was used by bug-irritated players sending me screenshots. I remember a letter from a user who was interested in understanding whether this mahjong was in principle, since he had hardly slept for a week, hadn’t left the house, but hadn’t seen the winnings. Just a couple of hours later, his “Hurray” came with hundreds of exclamation marks in the body of the letter. Of course, it is very pleasant to receive letters from grateful players who understand that the developer does not receive money for his work, and all the revenue goes to the websites hung with advertising banners.
Android
After mastering this platform, the idea immediately appeared to port there and your mahjong. After appearing in the market, he was accompanied by different reviews from "terrible, nothing is visible" to "deleted everything, left him alone." But most often the players asked for additional layouts. This is how “Arena” appeared, which seems to me not very difficult.

Already having an idea about the problems of the market with paid applications and not being able to offer a large number of layouts, I decided to post the game for free, screwing up an advertisement. This decision paid off, it gives about $ 400 per month, which is not to say about my other paid applications. After the appearance of the second layout, I promised myself not to post updates until the version for iOS was finished.
')
iOS (iPad)
Almost all the wishes of Android market players I implemented in this version. Thanks to the large screen, it became possible to allocate space for buttons with various functions.
In development, I used a non-standard UIViewController boot architecture, when the base one works as a loader for the interface controllers, immediately freeing up unused memory and smoothing the pauses between the graphics loads.
The game was published last week, so there’s nothing to tell about. Well, except that the appearance on the 16th place in the general list of the best applications and 1 place in the games of Senegal immediately the next day after the release. The application is free, so anyone can take a look at it.
Related Links:
The first game - I do not want to advertise other sites, just type in Google "shaghai dynasty", the very first links.
Updated second Flash game -
sillytale.com/?page_id=30Android -
market.android.com/details?id=com.mizerov.mahjong&hl=eniPad -
itunes.apple.com/ru/app/mahjong-dynasty/id471735222?l=en&ls=1&mt=8Developer site -
sillytale.com