<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5540944092213500674</id><updated>2011-11-28T01:49:04.043+02:00</updated><category term='Screenshot'/><category term='Vista'/><category term='Admin'/><category term='Community'/><category term='Revision'/><category term='Feature'/><category term='GLScene'/><category term='Combo Calculator'/><category term='Linux'/><category term='Networking'/><category term='Lazarus'/><category term='Neoshroom'/><category term='Promotion'/><category term='Deck Editor'/><category term='Feedback'/><category term='Search'/><category term='Facebook'/><category term='Pascal'/><category term='Procrastination'/><category term='Programming'/><category term='French'/><title type='text'>Daring Apprentice</title><subtitle type='html'>The 3d Magic: the Gathering tabletop</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-4817463731104315785</id><published>2009-07-01T00:24:00.002+02:00</published><updated>2009-07-01T00:33:49.640+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Procrastination'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Daring Apprentice Git</title><content type='html'>Well... Not much happened in terms of development... but lots have been happening on the Magic front?  Exile... and no more combat damage stacks?&lt;br /&gt;&lt;br /&gt;Well, that's one of those things... we'll see how I go about exile, as it's only cosmetic, but it's nice being able to do cosmetic.&lt;br /&gt;&lt;br /&gt;Anyway, so I am now trying to convert my code to git.  Not just because, but also just because.  I want to learn git, and DA is a good place to learn it on, and networking (with my starting over from scratch the whole time) would work really well with git.&lt;br /&gt;&lt;br /&gt;I'm getting ready for some more coding, but I am hoping to get a wireless network adapter for my PC soon, and this will ease my network coding. I also now have a 2nd pc (laptop) to my disposal which also will make coding easier.&lt;br /&gt;&lt;br /&gt;Unfortunately though July is a new financial year, and quite a lot of prep will have to go into my budget for work.  Hopefully not too long after that, I'll be able to add some code to my brand new (now not existing) git repository.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-4817463731104315785?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/4817463731104315785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=4817463731104315785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4817463731104315785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4817463731104315785'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/07/daring-apprentice-git.html' title='Daring Apprentice Git'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-749405582865198251</id><published>2009-05-06T23:20:00.003+02:00</published><updated>2009-05-06T23:36:02.563+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>More on Networking</title><content type='html'>Ok... So the last commit had some networking code in the release notes, but I have a feeling most of that will be lost.  I have never truly felt comfortable with the solution I had, in terms of elegance and scalability, and network effeciency etc.&lt;br /&gt;&lt;br /&gt;I asked myself, how can I get it right?  Well, I decided I needed to look at as much of other people's network code as I can get.  Unfortunately I've not found a great deal, but I did find Almindor's (the guy who wrote lnet, which I use for networking) &lt;a href="http://lwars.sourceforge.net"&gt;Lentilwars&lt;/a&gt; code.  This has some elegant solutions to some problems I wasn't sure how to get through.  The other piece of code is called &lt;a href="http://www.theo.ch/lazarus/uDataPacker.pas"&gt;DataPacker&lt;/a&gt; - written by Theo Lustenberger, which will be able to compress the data I send (zip), and make it easy for me to incrementally "decipher" the messages that was sent.&lt;br /&gt;&lt;br /&gt;So generally I have hope to get the networking fully going, but for now it's still far off.  I'm trying to get at least 30m of programming in a day.  Obviously some days it'll be more, and others will be less. But 30m of DA focus a day... (even if it's more research).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-749405582865198251?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/749405582865198251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=749405582865198251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/749405582865198251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/749405582865198251'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/05/more-on-networking.html' title='More on Networking'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-5477858277147023142</id><published>2009-05-06T22:53:00.003+02:00</published><updated>2009-05-06T23:12:44.869+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Deck Editor'/><title type='text'>Revision 102</title><content type='html'>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)&lt;br /&gt;&lt;br /&gt;I fixed a bug that was reported on the &lt;a href="http://daringapprentice.wikispaces.com/Bugs"&gt;Bugs&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;I was playing around with &lt;a href="http://magicseteditor.sourceforge.net"&gt;Magic Set Editor&lt;/a&gt;, and found their statistics to be pretty cool.  So I &lt;a href="http://magicseteditor.sourceforge.net/node/235"&gt;suggested&lt;/a&gt; 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 &lt;a href="http://opensvn.csie.org/DaringApprentice/data/DeckStats.xls"&gt;excel spreadsheet&lt;/a&gt; which can handle the stats.  And added a function in DA to export the stats to a little text file.&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;Revision 102:&lt;br /&gt;&lt;br /&gt;C : Lots of "template" code&lt;br /&gt;C : Split the NetSend and NetReceive codes&lt;br /&gt;Fix : Delete from SB button now deletes from SB and does not add to SB (rev 100 fixed the code).&lt;br /&gt;Fix : On deckopen, the filename is now displayed in the deckeditor.&lt;br /&gt;Fix : Loading a file (in deckeditor) no longer makes it dirty. (doesn't prompt for save if you exit without changes)&lt;br /&gt;F : Export tab delimited data to Excel for deck stats  (note, it drops it to the folder where the .exe is installed) &lt;br /&gt;F : Added DeckStats.xls to the installs to help with stats  (I made it not use macros, for security)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-5477858277147023142?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/5477858277147023142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=5477858277147023142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5477858277147023142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5477858277147023142'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/05/revision-102.html' title='Revision 102'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-6520808498845368921</id><published>2009-03-19T23:17:00.003+02:00</published><updated>2009-03-21T11:06:56.031+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Promotion'/><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>DA gets exposed to the wider MTG community</title><content type='html'>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: &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=49"&gt;http://www.slightlymagic.net/forum/viewforum.php?f=49&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In addition he told me about this link: &lt;a href="http://forums.mtgsalvation.com/showthread.php?t=56796"&gt;http://forums.mtgsalvation.com/showthread.php?t=56796&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-6520808498845368921?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/6520808498845368921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=6520808498845368921' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/6520808498845368921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/6520808498845368921'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/03/da-gets-exposed-to-wider-mtg-community.html' title='DA gets exposed to the wider MTG community'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2769369045466529398</id><published>2009-03-13T14:00:00.003+02:00</published><updated>2009-03-13T14:05:14.778+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Promotion'/><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>Facebook for screenshots</title><content type='html'>Now that Facebook has changed pages to be like profiles... You can now upload your screenshots onto the &lt;a href="http://www.facebook.com/pages/Daring-apprentice-the-3d-Magic-the-Gathering-tabletop/30976871973?ref=mf"&gt;Daring Apprentice page&lt;/a&gt;.  Obviously, you need to be a member, and you must not abuse it with screenshots of yourself!  Just screenshots of the game.&lt;br /&gt;&lt;br /&gt;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?&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2769369045466529398?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2769369045466529398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2769369045466529398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2769369045466529398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2769369045466529398'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/03/facebook-for-screenshots.html' title='Facebook for screenshots'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-8408075531385602375</id><published>2009-03-12T14:03:00.003+02:00</published><updated>2009-03-12T14:28:24.456+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Network Programming code reuse</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-8408075531385602375?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/8408075531385602375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=8408075531385602375' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8408075531385602375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8408075531385602375'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/03/network-programming-code-reuse.html' title='Network Programming code reuse'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-730226939700036824</id><published>2009-03-02T17:19:00.002+02:00</published><updated>2009-03-02T17:21:29.287+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>New screenshot for wiki</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-730226939700036824?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/730226939700036824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=730226939700036824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/730226939700036824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/730226939700036824'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/03/new-screenshot-for-wiki.html' title='New screenshot for wiki'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-3664675972033710457</id><published>2009-02-24T13:10:00.003+02:00</published><updated>2009-02-24T13:19:58.999+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>You knew it... Feb's not gonna make it</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;I want to apologize that February is (likely) not going to make it.  However I am going through all the code at the moment and noticing where I can improve.  So in a lot of instances it's a rewrite (well, not complete) of the existing code. It is because the old code was geared at getting single player working, but now I need slightly more abstract code to deal with multi player and single player.&lt;br /&gt;&lt;br /&gt;For instance, as it is at the moment, creating a token, and playing a card doesn't use any of the same code (it's pretty much copied and pasted and then modified).  However for internet play, it would be much cleaner if I could just have&lt;br /&gt;"Playcard('Atog',X,Y,Facing)"&lt;br /&gt;and&lt;br /&gt;"Playcard('Saproling token',X,Y,Facing)"  (the problem is that DA doesn't "know" Saproling token, but it knows Atog).&lt;br /&gt;&lt;br /&gt;But that's not how it works at the moment... and that's the type of thing I need to fix. Basically playing a token will tell DA (not forever, just for now) that Saproling token, is a 1/1 green card with the name "Saproling token".&lt;br /&gt;&lt;br /&gt;So far I've therefor implemented the "hand" actions, and looked through the "zone" actions, but they all indirectly reference stuff that falls in the "in-play" actions, where I've not yet got.&lt;br /&gt;&lt;br /&gt;I am not going to put a target date down (again), but know that I am working on DA almost daily at the moment, so we'll be getting there sooner rather than later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-3664675972033710457?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/3664675972033710457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=3664675972033710457' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3664675972033710457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3664675972033710457'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/02/you-knew-it-febs-not-gonna-make-it.html' title='You knew it... Feb&apos;s not gonna make it'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-4613287635348528803</id><published>2009-02-17T18:33:00.003+02:00</published><updated>2009-02-17T18:38:26.307+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Revision 101</title><content type='html'>This is a revision has some fixes, shows some of the work on the networking, but also, includes a Conflux patch. Hopefully it works great, and everything is hunky-dorey!&lt;br /&gt;&lt;br /&gt;Let me know if any bugs came out of this revision.&lt;br /&gt;&lt;br /&gt;Revision 101:&lt;br /&gt;F : Multiple users on one installation is supported now (different settings per user) - to be tested on linux&lt;br /&gt;F : A pointer is added for multiplayer games (not visible in single player) to point at blockers etc.&lt;br /&gt;Fix : You can now shift cards up and down when viewing a zone.&lt;br /&gt;Fix : Searching for "Gold" and not "exclude unselected colors" will find all the gold cards&lt;br /&gt;F : Added an application icon.&lt;br /&gt;C : Send messages of the whole "hand" window, excl life actions.&lt;br /&gt;M : Conflux is now included.  PLEASE TEST, as I do not supply it.  Let me know if there is funnies!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-4613287635348528803?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/4613287635348528803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=4613287635348528803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4613287635348528803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4613287635348528803'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/02/revision-101.html' title='Revision 101'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2854223842161237256</id><published>2009-02-16T07:00:00.002+02:00</published><updated>2009-02-16T07:29:46.341+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Working on networking</title><content type='html'>I was on the #Lazarus-ide channel on the Freenode server the other day, talking about open source projects and so forth.  Some of the other people commented that in terms of open source, it's usually not the "best" programmers that can pull off the marvels of open source, but the most dedicated.&lt;br /&gt;&lt;br /&gt;With that I realised that the networking is probably not that hard, I should just start.  So really good news is that I've been busy!  Nothing that will affect the users much at the moment, but in time, everything will slot together nicely.&lt;br /&gt;&lt;br /&gt;My strategy for tackling this task is to do all the "sending" code first, and then follow with the receiving code (which I think will be harder, but if the sending is finalized, the receiving should be much easier).&lt;br /&gt;&lt;br /&gt;My progress so far:&lt;br /&gt;* I've added building blocks for sending code (which will probably be reused in the server).&lt;br /&gt;* I've implemented most of the sending of actions in the "hand"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2854223842161237256?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2854223842161237256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2854223842161237256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2854223842161237256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2854223842161237256'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/02/working-on-networking.html' title='Working on networking'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-7968529962124494602</id><published>2009-02-16T06:53:00.002+02:00</published><updated>2009-02-16T07:00:22.391+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='French'/><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>French page launched!</title><content type='html'>http://daringapprentice-fr.wikispaces.com has been launched!&lt;br /&gt;&lt;br /&gt;I am very excited, and it's really a sign of a growing community!&lt;br /&gt;&lt;br /&gt;As a side note, revision 100 was released (ages ago) as a bugfix release.  Although there were still quite a few bugs left, which will be addressed in 101.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-7968529962124494602?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/7968529962124494602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=7968529962124494602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7968529962124494602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7968529962124494602'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/02/french-page-launched.html' title='French page launched!'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-8457259145501033293</id><published>2009-01-29T23:46:00.002+02:00</published><updated>2009-01-29T23:56:48.485+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Got some coding again...</title><content type='html'>I haven't done much, but I fired it all up again, and I'll be going through each procedure with my "network" hat on... changing important bits, and adding the "if soloplay then ... else ... NETWORK CODE!" :-)&lt;br /&gt;&lt;br /&gt;Anyway, so I'll check when and where I can do some programming, and after 10 Feb I'll be able to go on with a lot more time than I have at the moment.&lt;br /&gt;&lt;br /&gt;I'll be preparing the client first, and then write the connection and the server code... so there'll be new revisions with really almost nothing new.&lt;br /&gt;&lt;br /&gt;Although I am working on the pointer that will be visible for both players... which should be added to the one of the next revisions. You'll probably not be able to use it, as for solo it's pretty useless.&lt;br /&gt;&lt;br /&gt;So not *too* much longer hopefully. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-8457259145501033293?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/8457259145501033293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=8457259145501033293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8457259145501033293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8457259145501033293'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2009/01/got-some-coding-again.html' title='Got some coding again...'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-588470181604141292</id><published>2008-12-24T21:36:00.002+02:00</published><updated>2008-12-24T21:47:53.084+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 99</title><content type='html'>This is a very big revision with regards to the previous ones.&lt;br /&gt;&lt;br /&gt;Before I can jump into networking, I had to do a couple of BIG changes, but then while I'm at it, make other changes too.  &lt;br /&gt;&lt;br /&gt;* Get card movements to be "teleporting" rather than continuous movements. (Less network traffic)&lt;br /&gt;* Creating windows for each zone.&lt;br /&gt;* Moved the "hardcoded" player1 hand to the same interface and methods that player2's did.&lt;br /&gt;&lt;br /&gt;Revision 99 sees several new features, and changes, so please report bugs as you find them.&lt;br /&gt;&lt;br /&gt;Revision 99:&lt;br /&gt;Fix : (WAY OLD bug, see ref 63) Up and down on the deckeditor now keeps selected item selected (though focus is still not done)&lt;br /&gt;F : Desideboarding for soloplay&lt;br /&gt;F : There is now a window for each zone (per player)&lt;br /&gt;U : Power/Toughness (to/from) searching has been made more descriptive (labels added)&lt;br /&gt;U : Moving cards are now not "continuous", but are done via a "transparent" block, that shows you where is legal spots&lt;br /&gt;Fix : Attaching onto player 2's cards doesn't invert the movements(for singleplayer)&lt;br /&gt;U : Table is bigger, though effectively only "wider", decks and SB and zones have moved wider&lt;br /&gt;MU : Misc User Interface changes (column widths in SB, Opponent hand etc.)&lt;br /&gt;U : Playing cards Facedown from a zone is now easier (and from the "public zones" (graveyard/RFG) it'll display which card is played facedown)&lt;br /&gt;U : Random discards now says that it was random.&lt;br /&gt;Fix : Clicking "New" in the deckeditor, names the deck Untitled, and will now save as when clicking save&lt;br /&gt;U : Loading a deck for player1, should select player1's old deck by default, and player2, should select player2's by default.&lt;br /&gt;Fix : While creating tokens, tab will now stop at the P/T too.&lt;br /&gt;U : Attaching works differently now!  Unattaching with multiple attachments doesn't work 100%&lt;br /&gt;Fix : Attacking with attached cards works as intended at the moment&lt;br /&gt;U : RMGZone is no longer private, and cards are "public", so textures are displayed&lt;br /&gt;    (cards that are removed from the game facedown, should be flipped, or played facedown)&lt;br /&gt;Fix : Searching for Gold - Mono cards, filtered out the genuine gold cards&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-588470181604141292?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/588470181604141292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=588470181604141292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/588470181604141292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/588470181604141292'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/12/revision-99.html' title='Revision 99'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-1297522155237760395</id><published>2008-12-16T11:02:00.003+02:00</published><updated>2008-12-16T11:07:55.625+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lazarus'/><category scheme='http://www.blogger.com/atom/ns#' term='Promotion'/><title type='text'>Most read New Product Announcement on Lazarus page...</title><content type='html'>The first announcement of Daring Apprentice on the Lazarus home page, is the &lt;span style="font-weight:bold;"&gt;most read&lt;/span&gt; new product announcement. See &lt;a href="http://www.lazarus.freepascal.org/modules.php?op=modload&amp;name=News&amp;file=article&amp;sid=217"&gt;here&lt;/a&gt; for the announcement (made quite a while back!).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wCTHdBsJDLQ/SUdvhfx-ZCI/AAAAAAAAAK8/709a-39mrqU/s1600-h/DA.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 247px; height: 255px;" src="http://1.bp.blogspot.com/_wCTHdBsJDLQ/SUdvhfx-ZCI/AAAAAAAAAK8/709a-39mrqU/s400/DA.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280311709372671010" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-1297522155237760395?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/1297522155237760395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=1297522155237760395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/1297522155237760395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/1297522155237760395'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/12/most-read-new-product-announcement-on.html' title='Most read New Product Announcement on Lazarus page...'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wCTHdBsJDLQ/SUdvhfx-ZCI/AAAAAAAAAK8/709a-39mrqU/s72-c/DA.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-7018878084792231119</id><published>2008-12-02T20:10:00.002+02:00</published><updated>2008-12-02T20:21:15.621+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Feedback'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>DA gains popularity</title><content type='html'>A guy in a french magic community gave me this in an email:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I testing your software since yesterday and I think I never come back to apprentice because your's is better.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;That's really awesome feedback for a developer. &lt;span style="font-weight:bold;"&gt;Thank you!&lt;/span&gt;  I truly appreciate your comments!&lt;br /&gt;&lt;br /&gt;Well... My dream of finishing netplay by 1 Jan 2009 looks highly unlikely, as I have only a month...  But I *AM* going to give it a decent amount of attention this holidays, and hopefully fairly soon in 2009 we'll be able to play the full game.&lt;br /&gt;&lt;br /&gt;In terms of Magic I haven't played in ages, and the South African scene is somewhat dying, partly because of the world economy, and partly because of our local economy, and partly due to Hasbro/Wizards running it like a business (which I cannot point any fingers to, but the 3rd world countries feel the impact of your higher level choices!)&lt;br /&gt;&lt;br /&gt;But I am committed to the software, and hopefully we'll soon have some tournaments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-7018878084792231119?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/7018878084792231119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=7018878084792231119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7018878084792231119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7018878084792231119'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/12/da-gains-popularity.html' title='DA gains popularity'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-5437113866749066278</id><published>2008-10-19T08:13:00.002+02:00</published><updated>2008-10-19T08:20:55.925+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GLScene'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Lazarus'/><title type='text'>Lazarus 0.9.26 is released</title><content type='html'>So that means only 2.33 months left to program the game into alpha testing for net play.  (I've told some of the people who follow the game that I want to be able to have it playable by the end of 2008) Oooh... I am putting pressure on myself.  But it's a good thing. &lt;br /&gt;&lt;br /&gt;Anyway, at the moment, with the new compiler, DA for linux is not even getting to the main screen.  So my first priority is to get that working again.  Also on linux Lazarus default development widgetset is gtk2, which will give me a sexier interface than gtk1, but that might be the blame for the non-starting too.&lt;br /&gt;&lt;br /&gt;On windows my SVN lazarus (I am going to continue to use lazarus SVN now, as well as glscene SVN) is not rebuilding yet.  It is because the compiler is trying to recompile stuff where he only needs to look at the .ppu files.  Anyway, so I have some groundwork to be done to actually get it working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-5437113866749066278?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/5437113866749066278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=5437113866749066278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5437113866749066278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5437113866749066278'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/10/lazarus-0926-is-released.html' title='Lazarus 0.9.26 is released'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2290330608394883296</id><published>2008-10-06T23:58:00.007+02:00</published><updated>2008-10-07T17:55:21.353+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Pascal'/><category scheme='http://www.blogger.com/atom/ns#' term='Deck Editor'/><category scheme='http://www.blogger.com/atom/ns#' term='Combo Calculator'/><title type='text'>Advanced deck editor features planned</title><content type='html'>On my wishlist for the deckeditor is the same ol', same ol' mana curve.  Hopefully making it look pretty with GLScene, and some cool stacked graphs etc.  Anyway... another is to incorporate my &lt;a href="http://daringapprentice.wikispaces.com/file/detail/MagicProbability.xls"&gt;Excel "combo" calculator&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For this however, I had to implement the Hyper Geometric Distribution in pascal... I read the &lt;a href="http://en.wikipedia.org/wiki/Hypergeometric_distribution"&gt;wikipedia&lt;/a&gt; article... My statistics are a little bit rusty, and I was really struggling.  However, I followed the external links, to &lt;a href="http://www.nerdbucket.com/statistics/hypergeometric/"&gt;nerdbucket&lt;/a&gt;.  He has an implementation for C++ as well as one for Ruby.  But what *really* interested me, was the &lt;a href="http://www.nerdbucket.com/statistics/hypergeometric/hypergeometric_biomedical_fisher_exact_test.php"&gt;exponent / ln mathematics&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This enabled me to create a decent implementation of Hyper Geometric Distribution for Pascal... and here it follows:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Function lnFactorial(N:Integer):Double;&lt;br /&gt;var i : integer;&lt;br /&gt;aValue : double;&lt;br /&gt;begin&lt;br /&gt;  if N = 0 then begin result := 1; exit; end;&lt;br /&gt;  aValue := 0;&lt;br /&gt;  for i := 1 to N do&lt;br /&gt;    aValue := aValue + ln(i);&lt;br /&gt;  Result := aValue;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function BinomialCoef(n,k:integer):double;&lt;br /&gt;var aValue : double;&lt;br /&gt;begin&lt;br /&gt;  aValue := exp(lnFactorial(n) - (lnFactorial(k) + lnFactorial(n-k)));&lt;br /&gt;  BinomialCoef:=aValue;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;Function HypGeomDist(RequiredHits, PopulationSize, Targets, Attempts:integer):double;&lt;br /&gt;begin&lt;br /&gt;Result :=&lt;br /&gt;  BinomialCoef&lt;br /&gt;    (Targets,RequiredHits)&lt;br /&gt;  *&lt;br /&gt;  BinomialCoef&lt;br /&gt;    (PopulationSize-Targets,Attempts - RequiredHits)&lt;br /&gt;  /&lt;br /&gt;  BinomialCoef&lt;br /&gt;    (PopulationSize,Attempts);&lt;br /&gt;end;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Please consider the code as public domain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2290330608394883296?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2290330608394883296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2290330608394883296' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2290330608394883296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2290330608394883296'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/10/advanced-deck-editor-features-planned.html' title='Advanced deck editor features planned'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2304935646990258507</id><published>2008-09-18T13:32:00.004+02:00</published><updated>2008-09-18T13:58:51.434+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Deck Editor'/><title type='text'>Deck Editor's search improves further!</title><content type='html'>For the next revision (still to come out - will release when 0.9.26 is done)  searching on colors for the deck editor has been improved.&lt;br /&gt;&lt;br /&gt;Previously if you selected "White, Green, Gold, Mono-colored", then the mono-colored would take preference above Gold, and you would only find Mono-White and Mono-Green cards.  Now, mono-colored and gold work together.  This means, searching for "White, Green, Gold, Mono-colored" will return Mono-White cards, Mono-Green cards, and gold cards that are ONLY green and white.  Another change, sees that it also adds all Hybrid-White, and Hybrid-Green cards to it.  It assumes that any hybrid card can cast that as a "mono" color. (PLEASE let me know if this is not true!)&lt;br /&gt;&lt;br /&gt;So as for color searching in Daring Apprentice... the only thing that remains are for understanding split cards... (ie. finding Fire/Ice on a mono-blue, or mono-red search).&lt;br /&gt;&lt;br /&gt;At the moment it understands it as a gold card with colors Blue and Red.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2304935646990258507?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2304935646990258507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2304935646990258507' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2304935646990258507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2304935646990258507'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/09/deck-editors-search-improves-further.html' title='Deck Editor&apos;s search improves further!'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-949760183303979988</id><published>2008-09-10T17:29:00.003+02:00</published><updated>2008-09-10T17:35:52.984+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Lazarus'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Lazarus 0.9.26 is coming</title><content type='html'>I hate to use this as my excuse, but it really is my main motivator (demotivator?) that I am not continuing at the moment...&lt;br /&gt;&lt;br /&gt;Lazarus 0.9.26 is a week or two away, and I'll be getting it when it's hot to start developing Daring Apprentice 0.9.26... (or whatever I'll call the first "release").&lt;br /&gt;&lt;br /&gt;I am fairly happy with the way the design of the network play is going now... except for the decks... at first I wanted the server to keep track of the decks, but now I think I'll only let the tournament server do that... You don't want the player in the 1-on-1 game to know your deck just because he's the server.&lt;br /&gt;&lt;br /&gt;For the tournament server, you'll need to log in and select your deck from your own little profile thingy on the server.  (Which you uploaded)&lt;br /&gt;&lt;br /&gt;Although I still don't mind the idea that you can get the other guy's deck if you want it... But functionality must be very limited as it is probably a vulnerability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-949760183303979988?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/949760183303979988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=949760183303979988' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/949760183303979988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/949760183303979988'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/09/lazarus-0926-is-coming.html' title='Lazarus 0.9.26 is coming'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-3249602514884714970</id><published>2008-08-29T13:45:00.004+02:00</published><updated>2008-08-29T13:55:39.688+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neoshroom'/><title type='text'>Neoshroom contacted me</title><content type='html'>Neoshroom (Ryan Davis) who was one of the original authors and maintainers of Apprentice has contacted me.  He basically said that the project is neat, and he's glad I kept references to Apprentice.&lt;br /&gt;&lt;br /&gt;I'll be hopefully getting some input from him here and there, and this really encourages me to keep at the networking until we have a version 1.0 on the table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-3249602514884714970?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/3249602514884714970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=3249602514884714970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3249602514884714970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3249602514884714970'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/neoshroom-contacted-me.html' title='Neoshroom contacted me'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-6450059307980104380</id><published>2008-08-22T13:40:00.003+02:00</published><updated>2008-08-22T13:44:17.513+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Screenshot'/><title type='text'>Linux Screenshot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wCTHdBsJDLQ/SK6l11D4yuI/AAAAAAAAAHc/mDA0tBZ2TTY/s1600-h/linuxScreenshot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_wCTHdBsJDLQ/SK6l11D4yuI/AAAAAAAAAHc/mDA0tBZ2TTY/s400/linuxScreenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5237305760873499362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A screenshot of how the linux version looks.  It's not as pretty, and apparently it doesn't work on a lot of PCs... but it's a start.  Linux are definitely going to be supported, but I am not a guru, so bare with me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-6450059307980104380?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/6450059307980104380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=6450059307980104380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/6450059307980104380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/6450059307980104380'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/screenshot-of-how-linux-version-looks.html' title='Linux Screenshot'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wCTHdBsJDLQ/SK6l11D4yuI/AAAAAAAAAHc/mDA0tBZ2TTY/s72-c/linuxScreenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-5690992528423625885</id><published>2008-08-17T11:39:00.003+02:00</published><updated>2009-03-13T14:05:48.173+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>Become a fan on facebook!</title><content type='html'>I've created a Daring Apprentice &lt;a href="http://www.facebook.com/pages/Daring-apprentice-the-3d-Mtg-tabletop/30976871973"&gt;page&lt;/a&gt; on facebook.  Become a fan, and spread the word.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-5690992528423625885?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/5690992528423625885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=5690992528423625885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5690992528423625885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5690992528423625885'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/become-fan-on-facebook.html' title='Become a fan on facebook!'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2395392436084748224</id><published>2008-08-15T15:29:00.000+02:00</published><updated>2008-09-18T14:15:34.572+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 95: Linux! and help for windows users</title><content type='html'>Well, this revision started actually as a bugfix for what the new P2 docking broke, but grew into some other changes too.  Crossbuilder updated GLscene so that I can now output the card's names etc. to "canvas".  This prompted quite a bit of work into the linux binary, which is now pretty much as playable as the windows one.&lt;br /&gt;&lt;br /&gt;I do not know what is the requirements for the linux binary, but it's compiled as a GTK1 widgetset, so I assume you'll need that.&lt;br /&gt;&lt;br /&gt;I also hung around quite a bit on #lazarus-ide@irc.freenode.net (IRC Channel) and found out how to launch a browser process in WinXP.  So now windows users will be able to view the local help (or go to the website / helpsite) from the help menu. To be tested in Vista of course, and other versions of windows too.&lt;br /&gt;&lt;br /&gt;Revision 95:&lt;br /&gt;Fix : Messages should only report the cardname on a random discard, not the casting cost as well&lt;br /&gt;Fix : When closing the application, the docked hand must be undocked first, to prevent a crash&lt;br /&gt;M : About box now has an added tab&lt;br /&gt;M : Camera changes will always wait 1 second before saving now (giving you smoother changes)&lt;br /&gt;F : For linux: Card names and all other texts are now drawn too (does not use GLSpaceText)&lt;br /&gt;F : For windows: Help files can now be opened from the help menu&lt;br /&gt;M : New linux binary uploaded&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2395392436084748224?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2395392436084748224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2395392436084748224' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2395392436084748224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2395392436084748224'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/revision-95-linux-and-help-for-windows.html' title='Revision 95: Linux! and help for windows users'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-1971097848949102217</id><published>2008-08-13T14:43:00.001+02:00</published><updated>2008-09-18T14:15:34.573+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><category scheme='http://www.blogger.com/atom/ns#' term='Screenshot'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Revision 92 - 94: Randomly discard the Top angle</title><content type='html'>For this revision, I've added a very cool feature - tilting the camera - and I enabled the docking of the player 2 hand (at the moment it is not optional).  The draw card functionality etc. has now shifted a little in the user interface, so that the opponent hand and the player hand works the same way.  I've added a screenshot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wCTHdBsJDLQ/SKLYQ7-eT_I/AAAAAAAAAGY/jOyIk2kOjgY/s1600-h/DA_screenshot-TopView.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_wCTHdBsJDLQ/SKLYQ7-eT_I/AAAAAAAAAGY/jOyIk2kOjgY/s400/DA_screenshot-TopView.png" alt="" id="BLOGGER_PHOTO_ID_5233983502447169522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the background I've been working on my test application for networking code, and I made great progress last night.  As soon as I have a prototype, I'll post more on it here.  You can have a look at the concept &lt;a href="http://daringapprentice.wikispaces.com/TestLnetApp"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Revision 94:&lt;br /&gt;UF : Player2's hand now docks.  (This may change for network!)&lt;br /&gt;F : Random Discard implemented&lt;br /&gt;F : You can now change the angle of the camera as well&lt;br /&gt;M : Found the textures readme again&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-1971097848949102217?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/1971097848949102217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=1971097848949102217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/1971097848949102217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/1971097848949102217'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/revision-92-94-randomly-discard-top.html' title='Revision 92 - 94: Randomly discard the Top angle'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wCTHdBsJDLQ/SKLYQ7-eT_I/AAAAAAAAAGY/jOyIk2kOjgY/s72-c/DA_screenshot-TopView.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-2606390731191018921</id><published>2008-08-04T16:53:00.001+02:00</published><updated>2008-08-18T00:13:22.736+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 91: Sorting fixed</title><content type='html'>For me, the most important is that the Quicksort works properly now.  Thanks to the guys over at: http://sandbox.mc.edu/~bennet/cs404/doc/qsort_pas.html.&lt;br /&gt;&lt;br /&gt;I do not believe that the source is copyrighted, but I am mailing him this moment to find out.&lt;br /&gt;&lt;br /&gt;Revision 91:&lt;br /&gt;&lt;br /&gt;F : You can now set the cards in play's fontsize (default is 7)&lt;br /&gt;M : Updated the documentation&lt;br /&gt;Fix : Shuffle from library right click was broken&lt;br /&gt;Fix : Quicksort of the database works now&lt;br /&gt;Fix : Attacking with a tapped creature does not tap it another 90 degrees anymore&lt;br /&gt;Fix : The very last card is now found in the database.&lt;br /&gt;M : Added a separate project file for linux&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-2606390731191018921?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/2606390731191018921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=2606390731191018921' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2606390731191018921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/2606390731191018921'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/08/revision-91-sorting-fixed.html' title='Revision 91: Sorting fixed'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-8134467881666456333</id><published>2008-07-31T16:40:00.000+02:00</published><updated>2008-07-31T16:55:17.173+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Admin'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 80 - 86</title><content type='html'>I have still to work on the network again, but I've now introduced a couple of new things:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SVN is rearranged.  Now boasts a "data" part, to make it easier for developers to get the sources and the data (separately).&lt;/li&gt;&lt;li&gt;SVN also now features a "Binaries" folder, in which you'll find only the .exes and the (what I call) .linux executables.&lt;/li&gt;&lt;li&gt;Zooming can now be done (as is standard with most 3d applications, and even some 2d applications like excel) via Ctrl-MouseWheelUp and Down.&lt;/li&gt;&lt;li&gt;A new eventide patch is added (one that is a little less buggy).&lt;/li&gt;&lt;li&gt;The application will now create 2 text files.  One is for debug information (debug.txt) and the other one is for playing output and logging.  (Output.txt)&lt;/li&gt;&lt;/ul&gt;That's it.  Again... I am hoping to get the networking part going, but development is pretty much at a halt at the moment (busy at work stuff).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-8134467881666456333?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/8134467881666456333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=8134467881666456333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8134467881666456333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/8134467881666456333'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/07/new-revision.html' title='Revision 80 - 86'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-5279660487744180341</id><published>2008-07-04T08:38:00.000+02:00</published><updated>2008-07-04T08:41:50.099+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GLScene'/><title type='text'>GLScene TextOut</title><content type='html'>If someone can figure out a better way of displaying card's names, I'll be SO glad to hear.  I don't want to have the cadencer running the whole time, as well as the fact that it doesn't work on linux at all (and not on Windows at the moment).&lt;br /&gt;&lt;br /&gt;I've thought about adding a sprite above the card (ala Quake3 when you pummel someone) but I fear that it will get smaller the further away you move the card, as well as get some anti-aliasing done onto it, so it won't be so legible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-5279660487744180341?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/5279660487744180341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=5279660487744180341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5279660487744180341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/5279660487744180341'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/07/glscene-textout.html' title='GLScene TextOut'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-729204441970969565</id><published>2008-07-03T18:35:00.000+02:00</published><updated>2008-07-03T19:08:18.830+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>How to make the network work</title><content type='html'>Network play to me is really hard to program.  I'll explain my design for now, and if anyone would like to comment, please do.  I need help on this... even if just the implementation.&lt;br /&gt;&lt;br /&gt;If I ever want to make money out of this... I'll need to have a really spiffy server going, and basically create a "single user" server (run one game on it) and a multi user server, that can organise a whole tournament, with timeouts, player assignments, breaks, reports on the "meta game" etc.  I can envision truly huge amounts of work and beautiful things there...  And then sell this... dunno if I'll sell the application itself... that just sucks, but maybe ask a fee per player per tournament... something like $0.01 per player per tournament, payable everytime it gets to $100.&lt;br /&gt;&lt;br /&gt;A nyway... Back to the network program... Server driven it will have to be... You'll not be able to do anything (including moving a card) before "asking" the server first.&lt;br /&gt;&lt;br /&gt;So you click to draw a card... the client (DA) "asks" the server can you draw a card.  The server will then answer "Yes: Card ='Wrath of God'" or "No" or "No more cards, you lose".  (Though the server won't do anything once you've lost... for a tournament both players will need to "sign" the result slip.)&lt;br /&gt;&lt;br /&gt;The same for moving the card... and here's why... what if your opponent moved the card too?  The server will then decide (first come first serve) to move the card.  Admittedly though you'll only be able to move the card while you're the owner, but still, you'll be asking first, and then receiving the movement back, and only then will your card move.&lt;br /&gt;&lt;br /&gt;For this to work, you'll need a "local" card which is basically a new card created as you start to move your current card, and then as you lift your mouse, it requests the server to move the card... if the opponent hasn't moved it, the card then jumps (on both players' screens) to the new place.  Hopefully connection speed won't be an issue.&lt;br /&gt;&lt;br /&gt;So what's next... well, I guess to create a test application of where you move click and move and object, (locally) which will then ask permission to move another object.  3 Objects total... (actually 5) 1+1 local, 1 server, 1+1 opponent.  So 1 is a representation of the server position, and the other one is your "request" object.  Maybe I can create a small two player game doing this excersize.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-729204441970969565?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/729204441970969565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=729204441970969565' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/729204441970969565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/729204441970969565'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/07/how-to-make-network-work.html' title='How to make the network work'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-4865760465337577968</id><published>2008-07-03T18:18:00.000+02:00</published><updated>2008-09-18T14:15:34.573+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 79: Attaching is working</title><content type='html'>Basically the only change is that I implemented Attaching.  And it works (the first card selected is the "base" card) - Please test multiple attachments (ie. 1 Creature with Jitte and Moldervine cloak), as well as nested attachments (1 Creature with Jitte, with Faith's fetters on Jitte) for me, as I am not much of a tester.&lt;br /&gt;&lt;br /&gt;The story of how I figured it out is interesting:&lt;br /&gt;&lt;br /&gt;I figured out how to do it while I was - as it often happens - trying to explain to someone else what I want to do, and trying to understand why it didn't work.&lt;br /&gt;&lt;br /&gt;Initially when I implemented attaching... The card would lie very nicely next to his mate... but then, when I tap it, the attached card would also tap... Which is how many players play... but it is wrong.  So what I had was "inherited everything" what I wanted was "Inherited position", but not roll, or pitch etc.&lt;br /&gt;&lt;br /&gt;Or the way I explained it... I want to have two mouse wheels, able to turn independantly, connected with a pipe... not a mouse wheel, with one long spoke with another mousewheel attached to it.&lt;br /&gt;&lt;br /&gt;So all I did effectively... was to create an imaginary box above the "main" card, and then when you move the main card, you instead move the box above it, and both the children cards (the main card, and the attachee) are then also move.  You can at the moment move the child card independantly - which is the way I wanted it initially.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-4865760465337577968?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/4865760465337577968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=4865760465337577968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4865760465337577968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/4865760465337577968'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/07/revision-79-attaching-is-working.html' title='Revision 79: Attaching is working'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-3402060585577082116</id><published>2008-06-30T09:34:00.000+02:00</published><updated>2008-07-03T19:08:11.629+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Revision'/><title type='text'>Revision 78</title><content type='html'>Revision 78:&lt;br /&gt;Just uploaded the install files as well&lt;br /&gt;&lt;br /&gt;Revision 77:&lt;br /&gt;F : Attaching is implemented.  But beware, the tapping doesn't work properly...&lt;br /&gt;Fix : Converted Mana cost is fixed&lt;br /&gt;Fix : Sorting bug was fixed (was always there, but databases were sorted already previously)&lt;br /&gt;Update: Database updated up to Shadowmoore&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-3402060585577082116?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/3402060585577082116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=3402060585577082116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3402060585577082116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/3402060585577082116'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/06/revision-78.html' title='Revision 78'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5540944092213500674.post-7529101048085603759</id><published>2008-04-22T17:16:00.000+02:00</published><updated>2008-07-03T19:08:33.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Admin'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Moved blogs</title><content type='html'>I realised now that I really need more than one blog... So this is for my Daring Apprentice programming (which coincidently hasn't been happening recently), whilst my other blog is for my own thoughts and things.&lt;br /&gt;&lt;br /&gt;So back to DA.  My problem is at the moment that I do not believe in the networking system that I am writing at the moment.  So I'll be back to the drawing board, as well as writing a "demo" program to first see how I want to do it.  Once that is done, it should be fairly easy to implement into DA.&lt;br /&gt;&lt;br /&gt;That's news... I'll keep you posted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5540944092213500674-7529101048085603759?l=daringapprentice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://daringapprentice.blogspot.com/feeds/7529101048085603759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5540944092213500674&amp;postID=7529101048085603759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7529101048085603759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5540944092213500674/posts/default/7529101048085603759'/><link rel='alternate' type='text/html' href='http://daringapprentice.blogspot.com/2008/04/moved-blogs.html' title='Moved blogs'/><author><name>Reenen</name><uri>http://www.blogger.com/profile/01695840218080049439</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
