tag:blogger.com,1999:blog-6425189675763478777.post8150054560444859863..comments2011-10-20T18:33:30.917-07:00Comments on The Sharpening: Write the program for meHellfishhttp://www.blogger.com/profile/16234004537393923817noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-6425189675763478777.post-19881198367282262762011-10-20T18:33:30.917-07:002011-10-20T18:33:30.917-07:00Incantus uses raw Python code for cards, stored in...Incantus uses raw Python code for cards, stored in the data/cards directory, allowing the full power of Python to be applied to every effect. Like you, we ran into the problem that this allows theoretically malicious code (perhaps humorously implemented as an actual mechanic... "T, Sacrifice ~: Destroy target player's harddrive.") to be executed. Theoretically, Python can be sandboxed, but Incantus told me that such implementations are imperfect at best and that there's always a way around them, so in the end we just shrugged and decided that Incantus's audience was so small, and cards can only be executed if you put them in your cards folder yourself, so the odds of it becoming a problem in the short term were virtually nil. Of course, eventually it was hoped that the UI would be moved to a different language, for maximum graphical capability, and it could simply use a special Python version that wouldn't allow file access, thereby preventing malicious code from running. Maybe we'll see that sometime in 2020...MageKing17https://www.blogger.com/profile/00986934043075766046noreply@blogger.comtag:blogger.com,1999:blog-6425189675763478777.post-48214399583503335122011-09-04T06:09:10.615-07:002011-09-04T06:09:10.615-07:00Forge does a damn fine job of implementing the rul...Forge does a damn fine job of implementing the rules, largely thanks to it's flexibility from the start. What I'm trying to do currently (I just haven't written much about it) is to implement an infrastructure that will match or hopefully even surpass that flexibility.<br /><br />Oh, and I think we're above 50% now, it's just that the missing pieces are rather big ones (Damage Redirection,Part of the Layer System and such) ^^ Thanks for the comments!Hellfishhttps://www.blogger.com/profile/16234004537393923817noreply@blogger.comtag:blogger.com,1999:blog-6425189675763478777.post-88670525305991113722011-08-26T08:55:18.095-07:002011-08-26T08:55:18.095-07:00I know you are trying to implement 100% of the rul...I know you are trying to implement 100% of the rules but the rules are revised every time Wizards releases another set. So implementing 100% of the rules is hard because they keep changing. If the rules never changed then that would be a different story.<br /><br />Forge does pretty good and it only implements 50% or less of the complete rules.Forgehttps://www.blogger.com/profile/15838286606081721333noreply@blogger.comtag:blogger.com,1999:blog-6425189675763478777.post-72498355111686444432011-08-26T08:51:54.523-07:002011-08-26T08:51:54.523-07:00When writing free software, you are you own best a...When writing free software, you are you own best audience. And whatever language you choose will be fine, yes there will be some limitations and maybe it won't run in the browser but if you are writing it for yourself, who cares.<br /><br />For awhile I've been trying to get some programming done but I don't think I've written anything in a year or so. Like most things, you and me have to sit down and write buggy, not 100% perfect code. <br /><br />Yes, you can debug it later but at first it might be a little crufty and dirty. It is just like writing a rough draft for school. There is a weird quote that I keep thinking about that seems to apply, "Perfect is the enemy of good" which means if you try to be perfect you will never get anything done, which applies directly to programming.<br /><br />Just some random thoughts. I hope you get something working.Forgehttps://www.blogger.com/profile/15838286606081721333noreply@blogger.com