Giter VIP home page Giter VIP logo

Comments (53)

doctorpangloss avatar doctorpangloss commented on June 7, 2024 1

@webadict @demilich1 at least in my fork, I've just finished every card in Knights of the Frozen Throne with tests.

It's going to take me some time to release this.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024 1

Infrastructure is looking good, now just preparing for release. Let's stay optimistic over the next few days.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

I'm now moving on to fixing up Ungoro. 100% of Druid, Hunter, Mage, Neutral, Paladin and Priest are done. I'm working on Rogue right now. Sherazin Seed is far and away the trickiest one, along with the Warlock quest permanent. I didn't fully merge the work @webadict did on permanents because my fork diverged from that kind of refactoring a long time ago.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

All of Un'Goro is tested and complete.

Did I mention there's both multiplayer and a new Unity3D client? Your patience is appreciated.

@DominusMaximus if you could point me to some places where I can find more gyms, I can fix a lot more bugs.

from metastone.

DominusMaximus avatar DominusMaximus commented on June 7, 2024

Hello. What do you mean by "gyms"?

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

@DominusMaximus a complicated set of interactions, like what is referenced here #342 . Advanced rulebook stuff, or even good YouTube videos showing important situations that players actually encounter.

from metastone.

DominusMaximus avatar DominusMaximus commented on June 7, 2024

Hearthstone Laboratory: https://www.youtube.com/channel/UCSoW7wWN-j29rUfUhkTM_Dw/videos

Hearthstone Science: https://www.youtube.com/channel/UCmjH4ksu6DqwFj1SIvTm61w/videos

Those two channels put out videos with complex interactions. For text examples, check out:

https://hearthstone.gamepedia.com/Advanced_rulebook

This GitHub lists bugs and odd interactions in the actual HS client:

https://github.com/HearthSim/hs-bugs

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

@DominusMaximus thanks for these references, I'm cleaning up the client now before I move into revising all the cards in Mean Streets & earlier + looking at the advanced rulebook.

This is an example of the (now passing) Grim Patron test:

	/**
	 * You play a Grim Patron. Your opponent has a Knife Juggler and plays an Imp Gang Boss (the knife hits face). On
	 * your turn, your Grim Patron attacks their Imp Gang Boss. The simultaneous damage triggers are queued in the order
	 * [Imp Gang Boss, Grim Patron] because the defender queues first. An Imp is summoned, triggering the allied Knife
	 * Juggler to throw a knife and mortally wound your Grim Patron. Now your Grim Patron would trigger, but it is
	 * mortally wounded, so the trigger condition fails and you do not get a new Grim Patron.
	 */
	@Test
	public void testGrimPatron() {
		runGym((context, player, opponent) -> {
			context.getLogic().setLoggingEnabled(true);
			Minion grimPatron = playMinionCard(context, player, "minion_grim_patron");
			context.endTurn();
			Minion knifeJuggler = playMinionCard(context, opponent, "minion_knife_juggler");
			overrideMissilesTrigger(context, knifeJuggler, player.getHero());
			int startingHp = player.getHero().getHp();
			Minion impGangBoss = playMinionCard(context, opponent, "minion_imp_gang_boss");
			Assert.assertEquals(player.getHero().getHp(), startingHp - 1);
			context.endTurn();
			PhysicalAttackAction attack = new PhysicalAttackAction(grimPatron.getReference());
			attack.setTargetReference(impGangBoss.getReference());
			overrideMissilesTrigger(context, knifeJuggler, grimPatron);
			context.getLogic().performGameAction(player.getId(), attack);
			Assert.assertEquals(player.getMinions().size(), 0);
		});
	}

	private void overrideMissilesTrigger(GameContext context, Entity source, Entity target) {
		SpellDesc spell = ((Enchantment) context.getTriggersAssociatedWith(source.getReference())
				.get(0)).getSpell();
		spell.remove(SpellArg.RANDOM_TARGET);
		spell.setTarget(target.getReference());
	}

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

The new client has a glitch with playing hero cards, and it doesn't support choose one hero powers yet.

Here's a preview:

unnamed

unnamed-1

unnamed-2

Still probably a couple weeks away from releasing everything.

from metastone.

DominusMaximus avatar DominusMaximus commented on June 7, 2024

Wow, very cool. Looking forward to the release.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

There are some issues with the AI playing against Hunter secrets, but otherwise it looks like pretty smooth sailing.

There's a significant re-arting under way since there's too much unlicensed stuff.

About a week away.

from metastone.

mayuso avatar mayuso commented on June 7, 2024

@doctorpangloss

Where can we find these changes? Your fork's master doesn't seem to have these changes pushed yet.

I'd love to see how you implemented this stuff into metastone.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

@mayuso the fork is still private since it has various deployment keys and passwords in it to help me smooth out testing.

The new client probably has about one bug per match with random decks, which is pretty bad. This is in networked multiplayer.

Oh, and I'm putting in the announced expansion cards too, because why not.

from metastone.

unobserver-effect avatar unobserver-effect commented on June 7, 2024

Will there be a download link for people with no programming skills whatsoever?
Oh and, i don't want to be pessimistic, but there is a good chance that blizzard doesn't quite like this "new" project...

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

wow looks interesting, cant wait for the release :)

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

nice, email me at [email protected] when its ready to go :)

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

@doctorpangloss
Hi Doctorpangloss, you're doin an awesome job, do you have a youtube channel?? Some months ago i asked to demilitch if they could release a version with editable graphic for cards (and maybe sounds,board etc..) but they told me that wasn't their goal :( maybe now you're doing what all people are waiting for. I also was following the Hsmod/Fullas work but they are stucked..I don't know.. Can u tell us something more about your project?

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Hsmod was discontinued and changed into something else im pretty sure, and they won't give out the source code. I'm hoping this client uses metastones card json files for stats, and all graphics are modifiable

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Great work dude, and yeah moddability would probably be one of the biggest features we are keen for on the this project. So are you removing card illustrations entirely? (Eg just using text) or having an empty blank template for others to use their own illustrations/typical png files?

from metastone.

unobserver-effect avatar unobserver-effect commented on June 7, 2024

If modding will be Metastone's main focus, it would be nice to open an issue where people can submit their modded cards in, right? I know that there alredy is a page for that, but it has just 5 cards. Perhaps an issue would get people's attention a little bit more?
By the way, what do you mean by "load the card text form"?

(Metastone hype)

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

I'm a bit sad that client can't work without the server but I can undestand..and yes maybe someone will want to make some money with a custom mod in a standalone open source software (sad).. but the majority of people I think just want to have fun with their Game of thrones cards etc.. lol,cause actually there is still no software that allow you to play custom cards,I hope the project will not go in to a "Dulst" direction cause it's trash lol

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Oh boy don’t even talk about dulst 😂

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

Better server tests have fixed lots of bugs with networking.

I've almost completely removed all unlicensed art.

screenshot 2017-11-27 22 54 27

Nozdormu, Hall of Fame and the latest patch changes aren't implemented. Yogg is untested. Curious Glimmerroot doesn't have a reference implementation, so it's hard to say if mine is accurate to how the game works. A variety of cards, after being played, require restarting the client. Otherwise, things are in pretty good shape.

Replying to @y0urmom:

By the way, what do you mean by "load the card text form"?

When you first launch the client, you'll be prompted to "Select your Hearthstone installation folder". The card titles and description text will be loaded from that directory. That way, we don't distribute the copyrighted Hearthstone content.

This engine is still a heavily modified metastone, so it is still pretty easy to mod.

@SerDaniel:

The objective is to make the engine as moddable as possible while still making something easy enough to just download and play, like a real game client. In this respect, you should be able to write your own cards, Tavern Brawls (an example is below), and new gameplay using the source. Check out an example below. My model is to improve on the Minecraft modding experience.

Tavern Brawl Example "Curvestone", implemented as a custom deck:

Decklist:

### Curvestone
# Class: Violet
# Format: Standard
# Year of the Mammoth
#
# 10x (0) Minion on Curve
# 10x (0) Spell on Curve
# 10x (0) Two Cards on Curve

Two Cards on Curve:

{
  "name": "Two Cards on Curve",
  "baseManaCost": 0,
  "type": "SPELL",
  "heroClass": "ANY",
  "rarity": "RARE",
  "description": "Discover two cards whose total cost is on curve.",
  "targetSelection": "NONE",
  "spell": {
    "class": "MetaSpell",
    "value": {
      "class": "RandomValueProvider",
      "min": 0,
      "max": {
        "class": "PlayerAttributeValueProvider",
        "playerAttribute": "MAX_MANA"
      }
    },
    "spells": [
      {
        "class": "DiscoverFilteredCardSpell",
        "spell": {
          "class": "ReceiveCardSpell",
          "targetPlayer": "SELF"
        },
        "cardFilter": {
          "class": "CardFilter",
          "manaCost": {
            "class": "GameValueProvider",
            "gameValue": "SPELL_VALUE"
          }
        }
      },
      {
        "class": "DiscoverFilteredCardSpell",
        "spell": {
          "class": "ReceiveCardSpell",
          "targetPlayer": "SELF"
        },
        "cardFilter": {
          "class": "CardFilter",
          "manaCost": {
            "class": "AlgebraicValueProvider",
            "value1": {
              "class": "PlayerAttributeValueProvider",
              "playerAttribute": "MAX_MANA"
            },
            "value2": {
              "class": "GameValueProvider",
              "gameValue": "SPELL_VALUE"
            },
            "operation": "SUBTRACT"
          }
        }
      }
    ]
  },
  "collectible": false,
  "set": "SPELLSOURCE",
  "fileFormatVersion": 1
}

"Necromancer" example Decklist:

### Necromancer
# Class: Violet
# Hero: Necromancer
# Format: Wild
#
# 1x (1) Tracking
# 1x (2) Bear Trap
# 1x (2) Explosive Trap
# 1x (2) Freezing Trap
# 1x (2) King's Elekk
# 1x (2) Mad Scientist
# 1x (3) Animal Companion
# 1x (3) Eaglehorn Bow
# 1x (3) Stitched Tracker
# 3x (5) Naga Sea Witch
# 2x (10) Sea Giant
# 1x (12) Clockwork Giant
# 1x (25) Molten Giant
# 1x (1) Bloodsail Corsair
# 1x (1) Fire Fly
# 1x (1) Flame Imp
# 1x (1) Malchezaar's Imp
# 1x (1) Patches the Pirate
# 1x (1) Soulfire
# 1x (1) Voidwalker
# 1x (3) Darkshire Councilman
# 1x (3) Southsea Captain
# 2x (4) Saronite Chain Gang
# 1x (4) Voidcaller
# 1x (5) Doomguard
# 1x (9) Mal'Ganis
#
AAEBAR8ChwSG0wIOlwjRFPixAskEyxT3DbUDxLQC/gzTzQLeFtMBuRHcCgA=
#
# To use this deck, copy it to your clipboard and create a new deck in Hearthstone
{
  "name": "Necromancer",
  "heroPower": "hero_power_life_tap",
  "baseManaCost": 0,
  "type": "HERO",
  "heroClass": "VIOLET",
  "rarity": "FREE",
  "description": "Add 'Deathrattle: Summon a minion that costs (1) less' to the first minion you play each turn.",
  "triggers": [
    {
      "eventTrigger": {
        "class": "TurnStartTrigger",
        "targetPlayer": "SELF"
      },
      "spell": {
        "class": "RemoveAttributeSpell",
        "target": "FRIENDLY_HERO",
        "attribute": "SHADOWFORM"
      }
    },
    {
      "eventTrigger": {
        "class": "AfterMinionPlayedTrigger",
        "fireCondition": {
          "class": "AttributeCondition",
          "target": "FRIENDLY_HERO",
          "attribute": "SHADOWFORM",
          "invert": true,
          "operation": "HAS"
        },
        "targetPlayer": "SELF"
      },
      "spell": {
        "class": "MetaSpell",
        "spells": [
          {
            "class": "AddAttributeSpell",
            "target": "SELF",
            "attribute": "SHADOWFORM"
          },
          {
            "class": "AddDeathrattleSpell",
            "target": "EVENT_TARGET",
            "spell": {
              "class": "SummonRandomMinionFilteredSpell",
              "cardFilter": {
                "class": "CardFilter",
                "target": "SELF",
                "value": {
                  "class": "AttributeValueProvider",
                  "attribute": "BASE_MANA_COST",
                  "offset": -1
                },
                "attribute": "BASE_MANA_COST",
                "boardPositionRelative": "RIGHT",
                "cardType": "MINION",
                "operation": "EQUAL"
              }
            }
          }
        ]
      }
    }
  ],
  "attributes": {
    "HP": 30,
    "MAX_HP": 30
  },
  "collectible": false,
  "set": "SPELLSOURCE",
  "fileFormatVersion": 1
}

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

@doctorpangloss
I plan on using custom artwork for all cards, what is the file structure and how are card art set?

from metastone.

Charuru avatar Charuru commented on June 7, 2024

As a developer of dulst, can you guys provide some feedback please on what your issues are with it? We've been working on making a really great and extensible platform. As it exists it's much more powerful than this project.

@Boso101 @SerDaniel

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Well, the only problem I have with Dulst is the fact it’s not open source. It functions fine, it’s just that metastone is more friendly and easier.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

Replying to @Boso101:

I plan on using custom artwork for all cards, what is the file structure and how are card art set?

Currently the art is specified in the Unity based client. It's not the sort of thing where you specify a filename in the card JSON. Here's what creating a card asset looks like:

Put the illustration into this file structure:

screenshot 2017-11-28 18 46 59

Create a card asset that corresponds to a specific card:

screenshot 2017-11-28 18 41 00

You can specify custom sounds, frames, layouts, selections, etc., like you would in the Unity editor. My particular engine supports multiple layers of illustrations and the Hearthstone-like animated shader.

I would note that I have a separate approach to illustrating cards, particularly custom community ones. There's a universe to build cards in that will have associated illustrations, much like WoW, that will be licensed for this project's peculiar distribution. But as I approach the source code release, it'll be clear how to tinker with everything.

Dulst is a great project and I'd encourage you to take a look.

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

@Charuru
I think people that want to play a custom deck are searching something more faster and friendly that an online site, if u build one funny fast deck (maybe 10 hours of photoshop..) and u want to play with one friend you have to tell him "go on dulst.. sign in.. ..search my mod.." is already too much for 2 guys that just want to try if it's funny run a custom deck.. also the main metastone problem is that actually it's loved only by programmers cause normal people want the graphic,sounds, etc.. and now we see doctorpangloss maybe can do what normal people want,personally what I want is just a standalone software, no install, no launcher,multiplayer just optional,but doctorpangloss mod looks nice anyway,sorry for my english if I made mistakes.

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

Almost there... Client is cleaned up. Even Yogg works!

@Test
	public void testYoggSaronHopesEnd() {
		// Test that yogg casts the expected number of spells.
		runGym((context, player, opponent) -> {
			final int expectedSpells = 3;
			final Map<SpellArg, Object> build = SpellDesc.build(YoggTestSpell1.class);
			build.put(SpellArg.TARGET, EVENT_TARGET);
			final Enchantment testEnchantment = new Enchantment(
					new CardRevealedTrigger(EventTriggerDesc.createEmpty(CardRevealedTrigger.class)),
					new SpellDesc(build));
			testEnchantment.setHost(player);
			testEnchantment.setOwner(player.getId());
			context.addTrigger(testEnchantment);
			for (int i = 0; i < expectedSpells; i++) {
				playCard(context, player, "spell_innervate");
			}
			// Modify yogg to only cast the coin
			MinionCard yoggCard = (MinionCard) CardCatalogue.getCardById("minion_yogg_saron_hopes_end");
			final BattlecryDesc battlecry = ((MinionCardDesc) yoggCard.getDesc()).battlecry;
			final SpellDesc originalSpell = battlecry.spell;
			Map<SourceArg, Object> cardSourceArgs = SourceDesc.build(CardSource.class);
			cardSourceArgs.put(SourceArg.TARGET_PLAYER, TargetPlayer.SELF);
			battlecry.spell = originalSpell.addArg(SpellArg.CARD_SOURCE, new CardSource(new SourceDesc(cardSourceArgs)) {
				@Override
				protected CardList match(GameContext context, Player player) {
					return new CardArrayList().addCard(CardCatalogue.getCardById("spell_the_coin"));
				}
			});
			playMinionCard(context, player, "minion_yogg_saron_hopes_end");
			Assert.assertEquals(YoggTestSpell1.counter.getCount(), 0, "The number of spells left to cast should be zero.");
			battlecry.spell = originalSpell;
		});

		// Test that if yogg destroys itself, the spell casting ends.
		runGym((context, player, opponent) -> {
			final int expectedSpells = 3;
			GameLogic spyLogic = Mockito.spy(context.getLogic());
			context.setLogic(spyLogic);
			Mockito.when(spyLogic.getRandom(Mockito.anyList()))
					.thenAnswer(invocation -> {
						List<Entity> targets = invocation.getArgument(0);
						Assert.assertTrue(targets.stream().anyMatch(e -> e.getSourceCard().getCardId().equals("minion_yogg_saron_hopes_end")));
						return targets.stream().filter(e -> e.getSourceCard().getCardId().equals("minion_yogg_saron_hopes_end")).findFirst().orElseThrow(AssertionError::new);
					});

			final Map<SpellArg, Object> build = SpellDesc.build(YoggTestSpell2.class);
			build.put(SpellArg.TARGET, EVENT_TARGET);
			final Enchantment testEnchantment = new Enchantment(
					new CardRevealedTrigger(EventTriggerDesc.createEmpty(CardRevealedTrigger.class)),
					new SpellDesc(build));
			testEnchantment.setHost(player);
			testEnchantment.setOwner(player.getId());
			context.addTrigger(testEnchantment);
			for (int i = 0; i < expectedSpells; i++) {
				playCard(context, player, "spell_innervate");
			}
			// Modify yogg to only cast the coin
			MinionCard yoggCard = (MinionCard) CardCatalogue.getCardById("minion_yogg_saron_hopes_end");
			final BattlecryDesc battlecry = ((MinionCardDesc) yoggCard.getDesc()).battlecry;
			final SpellDesc originalSpell = battlecry.spell;
			Map<SourceArg, Object> cardSourceArgs = SourceDesc.build(CardSource.class);
			cardSourceArgs.put(SourceArg.TARGET_PLAYER, TargetPlayer.SELF);
			battlecry.spell = originalSpell.addArg(SpellArg.CARD_SOURCE, new CardSource(new SourceDesc(cardSourceArgs)) {
				@Override
				protected CardList match(GameContext context, Player player) {
					return new CardArrayList().addCard(CardCatalogue.getCardById("spell_fireball"));
				}
			});
			playCard(context, player, "minion_yogg_saron_hopes_end");
			Assert.assertEquals(YoggTestSpell2.counter.getCount(), 2, "Since yogg fireballed itself, we expect two spells left uncasted.");
			battlecry.spell = originalSpell;
		});
	}

from metastone.

TarCreeper avatar TarCreeper commented on June 7, 2024

When can we expect a new version?

Congratulations for the hard work.

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Congratulations, cant wait for the release :)

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

@doctorpangloss what is the process for creating cards? is it the same as Metastone, or is there a card creator of somesort within the unity project?

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

@Boso101 @TarCreeper @SerDaniel @y0urmom

You can now access the full repository for the server, including all the network code, at

https://github.com/hiddenswitch/Spellsource-Server

I'm reorganizing the Unity asset store assets out of the client so that that can be open-sourced too.

Please help out with the Kobold's expansion! 100% of the cards up to that point are implemented.

from metastone.

Boso101 avatar Boso101 commented on June 7, 2024

Beautiful work! will have a mess around with it now!

from metastone.

TarCreeper avatar TarCreeper commented on June 7, 2024

Fantastic!
Thanks!

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

from metastone.

unobserver-effect avatar unobserver-effect commented on June 7, 2024

I am really not sure if this is the correct place to post this in but whatever.
The new metastone, although very good, is kind of obscure and difficult for the average Hs player to find. So to survive, the project would perhaps need some form of advertisement or something like that. I could very well be wrong, but I am sharing this random thought anyways, just in case.

from metastone.

unobserver-effect avatar unobserver-effect commented on June 7, 2024

And btw, how will updates work? With an updater or something of sorts or an entirely new download?

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

Yes, I suggested to introduce the doctorpangloss metastone version on youtube (if he want..lol) Fullas reached over 120k subs just for showing not playable cards..

from metastone.

doctorpangloss avatar doctorpangloss commented on June 7, 2024

@SerDaniel @y0urmom Now that 100% of Kobolds and Catacombs is done, I'm just fixing client bugs and improving the backend. It'll be in pretty good shape for wider sharing (especially with e.g. /r/CustomHearthstone) in about a week!

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

News? this was a good project but I still need something like:
-Standalone program,no install, no forced online
-Editable cards,sounds,board in directories(not with unity)
-And obviously a decent AI

Someone did a project like this?

from metastone.

mayuso avatar mayuso commented on June 7, 2024

@SerDaniel Metastone hasn't been mantained for over a year now.

@doctorpangloss Created a new project based on the work previously done on this repository. I haven't been following it too much (I've been doing other projects and out of the Hearthstone scene for a long time already), but seems to be alive and going strong. Take a look here:

https://github.com/hiddenswitch/Spellsource-Server

from metastone.

webadict avatar webadict commented on June 7, 2024

@mayuso I am working on updating MetaStone to use current Hearthstone cards, but I need to update the Enchantment system. This is taking longer because I'm in school and lazy, but there will eventually be an updated version available that fixes many bugs and adds several new features.

However, @SerDaniel, there will never be any sounds or boards added to MetaStone. That undermines the goal of the project, which is merely to replicate Hearthstone's rules in a sandbox environment. Cards are editable, but it's likely you are looking to use Hearthstone assets instead, which is not planning on being supported by the official MetaStone branch.

from metastone.

SerDaniel avatar SerDaniel commented on June 7, 2024

@webadict Yes, I know that metastone project does not include what I wish to find from an heartsotone's sandbox...sad.. I was talking about doctorpangloss mod/project that is a little different from metastone and finally with sounds and graphics but still not exactly what i'm looking for. After a year I was asking if maybe there are news about his project (is Spellsource? or Spellsource is an other project?)

from metastone.

webadict avatar webadict commented on June 7, 2024

@SerDaniel, SpellSource is a different project. You are better off asking on the project's issue board.

from metastone.

KGer80 avatar KGer80 commented on June 7, 2024

Hi, I have just checked the src and I really liked it, I could understand a lot of things.

What is the current status of this repo? Will it be continued?

from metastone.

Muhframos avatar Muhframos commented on June 7, 2024

Which repo? Spellsource's or Metastone's? Metastone i'm pretty sure won't get any updates anymore, but Spellsource is still getting worked on frequently

from metastone.

webadict avatar webadict commented on June 7, 2024

@KGer80: I'm afraid that Muhframos is correct. I am unlikely to give any future updates to the project, as I am pretty busy with work at the moment. I've also kinda moved away from Hearthstone, so when I do have time for projects, this one doesn't pibg the radar. While I am unable to acknowledge Spellsource as the true succesor to Metastone at this time, I do recommend users use it if they would like a working pseudo-sandbox of Hearthstone.

However, if you'd like to contribute to this project, I do keep up on it, and I would review an PRs that come in. I assume that demilich would want someone making real progress on this project.

from metastone.

demilich1 avatar demilich1 commented on June 7, 2024

I also moved away from Hearthstone and have no real interest of developing Metastone any further. And to be honest, I don't have any real hopes of someone picking up the code and bringing it up to date. There are like dozens of expansions (each including new mechanics) missing, so the effort would be huge.

Basically for me this repository is just there for archival purposes and it should not be considered in active development.

from metastone.

webadict avatar webadict commented on June 7, 2024

I don't have much hope, either. I suppose it was odd that I even bothered contributing, huh? Oh well, it was a good learning experience. It lead me to being the developer I am today.

Thanks for the lessons, demi! You might not have realized it, but you taught me a ton about programming. Hopefully everything is going well for you!

from metastone.

demilich1 avatar demilich1 commented on June 7, 2024

@webadict It is going well for me, thanks. And it was not odd when you contributed, it was very helpful and welcome! Thanks for doing a lot of great work.

For me it is totally fine that the project is not developed any further. I also learned a lot while doing it and had great fun doing so. This was not wasted time. And while Hearthstone is still going strong, my interests have shifted. That is the beauty of open source: If somebody finds the code useful and wants to do something with it: great. But if nobody is interested in doing that... also totally fine. Not every project needs to be maintained for eternity ;)

from metastone.

mayuso avatar mayuso commented on June 7, 2024

I don't have much hope, either. I suppose it was odd that I even bothered contributing, huh? Oh well, it was a good learning experience. It lead me to being the developer I am today.

Thanks for the lessons, demi! You might not have realized it, but you taught me a ton about programming. Hopefully everything is going well for you!

I was never as active as you two were, but I also learnt a lot from this project, so thank you both :)

That is the beauty of open source: If somebody finds the code useful and wants to do something with it: great

True, and this is already a reality, I don't follow Spellsource's development but according to the commit history, it seems based on Metastone.

from metastone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.