« first day (375 days earlier)      last day (3486 days later) » 
00:00 - 17:0017:00 - 00:00

17:00
An example of differences is that CC doesn't send any zoneChanges in the beginning, when that is the most used message for Mythos.
(I think)
I may end up getting the list of messages for CC again to make sure that there weren't any exceptions.
> @jacwah @danpantry :

The resources in SHOUT_CASE are those passed from the universal ECS resource map in core, as opposed to the lower case values which are from the mod intended either as functional identifiers (i.e., `name`, `type`) or just text to display to the user (i.e., `flavor`, `description`).

Hope this helps.
Damn, this HS card is in MtG level of power
That's exactly something you'd expect in MtG, not in HS
> From reading "The Order of Things" and looking at logs, it seems like ids of the opponents cards are always sent to the client, and the fact that no CardInfo message has been sent is what keeps each client from knowing the opponents cards.

This would be a problem if/when there's a way to play a card (i.e. show it to the opponent) and then restore it to your deck. Because the opponent now knows what card that id represents, they can easily cheat with a modified client or by looking at messa
> In some places, there may be an overuse of currentUser. For example, does the game board really need to store the each user's properties there?
@Duga @jacwah "uknown"?
17:20
added .properties to .playerInfo and .oppInfo

Adding this .properties allows game board to have a place to store each player's properties so that these properties can be shown on the game screen. These properties are properties like HEALTH, MANA, etc.
added section for storing properties about each player

A new section has been added. This section first has a div that uses ng-repeat to go through each player's info. Then, each div that is repeated in that ng-repeat creates a new ul for storing all the properties of the player, which also uses an ng-repeat.
refactored storePlayerInfo, now adds to $scope.playerInfos

Before, depending on whether the player info message was talking about this user or if it was talking about the opponent, the code would have a conditional to set all the correct properties of currentUser.game.<player type>.<etc>.

However, this had a lot of repeat code because the only difference between the code in the two conditionals was where it was storing the data. Now, instead of all that, the code will store the player type (
0
Q: Let's (path) find A Star

bazolaYesterday I found myself struggling with creating an A * algorithm in Java, but this morning I finally figured it out, so I would love to hear what Code Review has to say about it! The goal here is not performance since it was a learning exercise. I tried to make the code and algorithm as reada...

@skiwi so many games never make it to 10 mana though
17:39
@bazola Now yes, but it's apparently supposed to be a more common thing after TGT with the Joust mechanic and some anti-face-aggro cards
17:54
@bazola I got some totally unrelated magic sorcery working:
public class Main {
    private static final Unsafe UNSAFE = getUnsafe();

    public static Unsafe getUnsafe() {
        try {
            Field field = Unsafe.class.getDeclaredField("theUnsafe");
            field.setAccessible(true);
            return (Unsafe)field.get(null);
        } catch (NoSuchFieldException | IllegalAccessException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        long pointer = UNSAFE.allocateMemory(16);
I don't need no classes :D
simplified currentUser

I got rid of all the other nonesense, like playerInfo and oppInfo. That information has no use being in currentUser because there is only one scene that uses it, and now that one scene stores the correct information locally.
now enterNewGame sets currentUser properties (the player's own index) differently.

Now that a lot of space for information was removed from currentUser, the function enterNewGame stores the playerIndex in a different spot in currentUser.
created local playerInfos

Before, to store information about each player, this code was using currentPlayer. However, this was a poor idea because there is no other scene that needs that information so there is no point in storing it there.

A few parts of this code has been rewritten to adjust to the new place for storing and reading the information.
redid the section for showing each player's properties

This now uses the new construct for storing player data.
[Cardshifter/HTML-Client] SirPython pushed commit af2d260d to game-board: fixed two typos in currentUser creation: accidently put a ;, and was using a = for assignment
[Cardshifter/HTML-Client] SirPython pushed commit a1daea50 to game-board: fixed typo where I forgot a comma in a list of arguments.
[Cardshifter/HTML-Client] SirPython pushed commit 94e4b3b2 to game-board: accidentaly removed too much information: I still need currentUser.game
when displaying properties, now ng-repeats through $scope.playerProperties

The reason for this is because the function storePlayerPropertes in the controller code, while it does store the information in playerInfos, it stores the information for each player in an array.

I added a comment because I am unsure if this is necessary.
18:11
@skiwi lol what is the point of the code?
@bazola Writing C-like code in Java :P
Pointers!
In practice it can be used to efficiently do stuff though as far as I'm aware
interesting
18:27
HS is going wrong there...
18:48
huge variance in the potential power of that card
5 cost though means that if you get a big creature out of it, you could easily lose it in a lot of ways
The variance is something that's not there in HS right now in that degree, even Unstable Portal requires you to pay for the mana cost
Question about designing a server protocol...
Are there any obvious arguments about plain-text ("attack <entityId> <opponentEntityId>") vs a JSON message representing that?
i think that the overall randomness of the game went up a lot after goblins vs gnomes
@skiwi plain text can be less bytes than JSON formatting if you are going to send a string
I'm thinking of mapping the messages directly to methods through some Groovy magic
Instead of having a whole map structure of where you have an AttackCommand class that has an entityId and opponentEntityId
19:48
@skiwi the whole world is going to end up with this stagefright thing... just heard about it today
but considering most people barely even know how to use their phones, they certainly don't know how to protect themselves
just checked my phone, and it is possible to disable the auto retrieval of MMS in my 3rd party messaging app, but when i go into the official Messages app, the options are all greyed out.. hopefully it only checks the settings of the active one.
20:12
@bazola Yeah... it's pretty bad
disabling MMS doesn't really protect you though, you can receive it in any way
The good thing if you have an iPhone is that you don't need to worry because there'll be a security update if there isn't one already
@skiwi what i read said that you aren't vulnerable unless you download the MMS
@bazola It's a bug in an image processing library (that's also used to make thumbnails), so anything that works with images is vulnerable
disabling MMS is just one way to mitigate the issue and an important one as MMS is available on every phone
In practice a virus might check if you got WhatsApp on your phone and send it through there
It might even be visible on a Facebook feed and boom you're infected
That's about the scale of that bug
btw, my very early server design
> Client interface
- sendMessage()
- receiveMessage()

A WebSocket client supports that interface

There is a class that provides methods for server messages
- "queueForMatchmaking" translates to a someClass.queueForMatchmaking() call
- "attack 42 0" translates to a someClass.attack(42, 0) call

The client somehow can also manage state per connection, so maybe create AbstractClient where you can store a Player for example
I'm thinking handling the server messages like this will be quite easy
It's a real bonus to have seen most of these things once already
And it's funny to see how naive you really are if you hard-code something like WebSocket client to your application instead of providing an interface... The former wouldn't even allow for easy testing
hehe yup i definitely did that :)
for a while i had the separate branches for GWT and Desktop/Mobile until i figured out how to inject things into the libGDX game launcher
20:26
When you get more used to thinking more broad then it doesn't cost extra time
If you're not then it will and that's time you don't want to lose when rapidly prototyping :P
nah it wasn't a time problem as much as a lack of understanding problem
The nice thing about developing is that you learn every day
lol
> Henry Ford once balked at paying $10,000 to General Electric for work done troubleshooting a generator, and asked for an itemized bill. The engineer who performed the work, Charles Steinmetz, sent this: "Making chalk mark on generator, $1. Knowing where to make mark, $9,999." Ford paid the bill.
TTGTTLR (TTG to the living room), tomorrow work, maybe Friday time to start on a prototype
 
2 hours later…
23:20
@SirPython It's a poor choice of words, maybe I should say "face down"?
Basically cards that the player can't see the face of
I was pointing out a spelling mistake.
Ah
For some reason I always get that wrong -.-
I blame umount
23:39
@SirPython Nice fiddle :)
Learing to love Angular?
Yup! It sure is fun to write it.
Feel free to use that when entering chat rooms.
Very useful
Loki Astari vs. Simon André Forsberg: 2925 diff. Year: -2851. Quarter: -1255. Month: +45. Week: +100. Day: +5.
200_success vs. rolfl: 3174 diff. Year: +2427. Quarter: +2761. Month: +182. Week: +12. Day: -51.
Mat's Mug vs. Simon André Forsberg: 663 diff. Year: +1553. Quarter: +49. Month: +327. Week: +183. Day: +17.
200_success vs. janos: 15283 diff. Year: -4317. Quarter: -1396. Month: -582. Week: -100. Day: -10.
Hmm. @Duga is a minute early.
What is @Duga comparing?
23:47
Reputation.
00:00 - 17:0017:00 - 00:00

« first day (375 days earlier)      last day (3486 days later) »