Unfortunately, revision 102 is not the big network release I'd hoped it would be. I'll talk more about networking after the revision 102 parts. (seperate post)
I fixed a bug that was reported on the Bugs part of the wiki (thanks for whoever added that), Also, while testing my next export for excel stats, I found that loading a deck didn't display in the titlebar, and also requested you to save, even though you didn't change anything. So those are fixed too.
I was playing around with Magic Set Editor, and found their statistics to be pretty cool. So I suggested that they maybe fork that part of the project to create more of their nice statistics. I was told no go. For me... the thing about stats is that it's not so easy to program graphs etc. and I already know an application which is pretty good at it... Excel. So I've created an excel spreadsheet which can handle the stats. And added a function in DA to export the stats to a little text file.
So now, via Excel, you can have Mana Curve + Type graphs, or Color + Type (the two I have in by default)... but it's Excel Pivots... just use the data available. You can analyse however you want. I added a column called "mana source" which looks for "add" and "to your mana pool" to check for mana sources. This might be crude, and could sometimes be wrong, but it's a start. Obviously this will not work so 100% if you're using a non-english database. --- Which is kind of a hole...
Revision 102:
C : Lots of "template" code
C : Split the NetSend and NetReceive codes
Fix : Delete from SB button now deletes from SB and does not add to SB (rev 100 fixed the code).
Fix : On deckopen, the filename is now displayed in the deckeditor.
Fix : Loading a file (in deckeditor) no longer makes it dirty. (doesn't prompt for save if you exit without changes)
F : Export tab delimited data to Excel for deck stats (note, it drops it to the folder where the .exe is installed)
F : Added DeckStats.xls to the installs to help with stats (I made it not use macros, for security)
Labels: Deck Editor, Feature, Networking, Revision
I was contacted today an admin of the people over at http://www.slightlymagic.net to create a forum for DA... Which can now be found at: http://www.slightlymagic.net/forum/viewforum.php?f=49
In addition he told me about this link: http://forums.mtgsalvation.com/showthread.php?t=56796
But for now I will not add DA there, because net play is not featured. Hopefully as I said in the slightlymagic forum... it'll be here "real soon".
Labels: Community, Networking, Promotion
Now that Facebook has changed pages to be like profiles... You can now upload your screenshots onto the Daring Apprentice page. Obviously, you need to be a member, and you must not abuse it with screenshots of yourself! Just screenshots of the game.
My brother is a level 2 judge, and he has used screenshots in a rules questions posed to other judges. So maybe if you want to ask that tricky rules question, or discuss a play situation... Like would you attack here? Or how would you assign blockers?
Enjoy!
Well, this post is all about how I am programming the networks, and hopefully, how I think I am being "smart". Hopefully it doesn't all backfire into my face.
First of all... the way that the server and the client will be "sending" messages will be very, very similar. Thus, if the messages what they send will be similar, so will the messages they receive. The BIG difference comes in how they respond once the message is received.
For instance. The Client will request "DrawCard","Library" (Because I want the commands to look similar I added Library... Library is actually "Implied" with "DrawCard".) Then the server will send a reply "DrawCard","Forest"... In this case the "implied" position (the hand) is not used. So the message sent was the same, but the server will respond differently than the client will...
So what I've done to help me code cleanly, and hopefully smartly, is I've used the Lazarus feature of "including" files. So my generic send code can be used (NetSend.inc) for both the server and the client... both have "command","parameter" sending, it's just that the client is saying "DrawCard","Library", whilst the server is saying "DrawCard","Forest"... but they both use the exact (letter for letter) same code.
Even the receiving (NetReceive.inc) code can be reused, up to the point where the *interpretation* of "DrawCard" needs to happen. That then is seperated into the server's code, and the Client's code.
It does mean though that I'll have some "dead" commands on both sides... like "RequestNewTable"... the Server won't be sending a table request back... It does something else. This is few and far between though, so hopefully not too many dead alleys in my code.
Looking forward to hopefully be able to do some connecting to tables, and talking away soon. (And after that... who knows? Drawing and playing cards!)
Labels: Networking, Programming
If anyone who's using a newish version of DA, can email me a screenshot (where the opponent hand is inside the main window) I'll much appreciate it. Or you can just replace it on the wiki directly.
Thanks!
Labels: Community