OpenMM8 - M&M8 Unity reimplementation

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).

Moderator: Moderators

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Dec 19 2017, 20:46

Hi M&M community, I want to share my work in progress from its earliest roots.

What am I doing and who am I

I am reimplementing Might & Magic 8 from scratch using Unity. Some of you are surely saying: "Hey, look, here is another guy thinking he can reimplement a game from M&M 6-8 series, meh, he will give up eventually like all others before him".

I can assure you that this is not a wannabe attempt. I have one reimplementation project under my belt which I wrote entirely from scratch using C++ and low level libraries (SDL, Box2D, ...) and created Windows/Linux release distributables for its community - https://github.com/pjasicek/OpenClaw

This project is and will be open source and available on github, though in unity so I will not be able to use any paid third party assets (which is fine with me):

https://github.com/pjasicek/OpenMM8

Progress

As I stated, this project is in its earliest stages, but there are a few key concepts already in place:

    * Imported and properly scaled M&M map(s)
    * Basic player controller - same has M&M 9 crosshair control style (rotating camera with mouse, moving with WASD)
    * Basic M&M 8 UI
    * Working minimap + player direction arrow
    * Working compas (showing player's current world-side orientation
    * Working mechanism of animating / rotating NPCs - they are actually 8-sided 2D sprites, not 3D models
    * Villager AI is implemented - they wander within pre-defined location, they look at Player when near and they run from Hostile NPCs (or player)
    * Original 4:3 resolution is being preserved

The ultimate goal is to reimplement all feasible in-game mechanics in the same way as in original game. Once this is achieved, the project can be enhanced by any custom things - new locations, skills, enemies, quests, etc...

Some early screenshots:

Image
Image

Credits

* GrayFace for his awesome work on M&M tools and file-format reverse engineering

Contact

If anyone would want to discuss or ask me anything, feel free to contact me anytime:

pjasicek@gmail.com

___________________________________________________________________________________________________

I will share new videos / screenshots presenting its current state and new features here along with my progress :)
Last edited by pjasicek on Dec 19 2017, 20:58, edited 3 times in total.

User avatar
Sslaxx
Leprechaun
Leprechaun
Posts: 27
Joined: 20 Feb 2017
Location: UK
Contact:

Re: OpenMM8 - M&M8 Unity reimplementation

Postby Sslaxx » Dec 20 2017, 0:24

Interesting, taken a look at Daggerfall Unity at all for inspiration?

User avatar
Vinevi
Leprechaun
Leprechaun
Posts: 29
Joined: 17 Jul 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby Vinevi » Dec 20 2017, 4:36

Is there any way to contribute to the project?

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Dec 20 2017, 6:57

Sslaxx wrote:Interesting, taken a look at Daggerfall Unity at all for inspiration?


I have not, I'll be sure to check that out, thanks.

Vinevi wrote:Is there any way to contribute to the project?


Sure, there are many ways to contribute even for non-programmers:

* Extracting remaining outdoor/indoor M&M maps (I use GrayFace's MMEditor for this) and adding them to the project
-------------------------------------------------------
* Creating spritesheet animations for NPCs - I use MMArchive to get raw sprite images - I get .bmp file, then I make their background transparent in a tool I made (this is already done for all sprites), then I sort the sprites by their animation type (Attack, Walk, Idle, Dying, Dead, BlockDamage, ReceiveDamage) by a tool I made (this is already done for all NPC sprites) and then I make a spritesheet for every animation type (I use TexturePacker tool for this)
Image
- This results in total of 7 spritesheets each with 5 animations - for when the sprites are facing different direction - Back, Front, Right, BackRight, FrontRight - this is what "makes" the M&M 6-8 NPCs look 3D even though they are 2D
***** What is NOT done is creating the spritesheets themselves from the pre-sorted files and then making animations in unity from them so that they can be applied to NPCs in the unity game - it is pretty easy and straightforward, though somewhat repetitive, task
-------------------------------------------------------
* Populating the map(s) with props, decals and soon NPCs - right now the level contains only the bare meshes - terrain and buildings, no trees, bushes, grass, smoke, pedestials etc. - it will need to be populated to match the feel of original game
-------------------------------------------------------
* Most of gameplay features - coding whole player party handling, spell casting, attacking, health/mana system, item/inventory system, stat system, quest system, time of day system, etc. etc. etc.

Feel free to contact me if any point sounds like something you would want to contribute to, thanks for interest :)

User avatar
equs
Peasant
Peasant
Posts: 62
Joined: 14 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby equs » Jan 9 2018, 14:07

@pjasicek This project sounds absolute awesome! I have little photoshop knowledge. If that could help you in any way, I'll be glad to contribute.

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Jan 14 2018, 22:06

equs wrote:@pjasicek This project sounds absolute awesome! I have little photoshop knowledge. If that could help you in any way, I'll be glad to contribute.


Thanks for your interest ! I was toying with the idea of making the OpenMM8 in "pseudo-HD" mode - taking all existing textures and rescaling them using some high-pass filter to get a better look. But I think I will postpone this one until I have gameplay foundation already in place.

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Jan 14 2018, 22:18

14.1.2018 - Update

Most of the work lately was spent on making a base for in-game AI. In MM8 there are 3 types of AIs:

1) Enemy - Attacks or chases player if player is in his agro radius (enemy can be either ranged or melee, melee can have alternate ranged attack so while he chases player, he occasionally does ranged attack)
2) Guard - Friendly to player until damaged by player. When damaged by player, Guard acts in the same way as Enemy. If left untouched and friendly, he will patrol within his predefined area.
3) Villager - Friendly to player. When damaged by player or if nearby friendly villager / guard is damaged by player, he flees from player, he does not attempt to retaliate. If left untouched and friendly, he just patrols within his predefined area and if player comes near him, he will stop and look at player.

Enemy AI demo
Fleeing villager AI demo

Next steps:
- Add ranged projectile to ranged attacks
- Implement damage calculation and damage receive mechanism
- Implement AI health
- Implement 1st player's character - Avatar's animations (idle, when taking damage etc), Health + Mana model, Attack with reuse time (fixed damage)

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Jul 31 2018, 17:12

31.7.2018 - Update

Sorry for the long period of inactivity. In the past 6 months there has been a huge amount of progress, nevertheless, there is sooo much more work to do.

- Working house loop videos with sound - I had to convert original smacker format to .OGV format with a bit of lower quality. Unity does not handle looping videos very well out of the box.
- Working quest system exactly as in original game
- Working dialogs within houses and NPCs
- Inventory system - at the moment working inventory cell division and rendering
- Adoption of original game's data tables - for items, quests, houses, npcs, etc.
- Adoption of original game's scripting system
- Huuuuuuge refactoring(s)
- Much much more, I do not remember most of it :)

Some screenshots from my progress:

Image
Image
Image

Some videos from my progress:

House dialogs + Quests
Inventory - Item / Cell Rendering

User avatar
Bandobras Took
Archmage
Archmage
Posts: 990
Joined: 06 Jan 2006

Re: OpenMM8 - M&M8 Unity reimplementation

Postby Bandobras Took » Jul 31 2018, 23:29

Impressive. I'm glad to see you're continuing to work on it.
Far too many people speak their minds without first verifying the quality of their source material.

User avatar
kristal
Leprechaun
Leprechaun
Posts: 37
Joined: 23 Nov 2016
Location: Russian

Re: OpenMM8 - M&M8 Unity reimplementation

Postby kristal » Aug 1 2018, 7:16

Excellent work. Do you need help from a non-programmer? I know well .txt files in original MM.

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Aug 1 2018, 18:54

Bandobras Took wrote:Impressive. I'm glad to see you're continuing to work on it.


Thank you very much for your kind words :) I plan to see this project to its end - that is, fully implemented original game's mechanics with "somewhat" readable and extendable codebase :)

kristal wrote:Excellent work. Do you need help from a non-programmer? I know well .txt files in original MM.


Thank you :) I had some problems understanding some txt files at first, if I come across something I am unsure with, I'll be sure to ask you, thank you :)

User avatar
unknownone
Pixie
Pixie
Posts: 105
Joined: 10 Mar 2011
Location: Italy

Re: OpenMM8 - M&M8 Unity reimplementation

Postby unknownone » Aug 3 2018, 22:40

Congratulations for the great work, I believe there was really a lot to do to get to this point.
I've played and enjoyed many RPGs:
MM6,MM7,MM8,MM9, Fallout 1&2, Planescape Torment, Torment: ToN, TES3, TES4

User avatar
kristal
Leprechaun
Leprechaun
Posts: 37
Joined: 23 Nov 2016
Location: Russian

Re: OpenMM8 - M&M8 Unity reimplementation

Postby kristal » Aug 4 2018, 19:05

Still I know MMEditor and could would fill in locations.

User avatar
Neecko
Leprechaun
Leprechaun
Posts: 19
Joined: 21 Aug 2016

Re: OpenMM8 - M&M8 Unity reimplementation

Postby Neecko » Aug 6 2018, 3:54

Hey really great progress you got here! I'm a programmer myself and am checking the code out now. I can definitely help with something like this. With a certain code base you could really make some new adventures and such. Really cool.

I'd love to chat more about the project if you have another preferred means of communications( Discord or something)
Last edited by Neecko on Aug 6 2018, 3:56, edited 1 time in total.

pjasicek
Leprechaun
Leprechaun
Posts: 7
Joined: 19 Dec 2017

Re: OpenMM8 - M&M8 Unity reimplementation

Postby pjasicek » Aug 6 2018, 16:42

Neecko wrote:Hey really great progress you got here! I'm a programmer myself and am checking the code out now. I can definitely help with something like this. With a certain code base you could really make some new adventures and such. Really cool.

I'd love to chat more about the project if you have another preferred means of communications( Discord or something)


Thank you :)

I have just created a Discord channel for OpenMM8, feel free to join - https://discord.gg/j6fkGAP


Return to “Might and Magic”

Who is online

Users browsing this forum: Bing [Bot] and 5 guests