• What are you working on? May 2012
    2,222 replies, posted
I'm noob that can't write software front/back clipping and texture application code, so I switched to OpenGL and added lightmap support to my game. [img_thumb]http://cloud-2.steampowered.com/ugc/540677086429921164/B8F7C4346613B0140E4E642CBBE84C95448A3A65/[/img_thumb]
I know there's probably an answer for this somewhere, but I still want to ask: Can't Notch just spend a night moving Minecraft from TCP to UDP? I know Jeb does the development but I still blame Notch for ruining Minecraft's networking.
[QUOTE=Jookia;36143394]I know there's probably an answer for this somewhere, but I still want to ask: Can't Notch just spend a night moving Minecraft from TCP to UDP? I know Jeb does the development but I still blame Notch for ruining Minecraft's networking.[/QUOTE] You're assuming he has all the networking nicely abstracted and encapsulated in one place with an interface that can be the same for whatever networking system you use. This is Notch we're talking about after all.
[QUOTE=Jookia;36143394]I know there's probably an answer for this somewhere, but I still want to ask: Can't Notch just spend a night moving Minecraft from TCP to UDP? I know Jeb does the development but I still blame Notch for ruining Minecraft's networking.[/QUOTE] It's not really that simple though, whilst UDP is far more suitable for this kind of data, it isn't as easy to use as TCP. Also, notch is pretty much like us all, he'll work on projects which spark his interest. Converting Minecraft (a project he doesn't want to work on anymore) from TCP to UDP is not interesting.
I never understood how to deal with packet loss using UDP.
[vid]https://dl.dropbox.com/u/1010868/video/yodawg.webm[/vid] yo dawg, I heard you like world viewers so I connected Terrafirma to my world viewer so I can watch it teleport around the world while it loads the world. the little crosshair is the player's position
[QUOTE=geel9;36143690]I never understood how to deal with packet loss using UDP.[/QUOTE] You implement a reliability layer somewhat how TCP does it. The client acknowledges all the datagrams it receives and the server resends any datagrams that aren't acknowledged. I'm fairly sure there are some abstraction layer libraries that handle all that for you too, so it doesn't affect your code.
Sometimes you don't even need to care about packet loss if for example each whatever you send contains all the information needed to reconstruct a certain state. Paket loss would only cause temporary desynchronisation.
[QUOTE=Lexic;36143807]You implement a reliability layer somewhat how TCP does it. The client acknowledges all the datagrams it receives and the server resends any datagrams that aren't acknowledged. [B]I'm fairly sure there are some abstraction layer libraries that handle all that for you too, so it doesn't affect your code.[/B][/QUOTE] [url]http://www.zeromq.org/[/url]
Since I'm attempting to learn programming I'm currently fixing very basic bugs in Ubuntu. Hope this pays off in some way :dance:
BTW is there anyway to pass a 4x4 matrix as an attribute?
Nope. I'm not gonna make another Mr. T rant. Not doing it.
[QUOTE=Mr.T;36144601]Since I'm attempting to learn programming I'm currently fixing very basic bugs in Ubuntu. Hope this pays off in some way :dance:[/QUOTE] What language are you doing now? Also if you can't get used to one language, you can NOT get used to using Linux. Especially something as terrible as ubuntu.
[QUOTE=Richy19;36144658]BTW is there anyway to pass a 4x4 matrix as an attribute?[/QUOTE] Elaborate [editline]31st May 2012[/editline] [QUOTE=C:\;36144904]Also if you can't get used to one language, you can NOT get used to using Linux. Especially something as terrible as ubuntu.[/QUOTE] This makes no sense. Are you implying all Linux users need to be programmers?
[QUOTE=Mr.T;36144601]Since I'm attempting to learn programming I'm currently fixing very basic bugs in Ubuntu. Hope this pays off in some way :dance:[/QUOTE] dear god please don't
[QUOTE=Richy19;36144658]BTW is there anyway to pass a 4x4 matrix as an attribute?[/QUOTE] Because 1 attribute index can only have 4 components, I think that a 4x4 matrix will occupy 4 consecutive attributes.
[QUOTE=Mr.T;36144601]Since I'm attempting to learn programming I'm currently fixing very basic bugs in Ubuntu. Hope this pays off in some way :dance:[/QUOTE] Like what?
Isn't the whole point of udp to just disregard what is lost and work with the rest?
[img]http://puu.sh/xWkN[/img] Got some basic AI, and the bar at the bottom shows the human / zombie ratio.
I have spent 2 hours trying to fix the lighting issues but couldnt get it to work :(, I did swap my chunk array to just use bools instead of blocks meaning memory usage has gone down by a lot, but this lighting issue is driving me crazy
[QUOTE=SEKCobra;36145232]Isn't the whole point of udp to just disregard what is lost and work with the rest?[/QUOTE] The point of UDP is to provide a more extensible wrapper over IP packets, leaving the application layer to deal with any missing or out of sequence data, instead of the transport one. Simply ignoring your lost bits is certainly one option available to you, but just because your medium is unreliable doesn't mean your data has to be too.
[QUOTE=esalaka;36144919]Elaborate [editline]31st May 2012[/editline] This makes no sense. Are you implying all Linux users need to be programmers?[/QUOTE] Mr.T is a windows user iirc, If he can't just simply stick with a language, then he can't completely change his OS.
As an additional bonus, NAT punching! Neither endpoint of an connection is required to be open as long as there's a server to do an initial handshake thingy with. [editline]31st May 2012[/editline] [QUOTE=C:\;36145819]Mr.T is a windows user iirc, If he can't just simply stick with a language, then he can't completely change his OS.[/QUOTE] I... Still don't understand. I've changed my "main" language on several occasions, does this mean I haven't properly changed to Arch Linux even though it's been my primary OS for a few years and about (half?) a year or so of that time my only OS?
[QUOTE=esalaka;36145827]I... Still don't understand. I've changed my "main" language on several occasions, does this mean I haven't properly changed to Arch Linux even though it's been my primary OS for a few years and about (half?) a year or so of that time my only OS?[/QUOTE] The difference is that Mr T changes to another language about every hour. [QUOTE=Richy19;36144658]BTW is there anyway to pass a 4x4 matrix as an attribute?[/QUOTE] what are you doing
[QUOTE=Richy19;36144658]BTW is there anyway to pass a 4x4 matrix as an attribute?[/QUOTE] Pass 4 vec4s? You have to be sure you know what you've done, though. Whatever you pass as an attribute will be interpolated between vertices. Interpolating between two (three?) different matrices is probably a bad thing.
[QUOTE=C:\;36145819]Mr.T is a windows user iirc, If he can't just simply stick with a language, then he can't completely change his OS.[/QUOTE] I only use Windows when gaming, my main pc (Laptop) is a Linux one and which is the one I am on most of the time. My VPS is also Linux (Obviously) and I spend quite alot of time in it.
[QUOTE=Overv;36145874]what are you doing[/QUOTE] My chunk generates the blocks with an offset from the center of the chunk. However this means the blocks arent generated from the 0,0,0 which I thought could be causing the lighting issues, meaning I would need to create the blocks from 0,0,0 and then pass each blocks model matrix as an attibute, I thied doing it by passing the vec3 pos and rebuilding the matrix on the shader but that didnt fix the lighting anyway
[QUOTE=Philly c;36145018]Because 1 attribute index can only have 4 components, I think that a 4x4 matrix will occupy 4 consecutive attributes.[/QUOTE] Actually I think this is it. I can't remember where I read this, or I'd go look it up, but I'm fairly sure that you pass data to a m by n matrix attribute as m consecutive vecn attributes starting with whatever location the matrix reportedly occupies.
It seems multiplying the normals by the blocks(vertex) position and then by the chunks model matrix does what I wanted to do anyway. it just doesnt work corectly. [cpp]normals = (Model * Position * vec4(Normals, 1.0f) ).xyz;[/cpp] BTW what would be the best way to draw a translation/rotation/scaling tool graph thing? like this: [IMG]http://www.masterprim.com/images/blender/shortcut/manipulate/blender-move-rotate-scale-delete-tools_10.gif[/IMG]
[QUOTE=esalaka;36145827]As an additional bonus, NAT punching! Neither endpoint of an connection is required to be open as long as there's a server to do an initial handshake thingy with.[/QUOTE] Do you mean like a STUN server? or are you doing it through ICE?
Sorry, you need to Log In to post a reply to this thread.