Post by Deleted on Oct 21, 2014 18:17:06 GMT -5
I've had an idea for quite a while now that I have never ended up implementing, but will do some point in the future. I'm putting it here because I'm interested in this little group currently, and would like any opinions or help I could get.
It would essentially be a game where you could script robots. Now here I imagine you're saying "but most people couldn't do that!", but that is not true. There would be 2 options for how to script your robots:
- Java JARs loaded with a robot API implementation (dynamic jar loading, abstract classes, interfaces, possibly annotations would be used to implement this)
- A custom, very simple text script format that I would create and parse myself
The script could also be generated using a tool that allows you to see your code in a more graphical manner, and it would be easy to create using simple icons, a bit like scratch-blocks (scratch.mit.edu). It would be as simple as possible in all three manners, to open it up to as many people as possible, while still allowing people with more expertise to try to do better.
The robots would be presented on a 2D display, so that you could watch the AIs fight each other (more on this later). You could select your own image to represent your robot, or animation, or just select/let it select a colour for you.
So, as for the multiplayer, there would be a few things you could do:
- Download other people's robots (this would be sandboxed somehow)
- Upload your robot
- Compete robots you wrote or yours and other people's, or even just theirs against each-other (there would be some pre-set bots)
- Use other people's robots from the client itself without downloading them using a browser (internal downloads)
- Compete in tournaments against other people's robots. There would be a general tournament, tournaments based on file sizes (those would be split up by types of code, measured by bytes in lines (reflection in Java would be used))
All fights would have logs, and the client could parse them into video simulations/do battle playbacks using them, as it would not be formatted to read, but it would be a literal set of the robot return commands (for robots to act, the script returns a formatted string that tells the game what to do).
Tournaments couldn't be live, but they would always have the playback feature. There would be an infinite archive of these. There would also be a system so that people could share their fights, if for showing off or for getting scripting help.
As for the fights and worlds themselves, I don't know. That is to be determined. I'm interested in multiple kinds, personally. Different styles of fights (plain out, figure out where things are and attack them, capture the flag, capture tiles, etc). Any ideas on how those might work are welcome.
Ideas on ANYTHING are welcome. But remember to keep it simple so that many people could use it (I don't expect EVERYBODY to be able to use this, of course, but I'm hoping to at least keep a majority up).
The distribution would be:
- Source code on Github
- Game for FREE, although donations would be welcome and the pages may have a couple of non-intrusive advertisements
- For PC, Mac, and Linux. This is easy to do with Java.
- If it got popular, console/phone is possible, although it would be for cheap, and I'm not sure how that all would work out. It's unlikely anyway, so no matter.
If you're interested in helping, just leave a reply below. If you can give advice, please say so. The libraries used would be LWJGL, LWJGL-Utils, and Slick-Utils. It would be a downloaded game at first, although applet support would come eventually.
I AM flexible to change what I do have down as a base, so don't be afraid to challenge it.
Thank you for any input and for reading this rather large post.
It would essentially be a game where you could script robots. Now here I imagine you're saying "but most people couldn't do that!", but that is not true. There would be 2 options for how to script your robots:
- Java JARs loaded with a robot API implementation (dynamic jar loading, abstract classes, interfaces, possibly annotations would be used to implement this)
- A custom, very simple text script format that I would create and parse myself
The script could also be generated using a tool that allows you to see your code in a more graphical manner, and it would be easy to create using simple icons, a bit like scratch-blocks (scratch.mit.edu). It would be as simple as possible in all three manners, to open it up to as many people as possible, while still allowing people with more expertise to try to do better.
The robots would be presented on a 2D display, so that you could watch the AIs fight each other (more on this later). You could select your own image to represent your robot, or animation, or just select/let it select a colour for you.
So, as for the multiplayer, there would be a few things you could do:
- Download other people's robots (this would be sandboxed somehow)
- Upload your robot
- Compete robots you wrote or yours and other people's, or even just theirs against each-other (there would be some pre-set bots)
- Use other people's robots from the client itself without downloading them using a browser (internal downloads)
- Compete in tournaments against other people's robots. There would be a general tournament, tournaments based on file sizes (those would be split up by types of code, measured by bytes in lines (reflection in Java would be used))
All fights would have logs, and the client could parse them into video simulations/do battle playbacks using them, as it would not be formatted to read, but it would be a literal set of the robot return commands (for robots to act, the script returns a formatted string that tells the game what to do).
Tournaments couldn't be live, but they would always have the playback feature. There would be an infinite archive of these. There would also be a system so that people could share their fights, if for showing off or for getting scripting help.
As for the fights and worlds themselves, I don't know. That is to be determined. I'm interested in multiple kinds, personally. Different styles of fights (plain out, figure out where things are and attack them, capture the flag, capture tiles, etc). Any ideas on how those might work are welcome.
Ideas on ANYTHING are welcome. But remember to keep it simple so that many people could use it (I don't expect EVERYBODY to be able to use this, of course, but I'm hoping to at least keep a majority up).
The distribution would be:
- Source code on Github
- Game for FREE, although donations would be welcome and the pages may have a couple of non-intrusive advertisements
- For PC, Mac, and Linux. This is easy to do with Java.
- If it got popular, console/phone is possible, although it would be for cheap, and I'm not sure how that all would work out. It's unlikely anyway, so no matter.
If you're interested in helping, just leave a reply below. If you can give advice, please say so. The libraries used would be LWJGL, LWJGL-Utils, and Slick-Utils. It would be a downloaded game at first, although applet support would come eventually.
I AM flexible to change what I do have down as a base, so don't be afraid to challenge it.
Thank you for any input and for reading this rather large post.