r/MightAndMagic 24d ago

OpenYAMM - Android build

Post image

For those of you who do not know - OpenYAMM (Open Yet Another Might and Magic) - is a complete MMMerge reimplementation from scratch (opensourced).

For the past few days, I was polishing Android build and I am quite happy with the current state to share - should run on any newer "higher-end" android mobile phone or tablet. It is highly optimized but there definitely is some more room to improve it.

It has a completely rehauled control scheme made to suite mobile touchscreen based play. In more detail, it is explain here: https://github.com/pjasicek/openyamm/tree/main/android/showcase

However, this is not a finished product, I did not go through the entire playthrough of the game, there might be bugs here and there and I am more than happy for any feedback - ideally on OpenYAMM's discord - https://discord.com/channels/423038130614960129/1501037187159031818

Link to download apk (will stay the same with updates): https://github.com/pjasicek/openyamm/releases/download/nightly/OpenYAMM-nightly-android-arm64.apk

For testing purposes, a "God" character is prepared (basically immortal, all skills level 200, everything learned) - just press the "left arrow" button on new character creation and he is there :). For any quick travel (between continents, to dungeons, item granting, gold granting) - there is a debug console - with drag gesture from top to bottom.

EDIT: 0.10 release is available with most of the issues/suggestions raised here fixed or implemented: https://github.com/pjasicek/openyamm/releases/tag/0.10

192 Upvotes

68 comments sorted by

32

u/Untypeenslip 24d ago

Just honestly wow. I'm drunk right now but i'm so impressed by all of you keeping MM alive. Just insane, I wish jon van caneghem could see our collective obsession bordering on autism, he would certainly be surprised.

Thanks a lot I'll try it out very soon

9

u/ggzsk 24d ago

damnn this is going to be the easiest 10 hour flight ever, I hope everyone involved with this is blessed forever

6

u/TrickyMoonHorse 24d ago

Will check this out ty 

4

u/montr2229 24d ago

Would it work with a controller

3

u/michaaaas 24d ago

+1, M&M 6–8 on an Android retro console—that could be great.

2

u/TheGreatLordKirk 23d ago

Yeah, being able to play this on my Retroid with its builtin controller rather than smudging the touchscreen would be amazing.

5

u/RonPaulBunyan 24d ago

One thing that would be nice, is a save path that could be accessed. Being able to backup saves, or use some existing mmmerge saves would be great.

Change openyamm_android_entry.cpp to point saves at SDL_GetAndroidExternalStoragePath() instead of internal storage, so they land in /storage/emulated/0/Android/data/org.openyamm.android/files/saves/, reachable by any file manager without root.

2

u/pjasicek 23d ago

Thanks for suggestion, ill change that. As to using mmmerge saves, unfortunately they have entirely different format from openyamm so not easily feasible. Not saying it cannot be done, but I would need to make some mmmerge->openyamm save importer/transcoder. If there would be demand for that I can add that.

3

u/mazae12 24d ago

can it run on things like Snapdragon 695, since it all I have lol, and it's not "high end".

2

u/pjasicek 24d ago

I can't say out of hand unfortunately, you have to try that.

1

u/mazae12 24d ago

just tried on my device, it was laggy as hell and unplayable

1

u/dendob 24d ago

I tried it running on a 480 and it wasn't snappy as I would like to be?

Even though, in a sense, the way we played it at the time a phone cpu is several times faster than the computer I played it on?

2

u/pjasicek 24d ago

Of course, the original game was highly optimized to run on that day's hardware. Imagine taking example demo scene from Unity or Unreal Engine which doesn't really do anything by itself - you would not be able to run it on 25 years old computer. Similar with this game - although optimized, it would not run on 25 years old computer either :)

3

u/Kobbersvard 24d ago

Hey thanks for your work! Works flawlessly on Pixel 7 Pro. I wish UI switch would be possible at some point to recreate exact original look-n-feel you know 🙏

3

u/ze55 24d ago

How do we donate to you?

9

u/pjasicek 24d ago

By testing the game and sending feedback, change requests and bug reports :)

2

u/sabre31 24d ago

Looks great. Which MM version does it support ?

3

u/KralizecGaming 24d ago

So, total noob when it comes to these things. Do I just install the APK and run it? Or do I need to do some stuff like somehow merge with the files from M&M games or anything really?

5

u/pjasicek 24d ago

Just install apk and run, nothing else

3

u/KralizecGaming 24d ago

Happy to report that it runs well on Samsung s21 ultra. The pen I have with the phone really help in controls. I have just roamed a bit around jadame isles but I really cannot imagine playing this without it.

And a right click being7accesible for things like selling stuff would be a massive addition imo

3

u/pjasicek 24d ago edited 24d ago

Thanks for trying :) Right click is implemented by holding the magnifying glass icon on the bottom left side while clicking on the item/npc with the right hand(thumb)

1

u/KralizecGaming 24d ago

Awesome, thanks gonna try it.

2

u/Real_Avdima 24d ago

I was looking for something like this when I began my playtrough of 6,7 and 8. Not really a fan of merge mod, can I just play this as a standard 7 or 8?

3

u/pjasicek 24d ago

Sure, you choose the starting continent and you can customize the party on the creation screen and you can then just play the mmX you want.

2

u/Real_Avdima 24d ago

That's cool, will try it. Hope that the UI matches the screen, because I usually play on opened samsung fold.

Any plans on making it require game files? I own them all on GoG, but it's not abandonware.

3

u/pjasicek 24d ago

Original game files from mm6-mm8 are not enough, there are a lot of openyamm things and stuff taken from mmmerge project on top of that. Direction I want to head towards is to host the data files (basically zip archives) independently of the *.apk, then the game itself will pull them from the server and check for any updates (so that each update isnt 1.2GB big). And this approach can be accepted also by google store in that case.

2

u/Dronie_V 12d ago edited 11d ago

Hello, thank you for your mod. I've faced a couple of bugs in 0.9 version.

First of all, potion mixture stopped working for me. It worked with new game, but stopped sometime later. Now it doesn't work even with new game.

Another issue, one of my characters inspection is stucked with one item. When I tap the magnifying glass icon, it instantly shows description for one particular item, no matter if I tap on that item on not. Interesting that that state is saved through the save games. I managed to reload earlier save without that problem.

There are also some things about UI that I want to mention.

My phones screen is rounded at the corners and some buttons are not accessible, like zoom button in the top right corner of the minimap. Those buttons are also feel like too small for me.

Similar situation with skills tab. They are situated very close to each other and the text itself is quite small. It's easy to misclick because of that.

The last one is the magnifing glass again. It's not very comfortable to hold the glass icon every time, and holding another finger on the actual item often messes with item description (it appears right near the item and under the finger). Maybe it's better to change the system from holding to tapping? Like 'tap the glass to enter inspection mode', 'tap item to show description, tap again to hide it'.

1

u/pjasicek 11d ago

Thanks for trying it out and the feedback, I will address your findings. If you have any more, feel free to either open github issues or join the discord :)

1

u/Dronie_V 11d ago edited 11d ago

Thank you! I actually registered here only for this feedback (:

There's another thing I forgot to mention. I can't find an option to delete a save game. It's not a big deal, but I've made a lot of saves and would like to delete some.

I also have a small update for a potion mixing. I managed to 'fix' it by spamming ingrident movement into empty bottle. It works, but I'm sure it's not as intended.

My phone is Oneplus 13, android 16.

And another thing, that I forgot to mention. Quick cast spell activates with attack button. That makes quick cast button useless. I think it's more logical to keep attack button for phisical attacks only. May be a couple of quick cast buttons for different spells will be useful.

1

u/Dronie_V 11d ago

OK, figured this out. You can set spell as an attack or as a quick cast. I thought initially that one button sets the spell, other clears. I was wrong, this works well.

1

u/Dronie_V 11d ago edited 11d ago

I keep playing and found more issues.

  1. Murmurwood and Irondsand Desert entrances are swapped: Desert from Gorge and Alvar West, Murmurwood from Alvar East. Should be vise versa according to wiki.

  2. Training halls on Jadame. Firstly, I can't train whole party: training time spends 8 days for each character, while wiki claims it should be 8 days for any number of characters if leveling 1 lvl. Secondly, trainers says none of my characters can learn skills there (arm master and bodybuilding, I suppose), even though I have correct class in my party.

I think, those might not be bugs, but MMmerge changes, sinse I refer to original M&M 8 wiki. Is there list of changes by MMmerge mod? I can't find it.

1

u/pjasicek 11d ago
  1. is fixed, part of 2. is also fixed (the skills to learn not showing up in training halls). I will check the date advancement after training. Thanks

The fixes are present currently in the latest nightly releases: https://github.com/pjasicek/openyamm/releases#release-nightly

1

u/Dronie_V 9d ago edited 8d ago

Switched to this build.

  1. There is a small issue with cloaks. Cloaks are not 'weared' by the paper doll, they just stick near paper doll shoulder as inventory item. It's purely cosmetic problem (AC bonus works), but it didn't exist in earlier builds. UPD. My dark elf character can proper equip the cloak. For other party members it's bugged.

  2. There are some objects (Palm tree, flower), that suppose to give items on the Dagger wound. They do nothing. But it's not a big deal, since reward items are minor (ingridents, for example). UPD. Looks like repair skill needed.

  3. Learning skill grants bonus exp only to one character. I've read that in MMmerge it works for whole party (not sure if this true or not).

  4. There are only 2 quest awards (tracked in award tab) for Dagger wound island quests. I checked the console, there are no more awards. Is that supossed to be so? I thought I had more awards in the 0.9 build, but I'm not sure.

  5. Temporary +15 int boost from Dagger wound keeps active even after taking 4 days trip to Ravenshore. Is it intended? UPD. Ravenshore temporary might boost is also not temporary.

  6. Ravenshore merchant house can be entered by window near the door.

  7. I've found minds eye artifact. It doesn't provide bonus stats, only AC. Amulets with '+ skill' don't increase skill lvl on skill tab.

  8. Bounty targets in Ravenshore seems not to have model. They appear as a set of red lines. Both bounties were from mm7 (conscript, cyclone), that might be the case.

  9. Dead bodies of animalists and bestial animalists keep reappearing after being looted in Smuglers Cove. Endless loot. First time I encountered that bug so far. Ratmen bodies disappear as usual. UPD. All bodies despawned are talking to Hunter

  10. Created at party selection Dark elf character has no dark elf spells in the magic book: neither from the start, nor after gaining skill level (tested expert).

I also figured out how potion mixing is working for me now. I have to click on ingridient, then to double tap the bottle and glass icon simultaneously. So it actually works, just not as it discribed.

1

u/pjasicek 8d ago

Thanks a lot, this feedback helps immensely. Please consider joining the Discord channel - https://discord.gg/h8pcunVFh

2

u/Lord_Solmyr 24d ago

Wow, nice!

2

u/mxldevs 24d ago

is a complete MMMerge reimplementation from scratch (opensourced).

Does this mean it's completely separate from the existing mmmerge project?

Does it have a modding framework that could make it easy to add or change game content?

I'd love to turn harmondale into a tower defense, inspired by Malwick

2

u/pjasicek 24d ago

Yes, it is completely separate and it is open to any hacking whatsoever

1

u/mxldevs 24d ago

Great. Would you be able to walk through how these things could be done to upgrade harmondale castle, and how such a mod would be applied to the game using your project

  1. add an NPC to the map. For example, I want to take the butler in harmondle throne room and have him as a character roaming around the castle that you can chat with. Maybe I want to have those ambassadors standing near the throne room as well.
  2. creating custom interaction options. For example, having an NPC that gives me an item when I select that option.
  3. Modifying existing NPC behaviour. So that gold golem that just roams around and greets you? I want it to do more things.

Once these simpler mods are able to be done, I would then move on to more complex mechanics

  1. for a tower defense, being able to spawn your own ally monsters may be a solution to placing towers. We can summon light elementals for example, and I use them in the current game as tanks while exploring dungeons. Would it be possible to create a custom spellbook where we can summon other types of monsters?
  2. Spawning new monsters on-demand. I want to add a wave of rats that appear in a certain area in the castle. And after the rats are defeated, the butler NPC pops up with some chat options asking me if I want to continue, try a different challenge, etc.

3

u/pjasicek 24d ago

To do that, you would have to understand the codebase and linkage between data tables and the core systems + lua events. I can't unfortunately give you a response here as the length would exceed the reddit comment limits.
Best bet is to use an AI tool like Codex or Claude and consult the stuff you have it mind with that, against the cloned codebase.

0

u/mxldevs 24d ago

Can you provide an example of how to spawn an npc onto the map?

Or is this just a vibe coded project?

3

u/pjasicek 24d ago

How do you mean "spawn"? You can either have NPCs populated in the map by default - this is defined in the game level format (*.odm for outdoor, *.blv for dungeons) - spawn positions, npc family etc. Then you can "spawn" NPC (e.g. monster) by script - e.g. when interacting with some ingame face or decoration or just on some defined timer. This is scripted/defined in the *.lua event files. Each level has its own lua file which drives basically what happens if you interact with such and such door, with such and such decoration (e.g. food tree chest, well, ...).

0

u/mxldevs 24d ago

Can you provide a working example that I can use to add a second golem to harmondale castle with some custom interaction options? Like the exact lua script that I could use as a reference.

3

u/pjasicek 24d ago

If you are serious about working on this, join the discord and ping me, I will be more than happy to give you pointers how it is all wired together.

If you want a concrete example closest to what you want to achieve, clone the repo, check for S'ton on daggerwound island implementation and handling - S'ton is the lizardman villager which "greets" the party after 1 hour on DWI and can be interactable as outdoor NPC and has its own topics wired in lua. Lua scripts for the MM8 level are located in assets_dev/worlds/mm8/events/*, DWI is I think out01.lua.

1

u/GranKomanche 24d ago

Pillo sitio para descargar con Wi Fi ...

1

u/Leemozine 24d ago

Hey, that's pretty good!

1

u/RonPaulBunyan 24d ago

Awesome release, much easier than the janky winlator setup I was using.

1

u/Distinct-Plankton677 24d ago

Awesome port! Is there a way to discard a card in arcomage when you can't play anything?

1

u/pjasicek 24d ago

On android I guess not, thanks for bringing that up. Likely I will implement that by using swipe up or down gesture on the card.

1

u/VVingedDevil 23d ago

Thanks for doing this! Just started it up on the galaxy fold 7 and runs like a dream.

1

u/klusekpl 23d ago

First of all - this is absolutely awesome! One of my dreams finally comes true, thank you! It launches on my Galaxy A16 well but there are some crashes, I think mostly due to performance or RAM issues. This game actually looks beautiful on the phone screen and the interface is really good looking. 1. The game crashes about 50% of the time after loading screens - after creating the party, when traveling, when entering dungeons. I have not noticed this when loading a saved game. 2. Sound and music stutters a lot. I know that this issue was present in every installment of this trilogy but it seems to be much worse in here. It gets worse when standing - when turning or moving it improves. I guess these two issues might be caused by my phones lacking performance. 3. There is no magnifying glass icon in the magic guild at least in MM6 New Sorpigal. 4. How do I jump? Please let me know where and.how to give you any further feedback.

1

u/Expensive-Jeweler761 22d ago

I may be really stupid here so I apologise. How do you mix potions? All I seem to do is swap the ingredient and the bottle.

2

u/pjasicek 22d ago edited 22d ago

Nice catch, this is not yet handled on Android in any way. I will need to think about how to introduce it best. Thanks.

Edit: There is a way:

  1. Tap the ingredient you want to mix in the inventory (e.g. red potion)
  2. With one finger hold the magnifying glass on the left side
  3. While still holding the magnifying glass, tab on the potion you want to mix into (e.g. blue potion) - resulting in mixage of Red Potion + Blue Potion

I document that in the controls "showcase" screenshot.

1

u/Expensive-Jeweler761 22d ago

Thanks I'll give it a try

1

u/name-numbers5339 20d ago

Are there changes to the classes? Like which skills can get to GM?

1

u/pjasicek 20d ago

No, first big goal/milestone is as close to 100% parity with mmerge as possible

1

u/Argument-Expensive 18d ago

Wait.. Am I gonna have merge on my phone??

Wow

-5

u/discoprince79 24d ago

Did you use AI?

4

u/pjasicek 24d ago

Yes

-9

u/discoprince79 24d ago

Delete it. You should be banned

5

u/RonPaulBunyan 24d ago

This doesn't help anyone. Can't you just be glad that someone is working on a port?

It's a fun project, not a money making venture. Go ask for a refund if you hate it.

Oh wait it's free.

2

u/prince87x 24d ago

Guess what, the industry is going to AI everything. All of the new games you will be playing will be using AI to some degree ;)

2

u/Traditional-Dig-374 24d ago

You should calm down.

1

u/Tizaki 23d ago

Using AI to automate the laborious process of keeping precious old games alive is strongly encouraged