Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - PNill

Pages: 1 2 [3] 4 5
21
Just wanted to let you guys know for now on I'll be committing my code that makes this happen to GitHub,
https://github.com/PermaNulled/T4MP

One of my next moves will be integrating Google Protocol buffers in order to handle the data exchanges...
With that I should be able to create deltas of the information per player and handle everything in much smaller packets reducing latency overall and increasing the ability to play even if it's in a 'ghetto' state of syncing at the moment.

After implementing protocol buffers is when I'll start looking into event handlers to sync player actions, movements, weapon pickups and etc.

In theory I could have most of the data I need synced in a matter of days but I am currently taking a break from this project as I was pretty upset/disappointed with myself when I couldn't spawn another player without producing their screen I'm hoping that when I come back to this I have more of a drive to look at that again and figure out what I was doing wrong, in the mean time this will kinda just hang out for a while and I'll work on other projects and deal with real life until I find the time and motivation to come back to it.

If anyone else would like to experiment with it the source is there for now, and I'll try updating things at minimum to state where we can sync two players in a PoC (Proof of Concept) fashion via the split-screen mode that's currently in-tact.

22
The issue has nothing to do with the method I will use to sync the data between players...

But to explain the way that it works is he's controlling the 2nd player on my screen where I am controlling the second on his.

It's not really mapping my local input to player 2 and controlling player 2 on him or anything like that.

On our local screens we are both player 1, and remotely we are both player 2.

Ahh I see that's got to be pretty confusing there dealing with that I hope you can figure it out though sounds crazy. I imagine that is ghetto :))

Video of the "Ghetto match" should be up soon.

I gotta see this hehe :) Turok ghetto wars.

It's not too confusing to be honest, but it shouldn't reflect the actual project at all in terms of how things will actually work once it's completed.

Though after I synchronized View angles I'm thinking of releasing the current progress so anyone here who is able to port forward can play with a friend of theirs just to screw around while I work to actually sync things properly.

23
Well it would be funny if you or Iggy smacked each other with the Warclub. I just keep feeling like it was going to happen in the video there lol. So who is who I mean who is top and bottom in that? But of course you want to send the least amount of data. So your saying that creating the way to actually send/render it correctly is the specific issue? I do wish I could help there but I don't think I will be much help on that myself. Its been interesting seeing this much so far though even know we took a trip to the ghetto it was fun hehe :P
The issue has nothing to do with the method I will use to sync the data between players...

But to explain the way that it works is he's controlling the 2nd player on my screen where I am controlling the second on his.

It's not really mapping my local input to player 2 and controlling player 2 on him or anything like that.

On our local screens we are both player 1, and remotely we are both player 2.

24
That is good progress indeed. I actually wouldn't even care if it has split screen at least till the solution came up for it which I hope would eventually come. But I wouldn't mind it personally. If the co op mode worked 2 player split screen co op would be bad ass though. That is awesome there can the players hurt each other already to? xD

Yeah players could hurt each other and stuff, but the way I was syncing things was super ghetto just to mess around.

A real implementation would be to hook the areas where it updates positions and such and then use those as events to send data over the network, except the idea is that you want your packets to be as small as possible so you only send deltas rather then full data in every packet....

I need to consider how I'm going to do it..

25


Just some really ghetto syncing with me and Dinomite in-game together, basically I just update xyz cords from both sides as well as some minor input for re-spawn and weapon switch.

Obviously not the way the final version would be done but just wanted to screw around.

Also note worth is I haven't been able to spawn a second player without the game doing it itself my friend handled that back in 07 and he had it working I've also completely lost contact with him,
I can't seem to figure it out going to keep trying but we may end up beginning this project with 4 player split-screen matches sadly... Screen looking over the internet anyone? lol.

26
I don't have much experience with d3d either, but in opengl I use glClear, and with 3D games usually graphics programmers set it to also clear the depth buffer and stencil buffer. Sometimes those two buffers are even combined. I doubt this game does anything with the stencil buffer though.

This is the kind of thing I've missed in the past, even when I've written it myself. Then worn myself out for a week trying to figure out why something isn't rendering properly. It's kind of interesting to me that that's a problem that exists in the PC version at all. That's the kind of thing I'd think they'd notice and fix early on in the development of the multiplayer.

To clarify I don't have experience with OpenGL or d3d I've never really done 3D programming I know enough to rip functions and hook areas to do basic rendering of text and menus which other people wrote handlers for but not enough to write my own stuff from scratch.

Well I'm thinking that it got screwed up some how when they were porting to PC because the entire rendering loop for the multiplayer mode is different from the single player,
Multiplayer was never even intended to be functional on PC in-fact there's literally no way to bind controls to the 2nd player.

In theory I could make it happen and add split-screen support by basically updating the memory of the player but that's besides what we're talking about..

So yeah, I had to use PIX to find it and I watched the depth buffer get cleared out here's an example

- depth buffer before clear.
- depth buffer after clear.

27
Turok Evolution Modding / Re: Turok ATR viewer/exporter
« on: April 26, 2016, 07:00:14 AM »
I can understand being worn out man it happens to the best of us I myself was inactive for some time around here and was working on other mods which I'm now taking a break from doing to work on this, besides that I had a lot of personal shit going on and I also was working a 9-5 when I started this (now I'm contracting).

It also doesn't help when there's no actual team working on something luckily you've got djduty haha I'm sure it helps sometimes to have someone else to talk to who fully understands the stuff you're doing.

28
It warms my heart to see T:E multiplayer on a PC. I'm excited to be able to play with you all in the future, if possible. Thank you Permanull for all of your work.
You'll laugh at me if I tell you what the rendering issue is but I don't do d3d stuff much.

So I wasn't aware Clear() could affect the depth buffer and the game has a sub routine to render the weapon when it does this in MP it seems to clear the depth buffer before drawing the weapon well when you switch weapons the rendering loop draws the player then draws the weapon causing the player's depth data to be wiped.

29
Info/Help / Forum kind of small?
« on: April 25, 2016, 02:14:50 AM »
Just a random question the forum seems quite small / inactive for the amount of players there actually are of the Turok games is this due to lack of advertising it?

I've just noticed there's quite a few people on steam groups / communities and stuff since the remaster came out but there's not quite as many people hanging around here.

30
I bring you some of the most important progress of all...

I've completely disabled the 2nd player via an actual DLL now.
And... I've overcome the biggest hurdle which would've held me back with this project....

I FIXED THE RENDERING ISSUE!

Pages: 1 2 [3] 4 5
SimplePortal 2.3.6 © 2008-2014, SimplePortal