« first day (359 days earlier)      last day (3501 days later) » 

00:00
RELOAD!
[Hosch250/Rubberduck] 17 commits. 571 additions. 625 deletions.
[retailcoder/Rubberduck] 8 commits. 253 additions. 151 deletions.
@Duga @SimonAndréForsberg How should the repo be structured? Should there be a single HTML file and a single JavaScript file? Or...?
for now, the websocket can send JSON-formatted messages to the server, and get JSON-formatted stuff back. I believe it is easiest
[Zomis/Server] 3 opened issues. 1 closed issue. 3 issue comments.
Saved Cardshifter/Cardshifter
@SirPython This is Code Review. We write good code, not ugly code. There should probably be more than one JS file at least. I guess you could dynamically load HTML with some JS magic as well, to allow HTML to be in separate files.
Saved Cardshifter/cardshifter.github.io
Saved Cardshifter/extra-resources
00:02
But I really don't want to set any constraints on you. Just make it work ;-)
Saved ckuhn203/Rubberduck
And shut up, @Duga.
2
Saved ckuhn203/VBEX
Saved CodeReviewCommunity/CodeReviewCommunity.github.io
Saved Hosch250/MeekSTVVoteCounter
Saved Hosch250/ResxEditor
Saved Hosch250/ResxTranslationHelper
I still think we should have these ^^^^^ moved to @Duga's playground ;)
Saved Hosch250/Rubberduck
Saved Phrancis/GroovySwingPostgres
Saved retailcoder/Rubberduck
00:04
@SimonAndréForsberg Of course. I just don't know how to start, being that this project has already been worked on for quite a while.
Saved rubberduck-vba/Rubberduck
Saved ShearOfDoom/Cactus
Saved skiwi2/BusinessSoftware
Yeesh! What's with all the repos?
Saved StackExchange/StackExchange.DataExplorer
@SirPython that's all the repos @Duga knows about.
Saved Vannevelj/RoslynTester
00:05
I think perhaps a good start would be to make something simple to connect, don't care if it's all in one file or whatever, and enable a browser-based console that prints server messages
Saved Vannevelj/VSDiagnostics
@Duga You know... nowadays I have the power to suspend you from chat for one hour!
Saved Vogel612/JavaBot
@Phrancis Is there some place on the main repo where "format" of the server messages can be found?
Saved Vogel612/TranslationHelper
Saved Zomis/BrainDuck
00:06
@Phrancis Agree. Disassemble your problems so that you can assemble your solutions.
@SirPython That's more of a Simon question
Saved Zomis/CodeReview-Shield
Saved Zomis/Duga
Saved Zomis/GdxPlayground
Saved Zomis/Minesweeper-Analyze
00:07
Saved Zomis/Prosit
Saved Zomis/Rubberduck
Saved Zomis/SE-Scripts
Saved Zomis/Server
@Phrancis So just something can listen and respond to the server?
Saved Zomis/StackSTV
@SirPython the main repo has been worked on for a while, but the pure HTML Client is entirely fresh. As long as it will support the same things (connecting to server, playing a game, building a deck...), I'm happy.
Saved Zomis/SudokuSharp
Saved Zomis/test
> Allow players to say at which index they want to play, e.g., let sending

INVT UTTT some_player

be role-indifferent invitation as before and

INVT UTTT some_player 0

be an invitation to play at `index=0`. Similarly, let accepting invitation

INVR game_id yes

be role-indifferent as before and

INVR game_id 1

mean that the invitee accepts playing at `index=1`. Let the server honor these wishes and decide randomly in case the clients are indifferent.
@SirPython All classes in the main repo that extends Message can be sent or received to/from the server. Those classes can have a JSON format, like for example:
[Zomis/Server] Zomis added label ai to issue #3: Support AIs
Should graphics on the HTML be rendered using Canvas, WebGL, etc. or just plain HTML?
00:14
I gotta go to bed. I hope that by the end of tomorrow, there will be at least a proof-of-concept simple messaging between HTML-Client and server.
@SimonAndréForsberg See you!
@SimonAndréForsberg Good night!
Well, let's see about this
@SirPython good question. Might be something to think about. I'm not entirely sure. At first I only thought about plain HTML (to be able to specify cards in HTML)
now that you bring it up.... we'll see. As long as it can be made moddable.
night
@SirPython Remind me, what time zone are you in?
@Phrancis I'm sorry. I don't feel comfortable giving away that information.
00:25
OK no problem, I understand
Thanks ;-)
Is there are particular reason you needed to know? Perhaps I can still help.
Was just curious if you were in America or Europe mostly
Ah, I see.
> Motivation 1: Server crash or connection breakdown.
Motivation 2: Endgame puzzles or letting the server finish a started game.

Allow injecting a game state (history) to the server and providing the client with the game state upon request.
@Phrancis Since in the audit logs of Github groups it says where an action happened from, I can tell you that I am broadcasting from the United States.
00:30
@SirPython Cool. Me too
@Phrancis My that was fast. What are you using a a server?
Just websocket.org for testing
For elements on the webpage, should events be bound like this (in HTML):
<div onclick = "...">
Or this (in JavaScript):
element.onclick = function() {...}
Whichever is most flexible
They are both fairly flexible. However, this should be decided soon so the same practice is follow throughout.
00:36
Do you have a personal preference? To me it doesn't matter much, as long as it gets the job done :)
I prefer to use the second method.
I have a basic login screen up and running.
Now I need to look more into these web sockets.
This got me the basic code pretty quickly: websocket.org/echo.html
01:03
My; there are many kinds of messages.
In general or our game server in particular?
In the repo. The API.
Are the message classes in incoming messages received from the server, and the message classes in outgoing messages sent to the server?
@SirPython Other way around, from looking at the messages
So incoming is messages to the server, and outgoing is messages from the server? As in, it is incoming and outgoing from the server's perspective?
Yep!
01:35
Back, cooking was calling
@Phrancis Can you give me your opinion on this?
The idea is to have an interface for easily setting up and sending properly formatted messages to the server.
Right now, all I've set up is a system for creating the messages.
Next will be sending the messages themselves.
Watch for the typo: var tyeps = this.types;
Fixed.
Looks like a good start
Before I go any farther, what would be your approach to this task?
01:39
Tbh, I don't know. Never have written something like this before
I'm still pretty new at JavaScript so, anything you come up with that works is certainly good enough of an approach to me
Is there anything that I can help right now? I've ran the server quite often on my machine so I kind of know what the messages look like fairly well...
Maybe you could help.
I'm going to finish adding in the rest of the messages and then re-asses the situation. I'll try to find something you could help on then.
I'll start tinkering around with the server and see if I can establish a connection meanwhile
01:59
Going to eat bbl
Okay.
02:27
Back
02:47
[2015-07-26 22:44:50,549]  INFO MainServer [      main] (       MainServer.java: 93) - Started
[2015-07-26 22:45:52,610]  INFO ServerSock [  Thread-0] (       ServerSock.java: 41) - Incoming connection from /127.0.0.1:52501
[2015-07-26 22:45:52,610]  INFO     Server [  Thread-0] (           Server.java:158) - New client: 6:  @ /127.0.0.1:52501
[2015-07-26 22:45:52,671]  INFO ServerSock [  Thread-0] (       ServerSock.java: 38) - Waiting for client nr: 2...
[2015-07-26 22:45:52,671]  INFO ClientSocketHandler [    Conn-0] (ClientSocketHandler.java: 66) - Listening for messages using com.cards
Managed to ping the server on WebSockets
Whoops wrong port. This is more like it
[2015-07-26 22:51:55,915]  INFO  ServerWeb [WebSocketWorker-9] (        ServerWeb.java: 46) - Connection opened: org.java_websocket.WebSocketImpl@350fd3d5
[2015-07-26 22:51:55,918]  INFO     Server [WebSocketWorker-9] (           Server.java:158) - New client: 9:  @ /127.0.0.1:53179
[2015-07-26 22:51:55,933]  INFO  ServerWeb [WebSocketWorker-9] (        ServerWeb.java: 66) - Connection message from: org.java_websocket.WebSocketImpl@350fd3d5: WebSocket rocks
[2015-07-26 22:51:55,943]  WARN  ServerWeb [WebSocketWorker-9] (        ServerWeb.java: 84) - Connection error: org.java_websocket.WebS
03:13
So tired, need to get up early for work. Sorry I wasn't much help @SirPython, good work so far. Night!
 
4 hours later…
07:25
@Lokkij Just be careful; I've heard various stories that coffeescript or livescript is indeed easier to code, but after a few months looking at your own code (thus maintenance) it wasn't as funny anymore
 
3 hours later…
10:26
hey
Hey
10:56
@SirPython and then there's also both, which are sent in both directions.
hey
hearthstone.gamepedia.com/… HearthStone bugs, yaay
That first bug is sooo weird, you play a minion, and then it just dies
11:53
@SimonAndréForsberg yep just call me mr libGDX :)
@SimonAndréForsberg whats the plan for animations if you don't use some kind of canvas/viewport/etc? css magic or something?
12:32
apparently you can do some crazy crap these days
12:53
Monking!
Morning!
I was able to send a message to "ws://127.0.0.1:4243/" (big accomplishment, I know... gotta start somewhere ;)
Don't know much about this server stuff though yet
Browsing through the API messages... is the toString() method of each message a good way to know what the messages actually do look like going between server & client?
TTGTW, will hop back in a bit later today
 
2 hours later…
14:47
@Simon are there any plans to "Groovytize" the API code or is it going to remain pretty much as it is? (since it works fine)
@Simon work on the multiplayer server for UTTT and Battleship, and have a bot fight with maaartinus. And get rid of that reload spam when things are saved
 
2 hours later…
17:19
well, fixing the android splash screen problem for libGDX took like 3 hours
 
1 hour later…
18:42
@bazola Dang
18:54
its some crazy issue related to how long it takes for the libGDX graphics to initialize. tried about 4 approaches before i found one that works
19:40
What are the rules for creating a pull request? When should one be created, and when should one not be created?
@SirPython We don't use pull requests that much, generally; but since you forked to your account you probably will have to do a pull request
If you don't use pull requests, how are you able to confirm with other contributors that your contribution is a good one before it is set in stone?
If you feel interested Simon can add you as contributor to the project and you can just work in a branch and merge
@SirPython Trust :)
@Phrancis I can't be added yet. I still have to contribute code.
@Phrancis So each contributor has their own branch?
If you would like people to review your code you might still want to create a pull request though (and/or ask in this room)
19:44
That's pretty often the case, yes, as we often don't work on the same thing at the same time
I've never used branches before.
Except for gh-pages.
In what format is information sent to and from the server? JSON?
its serialized to binary
then i believe that is sent as a string
Is there any documentation on it?
@SirPython I think you'll like using branches, it's easier than doing pull requests all the time
And if you have any questions about branches we'll be happy to answer them :)
19:52
here is the serializer, the code is pretty self documenting
20:46
@bazola I have no idea what the plan is for animations. I think there's a gazillion JS frameworks that can deal with that.
all the ones i have messed with have had some kind of canvas or viewport, is why i asked
@Phrancis No, the toString method is not telling you anything pretty much. The messages are sent with JSON, and each field is serialized with the name that the field has as key.
Ah ok
@Phrancis cardshifter-api will not be groovytized. Ever.
@SimonAndréForsberg May I ask of a code design question to you?
20:50
@SirPython you can ask me anything. Not sure what I will reply though, but we will see
Which seems like a better way to send a request: CardshifterServerInterface.send(message) or message.send()? The CardshifterServerInterface can be found here.
@SirPython There are two methods: Either JSON or binary. For this JS client, JSON is definitely the easiest to use for now.
@bazola the ByteTransformer is used for LibGDX, but not for JavaFX. For the JS-client, I think using the JSON approach that JavaFX uses is better.
@SirPython CardshifterServerInterface.send
@SirPython @Phrancis @Lokkij the only existing documentation for the messaging can be found here: github.com/Cardshifter/Cardshifter/wiki/Develop-another-client
@SimonAndréForsberg Alright. Do you think some documentation of the API (at least in the code) would be a good idea?
@Phrancis documentation is often a good idea.
21:09
@SimonAndréForsberg Totally forgot we had that, awesome
I don't know if I would call it "awesome" but... better than nothing at least
@Duga Can someone check this out and give me feedback based on the file layout and API design?
@SirPython personally I'd prefer <form name="login_information">
i.e. less whitespace there
for HTML attributes
Is there a reason some messages use camelCase ("inviteResponse") and some use no casing ("startgame")?
I like the whitespace but less whitespace looks fine too
I'd prefer a more expressive name for the websocket variable currently called ws
21:20
less whitespace for HTML attributes is just my personal preference, and what I believe is the convention, but as I hopefully shouldn't be very involved with this, I let you folks choose
@Lokkij I did not name those. I took those straight from the Cardshifter code.
@SimonAndréForsberg I have no strong feelings one way or the other :P
@Lokkij What would you name it?
webSocket? socket?
Something like that
21:23
Okay.
Cancel the pull request. I'll make the changes needed.
@SirPython oh crap, you're right :(
No don't cancel
@SirPython if you just add commits, the PR will be synced
You can just make the changes and the pull request will update
But yeah, it mostly looks good :D
21:26
@SimonAndréForsberg :)
So what should I do about HTML whitespace?
@SirPython I'll let you, @Lokkij and @Phrancis decide on that.
I'm OK with the whitespace myself. If @Lokkij is OK too, I say we leave it
It doesn't look like anyone has strong feelings one way or the other, so just leaving it as it is seems fine to me
then go with the existing
@Duga Duga! You were a second late!
@Duga @SirPython I think after that change we should be all good to merge
Yes. I was just thinking about how I should go about implementing it.
21:39
<select name = "server" form = "login_information">
    <option>127.0.0.1</option>
    <option>dwarftowers.com</option>
</select>
^^ Would this work OK?
@Phrancis That would work, but what if the user is using a server other than that?
[Zomis/Duga] Zomis pushed commit 712aeafb to grails: removed sending info about successfully saved statistic data.
Emergency BBL. I will work on implementing this when I get back.
@Phrancis I was thinking about having an option in the select for "other", that then shows a text box for entering the other server.
<select name = "server" form = "login_information">
    <option value = "127.0.0.1">Localhost (127.0.0.1)</option>
    <option value = "dwarftowers.com">dwarftowers.com</option>
    <option value = "other">Other (enter below)</option>
</select>
21:42
@SirPython add an (other) option
@Phrancis yes
@SirPython Yeah I thought the same thing too
[Zomis/Duga] build for commit 712aeafb on grails: The Travis CI build passed
@SimonAndréForsberg @bazola I'm not sure that we need anything for graphics that's very animation-intense... I'd be more concerned about something that is good with layering stuff in tables in the GUI, and loading images fast
Animations I would picture at the very most something akin to Hearthstone
And even that is a bit of a stretch, I think we could very well leave out any kind of drag&drop animation mechanics until way way later, if ever
animations "akin to hearthstone" would be very complex and detailed animations
without any animations, the UX will definitely be a lot worse than a UI that did have animations
True
Guess we'll cross that bridge when we get there
WebGL looks cool, but looks a bit overkill (unless we were to do 3D animations)
Let's check out some of these of HTML-Client: 10 Cool JavaScript Drawing and Canvas Libraries
TTQW
22:31
Home
23:18
> This is so far just a thought, that is related to several things. Feedback wanted.

I think the flow should be re-worked a bit

Today:
- You connect and enter the lobby directly
- You can easily switch between which mod to play and which opponent to play
- You create/load a deck when you start the game

My thought is that it should work something like this:
- You connect
- You choose which mod you want to play, that will place you in a lobby specific for that mod (goes hand in hand
> Just a thought that crossed my mind:

In Magic The Gathering, there are different 'formats' you can play with, different cards are legal in different formats. A mod could have different 'modes' (or formats or whatever... naming things...) that could have some difference for the actual game, be it which cards are legal, or whether or not creatures should be healed at end of turn, etc.... example syntax could be:

Creating cards

mode('advanced') {
card('Some Card') {
Hmm. This looks freaking cool... playgroundjs.com
23:33
Seems related in part to canvasquery.com
> I really like the idea a lot! Definitely something to build on. Should we perhaps come up with a use case for one of the mods and see if we can make it work?
> I think that would help personalize the flow better, and perhaps make GUI moddability (and perhaps moddability in a more general sense) better to split up the mods at the very beginning. One caveat, albeit probably for some time in an uncertain future when there are enough players to warrant this, would be that we should probably allow a "general" lobby you can access to see who is online and what mod they are playing, something along those lines.
200_success vs. rolfl: 2782 diff. Year: +2036. Quarter: +2370. Month: +2370. Week: +95. Day: +75.
Mat's Mug vs. Simon André Forsberg: 365 diff. Year: +1255. Quarter: -249. Month: -249. Week: +176. Day: +135.
200_success vs. janos: 15981 diff. Year: -3619. Quarter: -698. Month: -698. Week: -395. Day: -150.
Loki Astari vs. Simon André Forsberg: 2909 diff. Year: -2867. Quarter: -1271. Month: -1271. Week: -6. Day: +35.

« first day (359 days earlier)      last day (3501 days later) »