Dec 25

Non-challenge Balance of the Force cards now fully scripted

Finally, I’ve managed to squeeze and hack at the code until I made all the weird new cards fully scripted. Unfortunately this took a while due to how much interaction there was with controllers and common reserves in the scripts, something my code was not really set to handle until now.

Fortunately, even though working within OCTGN’s guidelines about not manipulating a card you don’t control played merry hell with cards which are changing control (of themselves or others) while in the game, I was able to pull through, until even cards like Mara Jade and Agent of the Hand work as they should.

Below is the changelog for the latest version.

  • Balance of the Force now scripted. Some notes:
    • Shistavanen Wolfman won’t trigger from your discard pile. You have to play him manually when you win the force struggle accordingly.
    • Rapid Fire and A Price on their heads andΒ Join Me doesn’t enforce the target limitations. Just make sure you select 2 cards from different players.
    • Arcona Rumor Monger: Not rules enforced
    • Trandoshan Security Team: Not rules enforced.
    • Dash Rendar cannot be triggered by a player who doesn’t control him but once their controller has triggered him, any ally can play the cost of the ability in the usual way.
    • Supporting Fire: Once revealed, as an ally simply use the “play as edge” option as you would normally. The card will be placed in the main player’s edge stack and they can then double-click it to reveal it.
  • Stopped cards from triggering their reacts while previous triggers are already waiting.
  • Moving captured cards from one objective to another will properly mention that they’re just being transferred and the objectives involved.
Dec 22

Game now 2v2 Compatible

I’ve finally found some time to sit down and prepare the code which can handle multiplayer scenarios and after a weekend’s worth of work, I think I finally have something that is stable enough to publish for public testing.

At the moment only 2v2 is really possible since the challenge scenarios will require some specific changes in the code for the game to handle their specific rules changes. If you plan to play 2v2 keep in mind the following:

You should press the setup option only after everyone participating in the game has loaded a deck. If you don’t the game will treat everyone who has not yet loaded a deck as a spectator which will cause many issues. Just be patient and wait until everyone’s deck has been checked for validity. Btw, the same is true for Duels as well. Don’t setup until your opponents have loaded their deck first.

On game setup, the first one to press it will get to choose their position. Player #1 is always on the right and player #2 is always on the left as suggested by the rulebook. The initial setup might look like the 2 players at positions #2 are at the wrong spot, but remember that your play area expands rightwards from your affiliation πŸ˜‰

Phases are now common for each team, and each team member can progress to the next phase. I suggest that Player #1 is always the one to progress to avoid mistakes. Player #1 will also always be the one to hold the Balance of the Force if it’s on your side.

Most phases are generally working as explained for the MP of the rulebook. However to make things as simple as possible, the refresh phase will automatically refresh your and your ally’s cards and objectives as soon as you enter at which point you have a chance to trigger any reacts on your cards. Normally, player #1 should be doing reacts before player #2 refreshes but I do not foresee any significant issues by this so I didn’t want to add another shortcut to press by player #2 just to split this phase in two. If you think some effect can cause a significant change of plans here, let me know and I’ll see what I can do.

The Draw Phase anyway does not refill automatically until your proceed to the deployment phase without refilling. So as soon as you reach the Draw Phase, to do things right, player #1 should refill their hand (Ctrl+Shift+R) and then add any cards to their common reserves (see below), and afterwards player #2 should refill and play in the CR. If one of the players presses Ctrl+Enter to go to the next phase, any of the allies who has not yet refilled their hand, will automatically do so now. This can speed things along if nobody wants to play any cards at this point by reducing the need for finer coordination.

Your Common Reserves is now a new pile which is collapsed by default since it’s not used in duels. If you get in a multiplayer game you’ll have to manually prepare it (hopefully in the future I’ll be able to do this automatically on 2v2 detection) by right clicking on it (it’s the pile with the little handshake icon) and setting visibility to your allies. You can also expand it so that it’s always visible by clicking on it.

You can add a card to the common reserves from your hand by right-clicking on the card and using the appropriate option. To use the cards in common reserves, simply right-click and use one of the shortcuts provided. When used in this way, if any other players have any cards in their common reserves and they’ve given you visibility to them (you’ll get a warning otherwise) you’ll be able to select any of the cards that exist in those piles as well.

Whenever you put a new card in your common reserves, any existing cards in it will be discarded.

When in an engagement, as an ally to one of the main players you can support attack/defend with one of your units. To do that simply double click that unit to set it as a participant. When you do that, that unit will pass control to your ally and you won’t be able to use it until the engagement is finished, at which point its control will pass back to you.

A lot of other under-the-hood changes have been made to allow the game to seamlessly handle both 1v1 and 2v2 at the same time. As such there’s a chance that a bunch of bugs have slipped through, particular on the specific effects of cards as it’s impossible to test every card script by myself. So if you experience any errors or other problems, please don’t simply ignore them, but rather let me know so I can look into them.

Other than this The latest version also includes the following changes:

  • Leia Organa will now properly ask the captor on which objective to go to.
  • Moving cards around manually will carry their attached cards with them. This means objectives moving in the refresh phase will take their attachments will them finally.
  • Made phase changes common for each team.
  • Made cards like Vader’s Fist and Interrogation Droid work properly in multiplayer.
  • In MP the game will now ask which opponent you’re targeting when only one needs to be selected.
  • Playing Edge cards as an ally should now stack with the main player’s other edge cards.
  • Can now target a card and press Del to discard it. This way you can destroy objectives and units from your opponent yourself.

I’m now going to go through existing cards to see which ones also work on allies or all opponents (as opposed to only yourself or just one opponent) and then start working on the automations for the BotF expansion.

PS: Sounds should be working fine now again.

Dec 19

Working on Multiplayer

Now that Balance of the Force is available on OCTGN, I’ve been trying to see how to make multiplayer games work within the existing code.Needless to say it’s not easy.

I’ve read through the MP rules and there’s quite a lot of changes that need to happen on the turn order in order to follow the rules, particularly since all the player of each side have common phases. It’s going to be tricky to say the least.

But before that, I need to make at least the basic positioning work, this way people could theoretically at least start playing MP by doing some things manually without a huge hassle. Unfortunately due to the number of cards on the table and the space required for each player for them, the table will have to zoom out quite a bit to facilitate viewing every player.

I’ve now finished this step and these are the layouts I think will be the most usable in OCTGN (click to view larger version)

2v2 Placement

2v2 Placement

3v1 Setup

3v1 Placement

I’ll be pushing this update out soon, so let me know what you think.

Sep 27

Escape from Hoth image packs uploaded

You can now grab the Escape from Hoth censored image packs from the sets page. I’ve also uploaded the uncensored image pack for Desolation of Hoth now that 6 months have passed since its initial release.

Sep 25

Escape from Hoth now available

Yesterday I uploaded a quick version of the set which contained no automations. Today I’m happy to announce I’ve finally uploaded the version which includes the working scripts for the released cards. Here’s the changelog

  • Some card notes:
    • Luke Skywalker, to use his ability, make sure you’ve targeted an appropriate unit when you play him.
    • Executor’s ability will only fire with cards which cause a sacrifice through scripts. If you destroy a unit by mousing over it and pressing delete, you will have to trigger its ability manually, by double-clicking it.
    • ISB Liaison not fully automated. It sacrifices but just announces its ability. Simply look at the relevant card manually and then draw a card.
    • Aggression not automated. It just announces.
  • Leia won’t trigger if captured from hand.
  • Captured Units or ones in Edge stacks won’t appear as strike choices anymore
  • “It could be worse” now will remove 1 damage from a target.
  • Carbonite Transport shouldn’t reveal the card name to the opponent anymore.

I haven’t uploaded a censored o8c yet, as I haven’t had time to do it, but I expect I’ll add it soon. Until then you can still play with the automatically generated proxies.

Aug 27

Further improved striking

Alrighty, I’ve done another hefty update to the striking mechanism with 2.4.5.x

  • Now game will ask if you want to use Tactics or Unit Damage first if you have both and will announce the order they were used.
  • Game will now take into account if a unit has targeted strike, and will ignore non-participating targeted units if it doesn’t.
  • Game will now confirm with the player if they want to allow it to auto-target, in case they forgot to target units before they strike. This will attempt to figure out which units are valid targets and provide a selection window.
  • Pressing cancel on selecting units (or not using automatic discovery), will not put the tokens anywhere, allowing for manual placement.

Here’s how a strike from Yoda with 2 enhancements will appear on the log, after selecting to use unit damage first.

db0 strikes with Yoda for 4 Unit Damage on [‘Jedi in Hiding’: 1, ‘Secret Informant’: 2, “Twi’lek Loyalist”: 1], then 1 Tactics on [‘Luke Skywalker’: 1] and 4 Blast Damage on The Secret of Yavin 4.

Here’s how the same strike (but with tactics first this time) will appear if you didn’t select any targets and declined to auto-find them.

db0 strikes with Yoda for 1 Tactics, then 4 Unit Damage and 4 Blast Damage on The Secret of Yavin 4.

As you can see, you can use the latter as a more manual method, informing the amount but then manually placing the icons.

Also now that targeted strike has been implemented, targeting non-participating units with strikes which are not ‘Targeted’, will ignore them when placing damage tokens. This makes it easier to strike with units which have non-targeted Unit Damage & Tactics, but no opponent in the battle. In the past the damage token ended up on your targets outside of combat which was a bit annoying. Now it’s properly ignored.

Aug 24

Improved Striking

I’ve just pushed live a new version that significantly improves the way strikes of units with a lot of combat icons work. Until now, when a unit had Unit Damage and Tactics icons, or more than 1 Tactics, the game couldn’t figure out where you wanted to assign the tokens. With the new system, the game will instead ask you which of the units you’ve targeted should take the unit damage and which ones the tactics, and you can even split the tactics as much as you want.

I’ve made short video to quickly show how this works.

Basically, just remember to always target the units you want to affect before you strike and everything should be easy enough after that. The only tricky situation might be when a unit has shields and you want to know if they’ll use their shield token from your damage before your tactics. I’m working on a system to automate shield using as well, but until that’s ready, just clarify things manually with your opponent before you strike as you would do anyway.

Aug 23

Statistics Gathering now enabled!

I don’t know if you’ve seen the statistics I’m aggregating for Android:Netrunner, but I always had it in-mind, to implement the same for the SW LCG on OCTGN. Unfortunately I just couldn’t find the time and resources required for it.

Until now.

I’ve finally crafted and enabled statistics for Star Wars: The Card Game, and they should start being uploaded starting from version The statistics will record information about your game’s closing state, including amount of objectives destroyed by either player, Death Star Dial count, amount of attacks done, amount of force struggles won and so on. I think I’ve chosen a good variety of useful stats, which should give the statisticians among you some interesting numbers to crunch πŸ™‚

All you have to do to take part, is play your games until the end. I.e. until the Dial hits 12, or the LS destroys 3 objectives, or one player is decked. Alternative you can just use the concede function under the game menu if your defeat is assured.

The stats will then be uploaded automatically and you’ll see a small message informing you of this.

The public page (similar to ANRs) is being prepared but is not ready yet. Once it is, and I’ve gathered a significant amount of game stats, I’m going to post a link for people to check out.

Before you ask, keep in mind that my policy is not never reveal usernames of the people in those games unless it’s part of a tournament gathering. This is because I want to retain the casual and friendly atmosphere that we have on OCTGN games, and I do not wish to poison this by people trying to retain a Win/Loss ratio, or give a motivation for people to find ways to cheat. So please do not ask me to provide you with stats about a specific player’s games.

PS: Statistics will not be uploaded if you’ve disabled play, trigger or phase automations, since the stats gathering will be thwarted by having those disabled. So if you want to be part of the aggregation, make sure you play using automations, as is recommended. HARDCORE mode is OK to use however.


Aug 22

In case you’re having trouble with cost-reducing effects

I’ve made this small video to explain how to use cards like Admiral’s Orders, Deploy the Fleet and Kuat Reinforcements.

Also fixed Admiral’s Orders and Don’t Get Cocky which were bugged until now πŸ™‚