Developer Plans
Thoughts and rambling...
Currently, it seems that we - meaning all of us who are committing changes to the Forge SVN repository, collectively - could use a bit more coordination and communications. Sometimes somebody, it could be me, it could be someone else, commits something without informing the others except via the SVN comments. That's fine a lot of time. But sometimes things break, maybe something I was trying to code doesn't work in the SVN even though it worked for me. Or maybe something that used to work no longer does, and I don't have the foggiest notion why that is or when it happened.
So, I thought, it might be a good thing to have a place where we can regularly inform each other when we are about to try something that might (or might not) have consequences on the fundamental game behavior. Or, in general, just keep the others informed what you are planning to do, in order to avoid redundant or conflicting work. If more than one coders are interested in doing the same thing, there could be synergy in collaborating towards that end.
And it's always good to have feedback and comments before you start coding something major.
To practice what I preach, I'll get the ball rolling right away. Here are the two major nearish-future projects I'm currently interested in attempting:
1) Support for multiple different quest decks/challenges directories (or quest "worlds"). I've outlined the idea in this post: viewtopic.php?f=26&t=8428&p=101607#p101607
2) There are still significant portions of Forge code that are completely alien to me. This includes most of what happens during a match (I get lost when I try to decipher that) and most of card/script functionality (haven't really even started exploring that area).
However, it seems that sooner or later I will have to take the plunge and start trying to understand them. One of my biggest disppointments in the current Forge versions (aside from the occasional showstopper bugs and crashes) is the lack of certain key cards from classic deck archetypes or even completely missing keywords/mechanics.
Just trying to convert the Shandalar decks into Forge decks, I encountered the following:
-No Banding in Forge. Ok, so it was a rules monster (and probably would be a b*tch to code), and it wasn't missed much when WotC abolished it, but it was key an important mechanic in many White Weenie decks. Without any Banding at all, early White decks can be a bit weak. And this single mechanic, if implemented, would unlock a lot of (older) cards that are currently not in Forge. ("Bands with Other", OTOH...nobody missed it at all!)
-Early White takes an even bigger hit because of the lack of Circles of Protection! No Banding, no CoP...it would be pretty hard to build a competitive early White deck with what you have.
-Cards that 'rewrite' other cards, such as Sleight of Mind and Magical Hack. While these cards are of marginal use (for very specialized decks only), I think I have an idea how they could be coded. Have to explore the current cards/script code first, of course.
-One single card that I miss more than any and all of the above: Drain Life. Without looking at the code yet, I'm guessing that the problem is related to "X" which can be paid for only with Black mana. Meaning that a little or lot would have to be rewritten just for this one card...but IMO the card would be worth it. Not easy to build a solid (then-legal) Necro deck without Drain Life, let alone a ProsBloom. (Yeah, I know Mike Long won a PT without a Drain Life, but you can't bluff your way to victory in Forge!)
As I said, I'm still largely unfamiliar with the cards/scripting related code, so the whole #2 is rather something I dream of doing ATM...maybe in distant future.
Currently, it seems that we - meaning all of us who are committing changes to the Forge SVN repository, collectively - could use a bit more coordination and communications. Sometimes somebody, it could be me, it could be someone else, commits something without informing the others except via the SVN comments. That's fine a lot of time. But sometimes things break, maybe something I was trying to code doesn't work in the SVN even though it worked for me. Or maybe something that used to work no longer does, and I don't have the foggiest notion why that is or when it happened.
So, I thought, it might be a good thing to have a place where we can regularly inform each other when we are about to try something that might (or might not) have consequences on the fundamental game behavior. Or, in general, just keep the others informed what you are planning to do, in order to avoid redundant or conflicting work. If more than one coders are interested in doing the same thing, there could be synergy in collaborating towards that end.
And it's always good to have feedback and comments before you start coding something major.
To practice what I preach, I'll get the ball rolling right away. Here are the two major nearish-future projects I'm currently interested in attempting:
1) Support for multiple different quest decks/challenges directories (or quest "worlds"). I've outlined the idea in this post: viewtopic.php?f=26&t=8428&p=101607#p101607
2) There are still significant portions of Forge code that are completely alien to me. This includes most of what happens during a match (I get lost when I try to decipher that) and most of card/script functionality (haven't really even started exploring that area).
However, it seems that sooner or later I will have to take the plunge and start trying to understand them. One of my biggest disppointments in the current Forge versions (aside from the occasional showstopper bugs and crashes) is the lack of certain key cards from classic deck archetypes or even completely missing keywords/mechanics.
Just trying to convert the Shandalar decks into Forge decks, I encountered the following:
-No Banding in Forge. Ok, so it was a rules monster (and probably would be a b*tch to code), and it wasn't missed much when WotC abolished it, but it was key an important mechanic in many White Weenie decks. Without any Banding at all, early White decks can be a bit weak. And this single mechanic, if implemented, would unlock a lot of (older) cards that are currently not in Forge. ("Bands with Other", OTOH...nobody missed it at all!)
-Early White takes an even bigger hit because of the lack of Circles of Protection! No Banding, no CoP...it would be pretty hard to build a competitive early White deck with what you have.
-Cards that 'rewrite' other cards, such as Sleight of Mind and Magical Hack. While these cards are of marginal use (for very specialized decks only), I think I have an idea how they could be coded. Have to explore the current cards/script code first, of course.
-One single card that I miss more than any and all of the above: Drain Life. Without looking at the code yet, I'm guessing that the problem is related to "X" which can be paid for only with Black mana. Meaning that a little or lot would have to be rewritten just for this one card...but IMO the card would be worth it. Not easy to build a solid (then-legal) Necro deck without Drain Life, let alone a ProsBloom. (Yeah, I know Mike Long won a PT without a Drain Life, but you can't bluff your way to victory in Forge!)
As I said, I'm still largely unfamiliar with the cards/scripting related code, so the whole #2 is rather something I dream of doing ATM...maybe in distant future.