PDA

View Full Version : Programming Languages Questions


zing103
April 30th, 2011, 07:01 PM
I've been thinking about learning programming for a while, and am starting to dive into it. One thing I want to "eventually" do is to make a computer based software that I could play scape on. Mainly cause I have a really small collection. I was wondering what programming languages I'd need to know, and figured someone on this forum could help.

Thanks!

Arrow Grut
April 30th, 2011, 07:43 PM
I've been thinking about learning programming for a while, and am starting to dive into it. One thing I want to "eventually" do is to make a computer based software that I could play scape on. Mainly cause I have a really small collection. I was wondering what programming languages I'd need to know, and figured someone on this forum could help.

Thanks!
I'm gonna say this once. Creating a 'scape computer simulation IS illegal.

crxcowboy
April 30th, 2011, 08:26 PM
I agree with Arrow Grut. It is illegal. You may can find folks to play with in your area if you look hard enough.
Since I'm a software developer, I will say this: If you are interested in learning graphical programming, there are many routes to take, but learning Flash or Flex is a good place to start.

Agent Minivann
April 30th, 2011, 08:42 PM
I'll jump in with a similar question. I'm thinking about learning programming as well, but probably from a very different background. I've grown up around computers my whole life (dad worked for IBM when they sold computers), but never learned any programming (unless you count a semester each of Basic and Pascal 20 years ago in high school that I don't remember). What are some good routes to go along to get a good head start on taking classes this fall. I would like to get a good foundation that would give me options, but something I would like to accomplish is an iOS/Android app that I have been thinking about that can output some data (sports stats) probably in a CSV file.

zing103
April 30th, 2011, 09:42 PM
I've been thinking about learning programming for a while, and am starting to dive into it. One thing I want to "eventually" do is to make a computer based software that I could play scape on. Mainly cause I have a really small collection. I was wondering what programming languages I'd need to know, and figured someone on this forum could help.

Thanks!
I'm gonna say this once. Creating a 'scape computer simulation IS illegal.

I thought selling it or giving it away to other people is illegal.... But just making one is illegal?

crxcowboy
May 1st, 2011, 08:01 AM
Agent Minivann - http://developer.android.com/guide/index.html is a good place to start. If you aren't familiar with Java or Eclipse, that's the place to start before even the android developer guide.

zing103 - it's probably a lawyer question. If there are any copyright lawyers on the forum, they could probably answer the question much more accurately.

Hackmaster +12
May 1st, 2011, 09:25 AM
I am not a lawyer (but I've played one in a game!). If you were to create a HeroScape program for yourself, and not distribute it, that should be perfectly fine (as in not illegal). The moment you would cross the line would be if you were to make it available to others and/or take money for it.

Arrow Grut
May 1st, 2011, 10:02 AM
Someone already tried it....

http://www.heroscapers.com/community/showthread.php?t=16258

And contacted WotC and they took it away from him.

CiananBrage
May 1st, 2011, 10:14 AM
I'm certainly not a lawyer either, but was forced to read up on things a bit before releasing HS-aholic.
The key part of any copyright violation claim is damage to the companies image/profits. So, any item created for personal use only should be 100% fine (anyone willing to put in the effort to create their own was most likely never going to purchase the official item). However, as soon as you distribute or sell the item you would be in complete violation.
The real catch is not wanting to show off your software when you complete it. Host a tourney that uses your awesome software instead of the official game pieces and you're definitely in violation, but its a hard temptation to pass up showing off cool software after all the work it takes to make. ;)

For anyone wanting to learn to code I'd recommend the iPhone & Android SDKs. Both are very popular atm, which means there is a wealth of official and community resources available to help you learn it.
The iPhone uses objective-c (by far the friendliest c-variant I've ever personally used) and Android uses java (the most popular language used by colleges).
Another good option to simply get your feet wet is to spend some time learning the ropes with some scripting. Some simple vbscript work can be a great way to start (completely free and built into windows simply create a text file and change the extension to .vbs or .hta depending on what your making). The w3schools website is a great vbscript resource.

Even writing well-formed HTML/XML can be a good exercise for a beginner. And if your really into the web you can learn Flash (many claim its very easy to learn, but I've never personally had interest in it).

Personally I started with c/c++ and although I was forced to learn java back in college I've always had a serious prejudice against its clunkiness (think game engines) and I'm very OCD about code so the 'flexible' languages like java tend to cause me serious irritation since many coders are extremely lazy/impatient when it comes to structure and documentation. (Yes you can create really crappy c code, but it'll almost always fail which is a good deterrent against such behavior.;))
On the other hand many c-variants are poorly equipped for handling more modern features (UTF chars & networking come to mind) and the c-style syntax can be challenging for beginners. Beyond that the error reporting of c compilers is plain dismal (this forces you to code very carefully or spend massive amounts of time debugging), while other languages like java tend to have excellent debug output in comparison.

Hackmaster +12
May 3rd, 2011, 12:10 AM
Someone already tried it....

http://www.heroscapers.com/community/showthread.php?t=16258

And contacted WotC and they took it away from him.
Looking through that thread, it looks like he said (in the first post) that WotC was unable to grant him permission to share it publicly. It didn't say that they took it away from him. (Please link to that post if I missed it)

Arrow Grut
May 3rd, 2011, 07:53 PM
Someone already tried it....

http://www.heroscapers.com/community/showthread.php?t=16258

And contacted WotC and they took it away from him.
Looking through that thread, it looks like he said (in the first post) that WotC was unable to grant him permission to share it publicly. It didn't say that they took it away from him. (Please link to that post if I missed it)
Here's a link: (second post down)
http://www.heroscapers.com/community/showthread.php?t=16258&page=6

They didn't actually take it away from him, per se, but they made him stop using it, even privately.

Billtrumpet25
June 27th, 2011, 12:09 AM
I'm certainly not a lawyer either, but was forced to read up on things a bit before releasing HS-aholic.
The key part of any copyright violation claim is damage to the companies image/profits. So, any item created for personal use only should be 100% fine (anyone willing to put in the effort to create their own was most likely never going to purchase the official item). However, as soon as you distribute or sell the item you would be in complete violation.
The real catch is not wanting to show off your software when you complete it. Host a tourney that uses your awesome software instead of the official game pieces and you're definitely in violation, but its a hard temptation to pass up showing off cool software after all the work it takes to make. ;)

For anyone wanting to learn to code I'd recommend the iPhone & Android SDKs. Both are very popular atm, which means there is a wealth of official and community resources available to help you learn it.
The iPhone uses objective-c (by far the friendliest c-variant I've ever personally used) and Android uses java (the most popular language used by colleges).
Another good option to simply get your feet wet is to spend some time learning the ropes with some scripting. Some simple vbscript work can be a great way to start (completely free and built into windows simply create a text file and change the extension to .vbs or .hta depending on what your making). The w3schools website is a great vbscript resource.

Even writing well-formed HTML/XML can be a good exercise for a beginner. And if your really into the web you can learn Flash (many claim its very easy to learn, but I've never personally had interest in it).

Personally I started with c/c++ and although I was forced to learn java back in college I've always had a serious prejudice against its clunkiness (think game engines) and I'm very OCD about code so the 'flexible' languages like java tend to cause me serious irritation since many coders are extremely lazy/impatient when it comes to structure and documentation. (Yes you can create really crappy c code, but it'll almost always fail which is a good deterrent against such behavior.;))
On the other hand many c-variants are poorly equipped for handling more modern features (UTF chars & networking come to mind) and the c-style syntax can be challenging for beginners. Beyond that the error reporting of c compilers is plain dismal (this forces you to code very carefully or spend massive amounts of time debugging), while other languages like java tend to have excellent debug output in comparison.

I have read the copyright law beginning to end (as I am sending in a book I wrote in for a federal copyright--I want to be fluent in the law). The assertion that private use is 100% legal is exactly correct. Technically, so is making a software for public use. You see, there are many provisions in the Copyright Act of 1976 that give leniency in such matters. The first is what they call the "fair use" provision. Not only does it allow such a creation for private viewing/use, but it also allows for special circumstances in regards to the nature of its use. For example, if the software will not be sold for a profit, then it is well within the legal spectrum of the "fair use" clause (Chapter 1, section 107).

It is a fact that arrangements and variations on a project, whether a game, movie, music, etc. is allowed and recognized by the US Copyright Office (there are even sections for such a declaration when filling out Form CO,TX, VA, etc.). Logically, such a variation of Heroscape falls under these guidelines; thus, one attempting this would be perfectly safe from legal harm. In such a case, "a design shall not be deemed to have been copied from a protected design if it is original and not substantially similar in appearance to a protected design". I do not believe a software version of Heroscape currently exists, and it certainly would not be entirely similar to every entity in the board version of the game.

I am not a lawyer, but I am well versed in copyright law. If anyone has a question, shoot me a PM or just reply to this post, and I'll answer as best I can. Regardless, I would advise anyone to consult legal representation if such a court matter should arise.

personwholives
June 27th, 2011, 04:11 PM
For example, if the software will not be sold for a profit, then it is well within the legal spectrum of the "fair use" clause (Chapter 1, section 107).

I'm just going to point out that fair use is almost entirely a judgement call. In the US, the courts typically follow the 4 factor test, of which one of the factors is the commercial nature of the use. However, just because you aren't making any money on something does not automatically make it a fair use, and just because you are making money does not disqualify you from fair use.

The short of it is, it always comes down to a court case to prove fair use. If you're proven right, it'll still be expensive (insert the usual comments about blood sucking lawyers here). If you're proven wrong, it'll be worse. But, the judge ultimately will decide if it is or is not fair use.

Note: IANAL, but I know a bit about copyright law.


P.S. Arrow_Grut - Hasbro's lawyers can say whatever they'd like to about you using your own personally coded application for personal use. The only proper response to any statement like "you can't use that. It's based on our stuff, never ever run it again" is "Hahahahahahaha. Screw off. I won't share it, but it's my code, and I'll run it to my heart's content. You can go to hell if you don't like that." They can't sue you for making a computer game based on a board game they created, only for distributing it. Fine line, but it is there. Otherwise, a lot of people would be SoL for programming assignments in AI classes, many of which are "write an AI to play a game of your choosing" (I chose roborally). They like to think they own the ideas in the game, but they only own the implementation and the names. Copying wholesale is not allowed, but you can do some copying.

Billtrumpet25
June 27th, 2011, 04:27 PM
For example, if the software will not be sold for a profit, then it is well within the legal spectrum of the "fair use" clause (Chapter 1, section 107).

I'm just going to point out that fair use is almost entirely a judgement call. In the US, the courts typically follow the 4 factor test, of which one of the factors is the commercial nature of the use. However, just because you aren't making any money on something does not automatically make it a fair use, and just because you are making money does not disqualify you from fair use.

The short of it is, it always comes down to a court case to prove fair use. If you're proven right, it'll still be expensive (insert the usual comments about blood sucking lawyers here). If you're proven wrong, it'll be worse. But, the judge ultimately will decide if it is or is not fair use.

Note: IANAL, but I know a bit about copyright law.


P.S. Arrow_Grut - Hasbro's lawyers can say whatever they'd like to about you using your own personally coded application for personal use. The only proper response to any statement like "you can't use that. It's based on our stuff, never ever run it again" is "Hahahahahahaha. Screw off. I won't share it, but it's my code, and I'll run it to my heart's content. You can go to hell if you don't like that." They can't sue you for making a computer game based on a board game they created, only for distributing it. Fine line, but it is there. Otherwise, a lot of people would be SoL for programming assignments in AI classes, many of which are "write an AI to play a game of your choosing" (I chose roborally). They like to think they own the ideas in the game, but they only own the implementation and the names. Copying wholesale is not allowed, but you can do some copying.

That's what I say exactly. However, being found in contempt of copyright isn't necessarily as bad. According to the copyright law, penalties are $50,000 or $1 per copy, whichever. Courts in such disputes as these go with the lower amount. Being right isn't necessarily expensive, either--you can always sue for court expenses (the courts most likely will grant it).

Copyrights don't protect names or ideas. You could call it Heroscape and Hasbro/WOTC couldn't do anything about it.

If you wanted my advice, I say go for it, and as personwholives so eloquently put it, to hell with Hasbro.:D

personwholives
June 27th, 2011, 05:05 PM
Copyrights may not protect names, but trademarks do. So yes, they couldn't get you on copyright infringement, but they could get you on trademark infringement. Also, the specific text is copyrighted, so the description of, say, the flying special power is copyrighted, but the idea behind it of ignoring terrain effects, going over figures, etc, is not. This will technically make it a bit more difficult to make a video game of heroscape, but not impossible.

Patents protect ideas, and there may be some patents on some of the ideas in heroscape, but I think they are mainly on the interlock design for the tiles, and possibly the combat dice (though these would carry over from heroquest, and should therefore be expired, or at least close to).


Also, it's not that being right is expensive, it's that being questionably right is so risky, that sometimes you're better off just going for a settlement. Since it isn't clear cut, you can wind up spending years in court to get a defeat, even though you were probably right. Also, being able to recover the costs only helps if you can afford them up front, or find a lawyer who will represent you on contingency, which is hard on fair use cases, as they are not entirely predictable. (For an example where being right is not always cost effective, see here (http://waxy.org/2011/06/kind_of_screwed/). Even though he was probably right, he still got screwed out of a lot of money, because it was too expensive to stay in the fight until the end)

Billtrumpet25
June 27th, 2011, 07:21 PM
Valid point--I forgot about patents.

Billtrumpet25
June 27th, 2011, 07:32 PM
Copyrights may not protect names, but trademarks do. So yes, they couldn't get you on copyright infringement, but they could get you on trademark infringement. Also, the specific text is copyrighted, so the description of, say, the flying special power is copyrighted, but the idea behind it of ignoring terrain effects, going over figures, etc, is not. This will technically make it a bit more difficult to make a video game of heroscape, but not impossible.

Patents protect ideas, and there may be some patents on some of the ideas in heroscape, but I think they are mainly on the interlock design for the tiles, and possibly the combat dice (though these would carry over from heroquest, and should therefore be expired, or at least close to).


Also, it's not that being right is expensive, it's that being questionably right is so risky, that sometimes you're better off just going for a settlement. Since it isn't clear cut, you can wind up spending years in court to get a defeat, even though you were probably right. Also, being able to recover the costs only helps if you can afford them up front, or find a lawyer who will represent you on contingency, which is hard on fair use cases, as they are not entirely predictable. (For an example where being right is not always cost effective, see here (http://waxy.org/2011/06/kind_of_screwed/). Even though he was probably right, he still got screwed out of a lot of money, because it was too expensive to stay in the fight until the end)

I trust your judgement on the matter of the court thing. Thankfully, I have never had the misfortune of being dragged into court to answer for any sort of allegations, let alone copyright infringement. Mind, I'm not saying you've been a frequent flyer in the court room.;) Technically, with the text matter, all you have to do is change a few words to make it "original" (change "power" to "ability") ;).

I was being hyperbolic when I said you could call the software "Heroscape"; obviously trademarks would be difficult in getting around in that particular case. You'd be right on the patent--those are for technical aspects/inventions--the interlock tiles would have a patent. Worst case scenario: wait until the patent expires before doing anything. Barring disease or freak accidents, someone wanting to make the videogame would still be alive and able to do it.

I've never heard of Heroquest. How long ago was that game around, exactly?

We should start a copyright law firm:D

Devo Hulk
June 27th, 2011, 10:09 PM
There are plenty of languages to start with. I started out by modifying gorilla.bas in QBasic back in the day, but now there's Visual Basic where you can make GUIs quite easily. C or C++ would be good to know, or Java. If you wanted to make a game like Heroscape, I'd use an object-oriented language. Start out with a standard CARD object and then create objects for each character than inherit the properties of CARD. (All of them will have an attack, defense, etc).

Rendering everything in 3D and creating the physics and such would be the time-consuming part.

Raudulfr Shieldcrusher
June 29th, 2011, 10:22 PM
I agree with Devo Hulk, Object Oriented languages are the way to go. I'd even add C# into the mix.

personwholives
June 30th, 2011, 03:33 PM
Java's not a bad suggestion. It's got the same ease of gui building you get in visual basic, but with a better language.

C/C++ is my personal choice, though. I've always thought it was a better language. Not cross platform, but it's a very powerful language. Better performance then java.

If you're looking to try and make a game like app, you should look at something like ogre. It's not a bad way to work with graphics, and it makes it fairly easy to pull together a game.


Bill, to your comments:
I haven't been in court about these things, but I've read enough about it to know the basics. I also took some classes on this in college.

As to heroquest (http://boardgamegeek.com/boardgame/699/heroquest)... first published in 1989. The link is to the BGG page for it. Go have a read. Pretty fun game, same combat dice system as scape. Dungeon crawl, rather than army battle.