A trip down memory lane: My first commercial Android game

Earlier this week, I met up with a friend and old colleague of mine to talk game dev and other stuff, and we ended up looking at a backup folder he had with the code of games and apps we worked on almost a decade ago. For some reason, he happened to have the source code of Tito Pececito, the very first Unity-powered Android game I ever made, and so I saw this as the perfect opportunity to discuss the game’s development, as a sorts of a belated postmortem.


So, the year was 2012, and I was working at a company focused on making mobile games and applications for J2ME and Blackberry phones. However, the Android market had been growing by leaps and bounds at the time, and the company finally decided to develop a game for the platform.

The original plan our bosses had was to remake an old game of theirs that was basically a sprite swap of Space Invaders. However, we knew that such a project wasn’t going to cut it, and somehow managed to convince the higher-ups to give us some creative freedom for the adaptation. A fellow artist, programmer and I then worked around the clock to come up with and implement whichever changes we could to the base game.

Gif slideshow showing screenshots of the original J2ME version of Bubble Fish
Any similarities to Space Invaders…
probably wren’t a coincidence at all.

From the ground up

Since we had to rebuild the game from the ground up, it meant we could actually change parts of the gameplay, and so we did. On top of giving each enemy type distinctive attack patterns, we also decided to give the titular bubble fish an ability that was pretty on-theme: blowing bubbles of different sizes.

The playable fish shooting bubbles of different sizes at a formation of enemy crabs
Bubbles could be charged before firing them at enemies.
Larger bubbles dealt more damage, but moved more slowly.

Our artist quickly managed to take the miniature pixelated enemies and model them in 3D, with a fellow programmer learning enough Blender to make simple animations for each of them. Meanwhile, I had to deal with a huge bottleneck: the game was having awful framerate issues when deployed to Android devices due to the number of animated enemies that were on-screen at any given time. That was a part of the old Space Invaders experience that we definitely didn’t want to emulate!

Unity back then had a much smaller community than it does nowadays, so finding a solution to the problem was pretty hard. I finally did come across a way to animate a single skinned mesh renderer, bake its vertex data, and then have all on-screen enemies merely reference that data. With that, the game was back to being playable, yay!

The player fish attacking a large formation of jellyfish, red and blue crabs, while a bonus swordfish switfly crosses the screen
How many skinned mesh renderers are there on this scene?
Answer: only three! (fish, crab and swordfish, since jellyfish only had their scale animated)

Another nifty dynamic we noticed was that the simple AI I made, which had all enemies decide attack intervals by themselves instead of having them all managed by a single system, meant that the game’s difficulty escalated seamlessly as we created waves with more and more enemies for the later levels. This could result in danmaku-style patterns randomly showing up every now and then, but we felt it added enough difficulty without being overly punishing, so we ended up leaving it as-is.

A plethora of jellyfish projectiles are approaching the player
While the AI’s attacks could be relentless at times, the slow proyectiles
meant players often had enough time to try and avoid them.

Pushing the envelope

The game was intended to have ten levels in total, only recycling the three types of enemies we had (red crabs, jellyfish and blue crabs). However, that really didn’t feel like it was enough for us, and since we were pretty ahead of schedule, we went ahead and planned for something new and exciting: a final boss!

Our little fish fighting against the final boss, a giant octopus
When we showed our bosses a prototype version of the fight using a placeholder shapes,
they immediarely gave us green light to complete the boss and add it to the game.

The giant octopus was the single entity in the game with multiple attacks: It could swing its front tentacles, shoot projectiles at the player’s current position, and also had a spread attack that covered the center of the screen. Back then, we didn’t even have Unity’s current animator controller system, so the AI and its animations had to be managed from scripts alone, which was pretty confusing and resulted in a couple bugs popping up along the way. Still, we were really happy with the end result, as the giant octopus made for a fun and satisfying fight.

GUI hell

Finally, I’d like to address the elephant in the room: the game GUI. Back in Unity 3.5, there was no scalable UI or sprite renderers, so all UI elements had to be drawn on the viewport using pixel values.

Unity 3.5's old UI components, which were really hard to work with
Having fun yet?

This meant that adapting UI elements across multiple display resolutions had to be done by hand, and we simply weren’t up to the task back then.

The only phone our bosses had set as a target for the game was the Motorola Milestone, which had a much larger screen resolution (480×854) than any other Android phones we were using at the time. The results of making our GUI target such a high resolution when Unity didn’t have any tools for scaling UI elements were… well, simply catastrophic:

Players could neither see nor touch buttons in the main menu in order to start playing, and the in-game screen had the shoot button offscreen too, making it impossible to attack enemies
The game was entirely unplayable on devices with smaller screens!


Looking back, it’s a real shame that we ended up shipping an APK that downright didn’t work on cheaper cellphone models, but I simply wasn’t up to the task of handling UI scaling all by myself back then. These kinds of things really make me glad that we no longer have to deal with all those complications nowadays, mostly thanks to the community’s continued efforts to make up for Unity’s shortcomings.

Now, seven years after the game’s released, neither the APK nor the company that created it exist outside of archive or mirror sites anymore. Even in spite of it still being a Space Invaders clone, having lousy code and some questionable design choices, it was really neat to come across the source files after all these years, like a time capsule of sorts. It might not have ammounted to anything in the end, but the passion the three of us poured into the game is something I definitely will never forget.

This article has 279,404 comments

  1. tHuffreuth Reply

    Развиваться в процессе игры на сайте https://pro100.game/lpv874713/ можно действительно здорово. Иметь возможность обеспечить собственное будущее и стараться сделать все для этого – это правильно! Получить доступ к различным обучающим курсам экспертов бизнеса можно действительно просто – при этом, освоение многочисленных актуальных интернет-профессий будет осуществляться при тренировках на реально существующем бизнесе. Большое внимание уделяется и автоматизации бизнеса.

  2. dagusnuh Reply

    Продвинутое продвижение сайтов Казахстана в сети Интернет с помощью сайта http://napas.kz производится всегда ответственно. Мы занимаемся обучением SEO специалистов, созданием и продвижением сайтов в любом городе Казахстана. Представители компании прекрасно понимают, как именно бизнес необходимо вести именно в то время, когда кризис нужно преодолеть. Когда отсутствуют деньги на развитие и рекламу, однако необходимо рекламировать свои предложения, люди обращаются к профессионалам этого сайта.

  3. ekseyFlofs Reply

    На сайте https://gitaransk.ru собраны песни под гитару вместе с аккордами. Здесь представлено большое количество мелодий с полным разбором аккордов, которые подойдут даже для новичков. Песни на портале разделены на категории: дворовые, армейские, для начинающий. Здесь представлены композиции для любого уровня, а также видеозаписи, по которым несложно разобраться в переборах. Для новичков подготовлен специальный раздел с видеоуроками, которые помогут освоить гитару с нуля.

  4. Markdek Reply

    [url=https://ntdrugstore.com/]zanaflex tab 4mg[/url] [url=https://imdsupp.com/]betapace buy[/url] [url=https://tabsbuyonline.com/]lopressor 25 mg generic[/url] [url=https://viagrama.com/]sildenafil 20 mg canada[/url] [url=https://hydroxychloroquinemdi.com/]plaquenil 400 mg daily cost[/url] [url=https://cialisfair.com/]tadalafil uk over the counter[/url]

  5. Eyedek Reply

    [url=https://ntdrugstore.com/]skelaxin generic[/url] [url=https://viagrant.com/]can you buy viagra without a prescription[/url] [url=https://zolofttabs.com/]zoloft in mexico[/url] [url=https://opviagra.com/]sildenafil 20 mg tablets coupon[/url] [url=https://usspharm.com/]aristocort 0.02 cream[/url] [url=https://pharmacyxonline.com/]cheapest lamisil cream[/url] [url=https://oneviagra.com/]otc viagra pills[/url] [url=https://viagrama.com/]otc viagra canada[/url] [url=https://wopills.com/]prevacid prices[/url] [url=https://heemeds.com/]doxazosin 1mg price[/url] [url=https://sildenafilove.com/]generic sildenafil from canada[/url] [url=https://elimitecr.com/]where can you get elimite[/url] [url=https://zoloftrx.com/]generic zoloft no prescription[/url] [url=https://levitraps.com/]buy levitra discount[/url] [url=https://cialistrm.com/]generic tadalafil[/url] [url=https://tabsquick.com/]avapro price[/url] [url=https://cialisales.com/]generic cialis in us[/url] [url=https://buymedpp.com/]aleve 500 mg[/url] [url=https://viagra0100.com/]sildenafil 100mg australia[/url] [url=https://ivermectinforhumans.com/]stromectol tab 3mg[/url]

  6. Carldek Reply

    [url=https://gdehealth.com/]reglan 10 mg[/url] [url=https://sildenafilmeds.com/]generic viagra 100mg uk[/url] [url=https://hydroxychloroquineplq.com/]hydroxychloroquine 800mg[/url] [url=https://sildenaphil.com/]buy viagra online in india[/url] [url=https://tadalafilsildenafilvardenafil.com/]where to get cialis cheap[/url]

  7. гидра сайт Reply

    hydra сайт это торговая платформа всевозможных изделий некоторой тематики. Интернет-сайт работает с 2015 г. и на сегодняшний день активно развивается. Ключевая денежная единица – криптовалюта Биткоин. Дополнительно для покупки данной валюты на нашем сайте работают штатные обменники валют. Закупить либо обменять Биткоин сможете с помощью раздела “Баланс” в кабинете пользователя. Hydra может предложить два варианта получения изделий: первый – это клад (тайник, закладки, прикоп, магнит); другой – доставка по всей России (транспортные фирмы, курьерские службы, почта). Огромное число опробованных магазинов с успехом выполняют свои реализации на протяжении ряда лет. На сайте имеется система мнений, при помощи какой Вы можете убедиться в честности торговца. Торговая площадка Гидра приспособлена под всякие девайсы. В связи с блокированием гиперссылки Hydra регулярно выполняются обновления сайтов-зеркал для обхода блокировки. Вслед за новыми зеркалами возникают и “фейки” торговой платформы Гидра. Обычно фейк аналогичен официальному веб-сайту hydra, но зайти в кабинет пользователя не удастся, т.к. это фейк и его задача накопление логинов и паролей. Всегда проверяйте ссылка на гидру по какой Вы переходите, а надежнее применяйте актуальные гиперссылки на hydra представленные на страницах этого ресурса и Ваши сведения не попадут в руки жуликов.

  8. Direct Lender Loans Reply

    [url=https://cashadvancelux.com/]online loans instant[/url] [url=https://paydayard.com/]500 dollar loan[/url] [url=https://hpploans.com/]best loans[/url] [url=https://jcashadvance.com/]private lenders for personal loans[/url] [url=https://cashadvancemx.com/]pay day loans[/url] [url=https://lendingpin.com/]500 loans[/url]

  9. vaAstmup Reply

    Изготовление металлоконструкций на сайте https://vipzavod.ru всегда происходит ответственно. Сейчас на рынке строительные организации и заводы нуждаются в качественной продукции как в Российской Федерации, так и за ее пределами. Обращаясь в такую компанию или найдя завод, каждый покупатель с легкостью можно купить нужный металлический прокат. Качественные металлические конструкции существенно ускоряют строительство жилого помещения – в отдельных случаях, без фундамента обойтись даже вполне реально.

  10. гидра официальный сайт Reply

    hydra onion обход блокировки будет доступна в тор Браузер, тор браузер это открытое и независимое программное обеспечение для выполнения второго поколения луковой маршрутизации. Это сегодня цепочка прокси-серверов последовательно соединенных между собой в продолжительную цепочку интернет соединений, какая позволяет настраивать секретное не оставляющее следов соединение в сети. Рассматривается как анонимная сеть условных туннелей (VPN), оказывающая передачу данных в зашифрованном виде. Известность получил как инструментарий для “свободного” online-серфинга, в частности просмотра блокированных вебсайтов например Гидра и похожих ресурсов из нелегального онлайна (Darknet). Применяя тор браузер Вы остаетесь неизвестными только до тех пор пока не будете сохранять собственные индивидуальные данные, не нужно забывать о собственной безопасности, поэтому мы советуем Вам не сохранять пароли на вход и другую информацию, используя которую злодеи сумеют Вам причинить вред, очищайте кэш, куки и стирайте историю.

  11. гидра официальный сайт ссылка Reply

    hydra доступна в тор Браузер, тор браузер это свободное и открытое программное обеспечение для выполнения 2-го поколения луковой маршрутизации. Это сегодня цепочка прокси-серверов в последовательности связанных друг с другом в продолжительную цепь online соединений, которая позволяет устанавливать анонимное не оставляющее следов сетевое соединение. Рассматривается как анонимная сеть условных туннелей (VPN), предоставляющая передачу данных в зашифрованном варианте. Свою популярность получил как инструментарий для “свободного” online-серфинга, в частности посещения заблокированных вебсайтов например Гидра и похожих ресурсов из теневого интернета (Darknet). Используя тор браузер Вы останетесь анонимными только лишь до того времени пока не начнете сохранять свои индивидуальные данные, надо помнить о собственной безопасности, по этой причине мы рекомендуем Вам не хранить пароли и прочую информацию, применяя какую злоумышленники смогут Вам причинить вред, очищайте кэш, куки и стирайте историю.

Leave a Comment

Your email address will not be published. Required fields are marked *