It is currently 02 Nov 2025, 21:37
   
Text Size

Forge version 1.5.11

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins

Re: Forge version 1.5.11

Postby Agetian » 21 Jan 2014, 13:48

@ Sol: Sadly, it's one of those things where it's impossible to have the best of both worlds - it's either "only one art for all basic lands" or "a little bit of every art" (but at the cost of the increase of the total number of slots in all generated pools). It does take a little bit of getting used to. Anyhow, different slots for cards with different art will have to stay in order to support cards with varied art, but maybe some kind of an option could be implemented (either a global preference or a quest toggle?) that will allow one to choose not to generate cards with random art?... I'll think about how to best do that ;)

EDIT: There is a proposed remedy in r24400, now it's basically a user preference. :)

- Agetian
Last edited by Agetian on 21 Jan 2014, 14:21, edited 1 time in total.
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Forge version 1.5.11

Postby Agetian » 21 Jan 2014, 14:20

r24400 - 24403: Added an option to the Forge preferences ("Randomize card art in generated card pools") that allows the user to have greater control over whether they want more cards with random art or they're content with having most basic lands with the same art (but with easier deck management because most lands are in the same slot). The option is enabled by default. When enabled, generated card pools (sealed, draft, quest) will have cards (most notably basic lands) with different art, so you can have e.g. 3 Plains with one picture, 4 Plains with another picture, and 3 Plains with yet another picture. When disabled, generated card pools will choose one (random) art index and generate basic lands with that art index only, thus adding all of the generated basics into the same card stack.

- Agetian
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Forge version 1.5.11

Postby Max mtg » 21 Jan 2014, 18:58

drdev wrote:First of all, thank you for taking on the DeckProxy refactoring. I'm glad to have somebody who understands that code better working on it instead of me trying to figure it out. Do you think you can be done in the next few days so decks in subfolders show up in DeckManagers before the next release?

To your other point, I do my best to make reasonable design decisions quickly so I can accomplish as much as possible with the time I have to work on this project. I don't let the code get in the way of creating new features, rather I try to utilize what exists and refactor/extend as necessary to make new things possible.

Thanks.
-Dan
DeckProxy won't take long. There's a common class to be developed for more or less regular decks, descendants for special cases, some code to handle read-only storages, and recursivelly iterate file system.

It is not code in the path of new features...
Firstly, obstacles are found not in the path of new features, but in the path of certain implementations, that can be anything between magnificent and horrible. So, speaking of evaluation of a certain solution - there are people in the path of certain ways of coding new features. And those people will oppose to the changes that do not fit into their vision.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby Max mtg » 21 Jan 2014, 19:01

To DeckProxy - ok, it shows the what there used to be and it also can provide you the path of decks (if applicable).
What else will it need? Save and delete methods seem easy to implement (just re-add the deck to the storage it belongs to save, and delete from there to drop the deck) - but this would work only for constructed mode for now.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby drdev » 21 Jan 2014, 20:59

Max mtg wrote:To DeckProxy - ok, it shows the what there used to be and it also can provide you the path of decks (if applicable).
What else will it need? Save and delete methods seem easy to implement (just re-add the deck to the storage it belongs to save, and delete from there to drop the deck) - but this would work only for constructed mode for now.
Sounds great. I'll look it over tonight and see if can get the subfolder path integrated into the UI.

Save and delete methods would be a big help too. What happens right now if you try to save or delete a deck? I had noticed previously that deleting a deck in a subfolder used to cause a crash.

For saving and loading, can you have it so if you pass a "/" or "\" delimited string to the corresponding function on the top-level folder's StorageBase, it automatically splits and translates that into the proper StorageBase instance of a subfolder as needed, and in the case of saving, create subfolders if they don't already exist. I'd like someone to be able to type "Standard/Theros/White Heroric" as the title of a deck and have that save to "constructed/Standard/Theros/White Heroric.dck", even if that path didn't previously exist.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.11

Postby Max mtg » 21 Jan 2014, 22:15

Save-load ... Should work as long as you use the matching storagebase, but I'll check that anyway.

In 8-10 hours I'm going to make a couple of methods somewhere about istorage: tryGetFolder() and getFolderOrCreate() both are to accept string parameter using linux-style path separators, that is "/", and the returned value is the storagebase matching the folder at specified path. The first method will return null if no folder exists, the second one will create such folder.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby drdev » 21 Jan 2014, 23:44

Max mtg wrote:Save-load ... Should work as long as you use the matching storagebase, but I'll check that anyway.

In 8-10 hours I'm going to make a couple of methods somewhere about istorage: tryGetFolder() and getFolderOrCreate() both are to accept string parameter using linux-style path separators, that is "/", and the returned value is the storagebase matching the folder at specified path. The first method will return null if no folder exists, the second one will create such folder.
Perfect. Thanks.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.11

Postby Max mtg » 22 Jan 2014, 05:21

I've tested save-load in root folder of constructed - they do work. (for nested ones there has to be used a different instance of DeckController)
Methods to find or create subfolders added.

I hope that is enough to secure game-core from your intrusions.

=================

For the rest now you have a great chance to show how you "don't let the code get in the way of creating new features"

One of known bugs: After you edit a deck it is not updated in DeckManager views
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby Max mtg » 24 Jan 2014, 05:43

A question to moomarc:

how can I reproduce the use of 'pay free blocks' option? It has appeared in game to application dependencies. Though it has moved to HumanPlayerController, I'd like to check if it still works after that move.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby Max mtg » 24 Jan 2014, 06:36

moomarc wrote:I'll try remember what the usage scenario was and get back to you asap.
No need to hurry. It's not an urgent case - just a refactored feature that needs some testing.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.5.11

Postby moomarc » 24 Jan 2014, 06:56

It was for War Cadence and its interaction with forced blocks. At the time a 0-cost would be paid automatically so you couldn't activate War Cadence with X = 0, then not pay the cost to prevent a forced block. Here's my initial note in the release:
There's a new user preference that lets you choose whether a 0-cost block should prompt you to pay or to pay it automatically. This only affects blocking situations where you would have to actually pay 0, (e.g. War Cadence with X = 0). By default you'll be prompted for payment, allowing you to, for instance, prevent forced blocks by activating War Cadence for 0 then not paying the block cost.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Forge version 1.5.11

Postby moomarc » 24 Jan 2014, 11:50

When is 1.5.11 intended to be released? I've got Planechase hooked up to the new Constructed match screen, but don't want to commit anything unless we have a week to test corner cases etc.

And once that is approved I can move over more of the variants. :D
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Forge version 1.5.11

Postby Agetian » 24 Jan 2014, 13:34

It looks like we don't have a specific planned release date yet, at least it's not mentioned in this thread. Since there have been quite a few pretty big changes recently that also deserve testing, I'd say commit what you have and let's test it all together - that is, until Chris's plan is to release a new beta within a few days, of course.

- Agetian
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Forge version 1.5.11

Postby Chris H. » 24 Jan 2014, 14:20

I was able to update my OS to Mavericks and and did not come across any of the problems that other people have had. I have been able to build and deploy a week’s worth of snapshot builds and feel that the beta build and deploy command will also succeed.

In fact the process is now started.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Forge version 1.5.11

Postby Chris H. » 24 Jan 2014, 14:36

Hmmm, got a build failure.

Code: Select all
Last login: Fri Jan 24 08:21:07 on console
CardForge:~ me$ /Users/me/\ My\ Desktop/By-Weekly\ Beta\ Temp\ no\ tests.command ; exit;
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/Users/me/Workspace_SVN/ForgeSVN' is too old (format 10, created by Subversion 1.6)
 
Code: Select all
[INFO] ------------------------------------------------------------------------
[INFO] Building Forge Parent 1.5.11-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-release-plugin:2.4.2:prepare (default-cli) @ forge ---
[INFO] Verifying that there are no local modifications...
[INFO]   ignoring changes on: **/pom.xml.backup, **/release.properties, **/pom.xml.branch, **/pom.xml.next, **/pom.xml.releaseBackup, **/pom.xml.tag
[INFO] Executing: /bin/sh -c cd /Users/me/Workspace_SVN/ForgeSVN && svn --non-interactive status
[INFO] Working directory: /Users/me/Workspace_SVN/ForgeSVN
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Forge Parent ...................................... FAILURE [0.628s]
[INFO] Forge Core ........................................ SUCCESS [1:18.289s]
[INFO] Forge Game ........................................ SUCCESS [3:51.538s]
[INFO] Forge AI .......................................... SUCCESS [9.444s]
[INFO] Forge ............................................. SUCCESS [5:13.035s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:30.752s
[INFO] Finished at: Fri Jan 24 09:24:02 EST 2014
[INFO] Final Memory: 97M/359M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project forge: Unable to check for local modifications
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] svn: E155036: Please see the 'svn upgrade' command
[ERROR] svn: E155036: Working copy '/Users/me/Workspace_SVN/ForgeSVN' is too old (format 10, created by Subversion 1.6)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
logout
 
Attachments
log.txt
(287.08 KiB) Downloaded 230 times
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 40 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 40 users online :: 0 registered, 0 hidden and 40 guests (based on users active over the past 10 minutes)
Most users ever online was 9298 on 10 Oct 2025, 12:54

Users browsing this forum: No registered users and 40 guests

Login Form