Page 1 of 1

Emerald Mine Fan say hello

Posted: Wed Apr 22, 2026 6:55 pm
by richi207
Hello Emerald Mine community! 👋
My name is Richi, I'm a hobby developer from Switzerland and Emerald Mine was one of my absolute favourite games on the Amiga back in the day. The feeling of collecting emeralds, avoiding enemies and solving those clever levels – unforgettable!
Recently I've been developing a free Android TV / Android browser app called Bruuxer. It's a WebView-based browser specifically designed for Android TV boxes and devices, with features like ad blocking, cookie banner removal, and full TV remote control support. I've also integrated a few small mini-games directly into the app – all written by myself from scratch – so users have something fun to do when they're not browsing.

Thank you so much for keeping this game alive after all these years. It means a lot to retro fans like me! 🙏

Liebe Grüsse aus der Schweiz,
Richi

Re: Emerald Mine Fan say hello

Posted: Mon Apr 27, 2026 1:09 pm
by Holger
Hello Richi, welcome to the R'n'D forum! :)

I'm pleased that you like the game, and feel free to keep us updated here about your own app!

Writing retro games like R'n'D that can also be played on a TV using nothing but a standard remote control (well, it should at least have something like a D-pad and two buttons than can be used for the game) is always a special challenge! :D

Re: Emerald Mine Fan say hello

Posted: Wed Apr 29, 2026 4:21 pm
by richi207
As discussed, I tried to build something inspired by you. There are still many errors, and a lot is missing. Here are the first images of the app I’ve built for Android TV in Kotlin—just a small preview. I hope I can still implement many of the features on my list. It’s a standalone fan port that only tries to take inspiration from its role models. The game will never be commercial, just like my other two Android TV apps (Bruuxer and KloqTV). I’m not yet sure whether I’ll integrate it into my browser with retro games or release it as a separate app. What do you think?

Re: Emerald Mine Fan say hello

Posted: Thu Apr 30, 2026 7:54 am
by Holger
Really looks great! :D

Too bad that I don't have an Android TV around to test it! Will check with my friends if it might run on their TVs...
I’m not yet sure whether I’ll integrate it into my browser with retro games or release it as a separate app. What do you think?
Do whatever works best for you, or where you think it fits best! :)

Re: Emerald Mine Fan say hello

Posted: Fri May 01, 2026 12:45 pm
by TheOnyxGuy
Not to sound rash, but I'm fairly sure the title image is AI generated. Not really saying this is bad, but... some artifacts of that image just really bother me, especially the non-existent pixels if you look a bit closer

Re: Emerald Mine Fan say hello

Posted: Sun May 03, 2026 5:06 pm
by Holger
I agree that it looks like pixel art on the first view, and like AI pixel art on the second view... ;-)

Nevertheless, I think I like it.

Regarding AI generated pixel art that looks like real pixel art also on second view, I think I have to check again, as AI models are far more capable than the last time I had a look (which is not *that* long ago, but a lot has changed since then)... :)

Re: Emerald Mine Fan say hello

Posted: Tue May 05, 2026 7:11 pm
by richi207
Yes, the title image is AI-generated pixel art. I hope you can forgive me—I’m not the best graphic designer :)

I’m already quite busy porting the logic 1:1, although that’s not always possible. That’s why I also watch the old videos and spend a lot of time gaming (which is a lot of fun).

Emerald Mine is my inspiration. The graphics in the game are essentially pixel graphics, but I’ve converted them into vector graphics, which actually makes them look even more retro. For example, this is the code for the amoeba drops—the drops themselves are self-made.

At its core, the game will be rebuilt from scratch, but I’m trying to preserve its spirit. It’s not the easiest path, but it’s future-proof and playable on all TV sizes—otherwise Android tends to cause issues.

I had the choice of either just taking inspiration from the game or using the old machine and letting Android interpret everything. I decided I wanted to really understand the old C code and build something inspired by it myself.

I was also considering creating my own graphics for the enemies, but then I feel like too much of the original game would be lost. What do you think?

( copy past the code in https://shapeshifter.design/ )

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="32dp"
    android:height="32dp"
    android:viewportWidth="32"
    android:viewportHeight="32">
    <path android:fillColor="#052d06" android:pathData="M19,6h1v1h-1z M10,7h1v1h-1z M20,7h1v1h-1z M10,8h1v1h-1z M21,9h1v1h-1z M22,11h1v1h-1z M26,19h1v1h-1z M26,21h1v1h-1z M26,20h1v1h-1z M10,28h1v1h-1z M11,28h1v1h-1z M20,28h1v1h-1z M21,28h1v1h-1z M12,29h2v1h-2z M14,29h1v1h-1z M15,29h1v1h-1z M16,29h1v1h-1z M17,29h1v1h-1z M18,29h1v1h-1z M19,29h1v1h-1z" />
    <path android:fillColor="#0b4d0b" android:pathData="M20,8h1v1h-1z M9,9h1v1h-1z M20,9h1v1h-1z M21,10h1v1h-1z M23,13h1v1h-1z M24,15h1v1h-1z M25,17h1v1h-1z M7,25h1v1h-1z M23,26h1v1h-1z M9,27h1v1h-1z M22,27h1v1h-1z M19,28h1v1h-1z" />
    <path android:fillColor="#136f13" android:pathData="M17,2h1v1h-1z M17,3h1v1h-1z M18,4h1v1h-1z M19,7h1v1h-1z M9,10h1v1h-1z M8,11h1v1h-1z M21,11h1v1h-1z M22,12h1v1h-1z M24,17h1v1h-1z M24,18h1v1h-1z M25,18h1v1h-1z M24,19h1v1h-1z M25,19h1v1h-1z M24,20h1v1h-1z M25,20h1v1h-1z M24,21h1v1h-1z M25,21h1v1h-1z M25,22h1v1h-1z M6,23h1v1h-1z M24,23h1v1h-1z M16,27h1v1h-1z M25,23h1v1h-1z M6,24h1v1h-1z M10,26h1v1h-1z M7,24h1v1h-1z M22,24h1v1h-1z M23,24h1v1h-1z M24,24h1v1h-1z M8,25h1v1h-1z M9,25h1v1h-1z M20,25h1v1h-1z M21,25h1v1h-1z M20,27h1v1h-1z M22,25h1v1h-1z M18,28h1v1h-1z M23,25h1v1h-1z M8,26h1v1h-1z M9,26h1v1h-1z M11,26h1v1h-1z M19,26h1v1h-1z M20,26h1v1h-1z M21,26h1v1h-1z M22,26h1v1h-1z M10,27h1v1h-1z M11,27h1v1h-1z M12,27h1v1h-1z M13,28h1v1h-1z M13,27h1v1h-1z M14,27h1v1h-1z M15,27h1v1h-1z M17,27h1v1h-1z M18,27h1v1h-1z M19,27h1v1h-1z M21,27h1v1h-1z M12,28h1v1h-1z M14,28h2v1h-2z M16,28h2v1h-2z" />
    <path android:fillColor="#248826" android:pathData="M16,1h1v1h-1z M13,2h1v1h-1z M17,4h1v1h-1z M18,5h1v1h-1z M8,12h1v1h-1z M21,12h1v1h-1z M7,13h1v1h-1z M22,13h1v1h-1z M23,14h1v1h-1z M22,15h1v1h-1z M23,15h1v1h-1z M22,16h1v1h-1z M23,16h1v1h-1z M24,16h1v1h-1z M5,17h1v1h-1z M23,17h1v1h-1z M23,20h1v1h-1z M23,21h1v1h-1z M22,22h1v1h-1z M23,22h1v1h-1z M24,22h1v1h-1z M21,23h1v1h-1z M23,23h1v1h-1z M21,24h1v1h-1z M19,25h1v1h-1z M16,26h1v1h-1z M17,26h1v1h-1z M18,26h1v1h-1z" />
    <path android:fillColor="#32a336" android:pathData="M14,1h1v1h-1z M15,1h1v1h-1z M15,2h1v1h-1z M16,2h1v1h-1z M13,3h1v1h-1z M15,3h1v1h-1z M17,6h1v1h-1z M16,3h1v1h-1z M13,4h1v1h-1z M14,4h1v1h-1z M15,4h1v1h-1z M23,19h1v1h-1z M16,4h1v1h-1z M12,5h1v1h-1z M13,5h1v1h-1z M14,5h1v1h-1z M15,6h1v1h-1z M16,11h1v1h-1z M16,12h1v1h-1z M22,14h1v1h-1z M22,18h1v1h-1z M22,19h1v1h-1z M20,21h1v1h-1z M11,22h1v1h-1z M12,23h1v1h-1z M17,23h1v1h-1z M16,24h1v1h-1z M15,25h1v1h-1z M15,5h1v1h-1z M16,10h1v1h-1z M16,5h1v1h-1z M16,7h1v1h-1z M18,7h1v1h-1z M18,12h1v1h-1z M20,15h1v1h-1z M19,17h1v1h-1z M20,20h1v1h-1z M17,5h1v1h-1z M13,6h1v1h-1z M14,6h1v1h-1z M12,18h1v1h-1z M18,25h1v1h-1z M16,6h1v1h-1z M18,6h1v1h-1z M11,7h1v1h-1z M15,7h1v1h-1z M17,9h1v1h-1z M17,10h1v1h-1z M18,14h1v1h-1z M17,7h1v1h-1z M14,15h1v1h-1z M15,8h1v1h-1z M21,18h1v1h-1z M10,24h1v1h-1z M16,8h1v1h-1z M15,10h1v1h-1z M17,8h2v1h-2z M19,8h1v1h-1z M17,24h1v1h-1z M14,25h1v1h-1z M17,25h1v1h-1z M10,9h1v1h-1z M15,9h1v1h-1z M16,9h1v1h-1z M18,10h1v1h-1z M22,17h1v1h-1z M18,9h1v1h-1z M18,11h1v1h-1z M19,16h1v1h-1z M21,16h1v1h-1z M19,9h1v1h-1z M11,10h1v1h-1z M19,10h1v1h-1z M20,10h1v1h-1z M9,11h1v1h-1z M14,11h1v1h-1z M15,11h1v1h-1z M10,22h1v1h-1z M17,11h1v1h-1z M14,14h1v1h-1z M14,19h1v1h-1z M20,19h2v1h-2z M13,20h1v1h-1z M21,20h1v1h-1z M12,21h1v1h-1z M19,21h1v1h-1z M18,22h1v1h-1z M13,23h3v1h-3z M13,24h2v1h-2z M19,11h1v1h-1z M19,13h1v1h-1z M19,14h1v1h-1z M20,16h1v1h-1z M20,11h1v1h-1z M14,12h1v1h-1z M9,23h3v1h-3z M11,24h2v1h-2z M15,12h1v1h-1z M17,12h1v1h-1z M20,13h1v1h-1z M12,22h1v1h-1z M19,12h1v1h-1z M18,13h1v1h-1z M20,12h1v1h-1z M21,15h1v1h-1z M8,13h1v1h-1z M14,13h1v1h-1z M15,13h1v1h-1z M12,19h2v1h-2z M5,21h1v1h-1z M12,25h2v1h-2z M16,13h1v1h-1z M15,14h1v1h-1z M21,17h1v1h-1z M16,25h1v1h-1z M17,13h1v1h-1z M21,13h1v1h-1z M7,14h1v1h-1z M13,14h1v1h-1z M16,14h2v1h-2z M21,14h1v1h-1z M16,15h1v1h-1z M19,15h1v1h-1z M17,16h2v1h-2z M17,17h1v1h-1z M20,17h1v1h-1z M19,18h1v1h-1z M19,20h1v1h-1z M20,14h1v1h-1z M6,15h1v1h-1z M7,15h1v1h-1z M12,15h1v1h-1z M13,15h1v1h-1z M15,15h1v1h-1z M5,19h1v1h-1z M17,15h1v1h-1z M16,16h1v1h-1z M14,18h2v1h-2z M20,18h1v1h-1z M14,20h1v1h-1z M17,20h2v1h-2z M13,21h5v1h-5z M13,22h5v1h-5z M16,23h1v1h-1z M18,15h1v1h-1z M6,16h1v1h-1z M12,16h1v1h-1z M11,19h1v1h-1z M10,20h1v1h-1z M13,16h1v1h-1z M14,16h1v1h-1z M15,16h1v1h-1z M16,18h1v1h-1z M16,19h2v1h-2z M19,19h1v1h-1z M16,20h1v1h-1z M6,17h1v1h-1z M11,17h1v1h-1z M12,17h1v1h-1z M9,24h1v1h-1z M13,17h1v1h-1z M14,17h1v1h-1z M13,18h1v1h-1z M15,17h1v1h-1z M16,17h1v1h-1z M15,19h1v1h-1z M18,19h1v1h-1z M15,20h1v1h-1z M18,21h1v1h-1z M18,17h1v1h-1z M17,18h2v1h-2z M5,18h1v1h-1z M6,18h1v1h-1z M10,18h1v1h-1z M9,21h1v1h-1z M9,22h1v1h-1z M11,18h1v1h-1z M9,20h1v1h-1z M23,18h1v1h-1z M6,19h1v1h-1z M9,19h1v1h-1z M10,19h1v1h-1z M8,20h1v1h-1z M5,20h1v1h-1z M6,20h1v1h-1z M7,20h1v1h-1z M11,20h1v1h-1z M10,21h1v1h-1z M18,23h1v1h-1z M12,20h1v1h-1z M11,21h1v1h-1z M19,22h1v1h-1z M22,20h1v1h-1z M21,22h1v1h-1z M6,21h1v1h-1z M7,21h1v1h-1z M8,21h1v1h-1z M7,22h1v1h-1z M21,21h1v1h-1z M22,21h1v1h-1z M5,22h1v1h-1z M6,22h1v1h-1z M8,22h1v1h-1z M20,22h1v1h-1z M7,23h1v1h-1z M8,23h1v1h-1z M19,23h1v1h-1z M20,23h1v1h-1z M22,23h1v1h-1z M8,24h1v1h-1z M15,24h1v1h-1z M18,24h1v1h-1z M19,24h1v1h-1z M20,24h1v1h-1z M10,25h1v1h-1z M11,25h1v1h-1z M12,26h1v1h-1z M13,26h1v1h-1z M14,26h1v1h-1z M15,26h1v1h-1z" />
    <path android:fillColor="#53bc53" android:pathData="M14,2h1v1h-1z M14,3h1v1h-1z M12,6h1v1h-1z M12,7h1v1h-1z M13,7h1v1h-1z M14,7h1v1h-1z M11,8h1v1h-1z M12,8h1v1h-1z M14,8h1v1h-1z M11,9h1v1h-1z M10,10h1v1h-1z M14,10h1v1h-1z M10,11h1v1h-1z M13,11h1v1h-1z M9,12h1v1h-1z M10,12h1v1h-1z M13,12h1v1h-1z M9,13h1v1h-1z M13,13h1v1h-1z M8,14h1v1h-1z M12,14h1v1h-1z M8,15h1v1h-1z M7,16h1v1h-1z M11,16h1v1h-1z M10,17h1v1h-1z M7,18h1v1h-1z M7,19h1v1h-1z M8,19h1v1h-1z" />
    <path android:fillColor="#9ada9a" android:pathData="M13,8h1v1h-1z M12,9h1v1h-1z M14,9h1v1h-1z M13,10h1v1h-1z M11,11h1v1h-1z M12,13h1v1h-1z M9,14h1v1h-1z M8,16h1v1h-1z M9,16h1v1h-1z M7,17h1v1h-1z M9,17h1v1h-1z M8,18h1v1h-1z M9,18h1v1h-1z" />
    <path android:fillColor="#e0f4e0" android:pathData="M13,9h1v1h-1z M12,10h1v1h-1z M11,14h1v1h-1z M12,11h1v1h-1z M11,12h1v1h-1z M12,12h1v1h-1z M10,13h1v1h-1z M11,13h1v1h-1z M10,14h1v1h-1z M9,15h1v1h-1z M10,15h1v1h-1z M11,15h1v1h-1z M10,16h1v1h-1z M8,17h1v1h-1z" />
</vector>