Jump to content

Multiplayer for fallout 3


DSKPNK

Recommended Posts

It isn't true! It is not impossible.. the vanilla game by itself not capable of multi-player, but I am working on introducing multi-player asap. I use to have proof of my progress on youtube, but the videos were lost. However I am not too far away from having a demo, but don't expect much except seeing other players move around in an area with you. Could be quite some time before it is anything amazing.

 

Something like this, is it even legal? :unsure:

 

Look at FOSE and the support Beth has given them . Have they got in legal issues with the FOSE guys ? Nope. Also I have heard directly from mods at Beth's forum that they are ok with this. Just like they were ok with the guy who worked on oblivion online. They even think it is cool.

 

If you do make it a success, having multiplayer means you need to host an online server or something which in return involves money right?

Link to comment
Share on other sites

If you do make it a success, having multiplayer means you need to host an online server or something which in return involves money right?

 

Yes I will need someone to host my server application or I will have to find the money myself to host it. I have already had some offers for hosting for free, so I am not too worried.

 

FYI, I have given a server application I have made to someone else to host and it did work. But that was for a different game and was programmed in a different language. I still have my old source code for the client and server i made for my demo videos i use to have on you-tube. I will be improving upon them both, but mostly the client.

Link to comment
Share on other sites

Oblivion Online died before they had any real release, didn´t it?

From the looks of the

it seems they were ages away from something enjoyable and I really doubt it would have been possible to solve all the issues...

 

ProsperXoXo: Aha, the videos got lost. Somehow they always do when someone announces something highly unlikely to happen, isn´t that so?

Link to comment
Share on other sites

If you do make it a success, having multiplayer means you need to host an online server or something which in return involves money right?

 

Yes I will need someone to host my server application or I will have to find the money myself to host it. I have already had some offers for hosting for free, so I am not too worried.

 

FYI, I have given a server application I have made to someone else to host and it did work. But that was for a different game and was programmed in a different language. I still have my old source code for the client and server i made for my demo videos i use to have on you-tube. I will be improving upon them both, but mostly the client.

 

Alright, best of luck then. :smile: Millions of eyes will be watching over your project.

Link to comment
Share on other sites

To make the server application, you will need at least two computers: one to host the server and one to play the client. I would suggest starting out like this and making it LAN-only until you get some confidence that it isn't easy to cheat.

 

Of course, you can host an application publicly under an unrestrictive license and that would enable people to help you out.

 

See http://sourceforge.net/softwaremap/trove_l...hp?form_cat=775 for some examples of what you could do at sf.net.

Link to comment
Share on other sites

to my knowledge the gamebryo engine used in FO3 has no multiplayer feature at all. you had to create the code from scratch, if the engine is multipllayer capable at all. first you have to make the everything synchronized between the clients, e.g. enemies, doors, items etc. this is the hardest part (ask the San Andreas Multiplayer team). then there are also many features that have to be removed to support multiplayer. especially pausing stuff like V.A.T.S., opening the pipboy menu and hittinng Esc.

 

trying to implement a multiplayer mod into a game, builld upon an engine ment only for singleplayer is lunatic mode and definitely not a one-man-project. also your "mystical disappeared demonstration videos" don't really increasse my faith either :|

Link to comment
Share on other sites

I think the other guy who worked on multiplayer was a little too paranoid for his own good. He wouldn't even release his rain mod because he didn't want anybody "stealing" his code. It's a doable project, but I agree that there are a lot of issues and Gamebryo doesn't make it easy.
Link to comment
Share on other sites

I think the other guy who worked on multiplayer was a little too paranoid for his own good. He wouldn't even release his rain mod because he didn't want anybody "stealing" his code. It's a doable project, but I agree that there are a lot of issues and Gamebryo doesn't make it easy.

 

I have been working most of today on calling the GetPos function using MASM instead of C++, because I am trying to get comfortable with Assembly. C++ it works, but retrieves the wrong position values. Sometimes modifying the referenceID I got 0.00 others I got super large numbers.

 

Here is a copy of the source, but I may of made a mistake when restoring it.

 

typedef int (__cdecl * Sub_50EC60_Prototype)(int, int, int, int);
Sub_50EC60_Prototype Sub_50EC60_Pointer = NULL;

void nop_(PVOID address, int bytes){
DWORD d, ds;
VirtualProtect(address, bytes, PAGE_EXECUTE_READWRITE, &d);
memset(address, 0x90, bytes);
VirtualProtect(address,bytes,d,&ds);
}  

DWORD WINAPI LoopFunction(LPVOID lpParam)
{
Sub_50EC60_Pointer = (Sub_50EC60_Prototype)0x50EC60;

BYTE ReferenceID [] =  {0x7C, 0xEE, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14};
//Changing bytes after the first four yeilds different, but very much inaccurate values, I am not sure,
//what needs to be


while(1){
	
	Sleep(200);
	if(GetAsyncKeyState(0x20) & 1)
	{
	BYTE originalBytes [2] = {0};

	//backup the jnz opcode
	memcpy_s(originalBytes, 2, (void*)0x0050ECCA, 2);

	//fix jump - jnz to NOP - jnz was jumping over the call needed to print the position to console.
	//later when I get this to give back the proper values, I will hook the print to console to retrieve the values,
	//but return null text to prevent console overflowing of text
	nop_((PVOID)0x0050ECCA, 2);
	Sub_50EC60_Pointer((int)&ReferenceID, 0x59, 0, 0x18CA18);
	WriteMemory((DWORD)0x0050ECCA, originalBytes, 2);

	}
}
return 0;
}

 

So basically when you press the spacebar key, and your console window is open it will try to retrieve a reference's position Y. Y is 0x59.

Only tested on Windows 7 x64 Professional. But I have a Windows XP 32 Bit Professional for later, just in case I need to do testing there.

 

If it makes you guys feel better I will upload a video of my multiplayer sample again. I will have to check my network drive to see if I have the .esp associated with it still. If not then, you may just have to wait.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...