Adventure Game Studio

AGS Support => Advanced Technical Forum => Topic started by: Construed on Mon 03/01/2011 21:24:42

Title: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 21:24:42
Hi, my name is jared.
I've been a fan of sierra games my entire life.
From SQ1 to QFG5, Pretty much started out on a tandy 1000.
So I'm sure you understand my nastalgia associated with this and agi engines.
I've been messing with the sarien.net source and have come to realize the documentation and implementation of it is far too incomplete.
Not to mention I dont even know wether or not AGS files are convertable to java, such as AGI are.
I've slightly fiddled with the tcp plugin for ags and also found it to be lacking in many ways.
My main question is.
Does anyone know another implementation of multiplayer I could possibly use or have links/refrences to the coding and scripting contained in the tcp and or other plugin or another possible framework for multiplayer with AGS.

I would like players to talk to eachother and share objects, trade, and fight eachother in designated areas or wilderness areas.

I'm partially skilled in most programming languages, html,xml,php,java,flash,ajax,C++,Python, ect ect..
I also do 2d and 3d graphic design and am familiarizing myself with the ags scripting system.

Thank you for taking the time to read my post.
Jared-
Title: Re: AGS Multiplayer.
Post by: monkey0506 on Mon 03/01/2011 21:31:40
Hooray! Another one of these posts! :=

The short answer is: "No."

The long answer is: "Why would you want to? It's an adventure game."

The other answer is: "No one has ever released anything serious using the TCP/IP plugin which is outdated, and due to lack of serious response, no one has bothered to update it or provide a new version thereof."

Snideness and snickery aside, since the engine plugin API has been ported to C#, it would probably be a lot simpler to convince someone to write a new version of the plugin..or it might be simpler to do so yourself.
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 21:34:30
Lol, i was just reading your post in another multiplayer forum.
The reason why is beacuse i want to share the same wonderful and special moments i grew up with playing these games with the next generation and without multiplayer they wont be intrested.

Also the engine and graphics are special to me.
I'll take 1980's pixel art over a buffed up dx3d ugly textured 3d object any day.
Title: Re: AGS Multiplayer.
Post by: monkey0506 on Mon 03/01/2011 21:38:21
Let me be the first to say that I also can't stand "ugly textured 3d oibject". :P
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 21:39:19
"The other answer is: "No one has ever released anything serious using the TCP/IP plugin which is outdated, and due to lack of serious response, no one has bothered to update it or provide a new version thereof."

Snideness and snickery aside, since the engine plugin API has been ported to C#, it would probably be a lot simpler to convince someone to write a new version of the plugin..or it might be simpler to do so yourself."

Hmm, indeed.
I would need adequate knowledge of the tcp script or c# and how to implement it therin.

I'm willing to make a long project out of this.
There really is no other engine that suits me.
Title: Re: AGS Multiplayer.
Post by: monkey0506 on Mon 03/01/2011 21:47:27
The .NET Framework provides several classes to simplify TCP connections which is why C# would probably be easier than C++. If you already know C++ then C# is not difficult to learn..so long as you don't mind having your pride hurt by knowing that you're using such a foolishly named language. :=
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 21:50:24
So if i coded  c# client/server application or found one that is open source, how hard would it be to implement it into AGS via plugin or other method?
Title: Re: AGS Multiplayer.
Post by: monkey0506 on Mon 03/01/2011 21:57:51
The actual function calls for opening the connection and sending and receiving data would take place from the AGS script, so really you would need to implement your own system for AGS to utilize, establish that within the plugin API, then link the appropriate C# function calls/logic/etc. to those functions..

It actually shouldn't be too difficult I would think. If I had VS on this computer I might just do it myself.
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 22:01:12
Yea, you seem like a very wise person.
This will take me quite some time, because I'm an amateur.
However my insane infatuation with this engine will keep me going.

If you have any links/refrences on the matter they would be greatly appreciated.


Thank you for the timely responces and adequate information.
Title: Re: AGS Multiplayer.
Post by: monkey0506 on Mon 03/01/2011 22:04:05
Just Google "C# socket" or "C# tcpclient". Look for the MSDN website. Also, you'll want to download the Engine Plugin API for C# from this site. I could provide links..but I'm gonna go! :D
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 22:05:55
Ok my friend,
Your wisdom is worth more than gold and rubies.
Without you i would have never obtained information on this subject.
So i thank you greatly for your patronage my good sir!
Title: Re: AGS Multiplayer.
Post by: Wyz on Mon 03/01/2011 22:24:06
Well actually, for the chat ceremony of the AGS awards I was working on a IRC client for AGS. It uses a custom build tcp/ip plugin. I was planning to rework it a bit afterwards and release it, but you can try out the current version if you wish. Of course I can't offer support or documentation (apart from the auto-complete hints) for it yet.

The DLL is included in this archive:
http://shutupload.com/info/a01c37809f2a
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 22:47:04
It look's very nice, I'm going to dabble with it now.

Thank you!
Title: Re: AGS Multiplayer.
Post by: Construed on Mon 03/01/2011 23:51:29
I cant get your executable to run because of the high resolution on it and dont really know how to incorperate it because i dont actually know exactley what data its transfering nor can i find any settings for IP and when i include the plugin in my own game i dont know how to call any functions from it.
Thanks

PS.
I'm pretty new to the AGS engine.
I've been working with winagi and agistudio for a long time.
But had to step up a notch because of lack of functionality.
Title: Re: AGS Multiplayer.
Post by: DoorKnobHandle on Tue 04/01/2011 00:04:01
I also plan on writing a multiplayer plugin for AGS that can be used for setting up a peer-to-peer connection between two computers running the same AGS game and send data across. I would do it via C++ as that's what I know. Haven't done very much network programming at all before though, so it's nothing anybody should hold their breath while waiting for.
Title: Re: AGS Multiplayer.
Post by: Construed on Tue 04/01/2011 00:12:11
You know how to use this plugin?
Title: Re: AGS Multiplayer.
Post by: Jim Reed on Tue 04/01/2011 00:13:10
Actually, Dualnames made a working mp plugin this summer. (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=41451.0)
Title: Re: AGS Multiplayer.
Post by: Construed on Tue 04/01/2011 00:16:32
Yea, i stumbled across that before,
Perhaps i should study it further.
It looks pretty promising.
Title: Re: AGS Multiplayer.
Post by: Construed on Tue 04/01/2011 00:21:55
"HOST:
The game requires one host. The host doesn't need to type other's people IPs but instead needs to create a Network at Hamachi, and tell people to join it."

What type of server is he talking about?
Do you know if apache or another "free" server would suffice?

//edit nvm, i'll just use it for testing purposes then figure it out,
Thanks for the info.
Title: Re: AGS Multiplayer.
Post by: Jim Reed on Tue 04/01/2011 00:30:44
Log onto AGS IRC and wait for Dualnames, he's there a lot. He'll prolly be glad to help explain it. Or you could PM him.
Title: Re: AGS Multiplayer.
Post by: Construed on Tue 04/01/2011 00:54:24
ok, thanks bud.
Title: Re: AGS Multiplayer.
Post by: Khris on Tue 04/01/2011 15:26:13
Let me add that for the project you want to realize you have to run a server that handles multiple clients and manages the game world and all its objects.
Getting an AGS game to communicate with another one will only get you halfway there.
Title: Re: AGS Multiplayer.
Post by: Construed on Wed 19/01/2011 04:11:51
Ok, I'm currently working on coding a VB express 08 winsock tcp/ip server.
I've got some parts of it working however does anyone know a place where i can find a good refrence about how ags can communicate with a server?
Title: Re: AGS Multiplayer.
Post by: Igor Hardy on Wed 19/01/2011 13:55:26
This? (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=42648.0)
Title: Re: AGS Multiplayer.
Post by: Construed on Fri 21/01/2011 07:37:47
Indeed, thanks for the pointer.
I've already switched over.
Working on debugging it.