Description
Hey Scratchers! I am creating an MMORPG and wondered if anyone wanted to help. It will be a 2D top-down view. You move in tiles (Probably 40x40 to make loading fast). The point is to create an MMORPG hosted through a PHP Web Server. The name is still under discussion!
Features
-Fast Loading.
-No need to update project to create new places.
-A maximum of 20-30 people per server.
-The only requirement to play is to have Panther!
It will be made in Panther, but having it is not a requirement unless you are a scripter.
Members
Scripters
-Rub0Gameton: Do the game engine!
-Nxsupert: Create a page where you can request the mysql database for the x and y positions of each person, do not create the database, I already did. Use your own variables, I will edit them later.
Spriters
-VACANT
Sound
-Necromaster: Propose 5 or more names for the game, after we decide which, you will be in charge of the sounds.
Requirements
Scripters: Heavy load! PHP and MySQL advanced knowledge and Panther knowledge! 2/2
Spriters: Don't think this is easy! I need you to create over 20 different tiles or even more than 50! No pressure though, I dont need high quality images! 0/2
For both jobs you will need to have Hamachi installed! If you don't, then tell us and we MIGHT make an exception!
Hamachi
Network Name: Scratch Online
Network Password: scratchon
Poll
Vote for the theme of our game...
Medieval: 0
Present: 0
Future: 0
Terms of Service
To be part of this collaboration, you must be loyal! Credit will be given to you fully depending on what your job is. If you resign, we will NOT be able to use anything you created unless you give us permission; we don't steal. If you resign and decide not to give us permission to use your content, you must give us a time of at most one week to replace your content with ours. You must NOT give the specific PHP source code to anyone unauthorized, as this could mean a high risk in the game's security, being able to get easily hacked!
Last edited by Rub0Gameton (2011-02-26 17:20:15)
Offline
-=+Bump+=-
Last edited by Rub0Gameton (2011-02-26 13:09:07)
Offline
May I help? I have Hamachi. Um... Can I do sound? I have some great music for example: http://scratch.mit.edu/projects/Necromaster/1615710
Offline
Necromaster wrote:
May I help? I have Hamachi. Um... Can I do sound? I have some great music for example: http://scratch.mit.edu/projects/Necromaster/1615710
Sure! You're in! However, I still dont know what the theme will be.
spud2451 wrote:
can i help i have a 2 player multi-player world template that we could modify if we need to
<===========]==o the sword of doooooooooom o==[===========>
We are not going to do a 2player game, we are going to do an MMORPG (MASSIVE Multiplayer Online Role Playing Game). An MMORPG can support any amount of players limited only by the bandwidth.
EDIT: If you are good with sprites you can enter the collab
Last edited by Rub0Gameton (2011-02-24 20:23:33)
Offline
Taneb wrote:
This sounds interesting! I can think of a way to do the PHP, too. Could I join as a scripter?
Sorry dude, but one scripter is more than enough. However I will have you in mind if I ever need one.
Offline
nxsupert wrote:
could i help .
i am good with MySQL and i have made a powerful chat room.
i can do mysql , php ,html.
Now that I think about it, I'm a bit new to mysql, so I guess you're in!
-=+Update+=-
I have a huge homework and quiz for this Monday and another quiz for tuesday, so in the meanwhile I have updated the first post for what each one of you have to do!
Offline
We need a spriter as soon as possible!!
Offline
-=+Update+=-
-Updated the first post for better readability.
-Updated member list.
-Added some things to the Terms of Service.
-Changed password for Hamachi Network (Due to unfortunate combination of letters)
Offline
here is a simple PHP code that connects to a database and gets the table:
$database = mysql_connect('hoster', 'databasename', 'password') or die('Could not connect: ' . mysql_error());
mysql_select_db('databasenamer') or die('Could not select database');
$query = "SELECT * FROM `tablename` ORDER by `id` DESC ;";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
Last edited by nxsupert (2011-02-26 14:49:54)
Offline
nxsupert wrote:
here is a simple PHP code that connects to a database and gets the table:
-CODE-
Awesome! Could you make it print each result by separating lines?
Example:
echo $username . "," . $xposition "," . $yposition . ";"
We are going to use , to interpret field breaks and ";" to interpret line breaks cause Panther does not support HTML (meaning the <br /> doesnt work in Panther)
And now that I see you're good at it, can you make a page where you have to enter username, password, and key to make you move? To make it move, you have to change the Y or X (depends on where r u moving) +1/-1 from the MySQL database.
if the "key" variable = LEFT, then change the "X" variable by -1 if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by 1) if the "key" variable = RIGHT, then change the "X" variable by 1 if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by -1) if the "key" variable = UP, then change the "Y" variable by 1 if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by -1) if the "key" variable = DOWN, then change the "Y" variable by -1 if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by 1)
If you can, translate that to PHP, else tell me and ill do it.
Offline
-=+Update+=-
-A little change in the Terms of Service, make sure to read them!
-I'm almost done with homework =p should be done by tonight!
-Nxsupert, if you need somewhere to test your code, create an account here and create a free subdomain. You can call it TestWorld, or TestSite, or whatever you want.
Offline
-=+Update+=-
-Added an uptime check button
-Added poll
-Please vote for the poll ASAP!!
-We still need a spriter!
Offline
Rub0Gameton wrote:
-=+Update+=-
-A little change in the Terms of Service, make sure to read them!
-I'm almost done with homework =p should be done by tonight!
-Nxsupert, if you need somewhere to test your code, create an account here and create a free subdomain. You can call it TestWorld, or TestSite, or whatever you want.
already have one. but i am going to use a localhost . p.s make sure when you make the database table you make a column called ID that is an auto int.
Last edited by nxsupert (2011-02-27 03:40:29)
Offline
nxsupert wrote:
Rub0Gameton wrote:
-=+Update+=-
-A little change in the Terms of Service, make sure to read them!
-I'm almost done with homework =p should be done by tonight!
-Nxsupert, if you need somewhere to test your code, create an account here and create a free subdomain. You can call it TestWorld, or TestSite, or whatever you want.already have one. but i am going to use a localhost . p.s make sure when you make the database table you make a column called ID that is an auto int.
O.... this is going to take a long time.
Offline
to keep this simple you will need to do the :
if the "key" variable = LEFT, then change the "X" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by 1)
if the "key" variable = RIGHT, then change the "X" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by -1)
if the "key" variable = UP, then change the "Y" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by -1)
if the "key" variable = DOWN, then change the "Y" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by 1)
:code in the project and then send the info to the php script over wise you might end up with a database and script that are trying to do to many things at once.
Offline
nxsupert wrote:
to keep this simple you will need to do the :
if the "key" variable = LEFT, then change the "X" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by 1)
if the "key" variable = RIGHT, then change the "X" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by -1)
if the "key" variable = UP, then change the "Y" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by -1)
if the "key" variable = DOWN, then change the "Y" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by 1)
:code in the project and then send the info to the php script over wise you might end up with a database and script that are trying to do to many things at once.
We could also do it in passive mode, which is do most things in the project and save your location to the server every 30 seconds, however, people could easily cheat with this method.
Offline
Rub0Gameton wrote:
nxsupert wrote:
to keep this simple you will need to do the :
if the "key" variable = LEFT, then change the "X" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by 1)
if the "key" variable = RIGHT, then change the "X" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "X" variable by -1)
if the "key" variable = UP, then change the "Y" variable by 1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by -1)
if the "key" variable = DOWN, then change the "Y" variable by -1
if the resulting X,Y position is in the "blocked.dat" file, then reverse the action (change the "Y" variable by 1)
:code in the project and then send the info to the php script over wise you might end up with a database and script that are trying to do to many things at once.We could also do it in passive mode, which is do most things in the project and save your location to the server every 30 seconds, however, people could easily cheat with this method.
do it every 5 seconds.
hmmm....
as for cheating well... i do not know what to do.
but that is the best way to do it otherwise the server will be trying to do to much and that might over load it .
1st rule of php : never make the script do more than it needs to .
(and that's the same for MySQL)
Offline
Ok, then we'll do passive mode, and actually it's not because od the server, it's because of panther. Btw, I will scratch actively from this afternoon on, I have already done all my school thingies!
Offline
here is the moving code
<?php
$username='';
$password='';
$database='';
$id = $_GET['id'];
$x = $_GET['x'];
$y = $_GET['y'];
mysql_connect('host',$username,$password);
@mysql_select_db($database) or die( 'ERROR, Unable to select database');
$query="UPDATE example SET X='$x' WHERE ID='$id ')";
mysql_query($query) or die('ERROR, insert query failed');
$query="UPDATE example SET Y='$y' WHERE ID='$id ')";
mysql_query($query) or die('ERROR, insert query failed');
mysql_close();
?>INPUTS
id = the id of the table column you are in .
x = x you want to go to.
y = y you want to go to.
OUTPUT
there should be none unless there is an error.
(tell me if it dose not work.)
Offline
hmm....
this is the list of php scripts we need.
1. enter - the code that is run when you enter the mmorpg. (adds you to the database)done
2. info getter- the code that gives you the data of over players.
3. exit - the code that is run when you exit. (deletes you from the database (we need a way to make this run when you click the red button) )
Last edited by nxsupert (2011-03-01 11:26:19)
Offline