|
| 22 Jun 2013 12:56 AM |
Have you ever wondered why games like Skyrim, Planetside 2, and even console games can have so many things showing at once on the screen? Skyrim, for example, almost makes me feel like I'm in a whole different world. Yet, why can't we accomplish this massive quantity of objects loaded on the screen at once?
Two main reasons -- all of those parts you see on the screen don't have collision boxes, in other words, the game doesn't need to render the collisions for those parts at all which saves a lot of power for later usage. The second reason is that there isn't 6 sides loaded on every part you see. Game developers do a good job of making sure unseen parts of the game aren't rendered, and cut back tremendously on lag.
Let's go over some terminology here:
Faces - This is a geometry/3D modeling term. Each Roblox brick has 6 faces. Faces are what you might consider "sides" of an object. Each part has a top, bottom, front, back, left, and right face.
Render - Loading something into the game. For example, when I go to a place, and I get the message that says Bricks: 2504 Connectors: 29, I have just rendered 2504 bricks.
Collision box - the area surrounding an object that is collidable. If something doesn't have a collision box, it's like turning CanCollide off in ROBLOX. Each part on ROBLOX always has a collision box.
Let's see the stats of what a game like Skyrim is rendering: 45 trees, 8 houses, terrain, and a couple people. For example, let's say that each tree has 200 faces, each house has 50 faces, the terrain has 200 faces, and the people altogether have 500 faces. Total faces so far = 10,100 faces. In Skyrim, are we going to be able to see the underside of the ground? Nope -- that cuts off half of the faces from the ground since we won't render the underside. Are we going to see the ends of the cylinders(where branches connect to the trees and the tree goes into the ground)? Nope -- trees knocked down to 150 faces each. Are we going to need to render the parts of the house that are covered by the terrain, and/or covered by other parts of the house? Nope, knocks houses down to 30. Let's be really evil and render all of the faces from the people, so you see how much this can help lag even with all of the people rendered completely. Total faces after not rendering some = 7,590. Let's compare this to ROBLOX.
In ROBLOX, we now know that each part has 6 faces. How many parts would it take to create the amount of faces Skyrim rendered in that one little village? Just 1,265 parts would use the same amount of processing power that Skyrim used to render that tiny village. This isn't even taking into account the collision boxes(the things that cause the most lag). Each tree in Skyrim would have one collision box -- the base of the tree since leaves don't need a collision box. Each person would have about 12 collision boxes, each house would have about 12 collision boxes, and the terrain would have smoothed out the collision boxes compared to the faces and only have 100 collision boxes. This village in Skyrim has about 219 collision boxes(if we assume there's 5 people). In ROBLOX we would have to have 219 bricks so we wouldn't go over that collision box amount. That's not a lot of availability for big places right?
My suggestion is to allow users to toggle off collisions completely in certain parts(because sometimes we don't need to waste processing power on things like leaves, distant landscape, etc), and allow us to toggle off certain faces on individual bricks because we're not always going to need them showing, and it'll save a ton of processing power. These could just be properties, and new builders would EASILY be able to learn how to make their buildings highly efficient.
Note that the values above for Skyrim are completely made up, and were used just to get a point across. I believe this IS how game developers "turn off" lag in their games.
Feel free to leave comments, concerns, or suggestions. I'll answer them all.
tl;dr - Allow us to toggle certain faces off for parts and turn collision boxes off completely for some parts.
|
|
|
| Report Abuse |
|
|
| |
|
| |
|
| |
|
| |
|
|
| 22 Jun 2013 01:14 AM |
| I think ROBLOX could build off this idea. Support. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 01:23 AM |
| Thanks for all of the supports. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 01:24 AM |
| support sort of, cuz i didn't exactly get how you could build with a half brick. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 01:30 AM |
| I don't blame you for thinking that. It's sortof difficult to understand if you're not so much into 3D modeling. Imagine having a dresser. Pretend that there's nothing inside of it, and that it's a part on ROBLOX. Remove the back piece from the dresser. Can you still move around the dresser? All not rendering a face does is prevents it from being shown. If you have a place that's only the inside of a building, do you need to render the outside bricks that no one will see? |
|
|
| Report Abuse |
|
|
| |
|
|
| 22 Jun 2013 01:41 AM |
| or those games dont lag because theyre single player and just generally have more processing power |
|
|
| Report Abuse |
|
|
Altair55
|
  |
| Joined: 28 May 2008 |
| Total Posts: 36840 |
|
|
| 22 Jun 2013 01:43 AM |
| skyrim has really bad render distance though - as well as planetside 2 |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 01:46 AM |
A) Planetside 2 is multiplayer open-world. This means that there are no loading screens, and players just walk around in the world to get to places, like real life. Planetside 2 can hold 200 players on the screen at once without any lag -- are you telling me that ROBLOX can't do this? Their engine is perfectly capable. Skyrim is also mostly open-world as well.
B) They don't have bad render distances, you just need to turn them up. I can see for miles in Skyrim, but I did turn down the render distance in Planetside so I could have better performance. |
|
|
| Report Abuse |
|
|
Altair55
|
  |
| Joined: 28 May 2008 |
| Total Posts: 36840 |
|
|
| 22 Jun 2013 02:03 AM |
| seeing terrain =/= high render distance |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:07 AM |
| Render distance = how far objects are rendered to. Terrain is being rendered, so it is a high-render distance. If you want to be able to see the plants, etc all the way over there, then simply turn their render distance all the way to the terrain's render distance. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:10 PM |
| Does anyone even care for making games in the slightest? ._. |
|
|
| Report Abuse |
|
|
tefraz
|
  |
| Joined: 23 Dec 2011 |
| Total Posts: 76866 |
|
| |
|
MrBossMan
|
  |
| Joined: 10 Apr 2008 |
| Total Posts: 7206 |
|
|
| 22 Jun 2013 02:14 PM |
| What they need is occlusion culling, which would do the "hiding faces" part automatically. As for turning off collisions, that's a decent idea. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:21 PM |
| @Mr: That's a nice idea too -- I didn't even think of that. |
|
|
| Report Abuse |
|
|
guvonCP
|
  |
| Joined: 15 Sep 2011 |
| Total Posts: 14413 |
|
|
| 22 Jun 2013 02:22 PM |
| tl;dr. But judging by the title it sounds good so support? |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:25 PM |
| @guvon: "tl;dr - Allow us to toggle certain faces off for parts and turn collision boxes off completely for some parts. " |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:26 PM |
| If you're not going to read it because it's a couple paragraphs, at least check and see if the OP left a tl;dr section... |
|
|
| Report Abuse |
|
|
| |
|
|
| 22 Jun 2013 02:38 PM |
@guv Your a very lazy person, he even made a tl;dr and you didn't bother to read it. |
|
|
| Report Abuse |
|
|
|
| 22 Jun 2013 02:57 PM |
| What I don't get, is why people who don't want to read come on a forum where they know that they'll have to read? |
|
|
| Report Abuse |
|
|