I've been thinking. With us already having made successful multi user projects for scratch with python, whats stopping us from at least trying to make a scratch MMO? I encourage those knowledgeable about python to come and tell me the plausibility of this idea. I was thinking it could work like this.
---------------------------------------
-The client scratch project and python code and the host python code with (possibly) the host scratch project
-The client would communicate with the host to know what to display and the projects would display the costumes, sprites, comments etc.
-All information would be kept on the host code.
-The client would communicate to the host the following:
Costume
X Position and Y Position
Background/Location
Any other things the player controls
We would need a lot of collaboration from the community to make this scratch MMO.
But we would need these specific talents in the development team
-A Python Coder
-A artist
-Sounds
-A scratch programmer
Feedback on this proposal accepted and encouraged.
-Heliosa
Offline
I thought about this too, scratch is far too weak for an MMO but a 10 person game seems possible
And forget python, use this instead
http://scratch.mit.edu/forums/viewtopic.php?id=15445
Its really easy
Offline
Yeah. That looks amazing. I say we use this, instead of python, but still try and make a scratch multiplayer game. Thanks for showing me.
Edit: Could this be used for more than 2 people games?
Last edited by Heliosa (2009-04-02 21:46:03)
Offline
Heliosa wrote:
Yeah. That looks amazing. I say we use this, instead of python, but still try and make a scratch multiplayer game. Thanks for showing me.
Edit: Could this be used for more than 2 people games?
Yes, you have people connect to one machine that acts as the main server. They basically connect to one computer that stores the data for everyone who is connected.
Offline
Errr this is possible assuming that many computers are able to connect to the socket on one computer. I haven't tested this so I am not sure if this is possible.
Offline
I'll apply.
What should I go for scratch programmer or python programmer....or both....
If I need to show a project with my skills here: http://scratchconnections.wik.is/User:Magnie/Scratch_Messenger
Yes as you see its a scratch messenger that you can send messages. (Both people have to be online though)
There is one *major* bug. Example
You type "How are you doing?". Only "How" will show up. To fix that you have to type something else besides the space example: Type: "How_are_you_doing?" to fix it or use a - (dash).
Offline
I may be able to help with the scratch programming of this mini MMO thing.
The coding must be done specially so that it can interact properly with connected computers.
Basically this is how it will work.
Lets assume that there are 3 users, 1 hosting the base server and 2 others connecting to it.
The PC with the base server has a scratch project that holds data for the other remote users. The base server can send and receive messages for the other 2 users. The other 2 users can only send and receive data from the base server.
So lets say that remote user 1 wants to move their character and they also want remote user to see it move.
So this is how it goes down
user1 sends data to base server
base server stores data and sends updated data to user1 and user2
user1 and user2 both receive this data and save it
Of course this is only a small scale solution. If you have too many people connecting to the base server then the base server will crash. I think if you get a fast computer than you can have 4-10 people connected. I am not sure of the exact numbers but it defiantly won't be enough for an large MMO type game.
Offline
Well, Then perhaps a four player rpg, similar to certain X box games. Or maybe some sort of game master thing where there are 4 players adventuring with the Game master sending monsters via broadcasts. And for discussion of what the game would be you can use this topic. http://scratch.mit.edu/forums/viewtopic.php?id=15565
Offline
Players would get assigned a number when they sign in I assume. Making a RPG seems really difficult though. I can still try.
Logins are also an option
However any game made in scratch would be really easy to hack.
Last edited by archmage (2009-04-03 17:44:15)
Offline
The idea's not set in stone. It can be anything really
And about the hacking problem you could make it so if certain broadcasts don't come in
(broadcasts hackers would want to hack) don't come in it could disconnect you.
Another way is, For Example if someone changes their score from, say 2 to 25. On the host program, it would save backups of everyone's scores. If the score jumps up by more than 1( or whatever the maximum amount of point gains at a time is) than it stops sending data to you. It also could check if you are gaining points faster than possible ( as in just continually adding one point to your score)
Last edited by Heliosa (2009-04-03 22:20:10)
Offline
archmage wrote:
Players would get assigned a number when they sign in I assume. Making a RPG seems really difficult though. I can still try.
Logins are also an option
However any game made in scratch would be really easy to hack.
Hmmm, logins? Then you'd need another server; I don't think chalk's add-on (Snuff?) supports connection to external servers. But yeah, it might be easily hackable.
Another option could be passwords. But then people might share passwords so other people can cheat, and in few days everyone will get Lvl 100 with all weapons and items. Even if you guys try to encrypt it, smarties could figure out the formula and give themselves ridiculously high stats.
Then, another simple option could be having it as "just a place to hang out", rather than "level-up your character".
Offline
Heliosa wrote:
The idea's not set in stone. It can be anything really
![]()
And about the hacking problem you could make it so if certain broadcasts don't come in
(broadcasts hackers would want to hack) don't come in it could disconnect you.
But hackers could edit the blocks in the editor to make the broadcasts be sent anyways. A hacker could manipulate the code in pretty much anyway they want.
Offline
archmage wrote:
Heliosa wrote:
The idea's not set in stone. It can be anything really
![]()
And about the hacking problem you could make it so if certain broadcasts don't come in
(broadcasts hackers would want to hack) don't come in it could disconnect you.But hackers could edit the blocks in the editor to make the broadcasts be sent anyways. A hacker could manipulate the code in pretty much anyway they want.
Another way is, For Example if someone changes their score from, say 2 to 25. On the host program, it would save backups of everyone's scores. If the score jumps up by more than 1( or whatever the maximum amount of point gains at a time is) than it stops sending data to you. It also could check if you are gaining points faster than possible ( as in just continually adding one point to your score)
Last edited by Heliosa (2009-04-03 22:21:36)
Offline
technoguyx wrote:
archmage wrote:
Players would get assigned a number when they sign in I assume. Making a RPG seems really difficult though. I can still try.
Logins are also an option
However any game made in scratch would be really easy to hack.Hmmm, logins? Then you'd need another server; I don't think chalk's add-on (Snuff?) supports connection to external servers. But yeah, it might be easily hackable.
Another option could be passwords. But then people might share passwords so other people can cheat, and in few days everyone will get Lvl 100 with all weapons and items. Even if you guys try to encrypt it, smarties could figure out the formula and give themselves ridiculously high stats.
Then, another simple option could be having it as "just a place to hang out", rather than "level-up your character".
Another server? Why would you need another server?
The server is a scratch project. The base project is sent a username and password and stores it.
This whole thing is more about coding in scratch than in python or chalkmarrow's program. All his program does is send messages, nothing fancy.
In order to make it unhackable you would need to make most of the actions server sided. This means that instead of your computer's scratch saying you clicked a monster it is the server's computer that said you killed a monster and it just sents you this data. However, I don't think this would work because the base scratch program would crash or something.
Offline
Heliosa wrote:
archmage wrote:
Heliosa wrote:
The idea's not set in stone. It can be anything really
![]()
And about the hacking problem you could make it so if certain broadcasts don't come in
(broadcasts hackers would want to hack) don't come in it could disconnect you.But hackers could edit the blocks in the editor to make the broadcasts be sent anyways. A hacker could manipulate the code in pretty much anyway they want.
Another way is, For Example if someone changes their score from, say 2 to 25. On the host program, it would save backups of everyone's scores. If the score jumps up by more than 1( or whatever the maximum amount of point gains at a time is) than it stops sending data to you. It also could check if you are gaining points faster than possible ( as in just continually adding one point to your score)
The best solution would be that all major actions are preformed by the base server. All the remote systems can do is basic things like move and target.
But as I mentioned this will probably crash your server because of the extra processing.
Your checking method would probably take up even more processing power.
Last edited by archmage (2009-04-03 22:26:42)
Offline
And I don't do well at programming in python and I can't program at all in Snyff...I can't even get it to work....
Offline
I'd like to help. Although with snyff you'd almost certainly run into firewall problems . . .
Offline
Heliosa wrote:
So, could you perhaps figure out what people would need to do to play the game with their firewalls? If not, what else could you do to help us?
I'm not really sure how Snyff works so I couldn't help you there you'd need to talk to chalkmarrow, but I'm not sure we should give up the idea of using python. I've sort-of thought of a way to do it and I'm not far from being able to implement the idea, I'll tell you as I progress.
Offline