64-bit Positioning & World Sizes, Large World Coordinates, and 64-bit Physics Refactoring

0

With StarCitizen migrating to lumberyard, and recent tech of Procedural Planets (v2), Pre-built Biomes (Mountain, Desert, Woodland, etc.), Advanced Character Tech, Planet Editor, Item 2.0, and advanced Weather System, will that or a similar tech (& tools) also be available for lumberyard? Is it possible for Amazon to add each of these new tech/features/tools to Lumberyard as Amazon Gems? (that can be selected and included through the Amazon Project Configurator and from the command line)

asked 7 years ago278 views
19 Answers
0

@REDACTEDUSER

CIG/RSI/Chris Roberts has already created all the code/tools for Star Citizen. It would only be a matter of Amazon Lumberyard Developers working together with CIG/Star Citizen/Foundry 42 developers to "re-factor" that code (and development tools/assets) into Amazon Lumberyard "Gems" (that can easily be added to any Lumberyard build). As well as creating a sample asset pack/game/tutorial for Lumberyard (slimmed down version of Star Citizen).

Users have already donated/given over $140 Million to Star Citizen's Kickstarter project/stretch goals. It would be nice if some of that development code/work was given back to the Lumberyard Community (as a "StarEngine Gem" module and assets). So that others in the Lumberyard Community could use the same tech, and tools that CIG/Foundry 42/Star Citizen are using with Lumberyard.

Refactor and convert Star Citizen/CIG's Lumberyard source code modifications to a new optional Lumberyard "Gem" that can be installed. Then bundle it with the Tools/Editors and create a sample asset pack (using some Star Citizen sample assets) and bundle it with the new Lumberyard "StarEngine Gem" to create assets/tools/demo game that Lumberyard developers and community can learn from, share, and use to develop AAA-quality games using the same content generation tools that CIG/Star Citizen are using.

Using powerful procedural content-generation tools, a very small team of developers can customize and build a "AAA-quality" game using procedural content generation. Small developers and indie studios need Advanced Procedural Tools for Procedural Planets, Pre-built Biomes (Mountain, Desert, Woodland, etc.), Advanced Character Tech, Planet Editor, Advanced Weather System, Item/Inventory 2.0, etc.

Extremely powerful and advanced content and games can be created by very small teams of Indie developers (3 to 13 developers). We just need the tools (and tutorials).

These content-generation tools (and sample assets) need to be "built once" but can be used by many. If these advanced features/tools were added to the Lumberyard engine (like CIG/Star Citizen has done), if these tools/features were added to the engine, users can easily build large AAA-quality universes (using advanced procedural generation tools), and look at included sample game assets and simply add/create additional vehicles, Flora, Fauna, etc.

New Fauna/Flora/Vehicle Assets could easily be modified or built by artists and shared/sold on Amazon Lumberyard Storefront for Star Citizen (or any other developer) to use in their game.

With the correct tools, a small team of 3 to 13 developers can easily create a procedural game with an "infinitely" large Universe (like No Man's Sky or something more advanced like Star Citizen).

answered 7 years ago
0

If you have the budget and the stuff to make a game so big that cannot be done without that technology you may surely do few other great games working with Lumberyard as it is right now.

I suggest to start with them while you wait...who knows...it could be a 64bit long wait...better to get busy :)

answered 7 years ago
0

Ya ,wishing....

I was drooling in a way, watching video wishing I had those tools,,wow what I could do with them, but unless they already partnered with LY, hmm ...

Unless they are holding back on announcing it ;)

If not, I can't imagine how much money would exchange hands for that, but I can't assume LY etal couldn't manage something.

If not so be it, I'm not that worried as I'm enough of a artists and have enough ideas that I can pull it off in time, much longer, but..manually with some clever thought and my worlds won't be 'procedural', but from my heart with ideas from nature, et cetera.

I love the idea of 'help' , but I can do without if needed, and in my case I prefer it. I could stand to use a much larger team and in time I will acquire one, but manual words vs procedural has pros and cons as we all know.I tend to prefer a 'mix',or at very least the former not latre.

But yes as OP noted, having ability to 'edit' worlds after creation is a bit of a unique merging of those thoughts.

Trouble is, for the pleasure, would LY have to pass along those costs,if so where and how much :?

ONe note,,,watching the video, which is amazing,it was easy to spot the procedural nature of it,which is a turn off to me; just saying...tho awesome it is.

I did not watch entire thing no time, but on char. editing, seems to me LY is already incredible unique there,and what LY doesn't have, I'm sure maya, max or blender could provide via other mechanisms ?

answered 7 years ago
0

@REDACTEDUSER Developers can already easily make "other great games" in Unity or Unreal Engine, but what I am asking for is advanced tools for large (unlimited-size) maps, planets, and procedural content generation specific to CryEngine/Lumberyard development (which would allow/make it EASY to build extremely large universes and large maps using procedural content generation) which is why Chris Roberts (and others) developed such tools.

These tools already exist for Lumberyard (look at CIG/Star Citizen), which is using a heavily modified version of Lumberyard.

I am just asking whether a similar tech (and tools) will also be available for Lumberyard? Could these tools be "converted" from CIG-only tools and be "converted" into Amazon Gems that others in the Lumberyard Community can learn from and use to develop their own AAA-quality games?

These tools have already been created for Lumberyard (by CIG for Star Citizen). Recent tech of Procedural Planets (v2), Pre-built Biomes (Mountain, Desert, Woodland, etc.), Advanced Character Tech, Planet Editor, Item 2.0, and advanced Weather System, will that or a similar tech (& tools) also be available for lumberyard?

Is it possible for Amazon to work with CIG and add each of these new tech/features/tools to Lumberyard as Amazon Gems? (that can be selected and included through the Amazon Project Configurator and from the command line)

It's nearly impossible to use Lumberyard (or CryEngine) to create a large universe without these powerful development tools.

Artists, Content Creators and Game Developers need advanced procedural tools, and advanced content-generation tools (which currently don't exist in the current version of Lumberyard or CryEngine). This is why I am asking.

I'm not asking for someone to just tell me to use Lumberyard (or CryEngine) to build something simple like "Tetris" instead (or go back to the "old way" of development, which does NOT work when trying to build something as large-scale as a planet, or universe).

As developers, we need powerful development and content-generation tools, and sample assets/games/tutorials. I am just asking if Amazon can "partner" with CIG/Chris Roberts, and get the development tools and source code (from CIG) converted into Amazon Gems, that everyone in the community can use (and benefit from) and added to Lumberyard as Amazon Gems.

answered 7 years ago
0

Yes it would be nice, point is, star citizen devs are under no obligation , to do so, thus I won't get my hopes up.

As noted, and while the video is very cool,I'm going in a more manual direction.

I can see you are excited about it, and I hope you get your wish, and if so, I'll certainly 'take a look at it' ,,who wouldn't ;)

GL

answered 7 years ago
0

Great conversation going here! Large maps and worlds is something that we hear a lot of requests for. We don't really have any details or timelines to share at this time, but we will as soon as we can.

answered 7 years ago
0

A bit too much to hope to have all the custom made toolsets that Star Citizen have made for themselves, but 64-bit precision/the ability for very large worlds would definitely be a great addition that I am sure will be implemented along the line... (Crytek were working on it (segmented worlds) for years then changed their approach).

answered 7 years ago
0

On the other hand Star Citizen is essentialy made by public money (crowd sourcing). You can make case, that by doing so, they should made all their changes available to everyone.

answered 7 years ago
0

It would be extremely helpful, if the Lumberyard Devs could work together with the Star Citizen Devs, and help migrate/integrate/refactor some of that code directly into Lumberyard, and make the tools available to developers. (Universe Editor, Planet Editor, procedural generation tools, etc.) Using powerful procedural content-generation tools, a very small team of developers can customize and build a "AAA-quality" game using procedural content generation. Small developers and indie studios, as well as for teaching students... I hope that Lumberyard devs can collaborate and work closely with the Star Citizen dev team. I hope many of these tools (and code) can be re-factored (as gems) and integrated into Lumberyard (as "Gems") that we can add to Lumberyard, and we definitely need Advanced Procedural Tools for Procedural Planets, Pre-built Biomes (Mountain, Desert, Woodland, etc.), Advanced Character Tech, Planet Editor, Advanced Weather System, Item/Inventory 2.0, etc. Has any progress on this been made?

answered 7 years ago
0

If the Lumberyard Devs agreed to work with (and help) Chris Roberts (and Star Citizen devs), hopefully the code developed could be shared equally between Star Citizen (and Lumberyard), and hopefully the code could be "re-factored" by Lumberyard Devs and included as modules (Gems) that Lumberyard users/developers could add/install as part of their Lumberyard install. It would definitely be great to have 64-bit positioning & Large World Sizes and Large World Coordinates, and 64-bit physics refactoring in Lumberyard. With StarCitizen migrating to lumberyard, and recent tech of Procedural Planets (v2), Pre-built Biomes (Mountain, Desert, Woodland, etc.), Advanced Character Tech, Planet Editor, Item 2.0, and advanced Weather System, will that or a similar tech (& tools) also be available for lumberyard? Is this something that the Lumberyard Devs can bring to the Lumberyard Community? It would be great to have the "Item 2.0", and "Advanced Character Tech", Advanced Weather, and Procedural Planets (as well as the Planet and System Editors) made available to Lumberyard users/developers. Has any work or progress been made on this? I believe it would benefit both sides (both Chris Roberts, and Lumberyard), as well as help grow the Lumberyard Community by having such tools. I would be willing to help with development, as well as video tutorials, etc. Is this something that we can get added to Lumberyard? Possibly work on "merging" the code changes that Star Citizen has made, into "gems" (by re-factoring the code), and turning those changes/modifications into "gems" that can easily be added to a basic Lumberyard install. It would simply the code base (for Star Citizen), and also be great for the Lumberyard Community. Has any progress on this been made?

answered 7 years ago
0

Hi Binky. I just wanted to tell you that I would gladly port my tech from UE4 to Lumberyard if it used double precision coordinates. This is the #1 hindrance to next-gen gaming -- and it's relatively easy to get around the GPU float limitation: you just need to convert all locations to a position relative to the camera and cast down to float. Then you can hand the location to the GPU and the precision loss is pushed back to the objects that are far away, which gets obscured with distance -- so it works out perfectly (I did it in XNA way back).

The only reason(s) to use floats is network bandwidth and/or RAM, but both of those resources have grown way beyond the limitations that existed when floats were chosen for GPU architectures, so now is the time to make double precision coordinates a reality.

If you can get the code from CIS then holy cow, what are you waiting for?

answered 7 years ago
0

Amazon seems to have this on low priority. Maybe this might be realized from the community side at some point. I had a look at the Cryengine engine code myself to identify what classes would need to be modified to realize this. Not all that easy, especially the physics system is complex. All the Vec3 would have to be replaced with Vec3d all over the place. All the geometry-related code like intersection math would have to be switched to f64 as well. I don't think this could be turned into gems, it goes too deep into the systems. If you wanna work with planets then you would also have to do the same thing like CIG and rewrite the terrain-system. Certainly not a two weeks work, but not impossible to do by a couple of folks with enough patience and dedication.

Also to find the appropriate spots for all passes to convert the 64-bit coordinates back to camera-relative 32-bit values prior to CPU to GPU shader transfer / rendering is difficult. I simply don't know the engine well enough. What i tried so far didn't work.

Would be interesting to start a research group of like-minded engine nuts. Not sure though if there would be actually some folks with enough engine knowledge out there, that would be up for it.

answered 6 years ago
0

Agreed. It only took Sean Tracy (CIG / CryTek) two weeks to write the original code/modifications to the original CryEngine for 64-bit world sizes (64-bit double precision), and it took less than 8 hours for Sean Tracy to "refactor" and "port" that old code over to Lumberyard (for the 64-bit double precision implementation) in Star Citizen / CIG on Lumberyard. It would seem that it really shouldn't take too long (or be too difficult to do) with the resources that Amazon has (as long as they can dedicate a few developers to this, and have a developer like Sean Tracy, that knows what they are doing). Any thoughts on hiring Sean Tracy to implement these features into Lumberyard?

answered 6 years ago
0

Any news on this? Is this something that has been added to the Lumberyard Roadmap, and if so, is there a public timeline (and expected release date) for these features? Any news from the developers? Thank-you!

answered 6 years ago
0

I agree that something has to be done about the terrain system as is. The biggest problem I had with Unreal Engine was implementing larger terrains. Unreal never addressed it. Sure they made the Kite Demo, but that thing wouldn't even run on lesser machines and barely run on mid level graphics cards, not sure how they figured it was a showcase for large open worlds when it was useless for real time gaming. Even though Unreal had those problems, it is still better than what Lumberyard has. I can't even use an 8k heightmap. Sure I can make an 8k terrain, but you have to use a 4k heightmap that is just stretched over 8k. The terrain quality really suffers from it. World Machine and other such programs are heavily used by devs and artists, there really should be better and easier integration from such programs. Just my 2 cents.

answered 6 years ago
0

Maybe Crytek will sue Amazon then saying 64bit precision and all tech developed by Cloud Imperium belong to Crytek. Everyone should abandon Lumberyard and anything associated to Crytek in case their projects do take off and you actually make money. Will you feel safe from Crytek deciding they want some of it?

answered 6 years ago
0

@REDACTEDUSER

To answer your question: Amazon owns a completely different/separate license, and Amazon has the ability to distribute "Lumberyard" (source code, tools, etc.). Amazon can make all of the changes they want, and even turn this "Lumberyard" into a very completely different engine (different/heavily modified source code, Tools, etc.) from what CryEngine 3.8.x used to be. As you can see probably about 50% to 60% of the old Crytek code (used in early Lumberyard alpha/beta's) has already been removed/changed, and replaced by completely new Amazon Lumberyard code. Amazon Lumberyard developers are working hard to create a "completely new" engine (based formerly on the old CryTek code, but it's being completely changed and re-written/re-factored/improved and Lumberyard is basically a "new engine" completely different than the old CryTek 3.x engine).

As for the silly CryTek lawsuits against CIG, that is a completely different topic, and has nothing to do with 64-bit positioning or infinitely large world sizes. (So please stay "on topic").

As for the silly Crytek lawsuit against CIG, that is pertaining to a separate contract/license agreement that CIG signed with CryTek. It has nothing to do with Lumberyard, and more than likely the courts will probably "throw out" that frivolous nonsense lawsuit that CryTek filed against CIG (for "not using Crytek" and switching to Lumberyard). There doesn't even seem to be a contract, and only a license agreement and Crytek can't FORCE CIG to use CryEngine (as part of a license agreement). Just because CIG signed a license agreement, doesn't mean that CIG can't switch engines to Lumberyard. It's absurd thinking, and more than like the judge will just throw that silly frivolous nonsense case/lawsuit out.

@REDACTEDUSER

answered 6 years ago
0

@REDACTEDUSER

Before diving into research forks, proper analysis and discussion is a good first step.

It needs to be determined what subsystems besides Physics would be affected by introducing 64-bit entity positions.

What would happen to animations, lighting?

Anyone has some thoughts on this?

The goal would be, having to touch as few as possible. Anywhere in the engine code where entity world matrices are read/written to, you would have to handle the higher precision floats and their relationship to other entities/positions.

352 results for search term "GetWorldTM" in the engine github-repo.

Hypothetically, if all entities would "know" about the camera that is currently active, a camera-relative 32-bit matrix could be returned from the entity instance directly and in one spot, which might let you get away with not having to change Physics, 'cause everything is still 32-bit , but not sure. This however violates OOP/code-architecture/SOC principles. Also all bounding box-related code needs to be adapted. A first version could maybe exclude any physics.

Amazon would probably only ever consider merging or working on something like that if it didn't touch the existing 32 bit processing. That would mean developing a parallel system for 64-bit.

Sean Tracy or Marco Corbetta would for sure be the guys to talk to, i see a very low chance though that they would want/are allowed to share too much details. Certainly a bit more concrete info on what systems exactly CIG had to touch to get this to work would help. The info publicly available from interviews is unfortunately too general.

Chris Bolte gave a good overview about how they avoided passing 64-bit data to the GPU by transforming to camera-relative spaces.

A dedicated thread or some forum about such research project would be a good start. Maybe this can then reach some momentum...

answered 6 years ago
0

@Phaeton - Yes, I completely agree. We don't have a detailed "Public Roadmap" from Lumberyard Dev Team, so we have no clue what they are currently doing (or where this "Lumberyard" project is even headed).

I supposed we could create a "fork" (Lumberyard Research Fork) and begin implementing some type of 64-bit precision (similar to what CIG/RSI has done for Star Citizen), and possibly even reach out to Sean Tracy (CIG/Crytek) and a few members of the CIG/RSI team, and possibly see if he/they'd be willing to help contribute some of their existing Lumberyard modifications/code changes back to this new "Research Project" (Lumberyard fork).

As part of the Research Project, we can also begin working on Lumberyard Tools/Editor (Planet Editor, Solar System Editor, Procedural Generation Tools, etc.) and also BIOMES, BIOME Editor, etc.

It might help us get started, and Sean Tracy seems very familiar with the "inner workings" of CryEngine/Lumberyard. There are a few former Crytek engine devs working over at CIG, maybe they will join us in forming a "Lumberyard Research Group" (fork) that we can work together on, and eventually merge back into the main Lumberyard branch (after some refactoring/modifications, optimizations, etc.).

Once we have something working, then maybe we can work together with the Lumberyard devs and try to "refactor" the code changes/fork back into a mainline Lumberyard branch (especially if you feel that there would be no way to create "gems" or "modules" that we could just add/remove to support these 64-bit precision).

Would be interesting to start a research group of like-minded engine nuts. Not sure though if there would be actually some folks with enough engine knowledge out there, that would be up for it.

I completely agree. It doesn't seem to be a "priority" to the current Lumberyard Devs. I supposed we can create a separate "Research Group" and begin working on this Lumberyard project. Maybe we can get a few former Crytek engine devs, and a few CIG Devs to help contribute to the project as well (especially Sean Tracy from Crytek/CIG), and hopefully (since CIG uses Lumberyard anyways) they'd be willing to help contribute some of their existing Lumberyard code changes/modifications to our research project "Lumberyard Fork", and then once we can get the code modifications and Tools done, then maybe it can be refactored/integrated back into Lumberyard main branch.

I've been pushing for this for quite some time now. I'm definitely willing to help, and if we start the project (as a Lumberyard fork), maybe I can try to get a few CIG devs, a few former Crytek devs (that are familiar with CryEngine), and a few Lumberyard Devs to "help us out" and help out with the modifications/refactoring/implementation and eventually get this completely refactored, optimized and integrated back into the main Lumberyard Dev branch.

It might take some time, but I think this is a good thing to eventually add back into the main Lumberyard branch. I think this is something a LOT of game developers need (not just CIG). Unfortunately we can't seem to get the Lumberyard Devs to do anything about it, or do it. It seems to be "very low priority" (to the Amazon Devs) but hopefully if we start the project, it can "pick up steam" and we can get a few more devs to help us out with it and make it a reality.

answered 6 years ago

This post is closed: Adding new answers, comments, and votes is disabled.