It is currently 16 Apr 2024, 12:51
   
Text Size

Thoughts from a Magarena player

Moderators: ubeefx, beholder, melvin, ShawnieBoy, Lodici, CCGHQ Admins

Thoughts from a Magarena player

Postby DirectOrder » 02 Jul 2017, 01:22

Hello! I am long time MTG and Magarena player. I want to start out by expressing my deep appreciation to the dev team for this amazing product. I've played many other digital versions of MTG (including Forge, DOTP, MTGO, XMage, etc) and I can say that Magarena is by far my favorite. The others definitely have features that I would like to see implemented in this product, but none of them do as many things right as Magarena. You have given me (and countless other players) a way to enjoy MTG that WOC can't ruin the way they seem to ruin every digital platform they touch. Thank you for giving of your time and talent. I know you do it because you love it, but for each one of you, there are thousands of others that love MTG just as much, and they would not have this wonderful game without your efforts.

Now that I'm done gushing, the rest of my post will be my thoughts on ways Magarena might be improved. I'm writing all of this because I love the game so much, not because I think I have any right to criticize - so please don't take any offense. If there was never another version of Magarena ever released, I would already be more indebted to you than I could explain.


On to my thoughts concerning Magarena:


- Skip to next turn doesn't seem to work. I've given up on using it as every time I do, I still get prompted to pass priority one or more times before the next turn. In Forge, when you skip to next turn, it skips to next turn, period (for good or bad). Not sure if this can be changed, but if not, it's not a big deal. I've gotten used to not using it...to my benefit as a player I'm sure :)

-----------------------------------------------------------------

- The "Restart game" option in the in-match escape menu doesn't seem to do anything during the first two turns.

-----------------------------------------------------------------

- A keyboard shortcut to attack with all available creatures would be great!

-----------------------------------------------------------------

- One of my favorite features of Magarena (that many other similar programs forego) is that it highlights which cards in your hand you have enough mana to play! Seriously, it may seem simple, but thank you for this!!!! I can't stand the "overlay" feature however (covering up and obscuring the cards you can play? if anything it should obscure the ones you *can't* play), and so I play with "border" which is exactly what I want. However, the border is very thin, and I often have trouble telling which cards are highlighted even when using a highlight color that contrasts well with the background. I don't know how thick the border is (maybe 3-5 pixels?) but I would love to see that increased somewhat. 25% thicker? 50% thicker? I wouldn't mind 100%, but whatever you guys think is reasonable. Absolutely not a high priority, but it would be appreciated if you ever find the time, as it is one of the "w o w" features this game provides (to me, anyway) and a few more pixels would make all the difference.

-----------------------------------------------------------------

- Auto tapping of lands feels very awkward because it stops if there is any choice to be made whatsoever. For instance, if I have 3 lands in play, a Plains, a Forest, and a dual land (Plains/Forest), and I cast a {W} creature, it won't auto-tap. Why? There's a choice to be made between tapping the Plains or the dual land. In this example, there are *VERY* few situations where you would want to tap the dual land instead of the Plains. The game should auto-tap the basic lands first to pay costs, and if there are costs still left to pay, then tap the duals.

Other examples:

Ex 2: In play I have a Plains, Forest, and a dual land (Plains/Forest). I play a {W}{1}. It will not tap at all because there is a choice between the Plains and the dual land to pay the {W}, and then a choice between the two that are left to pay the {1}. Again, the best play is to tap the Plains and Forest, keeping the dual land untapped for flexibility in casting a {W} or {G} later that turn. The game should auto-tap the basic lands first to pay costs, and if there are costs still left to pay, then tap the duals.

Ex 3: In play I have Plains, Forest, and a dual land (Plains/Forest). I play a {W}{G}{1}. It will not auto-tap any lands. There is only one option to pay the mana cost of the spell, and that is to tap all three of my lands. I know there are those one-in-a-thousand situations where the order in which you tap them matters, but we are left manually tapping thousands of times when there is no real need to. The game should auto-tap the basic lands first to pay costs, and if there are costs still left to pay, then tap the duals.

Ex 4: In play I have 5 Plains. I play a {2}. It will not auto-tap any lands.

I would like to suggest that the auto-tapping should be a bit more aggressive and tap everything it needs to pay a cost. I think it would be best for it to follow this priority: Basic Lands > Dual Lands > Tri Lands > 4+ Lands/Colorless > Enchanted Lands or Lands w/ abilities > Creatures. I assume this is how the computer prioritizes taping its lands during its turn. This would NOT be perfect, and would sometimes make mistakes. But this could be solved by allowing the player to hold down the Ctrl key when playing a card to prevent auto-tapping. At the very least, I would love to the game always fully auto-tap for me if I have enough Basic lands to pay the cost, and if you are so inclined, the Basic Lands > Dual Lands piece if you don't want to implement all the way through the prioritization tiers.

In addition, I've noticed when tapping manually, the program prevents some valid lands from being tapped. For instance, if I have 3 plains and 3 forests in play, and I cast a {W}{G}{1} spell, it will highlight one of my plains and one of my forests (showing they are valid choices) but not highlight the others, and will prevent me from tapping them. It's not a huge deal, but it does get kind of annoying when casting large spells having to click on the lands in the order that the program thinks you should, and clicking furiously to tap a forest only to realize that the program doesn't want you tapping *that* forest just yet lol

In Forge, every time you play a card, you are given a choice: auto-tap or manual tap. And if you chose auto-tap, it auto-taps everything needed to pay the cost. Period. Same in DOTP. Again, Magarena does so many more things right, but this is one of my favorite things about Forge and DOTP. In contrast, Magarena's auto land tapping feels half implemented with it rarely tapping all of the lands needed to cast the spell and leaving me to figure out which order it wants me finish up tapping the rest of my lands. I would love to be able to hold the Ctrl key when playing a card to choose manual tapping, or play the card without holding Ctrl to have the game fully auto-tap whatever it needs to play the card. And then maybe an option toggle for the people who want it the other way around (hold Ctrl to auto-tap.)

-----------------------------------------------------------------

- You'll probably hate me for this (and feel free to call me a DOTP scrub), but I would love to see creatures with flying float up and down like they do in DOTP. Yes, I know you already have the flying icon overlaid on the card (and I don't want to get rid of it!), but the floating effect just looks so cool, and much more importantly, it instantly conveys one of the most ubiquitous and critical evergreen keywords in an instant without having to look for the tiny icon - please don't hate me!!!! And don't worry about making anything attached to the card (enchantments, etc) float too. That's too much work - just leave them lying flat on the battlefield under the flyer :) <3

-----------------------------------------------------------------

- I would love to see implementation for multiple card art per basic land. The way card art is handled in Magarena is brilliant (all in one folder, high res, etc), and I was able to pick my favorite card art for each land type and replace the ones that downloaded. I see that the lands are named as such: Plains.jpg, Swamp.jpg, etc. I would like to see support for adding a letter to the end of each basic land type in the name. For instance, I could have Plains.jpg, PlainsA.jpg, PlainsB.jpg, PlainsC.jpg, and the game would see that I have the main image plus A-C alternate images, and randomly use one of the four each time a Plains is played. It wouldn't need to download these for the user, but just support the functionality.

-----------------------------------------------------------------

- I'd like more sound effects for things, for instance when tapping permanents, when tokens enter the battlefield, direct damage is done, etc. Also one of the things I find a bit charming in Forge is that there is a specific sound effect when each type of basic land is played. For example, when a swamp is played, you hear a bubbling/churning sound effect with insects, and when an island is played, you hear waves and seagulls.

-----------------------------------------------------------------

- Bonehead moves by the AI - should these be solved with groovy code or in the evaluation function?

Examples:

Ex 1: The AI has Puppeteer (Tap & {U}: Tap or untap target creature.) in play, pays the {U} and taps Puppeteer, and then uses the ability to untap Puppeteer, all while I have very dangerous creatures in play that I'm about to attack with. Incidentally, the AI had nine Islands in play and did this 9 times during my turn (he did so each time he had priority). Shouldn't the evaluation function see that the end board state is exactly the same only with one less available mana for him each time he does this? Sure, you could solve this with groovy code for that card, but wouldn't it be better if the eval function saw this was bad and prevented it, along with you from having to add groovy code for hundreds of cards?

Ex 2: The AI has Bloodthrone Vampire (Sacrifice a creature: Bloodthrone vampire gets +2/+2 until end of turn.) in play, and, and whenever it chooses to use this ability, it always chooses itself as the creature to sacrifice! Shouldn't the evaluation function see that the loss of the creature is worse than the benefit of the +2/+2, especially when the creature will not even be around to get the benefit? Again, you could solve this with groovy code, but I think the eval function needs to see that it is spending any resources and gets nothing in return.

I've coded extremely simple AIs in the past (chess) but I'm definitely no expert (or even competent), especially when it comes to exponentially more complicated rule sets like this game has, so I really have no idea what I'm talking about here, but maybe the eval function needs....something? Perhaps beefing up the eval function just requires too much time and effort and groovy code is the way to go? If so, that is completely understandable, just wanted to point it out.

-----------------------------------------------------------------

- I'd like to help. I have very little experience with Java, but I do program in several other languages, and I'm a fast learner. I downloaded the source code and got a bit lost though. I found some instructions on the wiki about how to clone and install the IDE (Eclipse iirc?), and then found what seemed to be completely different instructions on the forums...and both seemed to be years old. Have you ever considered putting together a video tutorial on how to get started contributing code edits? I know that's a lot to ask, but I'd love to try to contribute if I could figure out how to get started, and there might be other out there in the same boat. :)

Are there any other way I can help? For instance, if you *are* at all interested in adding additional sounds effects, I'd be happy to submit some that I think would fit well. I would of course get them for copyright free sources like freesound . org or make them myself.

Also, is there a way to donate to this project?

-----------------------------------------------------------------


Once again, thank you for everything.

-DirectOrder
DirectOrder
 
Posts: 23
Joined: 27 Jun 2017, 22:56
Has thanked: 8 times
Been thanked: 5 times

Re: Thoughts from a Magarena player

Postby ShawnieBoy » 02 Jul 2017, 14:12

A massive thank you - It means so much, it really does. We're just a small trio, doing the best we can, with @Melvin keeping this project alive.

I'll try and answer your queries or at least try to explain why some thing are currently how they are:

Skip Turn
The thought behind the skip turn pausing at the end of turn, it that it is the last point a player can perfrom an action (generally in regards to the AI's turn). It was thought that instead of having to skip each individual turn, being able to skip to the end (If there is a possible action to perform) would be useful. This can easily be removed.
Perhaps it can be better telegraphed to the player; a skip to end of turn, and a harder pass turn.

Restart Game
I think the reason it doesn't do anything in the first two turns is that you can more easily undo to the beginning of the game. Restarting a game isn't the same as starting a new game.

Attack with All
Issue #6 Should give this another look. :)

Highlight Border
@Lodici is our UI man - I'd think it can't be too difficult to do.

Auto-Tapping
As there's little player control with the tapping of lands, we've tried to implement it in a way that you will not end up screwing yourself over.
There are a couple of things going on behind the scenes - Land Uniqueness, Pseudo-Sickness.
Land Uniquenes takes into account any auras, or additional abilities gained by mana sources. A Forest with any aura on it is different to a Forest without. This is due to there being a possibility that there is another implication in tapping that land.
Pseudo Sickness is primarily for animating lands - Lands that have come into play this turn will not be able to attack if they then become a creature. This will be why a land that you have just played will be highlighted to tap, even if it's the same as a land already in play. Without this, it was very difficult to animate land without summoning sickness as the older lands had priority in tapping for mana.
In your examples it would very much depend on whether a land had been played that turn. As that land would be highlighted separately from the others.
It's a tricky area - we always try and cover every possibility. However the situation where you have to tap out completely should be more agressive in tapping your lands for you. Something worth looking into.

Flying
@Lodici's been working magic with card animation - :)

Multiple card art
We did have multiple art for basic lands - I'm sure the code must be in there somewhere still - With the implementing of crops and Multi-Language images, this was a bit tricky to combine with. If it was a user-side option with image-name edits, it could still be a possibility.

Sound Effects
More audio fun for @Lodici - I'm thankful that the poison sound effect wasn't cackling witches, that was nightmare-fuel.

AI
@Melvin is the AI guy - Generally the stance with the AI is to not code card-specific AI behaviour. It does what it does (It's all beyond me) and can create some awesome plays. Unfortunately sometimes it will do something rather strange - Constantly moving 0-cost equipment springs to mind. This is usually when it sees itself as winning or losing in all simulations. I see it as either delaying, posing, or having a tantrum. (I'm all about anthropomorphising).
I agree that these plays stand out so much as they're so counter-intuitive.

Helping Out
Please do!
One of the drawbacks I find with our natural language parsing of cards is that we have fewer groovy files to aid in teaching - and fewer simple cards to show as examples. Starting with groovy is the best way to start, as it is very close (sometimes identical) to the engine code. I have tried putting together tutorials but don't always know where to start!
Look though our git http://magarena.github.io/ See what edits have been made recently in regards to added cards and groovy, or engine modificiations. Making your own cards is a good way to start (I'm talking custom cards here). It's all actions, events and triggers.
MagicAbility shows what's being added to the card
Code: Select all
card.add(
to perform that ability.
I'm always happy to teach or guide through card submissions - There's a real basic start in the WikiOpen a new Issue for any sound sample submissions :)

Thank you again
User avatar
ShawnieBoy
Programmer
 
Posts: 601
Joined: 02 Apr 2012, 22:42
Location: UK
Has thanked: 80 times
Been thanked: 50 times

Re: Thoughts from a Magarena player

Postby Lodici » 03 Jul 2017, 11:40

Skip Turn
...Perhaps it can be better telegraphed to the player; a skip to end of turn, and a harder pass turn.
Yeah, I would like to be able to unconditionally pass my turn sometimes. Raised issue #1158.

Highlight Border
@Lodici is our UI man - I'd think it can't be too difficult to do.
Raised issue #1157.

Flying
@Lodici's been working magic with card animation - :)
I don't think this is really doable using Swing since since it requires the animation to be always running while a flying card is on the battlefield. And potentially you could have a lot of flying cards on the battlefield.

Multiple card art
We did have multiple art for basic lands - I'm sure the code must be in there somewhere still - With the implementing of crops and Multi-Language images, this was a bit tricky to combine with. If it was a user-side option with image-name edits, it could still be a possibility.
See issue #1038.

Sound Effects
More audio fun for @Lodici - I'm thankful that the poison sound effect wasn't cackling witches, that was nightmare-fuel.
Definitely scope for more sound effects. Ideally these could be linked to a theme.

Helping Out
Please do!
Take a look at the Magarena wiki. I recently added a new page that describes how to setup a development environment using Netbeans. That is half the battle in my experience!
User avatar
Lodici
Programmer
 
Posts: 399
Joined: 13 Oct 2013, 09:44
Has thanked: 29 times
Been thanked: 71 times

Re: Thoughts from a Magarena player

Postby DirectOrder » 07 Jul 2017, 01:44

Thank you so much for taking the time to read and type up a detailed response!
DirectOrder
 
Posts: 23
Joined: 27 Jun 2017, 22:56
Has thanked: 8 times
Been thanked: 5 times

Re: Thoughts from a Magarena player

Postby Huggybaby » 07 Jul 2017, 18:23

Am I wrong in remembering that the thickness and color of card borders is specified by the theme? I also remember setting the opacity and color of the overlay when using that mode.
User avatar
Huggybaby
Administrator
 
Posts: 3205
Joined: 15 Jan 2006, 19:44
Location: Finally out of Atlanta
Has thanked: 696 times
Been thanked: 594 times


Return to Magarena

Who is online

Users browsing this forum: No registered users and 21 guests


Who is online

In total there are 21 users online :: 0 registered, 0 hidden and 21 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 21 guests

Login Form