Page 1 of 1

[Release] Multiverse (not to be confused with Multiverse)

PostPosted: 18 Nov 2013, 06:46
by ShardFenix
Hi everybody. I'm excited to be announcing and releasing a project I've been putting together for nearly a year. It's a Magic rules engine and game engine written in Java and using the jMonkeyEngine libraries for 3D rendering. I wrote it because Forge, while effective and mostly accurate to MtG's rules, doesn't look visually pleasing, and its scripting language looks ugly and unmanageable to new users. I wrote this with a 3D "Duels of the Planeswalkers" look in mind, and designed the most user friendly and intuitive scripting engine I could.

It's called Multiverse. I've reached a good release point for the engine where most cards in Magic's history can be made using the scripting engine. So far, I've made close to 800 cards - everything from vanilla creatures to lands to Slivers to Experiment Kraj and even Divine Deflection (which works 99% of the time). There's a very wide variety of cards for scripters to look at and learn from (and make decks with, of course).

The program has its own documentation wiki, which can be found here. I've tried to keep it as current as possible. I'm also making a video tutorial series for those who learn more visually by following examples.

Now, let's talk about the real reason you clicked on this thread The program's actual features!

Multiverse has a buggy (but stable) launcher from which most of the program's other functions are accessed. The launcher downloads engine updates automatically, so users only have to download the assets base once. All card info is loaded from the server you connect to, and card art is loaded on-the-fly from gatherer. This program supports online multiplayer, although currently I've limited it to only allow you to play on local area networks (for legal reasons). The deck editor is still being developed. Currently all it does is search for cards. You can edit decks manually using your favorite text editor (the file format is pretty straightforward).

The rules engine for Multiverse supports pretty much everything except for attacking and blocking requirements (like "lure" and "attacks each turn if able" effects. Attacking and blocking restrictions work fully). It's also missing some "unique" effects that only one or two cards do (like Mindslaver or Goblin Game). You can read all about what's not supported on the For Players page of the wiki.

Multiverse has its own Draft Server, which allows players to play drafts (duh). Unlike traditional drafts, though, the game automatically builds your deck using a cool algorithm, so as soon as everybody picks the last card from the last pack, your deck gets made and you start playing right away. You can even customize the draft server (by "you" i mean "me" at least until I update it) by changing how many picks each pack has, the number of packs each player opens, and the number of picks until a pack is thrown away. At the most extreme, you can do a draft Hearthstone style, where each pack only gets to one player, then gets thrown away. I lacked the presence of mind to put a launcher for the draft server in the release, but I will have instructions for how to do it on the wiki soon.

This program has come a long way, but there is a lot more to do. I've already wirtten a bunch of code that will support "collections" (which is similar to Quest Mode in Forge). Throughout the coming year, I will be adding to the program when I have time. For the moment, I'm going to keep it closed-source, but I'm not closed to the possibility of releasing the source code in the future.

You can download the assets base by clicking here. You need to run the launcher before anything else so it downloads the client. I would also recommend you read the For Players page of the wiki. It has some pretty important notices.

I was planning to upload a gameplay video of me and some of my friends playing Commander on it, but the past few weeks have been chaotic for all of us, so I'll have to make it later. I'll edit this when that happens. You'll have to experience it first-hand until then.

I took a screenshot of the engine as it approached several milestones. I thought I'd share them with you just for fun:
Milestone Screenshots | Open
Image
ImageImage

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 18 Nov 2013, 15:56
by Aswan jaguar
I can only recommend to ask for a place here on Collectible Card Game Headquarters to advertise your project along with the other 7-8 projects if you intend to make it known.

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 19 Nov 2013, 17:52
by MageKing17
Wow. This sounds very impressi--

Multiverse Wiki wrote:Rules changes
  • Instant is no longer a card type, and Flash is no longer a keyword. Instead, cards will use the Instant supertype. Instant isn't a very lore-friendly card type, and Flash only took up space and confused players who thought it was somehow related to Flashback.
  • Planeswalkers are just legendary creatures now.
  • Triggered Abilities now trigger in the order their sources received their timestamp. You don't get to choose, and it's not based on whose turn it is. Also, triggered abilities from the battlefield will always trigger before abilities from other zones (so they resolve last).
  • Continuous Effects no longer use a dependency system. It's only layers and timestamps now.
  • This engine will use a legend rule similar to the World rule. When two or more legends with the same legend name are on the battlefield, the NEWEST one survives.
What the hell is going on here?

EDIT: "Protection is gone! It has been replaced by a less confusing keyword, Proof." Seriously? Did April Fools come four-and-a-half months early?

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 19 Nov 2013, 18:15
by woogerboy21
Is this program open-source or is the source publicly available? I'm curious about what your plans are for its longevity?

It visually looks great from the screenshots I can see.

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 20 Nov 2013, 09:00
by Marek14
Exactly my thought, MageKing17...

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 21 Nov 2013, 21:29
by ShardFenix
MageKing17 wrote:Wow. This sounds very impressi--

Multiverse Wiki wrote:Rules changes
  • Instant is no longer a card type, and Flash is no longer a keyword. Instead, cards will use the Instant supertype. Instant isn't a very lore-friendly card type, and Flash only took up space and confused players who thought it was somehow related to Flashback.
  • Planeswalkers are just legendary creatures now.
  • Triggered Abilities now trigger in the order their sources received their timestamp. You don't get to choose, and it's not based on whose turn it is. Also, triggered abilities from the battlefield will always trigger before abilities from other zones (so they resolve last).
  • Continuous Effects no longer use a dependency system. It's only layers and timestamps now.
  • This engine will use a legend rule similar to the World rule. When two or more legends with the same legend name are on the battlefield, the NEWEST one survives.
What the hell is going on here?

EDIT: "Protection is gone! It has been replaced by a less confusing keyword, Proof." Seriously? Did April Fools come four-and-a-half months early?
Actually, the engine supports protection, as it's just four separate abilities rolled under one umbrella keyword, but I didn't add "built-in" functionality for it. You have to write out each ability on its own, but it can be done.

One of the (many) reasons I wrote this was to teach friends without having them need to buy or borrow cards. I've taught lots of people how to play paper Magic, and the things I changed for this engine (especially protection) are by far the most confusing parts of the game. I can add support for planeswalkers pretty easily, if there's a demand. Planeswalkers have never fit into Magic for me (or Richard Garfield). Wizards has even admitted that the only reason they keep making them is because they make sets sell.

As for the source, I'm keeping it closed for now. I'm open to the idea of releasing it eventually.

Thanks for the feedback so far, especially MageKing. Please let me know anything you don't like or are wary of.

How would I request a section on SM for this project?

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 22 Nov 2013, 08:22
by Marek14
The thing is that if you use modified rules to teach people, it will be troublesome if they ever go to other venues. Most of the projects here at least tries to keep close to rules. While some of your changes (like triggered abilities and layers) are simplifications that wouldn't affect that much and would keep the existing decks mostly working, some simply look like changes for changes' sake. I'm aware that Mark Rosewater said he would implement Instants like you say if he did the game anew. And you are free to do it -- just don't call that game implementation of Magic. Magic has a history with all its little mistakes and screwups, and its implementations should acknowledge that.

As for planeswalkers, I don't think that Wizards said that sales are the ONLY reason for them. First of all, you can't have a thing sell a set without it being popular. Planeswalkers are popular - they are the faces of the game nowadays and, crucially, they are something that can appear throughout the blocks, traveling here and there, threading the story together into more cohesive whole.

It seems you have still not realized the basic fact: Your game is not a new game. It is an implementation of a game that already exists. You cannot pick and choose just the things you like and change other things freely -- if that was the case, you should really just create another game altogether.

At least to me, your approach seems very off-putting.

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 22 Nov 2013, 17:28
by Aswan jaguar
ShardFenix wrote:
How would I request a section on SM for this project?
Ask Huggybaby via pm for it.Unless he takes notice of this before you even request it. :lol:

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 22 Nov 2013, 18:32
by MageKing17
ShardFenix wrote:One of the (many) reasons I wrote this was to teach friends without having them need to buy or borrow cards.
The best way to teach someone how to play a game is not to change all of the rules.

If people find those parts consistently confusing, maybe there's a way to change your GUI to make them more intuitive, rather than eliminating the confusing parts of the rules altogether.

Also, I agree with everything Marek14 said, with one exception:

Marek14 wrote:While some of your changes (like triggered abilities and layers) are simplifications that wouldn't affect that much and would keep the existing decks mostly working, some simply look like changes for changes' sake.
I half-agree with this; your avoidance of dependency is pretty much exactly how Incantus works, although that's just as a side-effect of how its continuous effects work, rather than a conscious design decision (at least, I think it wasn't a conscious design decision on Incantus's part). However, removing the ability to choose how triggers go on the stack eliminates pretty much half of all combo decks right there. If I were you, I'd definitely reconsider that change.

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 22 Nov 2013, 18:53
by Marek14
I'd note that the question of how to best teach new players is a hard one and I don't think Wizards ever came with satisfactory solutions, though they tried various ones (like Portal sets or very simple Core Sets that lacked even trample).

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 23 Nov 2013, 20:11
by ShardFenix
Just a quick update to let you guys know where I'm going with this.
I intentionally made many of those changes to make the game flow more smoothly, so players wouldn't have to worry about the nitty gritty stuff (like ordering triggers), and they could just play. I took the Duels of the Planeswalkers approach, where some rules are sacrificed for usability and fun factor. However, since there's a demand for having a program that's more true to paper magic, I'm going to have different options that you can set up for your server to make it behave differently. For example, there will be an option to enable manual trigger ordering.

Most of the things I originally omitted are easy to support, so I see no problem in adding them. The only exception is with instants. There's actually only one card in Magic that receives a function change when instants don't exist (Tarmogoyf) - every other card can be reworded to work the same when it's a supertype, so I'm keeping it that way.

I'm going to add support for planeswalkers the next time I do an engine update, but my priorities right now are cleaning up the client/server interactions, what happens when a player wins/loses/leaves the game, and the menu (which are all currently incomplete).

Re: [Release] Multiverse (not to be confused with Multiverse

PostPosted: 23 Nov 2013, 21:01
by Marek14
It's not only Tarmogoyf, you know. There are cards that care about card types: Blood Oath, Counterlash, Fertile Imagination, Holistic Wisdom, Mirror Golem, Possibility Storm, Semblance Anvil, Skybreen and Vigean Intuition. I'm afraid you can't keep it as supertype.