A question to the MP community

Posted By: EpsiloN

A question to the MP community - 10/09/07 15:20

I have a question and a request
The question is : Is someone on this forum capable of programming a multiplayer game for no more than 100 clients.(While running smooth enough) If there is someone...The request :
Will he try to make atleast the base of this project (for free). I'm thinking about a little MMO experiment If someone is interested and can program something like that , I'll tell you what my 'concept' for that game is. Again ... for free,because the game will be for free and wont be published,announced or spread in any other way except by friend to friend in this community (maby even outside if people like the concept).
BTW , a typical MMO has AI systems , character management and PVP battlegrounds managed separate from the rest of the world. Consider this outside of the question,no AI , no Battleground. Only client pos & interaction updates , some skills,items and basic PVP (no rules or switches)

PS.: If noone can do that,but people are still interested I'll tell you what this experimental project is about I think...no,I'm shure most of you will agree that its worth the try

EDIT : DOES NOT MATTER native 3DGS or with plugins...
Posted By: Damocles

Re: A question to the MP community - 10/09/07 18:24

Doing this "for free" is probably the knockout-part

Also, You should plan this for around 10 players, to be more realistic.
Posted By: EpsiloN

Re: A question to the MP community - 10/09/07 19:07

I'm planning for 100 because the strongest side of this 'game' is that it has no AI. (Maby just a little,if possible client-side,for animals) I was thinking in somehow splitting the whole in 5 servers,each managing the data transfers of 24 clients (20 clients with 4 other servers) but I think this will produce high latency because data has to travel to a middle computer before arriving at the target (client/server)
I'm thinking of 100 because this way people can form 'factions'. It'll still be enough 'demonstrating' with 50 clients , but with less than 50 it'll be boring,thrust me
Isnt it possible with GSTNet ? To be able to send to only one specific client...
The player stats & levels , plus dynamic world creation will be handled by the clients accessing a few MySQL databases on diffrent machines (for diffrent systems) I was thinking even about client-side movement if its possible,to not send input,then send it back,then send to all other clients (Plus ofcourse area sending...if player is near another player).
The only things to be send are player possition + pan and a few variables to determine fighting or doing other activities and interaction. If done smart it could be minimised to no more than 3 vars I think.
Than again , I'm not a MP programmer only SP

PS.: I hope someone shows interest , if noone does I'll post my entire idea and design so far in the game design section , hopefully someone likes it and responds with help

EDIT : Forgot to mention. I'm not only refusing to pay but asking for free help because I'm 'designing' this for ME and YOU (the community of this forum) because we all share the same problems and help eachother. You probably dont know me (I've managed to stay in the shadows ) but I know you (I mean some people of the community) and I've seen what people create,and I've grew to love and appreciate this forum as my little online 'home'. Maby this sounds stupid,but thats how I feel about it,so I wanned to share an idea with the hope that someone can help me make it possible for all of us to have some Fun.
Posted By: PrenceOfDarkness

Re: A question to the MP community - 10/11/07 16:19

lol...this is funny

not to upset u or burst ur bubble... but there is no one out there willing to just give you @ least months of not years of work for FREE.

I've been messing with Multiplayer for the last 2 years, and it's not ur average programming. I've made minor contributions but I would never give up my entire core.
Posted By: fastlane69

Re: A question to the MP community - 10/11/07 19:04

Let me add my experience:

~3 years working with 3DGS
~20k USD invested in programmers to help me with my system.
~2000 people-hours to create the system.

Trust me, "for free" just isn't going to happen unless you already have friends willing to work with you. The Massively in MMP not only refers to the world size, but the amount of time, money, and aspirin you'll need to make it happen.

The problem is always the same: when it's for free, there is no incentive to persevere when the going get's tough (and here, the going get's tough right away). When you are up at 3am in the morning trying to figure out why your client is going right instead of left and you have a term paper due the next day and you've just come home from a grueling 12 hour shift at work and the kids or your parents are nagging you to death and on top of that you are doing this for FREE for someone else? Can you see why so many of these community MP projects have failed? You wouldn't go and work for McDonalds for 100 hrs a week for free, how is this any different?

My best advice is to find one or two like minded individuals and try for something simple learning experiences. Get four people in there... create a chat room... create a user/pass login system. As you create these small componenets, the "how" of getting 100 ppl in the world will slowly develop as well as the know-how of managing a team as well as perhaps he compensation to keep people around longer than a day.
Posted By: EpsiloN

Re: A question to the MP community - 10/13/07 04:08

I know something like that is hard,but eventualy someone will figure out this 'concept' and make a game out of it. Why should this guy be the one to bring the 'boring' part in it,like in the other MMORPG concepts ? Cant we for once make something more interesting than the big companies ? I'm not saying my concept is the perfect,or that I'm someking of a genius for figuring this out. I'm just the first guy to post it I'm asking for help on this because its a good concept,and I dont have (like others) 1000's of dollars to spend. I'm shure if you read the concept you'll agree with me. This deserves to be available to everyone for free,not some big company make money out of it.
Here's the concept , I hope you like it BTW , I have some screens of the first 3 house types.
***Sorry if its too big,dunno where else to post it(to give a link)***
Quote:


Builders build houses and towns
The towns collect food and resources (buy probably with crafted coins)
Towns create armies and support the population with food,weapons,resources and houses.
The population gives in return food,weapons,resources or houses.

Every player has a role in the town. One is the towns manager. One could manage the army
and be directed by the town manager. Another could manage food gathering or building and report
to the town manager again,Until a society is formed.
This way people can split into two fractions , two towns in this world,fighting eachother and
supporting their community.

Food eventualy runs out in a region. It'll spawn slowly. The same princip applies to mines.
Limited resources , appearing only in half a month or something like that. This will make people
gather items from battles , even the useless ones (to be melted and crafted again). (After a battle
all items remain on the ground when a player is killed. He'll be forced to start with another name and
will reduce his stats to 1/3 of his stats before death occured).
When food starts to run out in a region , this will force the people to hunt in other regions , eventualy
creating conflicts with the other town,until one of the two is destroyed. This requires careful planning
and great balance , so to support two towns all the time on the edge of destruction. Some months food and
resources will be less than others , but it should be set to a certain minimum to avoid destruction of one
of the towns without even fighting.
Buildings can be build using stone bricks as resources or wood.
Wood is easyer , because its all around the world and it'll be easely cutted. Stone bricks on the other hand
create stronger buildings , but will require gathering of stones and forming after that into bricks wich should
be affected by the 'crafter's level , proportional to the ammount of bricks produced. If his level in forming
bricks is lower he'll produce less bricks,and vice-versa.
Buildings can also be destroyed with weapons. (Not realistic , but will give a good sense of war between towns.)
Once a town is eastablished and a community working together for its own survival they can start thinking
about fighting the other town.

When choosing what type of building to build (House,Building,1 Floor,2 Floors,3 Floors max,+size) the builder can
choose if it will be locked by default. This means if it is locked everyone who has access to it will have a key,and keys
are crafted for a certain building. It requires authorisation by the builder and a key for this building to make a new key.
Theese keys work only for the building it was made for. This way people can store food and resources away from 'thieves' for the town,or leave
their character in their house while offline. Else , the character doesnt 'fade away' as in typical MMO games,he remains exactly where the
player left him vulnerable to attacks. Once a character dies (as mentioned before) the person playing will be forced to create a new character
with a diffrent name , but the same stats 1/3 of the original of the dead character. Or he can choose to completely replace the character and
start with base stats.
In the begining of the game people can choose "Builder,Crafter,Gatherer"...etc to give them higher skill levels in the chosen 'occupation'. They
can increase the other stats higher than the chosen and become a diffrent class character if they choose to do that,or increase all of them at the
same time.
Buildings also can be demolished,but only by the person who placed the building in this spot. More than one player can build a house,but the person
who first placed the 'construction site' there is the owner,and with being an owner of this house comes a key for it if its 'locked by default' and the
right to demolish it at any time he chooses. Demolishing does not require resources,however it requires certain level of 'builder' and some
kind of tool (still to decide).

Some characters will be granted the ability to cast spells and use magic. This will be totaly random (eg. 4% chance for a character to become wizard,sorceror...)
Mainly magic will be focused on character 'buffs'. Faster building , faster learning , 'magic feeding' and resource gathering. It will play a role in combat,but
combat spells will be something casted no more than 3 times in a battle (day) because of high mana costs. The only mass spells would be something like creating
a fog in the middle of a battlefield or blessing / cursing everyone within a certain range for health,hunger or something similar. Mages will be easyer to kill
than a normal person , but will play a great role in the town support,because of their ability to feed or heal others magicaly.



This whole concept eliminates the need for people pretending to gather weapons for example and selling them pretending they've been melted and crafted again. Noone
will laught at a person for carrying large ammounts of food anymore because characters actualy need it,else they'll die from starvation.
It also eliminates the problems with AI systems. There is still no PVP AI control system , or NPC town management & justice system working exactly as it should in
the whole world. It eliminates the problems with AI item shops management and pathfinding. Actualy building towns and supporting them in a MMO gives great
freedom of choise. Enough with the advantages , lets mention the disadvantages , to be fair.
Concept like that has many disadvantages , and the biggest is that people are destructive by nature. In the free world this is limited by actual death and pain, but
in a game world you cant die or get hurt. Your character can , but you cant. So , for people who want violence and cant do it in the real world , they come in the
game world to do it. Murders , thefts , even genocide. Dont get me wrong. It'll help for defining the two fractions (or more) in-game , but it'll also help to
destroy a whole community. You dont want to be in a town where your neighbour is lockpicking your house 3 times a day. Or being followed constantly and at some point
attacked by a person you never expected to attack you (a neighbour in your town for eg.) This is the disadvantage and it requires careful management by the town
manager. Not everyone can handle this job. There are many , but most of them become political figures. Managing a town like the one described by this concept will
require eighter one person who can be atleast 35% of his time (maby more in the beginning) online,or a number of people , chain of command , a manager and more people
managing diffrent systems of the town.
Ok , enough talking...for now

Gameplay. Third-person camera , similar to the camera system in World of Warcraft. Movement is done with keys W,S,A,D. Attacking and interraction is done with the
Left Mouse Button (LMB). RMB is used for camera control. To use a tool or a weapon you need to equip it in the left / right hand slot in the inventory. The other one
is for shield (or empty if the tool/weapon is two-handed). You can equip armors (leather,chain,normal and full) in the 'chest' inventory slot , and helms in the 'head'
inventory slot. The inventory will have 2 or 3 categories (still to decide). One for keys and the other for items and food.
The stats screen will display bars for every skill the player is currently 'learning'. When a bar goes to the end(right) the skill level (shown right from the bar) will
increase with 1 point. (Character level is determined by the skill with the highest level).
Below all skills there will be a health bar , mana bar (used for spells if the player is a mage) or hunger bar. The hunger bar will decrease very slowly after being at full
and will start to decrease faster the more it gets to the left. Depending on your weight (items + character default weight[affected by class]) it'll decrease with diffrent
speed. Decreasing it'll affect your movement and attack speed,build and gather speed. When it reaches the left border the character will die.
The damage of the weapon wont be displayed but it'll vary depending on the weapon type and the armor it is used against.
Camera control will be diffrent when a person enters a building. It'll become first person. Characters and camera have to be modelled/possitioned in such a way that in
first person camera the weapon will be visible , but not being an view 'entity'.
Gathering wood will be much like in the real world. You equip an axe (can be used as a weak weapon) and your character starts cutting. The actual tree wont be affected in-
game , except 'fading out' when the character has gathered enough of the 'health' of this tree. Hunting will kill animals and will require character standing very close
to the corpse of the animal. Crafting (forging) weapons will require a 'forge' wich can be made by melting raw iron. Wood can be cutted with a tool created with a forge.
Forging , crafting , cutting will require some time. Food gathering wont require that much time , but will be hard for novice hunters and their arrows will fly in a
randomly choosen direction (+5,-5 pan angle of player) for example. As the hunter skill increases this angle diffrence will decrease,eventualy becomming almost always
bulls eye. People will be able also to create bows and arrows. A bow for hunting will be easyer to make and cheaper than a battle bow (wich will be more precise).
All numbers in the game will be reduced to minimum. Players health will never go to a three digits. Keeping everything low is the key for success in balancing the game.
The diffrence between new characters and old ones will be little. A high level character (fighter) will be no-more than 4 hits with a weapon from a low level character.
Low level characters will be 2 hits. If a high level character (not fighter) gets attacked he'll die in 3 hits,for eg. Attacks wont be extreemly fast , but fast enough not
to bore the player. Attacking with arrows will be slower because of the actual strength needed to 'pull' a bow. Mages will be on 2,maximum 3 hits by a low-level character
and a high level character. This will make people complain about the easy dying but will make the game more realistic,and will force the players to protect their characters
and move/fight in groups. Maby even hiring guards if he can give that much money every day for example.
Doors will be used thru a panel. When you click with the LMB on a door a panel will pop-up asking if you agree to unlock the door(If you have a key). If you dont have a key
the panel will show you a message , door locked. key needed..If someone forgets to lock his door its entirely his fault.
Building placement will require a clear area. This area will be determined by a variable for range of scan and if there is a building/character/tree or something else in
the way,it'll display a red transparent building a few feet away in front of the character. If it is clear the transparent building will be greenish. Once placed the building
will be represented by a 'base' and a few bricks on top of it,showing that the building isnt complete. If attacked it'll be easyer to destroy than a completed building.
There will be a bar above this base that shows the progress of the building stored in a MySQL database on the building management server. Once completed the building will
be registered in the database as completed.
Building something will be represented by the character in swinging a hammer towards the ground. The character will be able to build only if he is near the building.
More than one player can build the same house and it'll build faster. Everyone gains less building skill points when more than one character is building.(Still to be considered)

The purpose of having a house is that you can lock your food and items to keep them safe from thieves. You can also lock your character in,so that he'll be safe while you're offline.
You can even give rooms to other people for money (to rest in) and if they refuse to get out,complain to the town manager and the 'police' will drive him out. You can also meet with your
'guild' members or friends while safe from other people's eyes. You could hire guards(people) and tell them to stay in a room chosen by you that you think will be close to the door
so to prevent thieves from entering. The purpose of having a bigger and better house is that you can lock your possetions in many rooms , so that a thief might
get whats in the first room he enters , but for example wont have the time to lockpick the next door to steal other items or food. Also having a beautiful house would be useful for
'social standing'. People like bigger and better houses.
Buying a 'store' building will help people in 'differating' a normal building from your shop and those that want weapons/resources will come in. Also you can lock in your goods
eliminating the need for them to be carried to your house or some other place while you're offline. Also , if the town manager has given orders to people , you might pay some gold
to have your shop watched by the guards and patrols for thieves.
Town management buildings will serve exactly the purpose they're there for. They'll help people organise easyer. You'll know taxes are payed in this building for example,so you go in
and pay your monthly tax for guarding your shop and watching your house for thieves. You could pay your land tax or even buy your land so that you wont have to pay taxes anymore. (Up to the town manager)


Trading works thru a panel similar to an inventory panel. One person puts the items and or money in that persons trade 'cells' , the other puts items and or money in his trace 'cells'
and then they click the Trade button and the items/money get exchanged. The number of cells for trading will be 9 for each person. A trader that wants to trade more items than what he
has in his inventory should have a shop where to store his other items for trading. Shops will have a back room for storing items , and when a trader runs out of items he can always
go in this room (unlocking the door,exposing his possetions to the custommer if not careful) and then get what he needs and lock the room behind him. He can than safely trade what he
got out of that room. The other way is to have multiple traders in a single building , for example 4 and to have one big room (or 4 small) for storage to trade. This will be used for
friends trading together and to make cheaper the building process of this shop. Also lowering the taxes (if any) set by the town manager for a single building instead of four diffrent.
Traders will be able to put signs on the ground (if required - if granted by the town manager[for limiting the signs]) "Food" , "Weapons" etc. "Stone bricks , planks"

If tests work builders will have the ability to build walls and gates,to surround their town. Gates can be opened by everyone inside only. (All buildings will be destroyable).

(IF POSSIBLE and easy to make , a program to paint over a terrain blend map so the person behind the server could add paths. will require display of buildings.)
(Attacking with a weapon will work thru a trace between the weapon handle and the tip. When an entity has been detected,the damage will be applied to the entity's health or the entity
will play its block animation depending on % chance.)

( The mood in the game will be 'gray'. Almost all of the time the sky will be grayish,and there will be gray(very little dark blue) distance fog. On certain moments there might be some
sun lighting up the game world , but most of the time it'll be like in a rainy day. If prefabs support dynamic lighting on them there will be a night/day cycle. This will add a nice
touch to the 'visibility' because people with torches...etc.(light sources) will be very open for attacks at the forest,very easy to spot. [I'm not shure if prefabs support dynamic lighting
because I never tryed before] [OPTIONAL] Burning arrows for easyer firing at night,and will produce the 'night arrows' effect,for hidden attacks.)
Chat messages wont work as in the usual MMO game. Only people that are near will receive the message,and the further they are , the more 'distortion' they get on the messages. (Letter
dissapearing,resulting in difficult reading of the message,simulating real-life. (Example : Commander of archers types: "Fire" , enemy gets "F e" or "F r "))
For communication from distance a letter system could be created (OPTIONAL,if possible and easy) and actual people delivering the letters between points (Making money from a letter
service initiated by the town manager for eg.)

Building will be restricted to zones,so to prevent placing a house on a slope.
Doors can be destroyed with a weapon after a few hits (Depending on the weapon and the door). Buildings can take much more,possibly needing atleast 10 people hitting together. Wooden buildings
will be easyer to destroy.
Whenever a person clicks on a door (interraction with RMB,also triggers trading , item pickup...) and the door panel appears on-screen , if this person has lockpicking tools there will be a button
to do that,doesnt matter if the door(building) belongs to the person who tryes to lockpick it.
When carrying a bow the archer will have to hold the right mouse button. This will trigger First person camera and the archer can attack with the LMB.
If the archer doesnt hold the RMB and stays in third person camera , the arrows will travel like in first person camera,aiming straight forward. If he holds
the RMB , he'll be able to choose the angle of the arrow and the gravity will be active on the arrows from the beginning. They'll gain 'damage' points the lower they get to simulate real-life
attacks. (If someone fires an arrow straight up , the arrow will be more deadlyer when it starts falling than an arrow falling , comming from the sides.)
Usualy it'll take no more than 2 arrows to kill a normal character , maby maximum 3 if he's skilled in fighting and has increased HP points.
There will be an example guide for town management,neutral,and carefuly designed not to be followed strictly. Otherwise it'll remove the 'good,evil' concept and people wont divide in groups.
There will be a 'wall' on one of the buildings (designed with a section) for 'posting' laws and restrictions inforced by the town manager or the people. The person who can 'post' on this wall is
the builder. (The person who first placed the 'building site' on that spot).



Posted By: Damocles

Re: A question to the MP community - 10/13/07 14:53

You start at the wrong point.
You already image the way the game should work, elements of the gameplay etc.

This is not the important point at the beginning!

You have to worry about the tecnical basis first. Because without that you can plan a lot,
but realize nothing.

Whenever you drafted the netwoking system, that can pass specified data
from servers to clients, and also filders data that is only important for the adressed
client, you can start to think about how to use this to craft a game.

If you collect enough knowlege in that area, you know what kind of architecture
your planned game should have (to realize the game you imagine).
Posted By: fastlane69

Re: A question to the MP community - 10/13/07 20:20

OUCH!!

That document is a mess.

If I were you, I would organize it like a more conventional design document (you can google several samples). Like perhaps many others, I see all the text and immediately skip it... there is no way I'm going to read all that! And after the first paragraph I still don't know what you are after: is it an RPG, and RTS, something new? Who knows!

Start with a High Concept, about 250 words that completely describes your game, and put that on top separate from everything else. That way people will know right away what your after and if their interested.

And I don't totally agree with Damocles... I think it's really important to know what type of gameplay your are after before you do the technical stuff since the type of game will affect how you program your network; a MMORPG will have a different backend than a 4 person FPS or a MMORTS. He is right that if you are planning a MP game you have to give some thought to the technical side almost at the begining, but not at the expense of gameplay... otherwise you might spend many months creating a technical wonder that is useless or inefficient for the game you have planned.
Posted By: EpsiloN

Re: A question to the MP community - 10/14/07 03:53

I already tought about how the system should work. I have LITTLE experience with MP programming and MMORPGs and I think it should work,if done right. I tryed to minimise the data send by the server by using the clients to update some of the 'missing' data with MySQL databases. What I posted isnt a design document. I know how to write one,and I never write a design document because many of the 'topics' in it are useless,and half of them repeat one after another. What kind of game it'll be,who will play the game,why they'll play the game.How will I realise the game and so on...
I always work with whats in my head,and I have everything what I wrote in my head already,and more(but I'm reserving the best 2 major features for myself,in case someone steals the concept). I already wrote something similar for how the system should work. I guess its much to ask,and noone will help me. I'll wait until I get another PC,and then try to convince nfs42 to make GSTNet support more clients Does A7 have a feature to send only to a certain client ?

PS.: Atleast tell me,isnt this concept worth the hard work? Giving the players maximum freedom they can have in a game...giving them the oportunity to write their own storyline,to make their own cities and countries,armies and 'invasion events' without a lot of mages destroying the whole game with their super-ultra-mega powerful 1 kill spell for mass destruction like in many others. The only disadvantage is that people might not organise,once they start playing. But thats another topic.
Posted By: fastlane69

Re: A question to the MP community - 10/14/07 14:51

Quote:

I already tought about how the system should work. I have LITTLE experience with MP programming and MMORPGs and I think it should work,if done right




If you have little experience, then how do you know that it should work? What is "done right" vs. "done wrong"? Comments like this destroy your credibility as a developer and team lead.

Quote:

know how to write one,and I never write a design document because many of the 'topics' in it are useless




If you feel that a Game Design Document is useles, especially for something as big and complex as a MMORPG, then how do you expect others to help you? If every game was only the art of one person, a GDD wouldn't be necessary. But suppose I wished to help you... how would I know how many levels we are creating, what the stats for the world objects are, what acceptable network bandwidth is, what things are named and what they do? The GDD standardizes these question so I know exactly where to go for the answer directly instead of asking you time after time. And chances are that if you think a GDD useless, I'm afraid people will think the same of your concept.

Quote:

half of them repeat one after another




Precisely the point of a GDD! The repitition is needed so tha a person reading it fully understands what is needed.... it's a "viewing thing from every angle" sort of arguement.

Quote:

but I'm reserving the best 2 major features for myself,in case someone steals the concept).




I'm not saying you should make those features public, but that is a very noob thing to say. EVERYONE thinks that they came up with the greatest most original concept and if they let the cat out of the bag, Bill Gates will sweep up and steal it. Well let me tell you, concepts in the head unrealized are worthless. If you are the right one to make that concept real, then you could shout it from the rooftops for all to hear and STILL you'd be the only one to do it.

Quote:

I guess its much to ask,and noone will help me




Asking people to work on YOUR MMORPG for freee is too much to ask for I'm afraid.

Quote:

Does A7 have a feature to send only to a certain client ?





Yes. And so does/did A6.

Quote:

Atleast tell me,isnt this concept worth the hard work




Who knows? It's impossible to tell with what you've posted. If you could rehash it in terms that people could understand, in terms of a GDD or something smaller, maybe people could get behind you. But if your development are as disorganized as your ideas seem to be, don't expect anyone to want to partner up with you just like that.

Quote:

Giving the players maximum freedom they can have in a game...giving them the oportunity to write their own storyline,to make their own cities and countries,armies




Another comment that comes off as very noobish only because you hear this ALL the time. "maximum freedom" and "write your own storyline" are marketing taglines, the kind of thing you say in an ad or back of the box. These aren't features, you don't program them in, and they are in fact impossible really when you come down to it.

Bottom LIne:
If you want people to help you, you have to start by proving that it's worth helping you. If you are disorganized with your thoughts, if you have poor grammer and spelling (yes, that does count!), then there is nothing for people to hold on to, to believe in you. You may have the greatest MMO in mind right now... but it's worthless if it's just in your mind and you don't take the realistic steps to make it real. Right now I'm afraid there is nothing in this thread to distinguish you from the countless others newcomers that have a great idea for a MMO but no idea how to realize it. Make yourself unique, prove that you are the one to follow, and do it but helping yourself instead of asking others for help.
Posted By: EpsiloN

Re: A question to the MP community - 10/14/07 15:45

I'm starting to lear MP tonight. If thats what it takes to get someone to help me,I'll make a design document,and I never said it was useless if you read carefully,you'll see that I wrote 'many of the topics'. And,btw,I dont know English perfectly,because my native language is Bulgarian I can write it perfectly in Bulgarian,but who will read it?
About the 'noobish' thing to say,for keeping the two major features to myself,you have to admit that even you stole something from a movie,book or a game,that you tought it'll look great in a game I've done it once,taking a whole concept for a board game,changing it just a little.
You said that A6 can send something to a certain client,I've heard only for GSTNet,that can do that. Or am I wrong?

Quote:

Another comment that comes off as very noobish only because you hear this ALL the time. "maximum freedom" and "write your own storyline" are marketing taglines, the kind of thing you say in an ad or back of the box. These aren't features, you don't program them in, and they are in fact impossible really when you come down to it.



Now , if you read my 'concept' you'll know that I'm not just talking nonsense Its not a feature,but I've removed the need for a story,I've removed the 'cheezy NPC guide you thru the storyline' and added the possibility for people to control the whole 'Economy' in the game. I dont think that one came from a marketing tagline I'm not trying to be offensive about this,but I dont agree with you on what you wrote. Yes , I didnt organised it in a document , I didnt ask for a whole team to 'manage' and lead. I asked for one person who might already made a system for movement and attacking for more than 50 persons,that could be optimised just a little to fit my concept needs. I dont consider myself a leader,I am capable,because I run my own small company,but I do not wish to lead,or tell people what they have to do. If someone wants to help me,ok I guess noone will do that,so I'm starting it myself. I consider myself a good programmer,so it should be fairly easy to learn how MP works. I'll never finish the script alone,I realise that,but its worth the try,even if you dont believe in it Thanks for your time. I'll think about your 'constructive critics' and try to improve.
Posted By: fastlane69

Re: A question to the MP community - 10/15/07 01:24

I had no idea english wasn't your native language... you carry it well!
I'll wish you good luck but urge you to not try your concept.
Take my advice and start with a small chatroom, some movement, get used to MP programming, and then try and make your game.

Good Luck!
Posted By: giorgi3

Re: A question to the MP community - 10/15/07 08:38

Don't get to discouraged with the responses to your request for help. Actually, everyone is trying to help you start your MP adventure in the right way. MP is hard enough to get working right, MMOG is a gigantic effort.

Take the advice given. Set aside your MMOG for now. Start with something small in MP. Study Locoweeds tutorial. Get a chat working, get some movement going, conquer the latency and bandwidth issues associated with MP and the internet. Once you've got a solid understanding of MP then begin again on your MMOG idea.
Posted By: EpsiloN

Re: A question to the MP community - 10/15/07 18:52

Actualy , I went thru Locoweeds MP tutorial today,and I'm starting to realise that my idea isnt any diffrent from a normal Multiplayer game,except that it includes 10 times the normal clients. Instead of having 10 clients,I have 100 but sending 10 times less data I'm gonna try tommorow to make a simple movement code with a chat system,when I get it right,the only thing left is just 2 variables send from client to server,and server to client. Maby 3 if I've forgot something,I'll have to think about the whole concept again,but I'm almost shure literaly 2 variables plus the movement and chat systems. I've tought about MMO games , specificaly browser-based games in 3D,how they could be implemented,and because of this I have some ideas how to minimise the data transferred. I hope it works when I try it (probably the day after tommorow)
But now I have another question. I currently dont even have access to the internet for more than 5 mins./day. I'm doing everything on one machine. Even if I manage to get 2 computers in a LAN ...how can I test if it works for more clients? I dont have money to pay for a 100 testers,maby even 50 could do the job. If I get atleast 10 it wont be enough,because I can never be shure if the server could support even twice more connections. How can I test it without knowing someone who owns a computer club?

PS.: I had another question,but for so much thinking I forgot what it was If I remember,I'll post again tommorow.
Posted By: fastlane69

Re: A question to the MP community - 10/16/07 03:52

I admire your dedication, but do you really think that MP is a wise course of action?

I mean if you don't have any MP experience, and can't be on the net for more than 5 mins. a day and can't get the computers for testing and honestly think that you can send data to 100 people with 10 times less data than 10, then might it not be better if you made single player games that require only 1 computer and no internet?

IMO, single player games are more your cup of tea...
Posted By: EpsiloN

Re: A question to the MP community - 10/16/07 09:58

Dont get me wrong,in about a month I'll have a computer connected to the net. Its only temporary...About the testing,I can get max 10 people for no-more than 15 minutes to test if it runs ok,but thats my maximum,without paying.
I remember what whas my second question,and I NEED answer because it'll save me atleast 2 days of testing,and playing with pointers.
I can send data to a certain client using his entity pointer on the server. Ok , thats for one entity. What if the client actualy created more entities,and I assigned each one of them pointers on the server,to keep track wich entities belong to that client. Can I send something to that client using each entity pointer,instead of using the first entity that the client created ? Or should I create an invisible,non-updating entity on the server for every client,and when I have to send something to that client,I should use that certain entity. I'm a little confused with the entity part in MP , but I'll try to get some movement in my chat room later,or tommorow.

PS.: Because noone will help me,I continued developing my concept,in Bulgarian. I now have all the numbers for the game , Items min/max damage, min/max character health and stats,all the spells and their statistics. How will the damage work,and how will the character absorb/evade/block damage. Explanations in each situation the client can get in I know what I'm doing...I just havent proven it to anyone...
Posted By: fastlane69

Re: A question to the MP community - 10/16/07 15:16

Quote:

Can I send something to that client using each entity pointer,instead of using the first entity that the client created ? Or should I create an invisible,non-updating entity on the server for every client,and when I have to send something to that client,I should use that certain entity.




The second option is the best. That way, you can create as many updating entities as you want and each client will only have one "address", that of the non-updating entity.

So you will end up using the entity pointer, but only the non-updating one.
Posted By: Excessus

Re: A question to the MP community - 10/16/07 15:36

In A7, you don't need the entity pointer. Use the client_ID instead.
Posted By: EpsiloN

Re: A question to the MP community - 10/16/07 15:45

I'm not using A7 yet,I'm waiting for it to become stable ,because of what I've heared A7 is a little buggy in C-Script
What I ment for the entities is...For example a player builds a house,the entity is created by the client,and the pos & 'player created' id is sent to the server. The server receives everything and creates the building at the certain possition,and assigns the ID to a certain skill,and also assigns a certain free pointer to it for later use (for example house1374). (This ID is the same as the players ID , wich is generated by the server when the game starts. It'll be stored in a database,and always be used for this certain client) Later , if I want to send data to the builder of this house , can I send it thru entity pointer 'house1374' instead of using 'playerxxx' pointer? Will the client receive the data?

PS.: After assigning the building a pointer all skills will be set to 'nosend',and a MySQL database will be used for updating periodicaly this building.(For example if a client is near enough to the house,it'll update for example every 4 seconds,thru the MySQL server for buildings).What I'm trying to do is to have the server update to the clients if a certain character is attacking a building,and send data to the client who created that building,but imagine I dont know his number,I havent assigned ID,it comes to sending the data to the client not thru the character of that client,but instead thru the pointer of that building...
Posted By: fastlane69

Re: A question to the MP community - 10/16/07 17:26

The problem I see with this system is that if the player creates the building, then when the client logs off, the house is destoryed. This could be awkward for other players around or in the house when the creating player logs off.

Better to have the server create the house and that way it's independent of whether the player is logged in or not.
Posted By: EpsiloN

Re: A question to the MP community - 10/16/07 19:06

What if I define 100 pointers and assign each one of them everytime to the same client. The client registers the building in the database and assigns ID xxx. Now if I want to send to that client I use the ID for playerxxx pointer and the building stays independant , created by the server because of the database update. How does it look now,possible?
Posted By: fastlane69

Re: A question to the MP community - 10/17/07 02:50

You are making it too convoluted. Since you are using a MySQL DB, here is the better solution:

-Keep a listing of all users in the DB... each player should correspond to one user and each user has a unique User ID (UID).
-When a client logs in, they log in as a user. Now you assign that UID to the Client's Pointer in the DB.
-When the client creates a house, it is assigned this UID.
-Now you trace through the DB: house --> UID... UID --> User... User---> Client Pointer.

There are more efficient ways of doing this in the DB (I'm no DB expert) but you get the idea... use a series of "lookup tables" to assign each object in the world to the right client and thus the right pointer and thus can send to the right person.
Posted By: EpsiloN

Re: A question to the MP community - 10/17/07 03:47

You're probably right. I tought it'll be less data to transfer if the player and the server update separately localy,but I'm not going that deep right from the start. I'll try the simplest solution first(yours).

PS.: Thanks for your help , I've never received that many responses to a project I was ever working on
Yesterday I made all the spells,and damage calculations on paper,today I'll finish everything up with the items,and their stats,and I'll be ready when I make my 'simple' movement code BTW , doesnt it look easy the way I want to make it? With just a few vars... Or I'm wrong again?
Posted By: fastlane69

Re: A question to the MP community - 10/17/07 16:18

Quote:

doesnt it look easy the way I want to make it? With just a few vars




There is no WAY i'm reading through all that mess to deceipher your network plan.
If you can repost your plan and specify exactly what you plan to do with the vars I can comment further.
Posted By: EpsiloN

Re: A question to the MP community - 10/17/07 19:33

Basicly,the system works like this : A player clicks for example on another player with the RMB. (RMB will be for trading,example only! Still deciding what the controls will be,I want RMB for first person for bows & crossbows) The client than sends object ID(the other clients ID) and interraction variable for trading (example 1). The server than sends a request for trade by that certain player by setting no more than 2 skills of the other client. If the other client accepts,sends an interraction variable for trade and an object ID of the other client. Now two of the clients want to trade with eachother...initiate script for trading (Waiting for 1 variable only,everything else will be done in the database...). If you prefer,I can give you the same example with casting a spell,opening a door or building a house. The building process will be with 6 variables. 1 for object ID '0' , 1 for building type (house,shop...) , 3 for pos of the building and one for pan.(No tilt). The highest data transfer will be when a client builds something. Everything else will be limited to state (attack,walk) , pos & pan updates. Health and stats of objects will be managed mainly thru the database with object ID,as you said. I think it'll work,what do you think ?

PS.: I'm almost at the movement code,figuring out input right now I tryed to add animations,but for some reason I can get eighter only client animations,or only server. Couldnt animate on both for some strange reason I'll have to try another way tommorow. Thanks for reading,and sorry if I'm boring with my endless questions,but thats the easyest way to learn...
Posted By: fastlane69

Re: A question to the MP community - 10/17/07 20:03

That seems to be okay. I'm worried about security if you are relying on the client to tell the server what it wants to trade. A more secure solution is to send down which inventory slot you want to trade to the server and then the server determines what object is in that slot... they should be the same. This way you avoid a hack where a client can trade an object it doesn't have by sending down the ID of an object it doesn't have.

Other than that, seems doable... but the proof is in the pudding. You'll need to implement your idea in order to truly see if it will work!
Posted By: EpsiloN

Re: A question to the MP community - 10/18/07 03:59

To prevent cheating to some point,I tought I could limit all numbers in-game to a certain maximum,this way if someone cheats he can do it only to the maximum level possible in-game,but right now I'm not worried about cheating. Maby I should,but my primary task right now is to learn how all this works. I tought Trading done thru the server will increase the data send with 18 variables (Trading cells 9 on each client) , but now you got me thinking ... I'm only sending this once,possibly (with 100 people) once in 30 sec.
BTW , I assigned playerxxx to every player , but only on the server. I dont think it will be needed on the clients,but would be good to have. I should do it in a proc_local function,right ? (I tryed the normal way,like 'player' pointer,but only the 'player' pointer works that way.)
Posted By: EpsiloN

Re: A question to the MP community - 10/20/07 07:46

After reading Giorgi3s Newbies guide (I found it burryed deep on my HDD ) I learned what is executed on server,and what on client. Its easy to understand,but when you have it explained...
I have an idea,not shure if it'll work,gonna test it later. In Locoweeds tut and Giorgi3s tut,I saw they both used sending movement skills only when the skills change. This reduces the data sent to the server a lot. I tought,shouldnt it reduce more if you send only one skill ? Using for example 1 for forward,2 for back,3 for left,4 for right,5 for forward & left,6 for forward & right... This way it'll send only one skill,and I can even include the speed with wich the entity is moving,but in my case this'll be decided by the server. Entity rotation will be done client side(as in the templates) because the one I have right now is more than 'jerky' The entity doesnt even turn if you move the mouse constantly in one direction...
I smoothed to some point the movement,but still needs tweaks. Tested on only one machine,after I get answer to my question,about the 'one skill movement input' I'll test it on two machines(possibly 3,2 LAN and one internet). I wont plan further testing until I see it working correctly on 2~3 machines
I think I'm making progress right ?
Posted By: EpsiloN

Re: A question to the MP community - 10/30/07 17:31

If anyone is interested to hear about the progress of this project,I'm not only learning more about MP programming,but I also have 4 bases for a MMO game(I'm always starting from scratch when I have a bug/problem). I only have to figure out how to move the clients smooth to the updated possition,what I currently have looks just a little jerky,but I have an idea how I can fix it.
So far , if I understood correctly from the manual , my clients are receiving 300 bytes / second from the server , and sending less than 80 bytes / second. Theese numbers will increase no more than 50% when I finish all the 'features' of the base. From this point (after finishing the base) it'll need only the graphical parts done,and I already have GUI,Houses and a few items to test the inventory. Basicaly I'm almost half done with the scripting. I'm sorry that noone wanned to help me out...for free...I now have a debit card with enough money to hire a programmer,but I'll never do that now,because I almost learned what I wanned

PS.: I hope I can finish it on my own,and I wish you good luck with MP...
© 2024 lite-C Forums