« first day (304 days earlier)      last day (3556 days later) » 

00:00
RELOAD!
[Cardshifter/Cardshifter] 22 commits. 4 opened issues. 2 closed issues. 7 issue comments.
[retailcoder/Rubberduck] 14 commits. 4 opened issues. 6 closed issues. 2 issue comments.
 
2 hours later…
01:54
> We need some sort of modifier/filter to check for specific cards being present in specific zone(s), as a pre-condition to some trigger or effect. In pesudo-code:

ifPresent 'foo', 'bar' zone 'Battlefield' { onEndOfTurn { /* do something */ } }
02:06
> I have an idea for a new attribute that can be utilized. Phase - Attribute - Unit with this attribute cannot be targeted by spells or effects that specifically target a unit.

Unit with this attribute could not be targeted by a spell that states "Target one unit, that unit looses +2 health".

Unit with this attribute could not be targeted by a unit effect that states "When this unit comes into play, deal +1 damage to target unit"

This unit still would be effected by an effect that would
> I realize the Range Attribute is used as a way to attack without taking damage. Can we make that even better by allowing a unit with the Range attribute to attack pas the Taunt attribute? A unit with Range attribute could attack an unit of choice even though opponent has a unit with Taunt.

What do you all think?
> For reference, the "range" attribute as applied to cards is denyCounterAttack()
 
2 hours later…
04:23
I have an issue with the upkeep idea. With cards that have sickness, you are basically paying the mana cost twice to be able to use it. Also, does the upkeep cost happen at the beginning of a turn or the end of a turn?
05:09
> Wanted to throw another attribute idea out there. Plague attribute would act like death touch from MTG, only instead of killing the unit that attacked the unit that possesses the plague attribute, the player who initiated the attack against the unit that possesses the plague attribute would take damage directly equal to the attack of the unit that possesses the plague attribute (or equal to the unit that attacked).

Example:
Bear vs Snake (with P attribute)

Bear attacks snake, owner of b
 
3 hours later…
07:48
heu
08:00
Ello
 
1 hour later…
09:30
@Jay1148 upkeep cost happens at the beginning of your turn. It's true that the mana cost is essentially being paid twice... separating "mana cost" and "upkeep cost" might help with that?
> Totally agreed. This resembles the "Shroud" ability in MTG. In MTG there's also "Hexproof" that prevents it from being targeted by your opponent.
> Indeed "ignoring taunt" should be, behind the screens, a separate attribute.
> Should Plagued attribute only have effect when you're defending? If the Snake attacks Bear, then nothing should happen, right?
@SimonAndréForsberg awake and rolling already
yup. gotta leave a bit later though
> Yes, it is only when attacked that the attribute effect activates.
09:47
I would love it if the upkeep was only half of the original mana cost, and that the upkeep was at the end of the turn, almost like a payment to keep the unit in play for your opponents turn. I have not been a fan of this since day one, however, if it was only half the original mana cost then it might be a bit better from a user's stand point.
> I like it, however the down side is that you could not target either for spells or effects, like boost effects that specifically target your own units. However, it still works nicely.
> We could call it Stealth, or Dodge.
Why hello there @bazola
@Jay1148 If the payment is at the end of your turn, then you could have a negative amount of mana during the opponents turn... which is something I am not a big fan of.
> I like this. I have a location card whose attack and health are equal to the (X) number of a certain class of cards currently controlled. I believe that is along the same lines. I think that should be implemented if possible.
I get ya, at that point then I think there should be a separate value for upkeep, and at maximum should only be half the cost of the original mana cost.
10:04
> As discussed with Jay, it's not always ideal for cards to have the same mana cost as upkeep cost. Separate these. Possibly with a limit of how big the upkeep cost may be.
> I think this can be made even more flexible, not just ifPresent, but if ... such as: If opponent has 20 or more life, draw a card.
Just don't make it too complex, else we could as well be writing real code :P
@skiwi Actually... not entirely, an important thing that the DSL takes care of is to automatically make descriptions for effects. And if people were to start writing real code, it would probably not be as flexible.
@SimonAndréForsberg True, but once you introduce conditional ifs (and they should be there) it starts to become like proramming :P
10:35
it does. And yet it's a TCG :)
we'll see how they can be implemented nicely
 
2 hours later…
12:50
Hey everyone!
13:17
hey @Marc-Andre
13:52
@bazola That's coming along very nicely!
14:08
Ugh, just when I need some help with VBA, the room won't load here because of our crappy internet :|
@bazola WUUUT!?
You're clearly very good at getting things to look nicely in LibGDX, @bazola
you may be interested in this @SimonAndréForsberg
public void drawPopulationCounts() {
    if (this.game.world != null) {

        this.libGDXGame.overlayStage.clear();

        for (int i = 0; i < this.allRectangles.size(); i++) {
            List<Rectangle> row = this.allRectangles.get(i);
            for (int j = 0; j < row.size(); j++) {
                Rectangle rectangle = row.get(j);
                Tile tile = this.game.world.levelData[i][j];
                Label populationLabel = new Label(String.valueOf(tile.getPopulation()), this.skin);
@bazola When do you call that method? (Not every time you render the screen I hope?)
no, every time
14:18
@bazola Nice map!
just prototyping at the moment so that was fastest while getting it working
@Marc-Andre thanks :)
@bazola then that's acceptable, but not optimal.
its always a pain to check whether the values have changed, and then only update when that happens
14:39
Don't have some event listener that you could listen to update ?
that's one solution ^^
possibly, but i would have to pass libGDX stuff into the game model to accomplish that i think
14:52
@bazola or an interface!
If you're using MVC and practice correct separation of concern you should not have that problem
hmm
You will have a List<Observer> observers and when your value.update() you do observers.each { observer.notify() }
i will have to look into that i suppose
something like that
14:54
right now the game screen just updates the game model each tick, and updates the view based on the exposed values of the model
 
1 hour later…
16:20
Whew, busy day today!
@Marc-Andre Isn't taht quite expensive in graphics usually?
hey @Phrancis
16:35
[Cardshifter/Cardshifter] Zomis pushed commit 5688bef0 to groovy: small assertion description improvement
[Cardshifter/Cardshifter] Zomis pushed commit c7cbfb34 to groovy: changed the GameEffect interface to now accept entity + event. added effectOnSummon system to mods
[Cardshifter/Cardshifter] Zomis pushed 22 commits to mods
@skiwi Well it depends on what the value you want to monitor and how you're rendering. In fact, the better solution ot have you'll be a an event that check when the value is updated and then change the state of the value to isDirty = true (or a similar principle) and then update only if isDrity is true
17:10
@Marc-Andre I've seen that dirty technique being used in more places, yes
@Duga Commiiiiiits
@skiwi dirty technique or dirty-technique?
@SimonAndréForsberg Let's keep that dash
I've used that technique also of having the model set its state to needsUpdating whenever values change in the update loop
@SimonAndréForsberg really nice point about not making objects in continuous loops, i will have to remember that
@bazola the same goes for the code you showed me yesterday
3 hours ago, by Simon André Forsberg
@bazola When do you call that method? (Not every time you render the screen I hope?)
waaay too much object creation going on there, and adding/removing things from the stage.
instead keep it on the stage and change their values
ideally, use a listener approach as suggested by @Marc-Andre
17:22
lol, in our project someone deleted a file that had a merge conflict as solution to it... great
2
I tend to use what I call 'callback interfaces' a lot. An interface that you make, containing a single method, that you can then call whenever a value changes or something happens.
18:19
@Phrancis document new effects, issue 232, 228, 237, 246 and 213. @Simon Review bazola's code
@SimonAndréForsberg You could also use the ones provided by JavaFX 8 as it's in the standard library from Java 8 onwards
@Duga @Simon can you remove that notification please?
@skiwi assuming Java 8 is available, yes
@Phrancis I might have to ask @Duga to remind me to remove it...
3
True... I thought you would use Java 8 if you were talking about interfaces, because I instantly thought lambdas!
@skiwi I'm talking LibGDX, primarily.
 
2 hours later…
20:01
posted on June 02, 2015 by Guillaume Laforge

This 72th edition is being authored live from the Hackergarten session at GR8Conf Europe 2015, in Copenhagen (Denmark), where Groovy hackers are working on various contributions to the Groovy and Grails ecosystem, updating Grails 2 plugins to Grails 3, crafting...

 
1 hour later…
21:20
[Cardshifter/Cardshifter] Zomis pushed 29 commits to develop
21:35
[Cardshifter/Cardshifter] build #1093 for commit c7cbfb34 on branch develop passed
22:26
Whew finally over, so tired of picking up the damn phone today
@Simon I see you got rid of phranciscard.cards, good riddance eh?
@Phrancis yeah, it was definitely TIME!
Going to fire off the snapshot very soon, got busy last night telling @Jay1148 about all that we can do now :)
Going to meet with him in person on Thursday, hoping to see his Greek cards and see about making some new cards for Cyborg as well, that's way overdue
okay, nice
c:\Users\Simon\Documents\workspace\groovy\Battleship\src\main\java>groovy Webhook.groovy
[{"url":"https://api.github.com/repos/Zomis/Duga/hooks/2870285","test_url":"https://api.github.com/repos/Zomis/Duga/hooks/2870285/test","ping_url":"https://api.
github.com/repos/Zomis/Duga/hooks/2870285/pings","id":2870285,"name":"web","active":true,"events":["*"],"config":{"secret":"","url":"http://stats.zomis.net/Gith
ubHookSEChatService/hooks/github/payload","content_type":"json","insecure_ssl":"0"},"last_response":{"code":200,"status":"active","message":"OK"},"updated_at":"
it seems like I have managed to accomplish something
23:21
I have no idea what any of that means :o
23:40
TODO: Make more cards for Cyborg Chronicles
5
[Zomis/Duga] Ping: Non-blocking is better than blocking.
[Zomis/SudokuSharp] Ping: Avoid administrative distraction.
c:\Users\Simon\Documents\workspace\groovy\Battleship\src\main\java>groovy Webhook.groovy
Printing All Response Header for URL: api.github.com/repos/Zomis/SudokuSharp/hooks

null : [HTTP/1.1 201 Created]
X-Accepted-OAuth-Scopes : [admin:repo_hook, public_repo, repo, write:repo_hook]
Server : [GitHub.com]
Access-Control-Allow-Origin : [*]
X-Frame-Options : [deny]
Strict-Transport-Security : [max-age=31536000; includeSubdomains; preload]
Access-Control-Expose-Headers : [ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAu
@skiwi ^^
@Phrancis It means that I can programatically modify webhooks on my repositories on Github!
Oh that sounds really neat!
No need to manually add webhooks for each repository, instead I could show a list of repositories and let the user choose which ones to add webhooks too.
One step closer to Duga 2.0
3
200_success vs. rolfl: 172 diff. Year: -546. Quarter: -389. Month: +98. Week: +121. Day: +70.
Simon André Forsberg vs. Mat's Mug: 365 diff. Year: -576. Quarter: -1326. Month: +20. Week: +15. Day: +40.
23:45
Oh, it's that time of day again!
Loki Astari vs. Simon André Forsberg: 4427 diff. Year: -1324. Quarter: -25. Month: +40. Week: +105. Day: -35.
janos vs. Loki Astari: 7203 diff. Year: +8575. Quarter: +2909. Month: +195. Week: +355. Day: +45.

« first day (304 days earlier)      last day (3556 days later) »