Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
SeanyGlass

Multiplayer and inter-server travel.

76 posts in this topic

Sorry still getting use to the layout of the forums didn't see the page numbers :/ it was to the end of the first page. The 'research' would be something like what you suggested. Just so a new island can't skip all the hard work that the starter island went through.

And sorry about my screw up.

em....

No.

If different islands have different resources, then one might not be able to get starting materials. Doing this wouldn't be skipping hard work, assuming the island you were trading with knew the value, you would still have to do work, just a different kind of work. In the end, I assume that your goal would be different anyway.

0

Share this post


Link to post
Share on other sites

I am definitely for this idea ! I have been trying to think of a way to force server players to act in a more realistic way i.e. fighting over large ore "mines", trading to fulfil needs and actually needing to specialise as towns in producing certain goods. This would be a good solution as it also means people attacking other "islands" would attack in force like an invasion :D .. The possibilities are endless :o I definitely agree with the general sentiment that there is no need to protect "younger" servers. Just as in history, with this system empires will rise and fall, and if a particular faction takes over too much land, I guarantee you they will have a hard time holding it all.

Oh man ... I'm getting too excited about this -.-

0

Share this post


Link to post
Share on other sites

-starts little server with a few people-

-begins to expand into tech-

-gets utterly raped by another server's "civilization" when they decide to raid my server-

sounds like a great idea!!

0

Share this post


Link to post
Share on other sites

-starts little server with a few people-

-begins to expand into tech-

-gets utterly raped by another server's "civilization" when they decide to raid my server-

sounds like a great idea!!

I know it doesn't sound appealing on the face of it, but imagine the satisfaction as you and your fellow oppressed servers rise up and tear the conquering server to shreds in a bloody inter server civil war :D .. All the while fighting for control of precious resource nodes such as mines and farmland :D .. Surely I'm not the only one who would love that ?

0

Share this post


Link to post
Share on other sites

I know it doesn't sound appealing on the face of it, but imagine the satisfaction as you and your fellow oppressed servers rise up and tear the conquering server to shreds in a bloody inter server civil war :D .. All the while fighting for control of precious resource nodes such as mines and farmland :D .. Surely I'm not the only one who would love that ?

yeah that would be awesome but im talking about the possibilities of greifers getting late game stuff and then going around messing up poeples worlds and theres nothing you can do to stop them, cuz im not sure how banning would work with this
0

Share this post


Link to post
Share on other sites

How would a greifer get late game stuff really ? They'd need to be very determined or hold a position of power, when was the last time you saw a greifer who was so determined they would manage all that ? I think tbh it'd be impressive if someone managed to gather greifing supplies to do any large scale damage :L

0

Share this post


Link to post
Share on other sites

How would a greifer get late game stuff really ? They'd need to be very determined or hold a position of power, when was the last time you saw a greifer who was so determined they would manage all that ? I think tbh it'd be impressive if someone managed to gather greifing supplies to do any large scale damage :L

how do greifers get late game stuff in vanilla? they hack and hackers are gonna hack no matter how awesome the mod is
0

Share this post


Link to post
Share on other sites

Late game stuff in vanilla takes sub 1 hour to get if you're good and about 15 mins at most if you're using a transparency skin. TFC would take significantly more effort because making tools etc. is actually quite time consuming. I don't doubt it would happen, but I would question how this "multi server" set up would make it more likely.

0

Share this post


Link to post
Share on other sites

-starts little server with a few people-

-begins to expand into tech-

-gets utterly raped by another server's "civilization" when they decide to raid my server-

sounds like a great idea!!

Applying to multi-server could and should be voluntary.

Edit:

I am definitely for this idea ! I have been trying to think of a way to force server players to act in a more realistic way i.e. fighting over large ore "mines", trading to fulfil needs and actually needing to specialise as towns in producing certain goods. This would be a good solution as it also means people attacking other "islands" would attack in force like an invasion :D .. The possibilities are endless :o I definitely agree with the general sentiment that there is no need to protect "younger" servers. Just as in history, with this system empires will rise and fall, and if a particular faction takes over too much land, I guarantee you they will have a hard time holding it all.

Oh man ... I'm getting too excited about this -.-

Omg... you just summed up what my goal has been the whole time :{_______________]
0

Share this post


Link to post
Share on other sites

Omg... you just summed up what my goal has been the whole time :{_______________]

That's good to know :D .. I've wanted this for as long as I've played minecraft :L

0

Share this post


Link to post
Share on other sites

Well... after reading the whole post, i'm still not sure of how you guys plan to make it work... so i'm gonna describe how i think it could work. If nobody said something like this, take it as a suggestion.

So, a first -pretty big- server provides the map, which is then divided in squares of the same size. Some new servers which choose to join the first one are given one of the squares each one, and a spawn point is placed in the center of each one. The players can go exploring the world, either in or out their own territory, and can claim unexplored lands for their community, discover other "civilizations" -servers- and decide to trade with them, join forces in one new bigger empire or declare war and start fighting to death. The admin of the server which provided the whole map is just another player, so he has no advantages over other players. But when it comes to applying rules, he has control all over the world. The admins of any territory only have control over his own territory. The principal admin can ban any of the minor ones if the server it controls is cheating in anyway and he takes no action.

0

Share this post


Link to post
Share on other sites

Interserver implemented seems impossible and i don't beleive it. the player api would have to eb like dayz's, and in that case, you couldn't have stuff stay constant.

0

Share this post


Link to post
Share on other sites

Interserver implemented seems impossible and i don't beleive it. the player api would have to eb like dayz's, and in that case, you couldn't have stuff stay constant.

I'm not going to lie mate, I understood none of that :S
0

Share this post


Link to post
Share on other sites

I'm not going to lie mate, I understood none of that :S

Neither do i ._.

0

Share this post


Link to post
Share on other sites

You seem to know a little about this, talk to Fr0stbyte on the FutureCraft forums he'll explain it even if it doesn't make sense to anyone for example his explanation of his alternative to the zeppelin mod...

Okay, I have a bit of time today, so the log is getting an update today, rather than tomorrow. As a result, the stuff I'm working on is still a WIP, though it's pretty close to completion.

========================

Wednesday, October 19th, 2011

========================

----------------

Orientation

----------------

I discussed this a little bit in my last update, but I don't think I did a very good job and lost some folks along the way. This time I'll have visual aids to help out.

An object that can turn and rotate in any direction is said to have six degrees of freedom. That means it can move freely about all three axes and also rotate about those axes. Any position, any orientation. Regardless of whether ships will have this kind of mobility, Copernicus requires it as not all moving structures will necessary be ships. In vanilla Minecraft, static blocks have zero degrees of freedom, and most entities have 4, being able to pivot about the (vertical) Y axis, or yaw.

It's entirely subjective, but if we consider the X axis to be forward, the Y to be up, and Z to be lateral motion to our right, then Yaw is rotating about the Y, Roll is about the X, and Pitch is about the Z. Together these are referred to as Euler Angles, and it's the easiest way to think of orientations. To determine which direction to pivot, you use what's called the right-hand rule. There are ton's of them but for rotation you make a thunbs-up with your hand, with the thumb pointing the the positive of the axis you want to rotate around, and the curve of your other finger is the direction of rotation.

Posted Image

That one's actually for the magnetic field around a current, but it's the same idea. Now, it's worth mentioning here that while this is standard in mathematics, and how openGL figures it, Notch made the yaw backwards, which goofs everything up. It's pretty easy to deal with once you know about it, but that's why I bring it up.

Now that we're clear on the terminology we can get back to orientation.

What you'll notice in 1st person video games is that when you look around, you also rotate your reference frame. For example, if you turn right and then look down, you are using yaw and pitch, only instead of your head tilting counterclockwise to the left, you look straight down. That's because you are pivoting about the Z axis in your own rotated reference frame. When you are doing this with all three rotations, the effect can be described with the gimbal analogy.

Posted Image

The longer you stare at it the weirder it gets. But the idea is that any orientation you can imagine can be represented with these three rotations, and that's pretty neat.

In vector math, rotations can be applied with a 3x3 rotation matrix. Each rotation has a distinct matrix, and through the magic of matrix multiplication, if you multiply each of them together you can create a new matrix that performs all the rotations as if they were done separately but in just one pass. Additionally, any time you want to apply new rotations, you can simply multiply them to the previous rotation matrix. Which is all fine and good. Except...

------------------------------------

Problems with Euler Angles

------------------------------------

The first is called Gimbal Lock, and it occurs when two of the gimbals reside in the same plane, losing you a degree of freedom.

Posted Image

Another problem is that moving from one orientation to another with this system can be quite complicated, depending on the nature of the movement, and it's even more difficult to make a clean transition from one to the other, involving changing the rotational speeds at rates defined by the states of the upper rotations. This becomes especially problematic if you are trying to do animation.

The final problem is with stability. Every time you multiply a rotation to the rotation matrix, a tiny bit of precision error is introduced, and at different rates for different parts of the matrix. If left alone long enough the matrix will lose its orthogonality, meaning that the rotation path is no longer spherical, and that's a difficult thing to correct.

----------------------------

Quaternions

----------------------------

To fix these problems, you have to abandon the idea of using Euler Angles altogether (right after I just made you read all about them, I know). Instead, we use the method that's been growing in popularity as of late: quaternions. What quaternions are is a kind of complicated subject, involving 4-dimensional space and imaginary coordinates. Fortunately for us, we only need to focus on a small subset called unit quaternions, who's magnitude is always 1, like a unit vector, and exists firmly in real-space.

A unit quaternion is the sum of a 3-dimensional vector and a scalar which together defines a single rotation about an arbitrary axis. Specifically, q = cos(ÆŸ/n) + n*sin(ÆŸ/2). (I would use the wikipedia version but black backgrounds don't agree with black on transparent images). So ÆŸ is the rotation degree and n is the unit vector determining the rotational axis. Simple enough. for a 30 degree rotation about the y axis it would be cos(15) + [0, sin(15), 0]. You can also write it as the 4D vector [0, sin(15), 0, cos(15)], which is the way I prefer.

There are some notable advantages to quaternions. First, they don't suffer from gimbal lock, as you are free to rotate about any axis you like at any time. Second, you can fix the orthogonality error simply by re-normalizing the 4D vector form if it gets unstable. Finally, it's easy to transition from one quaternion to another with some fairly basic interpolation.

I won't go into the math for using quaternions, but it's all simple vector math. What I will say is that it's pretty fast. Multiplying two quaternions is done with 16 multiplications (additions are pretty insignificant cost-wise), where as the equivalent in matrix multiplication would take 27. Vector rotation takes 18 multiplications with quaternions and only 9 for matrices, but for 9 multiplications you can generate the rotation matrix for a quaternion. And for 18 multiplications, you can calculate all three axes for the new frame of reference, which is handy for Separating Axis Theorem.

================

That's what I've been learning about this past week. For the project, I am implementing two new classes, a matrix class which oddly enough is missing from the game, and an orientation class. The orientation class contains the base of a quaternion but will also have all the functionality you could possibly need for manipulating them, the idea being you will never have to deal with the quaternion directly, and can just apply rotations or convert to a matrix like normal. The matrix class is your typical fair, with support for any size of matrix, but will also contain special optimized functions for specific tasks like 3x3 rotation or 4x4 transformations, and of course all the functionality you would need to craft such matrices without ever having to touch the elements directly.

I'll probably make them all use floating point values by default, as error is easier to deal with for quaternions, and the performance of this part is critical for for Ship-World collisions.

Speaking of which, the new collision model is the subject of the next discussion, will I discuss ship-world collisions then? Definitely maybe.

As there are no major changes to the Copernicus roadmap, that's all I've got for this week, folks. Stay tuned.

Also let me know how I did this time. There were some concerns last time that I got too complicated and lost some people. I'm still getting a feel for how in-depth people would me to go.

That was the "simple" version.

0

Share this post


Link to post
Share on other sites

-snip-

There you go, ruining my lovely holiday from uni with your maths and your diagrams ! :P

I was looking forward to not using my brain for at least another 2 months ! :)

0

Share this post


Link to post
Share on other sites

so... we can have server A with jungle and forest, chalk and basalt rocks, trading with server B for zinc?(which does not exist on server A). 

 

The only problem I see is a server not getting something they need to advance in game(they don't get copper, they don't get an ingnuis rock, etc) or cross-server wars with people raiding/greafing other servers with nothing the server owners can do about it

0

Share this post


Link to post
Share on other sites

so... we can have server A with jungle and forest, chalk and basalt rocks, trading with server B for zinc?(which does not exist on server A). 

 

The only problem I see is a server not getting something they need to advance in game(they don't get copper, they don't get an ingnuis rock, etc) or cross-server wars with people raiding/greafing other servers with nothing the server owners can do about it

 

 

Currently there is no way to do cross server communications/trading in Minecraft. It would be Faction A on server A trading with Faction B on Server A.

0

Share this post


Link to post
Share on other sites

Currently there is no way to do cross server communications/trading in Minecraft. It would be Faction A on server A trading with Faction B on Server A.

/

I know, I'm not that dumb

(In fact, I'm not very dumb at all! :D)

0

Share this post


Link to post
Share on other sites

I've been on some vanilla servers where to access the minigame areas/PvP areas you have to enter a portal, or a warp. That switches you from "dimentions" or "servers", it gives you a similar screen as when you are travelling to the nether. I'm not sure how they do that, because they are two different save files/worlds, maybe at the border of one server you automatically get transported to the next server, although I'm not sure what the purpose of the whole idea of interserver travel is, when you could just have one server with people farther away from each other.

0

Share this post


Link to post
Share on other sites

I've been on some vanilla servers where to access the minigame areas/PvP areas you have to enter a portal, or a warp. That switches you from "dimentions" or "servers", it gives you a similar screen as when you are travelling to the nether. I'm not sure how they do that, because they are two different save files/worlds, maybe at the border of one server you automatically get transported to the next server, although I'm not sure what the purpose of the whole idea of interserver travel is, when you could just have one server with people farther away from each other.

 

What you are describing is inter-dimensional travel, which is no different than traveling to the end or the nether. You are still connected to the same server IP address the entire time, it is just a different dimension world number. 0 for the Overworld, 1 for the Nether, -1 for the End are the defaults, but other mods that add different dimensions do the exact same thing (Mystcraft, Dimensional Doors, Twilight Forest, etc), and just create worlds on new dimension numbers. Vanilla servers just use plugins to make the new dimensions. On those vanilla servers, you are still connected to the same server the entire time and it is all saved in one big folder directory on the same computer. An example of this would be the Hypixel maps. Even though you are warping from one pvp game to another, you are still connected to Hypixel the entire time. You aren't disconnecting from Hypixel and then connecting to a different host like Mindcrack or something. 

 

Switching Servers is a completely different mechanic, as you are disconnecting from one IP address (A physical computer located somewhere) and connecting to another IP address (A different computer located someplace completely different). It would basically need to mimic the actions of hitting escape, clicking disconnect, scrolling through your multiplayer menu to find the new server, and hitting connect. With the way that the Minecraft client is set up, this really isn't possible to do.

 

This would also require communication between the servers that wish to link up, as whitelist and other security measures would prevent users who are not authorized to travel to the new server.

1

Share this post


Link to post
Share on other sites

I think this will be cool because it will go along with my idea of a bigger world.Or at least it will give rise to a new type of server. How this server would work is that a BIG team will have there own continent/world, and you have to go across seas to go to the other continents to either make allies with them or go to war with them. Every island that you spawn on should have one type of climate, so there is a chance that you will spawn in a desert or a jungle island, also every island has a different size so you may have a very large temperate island wile some other team may have a small jungle island. This type of server should be called war of islands.

0

Share this post


Link to post
Share on other sites

I think this will be cool because it will go along with my idea of a bigger world.Or at least it will give rise to a new type of server. How this server would work is that a BIG team will have there own continent/world, and you have to go across seas to go to the other continents to either make allies with them or go to war with them. Every island that you spawn on should have one type of climate, so there is a chance that you will spawn in a desert or a jungle island, also every island has a different size so you may have a very large temperate island wile some other team may have a small jungle island. This type of server should be called war of islands.

 

That make a really fun server. Also, having different crops, animals, and ores on each island would be nice too.

So each island can trade, war, or ally themselves to get items they don't have

0

Share this post


Link to post
Share on other sites

That make a really fun server. Also, having different crops, animals, and ores on each island would be nice too.

So each island can trade, war, or ally themselves to get items they don't have

 

Or maybe seen you put that up it should be called conquerors and corperations

0

Share this post


Link to post
Share on other sites