Page 18 of 253

Re: Community Wad

PostPosted: 21 Mar 2015, 17:01
by MasterXploder7
Zambooo wrote:I coded Mirrorweave in the first time, what's exactly the problem with it?
I cast Mirrorweave with the hero card from Morridin block that made tokens and has battlecry, There wasnt a problem with the casting of the card, However tokens didnt take on the "copy" part of it, they stayed the same, they looked like normal tokens except they had emblems that were battle cry, and first strike i believe, When i attacked and the timer ran out which indicated "I didnt want to cast any instant cards or abilities on attacking creatures or use giant grow before i choose blockers" the game crashed, the second i initiated the confirm attackers with all the tokens and creatures.

As for batterskull i can test to see if other equipment causes problems with prowess. it has living weapon which is token related as well.

Re: Community Wad

PostPosted: 21 Mar 2015, 18:49
by MasterXploder7
Okay i understand what Xander said about tokens... I used Zombie Infestation for a deck and when i blocked with the token it crashed the game... Are there a lot of reports about this?

EDIT: What could cause a change of behavior in tokens? the cards in a wad? I remember reading you can make something stretch across multiple cards but if that is what is causing the problems with CW tokens that would be odd. Unless it is the influx of new cards that use that type of characteristic, making them affect all cards in some small ways, but then make themselves apparent when trying to play normally across the WAD..? For instance the characteristic for morph or prowess could be interfering with how they respond to equipment cards, or could affect cards like tokens since the game is trying to read code and since we have a custom characteristics thingy that could be the game being confused and mismatching one code for another, but then it would either activate both codes without a problem or just not activate anything.. I am unsure of what to suggest.

Re: Community Wad

PostPosted: 21 Mar 2015, 20:49
by Xander9009
Zambooo wrote:I coded Mirrorweave in the first time, what's exactly the problem with it?
MasterXploder7 wrote:i found mirrorweave in the formal request section, i didnt realize it until i saw the art and multiverse id that it was a CW card so i decided to come to you (i believe it was also your code)

the situation was: 4 1/1 spirit tokens, a blue vanilla creature and a white 'nilla creature, and finally Hero of Bladehold, i used mirrorweave on the hero of bladehold and something peculiar happened that i was unable to understand: the tokens didnt change into the card, they kept their art and everything except for their P/T it definitely changed. I attacked and when the first ability of battlecry or token creation (hero of blade hold puts 2 1/1 tokens attacking whenever it attacks and also has battlecry) the game crashed after the resolution bar was filled and resolved.

did this occur because the token wasnt able to be a copy of the card for some reason? I am running the 2015 conversion that changes the way that the cards look and if its a token has the little "M" magic symbol on it. NeoAnderson i believe made that. im just unsure if it was possibly the 2015 thing that did it.
And this is why we post things in the forum rather than PMs when it's not actually meant to be private :)

Re: Community Wad

PostPosted: 21 Mar 2015, 21:26
by Xander9009
For the tokens, when I was testing manifest, I was using a fresh game folder. Nothing in it except for the cards explicitly used in the test deck which included nothing token related EXCEPT my test card Favor of the Gods. When I used manual mana from it, the crashed. That would have been an event of tokens leaving the battlefield, so it still matches up with the other problems. It's not token registrations. (I've checked the test card multiple times. It has registrations for all five colors and colorless.) And I know it's not a problem in the functions (if it was, then the crash would have happened when making the tokens, not when using their mana ability). That leaves something in the engine not behaving properly with token leaving the battlefield.

However, sometimes, tokens NEVER cause problems. I used Flamewright in a deck and made over a hundred tokens from it, including a large number from copies of Flamewright. I exiled, destroyed, and bounced various numbers of them all at once or individually and never had a single issue with it.

In other instances, one token by itself can cause a problem. I often have trouble with manual mana tokens (not because they're more susceptible, but rather, I suspect, simply because I deal with them a LOT more often than I deal with any other particular type of token).

One thing i was wondering is if perhaps the token registrations are messed up in a way I'm not aware of. For instance, does the "registration" always need to be 1, or should it increment? Should it start at one and count up for each new registration? (One card did this, but I didn't think anything of it, I just changed them all to 1). If that's the problem, then the manual mana from my test card would make a lot of sense since they all use the same registration register and Flamewright would never have had an issue because there's only one token produced by that card. I don't think that's the problem, but it's a possibility. There are a couple other things that could potentially be the problem, but there are only so many things that could cause this kind of issue.

Anyway, I'll go look into this and see if I can find a reliable way to crash the game with tokens and then find a way to stop the crashing.

Re: Community Wad

PostPosted: 21 Mar 2015, 21:56
by Kithkin
Xander9009 wrote:Anyway, I'll go look into this and see if I can find a reliable way to crash the game with tokens and then find a way to stop the crashing.
A reliable way to crash the game is to use my 147007_MARDU_MIDRANGE deck. Crashes almost every time. #-o

Re: Community Wad

PostPosted: 21 Mar 2015, 22:45
by MasterXploder7
Using different registrations would then mean people cant use too many tokens, myself for instance, In 2013 i learned the limitations because i had found a way to trick the engine into letting me have 101 goblin tokens. If you make separate registrations then im 99% sure that each token will be separate from the other. In which case like a URW deck i made when i first started messing with modded cards last january taught me that you shouldnt try and make more than 100 tokens. I learned that having multiple different tokens after 100 can freeze the game on consoles and crash it on my computer, so if we change the registration of each token in increments wouldnt that then mean we could make 100+ tokens but always crash the game at 100+1 (because the game would crash as the ability resolved and created the 101st token)?

EDIT: could it be that there were multiple cards that created a token of the same registry in the deck, i did have one or two cards in the deck that produced zombies.But i think that would cause the game to crash when the zombie token creation was activated or wouldnt do anything at all.

UPDATE: game only crashes when tokens die... the AI was very unwillingly to let my token die ironically... like countered my own kill spells unwilling..

Re: Community Wad

PostPosted: 22 Mar 2015, 00:09
by RiiakShiNal
Tokens have a variety of problems in the game:
  • If the TOKEN_REGISTRATION is missing or incorrect then typically the game will crash when trying to delete the token. For example a token changes zones and leaves the battlefield it then ceases to exist and is deleted.
  • If there are too many tokens in play at any given time the game will crash. The exact number that is "too many" is not known, but is above 100, could even be a number of tokens per player. This could be a memory overflow issue and may or may not cause a crash immediately.
  • Trying to use protected pointers to tokens that have ceased to exist will crash the game. So never, ever protect a pointer to a token.
  • Certain types of tokens can't use the TOKEN tag or they will crash the game (mana tokens for instance can't have the TOKEN tag because they are typeless). Usually not a problem for creature tokens.

There might be other token problems that either I don't know about or can't currently remember.

Re: Community Wad

PostPosted: 22 Mar 2015, 01:29
by Xander9009
Just added a new ability to my test card. Now, mana is handled in a single ability (it was previously split up into 2 abilities: give one mana and give 5 mana). Now, it gives up to 50 mana of the chosen color (or up to 50 of each). It also handles creating tokens, anything from 1/1's up to 5/5's and a 9/9 golem (one of each color and the colorless golem). This let me easily test the token limit: 250. It's a hard limit with the game simply not creating any more tokens if there are a total of 250 tokens on the battlefield. It doesn't matter who controls them or who created them. The game never crashed due to the creation of tokens. However, this limit seems to be of the nature that it checks during state based actions and disables token creation if the limit is reached. I say this because I was able to have 300 tokens by creating 50 of all 6 kinds in the same resolution time action. (I even managed to destroy 1 without crashing the game. Destroying 5 right after that, however, sent me back to the desktop.)

EDIT: So, I've figured out at the very least how the game decides how many tokens you can have. The limit is in fact 250, and the workaround for that limit still has a limit. It works like this: The game counts how many tokens exist. That is number of tokens of a given kind the game will allow to be created before it checks the number again. This means that with 6 kinds of tokens, if I have 40 out, then I have 240. So, because 250-240=10, it will let me create 10 of any kind of token in a given resolution time action. However, since I have 6 different kinds of tokens, I can creature 10 of each kind at once leaving me with 300.

If I can create 50 at a time (the numerical choice limit I set on my test card), then the most tokens I can possibly have if I have 6 kinds of tokens is 500. Starting with 33 of four of the kinds and 34 of the other two kinds of tokens gives me exactly 200 tokens. This means the game will let me create exactly 50 (250-200=50) of each token with so long as it's done within a single RTA. If I have more kinds of tokens or I could create more than 50 at a time, then I could get many more tokens.

However, under no circumstances will the game allow there to be more than 100 tokens of a given type at a time. So there's no crashing due the having more than 100 of a kind of token (the game just doesn't create it). I experienced NO crashes during these tests while creating tokens. The ONLY crashes I experienced (two total) happened immediately after destroying all or some tokens. I noticed it might be related to doing stuff too quickly after the tokens are destroyed. I'll try and look into this some more.

Also, the absolute most tokens you could have, then, is pretty much unlimited. You can make 100 of however many kinds of tokens you can reference, theoretically. I set the limit to 100 at a time instead of 50, and it worked as expected. I ended up with 600 tokens, 100 of each kind. So, if you could make 10 different kinds of tokens and you could make 100 of each all within a single RTA, you could have 1000 tokens. This doesn't mean the game can handle it, but it will allow them to be created.

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

Anyway, unrelated to how MANY tokens we can have is why they're crashing. I'm still not certain on that, but as I said, it might be somehow related to how quickly things are done after the tokens are destroyed.

If I try to play three cards in very quick succession with an abundance of manual mana tokens, I crash almost definitely (they cost 6 apiece). If I play them slowly, giving the game plenty of time in between each play, then I don't crash. However, activating an ability with that mana is less reliable to crash or not crash.

Unfortunately, the crashing isn't very reliable anyway, meaning the delays between playing may only seem to be helping because they simply happen to be corresponding with times the game wouldn't have crashed anyway.

Re: Community Wad

PostPosted: 22 Mar 2015, 23:02
by CalT2410
Short of downloading each individual art set, is there any more efficient method of getting them as one whole package, like it used to be?

Re: Community Wad

PostPosted: 22 Mar 2015, 23:52
by RiiakShiNal
Your findings about tokens are helpful, but are not quite complete. There are also issues with having more than 100 tokens in play (doesn't matter how many types) eventually even without deleting the tokens the game will crash. I believe this is due to a memory overflow issue whereas the game has dedicated a specific amount of memory to tokens (either for a given player or in total) and while it will allow the creation of more tokens than will fit in that space, it spills out into either unallocated memory or into a memory space that it has allocated for other use (in essence you have a memory overlap where any given action could access the corrupted memory and cause the game to crash).

To test that you can create more than 100 creature tokens (for a decent test create only about 150) then play a waiting game with the AI (I have a test deck such that the AI has nothing really offensive in nature to use just to test things like this out) with neither side really attacking, but actions still occurring (such as both sides playing spells, casting creatures and enchantments, playing lands, etc...). After a while the game will almost assuredly crash as it did in so many of my tests.

If you are interested in my "Dummy" deck for testing purposes I can post it.

Re: Community Wad

PostPosted: 23 Mar 2015, 02:53
by Xander9009
I thought it was likely there would be some other issues, but I wasn't sure about any of it. That deck would probably be pretty useful. Right now, it's all going through my test card. However, it would be a lot smoother if I could just play without having to counter and bounce everything offensive or constantly healing myself. And why make my own if there's already a perfectly good one? :)

I don't imagine I'm going to find anything useful you haven't already noticed, but another set of eyes couldn't hurt.

Re: Community Wad

PostPosted: 23 Mar 2015, 10:35
by RiiakShiNal
Here it is, it uses all official cards so there should never be a problem using it. The only offensive card is Door to Nothingness (which the AI can't use due to it being a single colour deck).

Card List: | Open
x4 Brainstorm
x4 Disorient
x4 Divination
x4 Door to Nothingness
x4 Downpour
x4 Glimpse the Future
x4 Kraken Hatchling
x4 Ornithopter
x4 Ovinize

Re: Community Wad

PostPosted: 25 Mar 2015, 08:33
by ShoGUN
[lua] [string "MEMORY_JAR_CW_212633_TITLE (RESOLUTION_TIME_ACTION)~0x0000037d"]:8: attempt to call global 'CW_ExileCardFaceDown' (a nil value)

Re: Community Wad

PostPosted: 25 Mar 2015, 13:08
by Kithkin
So, if I don't want to mess around with various FRF environments, I'll have to wait for the FRF release as part of the CW, right? That will be 25th March?

Re: Community Wad

PostPosted: 25 Mar 2015, 14:37
by Xander9009
If no one else has looked at Memory Jar by tomorrow, I will.

However that and FRF being included in the CW will both have to wait for tomorrow. I was up until 4 finding and correcting the issues I saw in the FRF release (because I was doing about 3 other things at the same time including trying to set up a new virtual machine).