4 ms·
Shipping Godot VR and Porting to PSVR2: A Partial Post Mortem
- a1o 3mo ago> We did our best job here leaning heavily on the resource system. There's stuff I want to say about the result that's platform specific so I can't. We have a thing, it works, and it could be a lot better. Literally the only part I wanted to get more information about. I could use a lot more information on why POSIX is bad and exactly what it means on resource management being “aware” of unified memory. I mostly didn’t get.
- pjmlp 3mo agoGame consoles aren't UNIX, and the way file system access works has to take into account the specialised hardware. Like for example, streaming textures from CD with cache directly into the rendering pipeline. Example for PC, however it was inspired how modern consoles work https://developer.nvidia.com/rtx-io https://developer.nvidia.com/rtx-io
- a1o 3mo agoLooking at the example graphics in the OP post I would not think something as specific as the rtx-io matter, I thought it was something more conceptually general that could be applied everywhere without tie to a specific vendor.
- pjmlp 3mo agoThe specific vendor is PlayStation hardware, and the more general concept modern 3D rendering engines architecture. Orbis OS might be a FreeBSD fork, but there is very little UNIX on PlayStation games. Similarly to how little there is on Apple and Google platforms, regardless of the underlying infrastructure, where doing POSIX file IO is equally inconvenient.
- a1o 3mo agoIt appears this stuff is highly guarded under NDA and not available for anyone, I read the homebrew version (https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain), the SDL2 port and the other stuff and honestly didn’t find anything much interesting, or that makes any difference. Unless you have something properly as documentation to show I don’t think it is reasonable to expect anyone in an open source engine to care about whatever this “special” thing you mention is.
- pjmlp 3mo agoI also have NDAs from PS2 and Wii days, back when I had a foot into trying to make games, and got access when SCEE still existed with PS2Linux, and Nintendo was still giving away access to indies. Now, this whole discussion is kind of needless, given that she explains the issues on the article.
- landver 3mo agoThe Label3D thing is real, we hit the same material storm on a Quest project and ended up just swapping to TextMesh like the Penguin Festival guy. Kind of wild that a per-glyph material made it into a shipping engine. The 80k number doesn't surprise me either, people underestimate how much of the tax is compliance and backend plumbing rather than rendering.
- deleted 3mo ago[deleted]
- Yokolos 3mo agoMan, Godot sounds like a bit of a mess. I've been building a Freelancer-like game on it for a while now and performance has been a nightmare to the point where I've offloaded most of my code into pure C# and out of Godot. I even had to give up on Godot's Jolt physics. I'm constantly hitting the limits of what Godot can do. The renderer is pretty much the only thing stopping me from putting tons of ships in the same battle, but I'm also not experienced enough at game dev to know if what I want to do is actually doable with a better renderer or on something like Unreal. I do agree with her take though. Getting up and running in Godot was surprisingly, blindingly fast, so I don't regret picking it at all. I'm just not sure I'll be able to stick with it for an eventual release.
- 0x1ceb00da 3mo agoHave you tried using the profiler? Where is the bottleneck?
- Yokolos 3mo agoSo I'm a bit embarrassed. I was going off my profiling work done 3 months ago when I was still having issues. I've been working a lot on optimization and hadn't done any proper non-headless profiling with high ship numbers since then. After seeing this your comment, I spent last night running some performance trials and the GPU rendering is down to 3ms even at a high number of ships. Any further slowdown is still coming from the physics step. I unfortunately can't edit my comment anymore to correct what I wrote.
- gorfxx 3mo agoIs there actually a huge performance gap between Godot and Unity/Unreal? I've never personally made a game but I have only seen small-medium games in Godot. I would have thought the rendering would be where the slack is tightened first as its the most visible part.
- CobrastanJorji 3mo agoFor small projects, especially small 2D projects? No. For big projects being done by pro teams that are willing to do a lot of work to customize their render pipelines and whatnot to really push resources to the limit? Yes. I am absolutely NOT a game dev experts, so I'm sure I'm missing subtleties, but from what I understand, Unity's scriptable render pipelines give advanced teams more opportunities to tweak custom/complex rendering logic. I get the impression that they are likely pretty comparable out of the box if you just start adding objects to a scene and measuring performance, but Unity has fancier tools for potentially improving on that.
- danbolt 3mo agoClaire makes a good point about standards improving require people complaining about their faults. Those gripes affect the discourse!
- chizbanz 3mo ago[flagged]
- KuhlMensch 3mo agoLots of great rabbit holes, and game engine colour from a veteran. RE: 90s-era scenegraph As someone messing with their first Godot app - I was a little surprised to see Macromedia-era scene-graphs in the IDE. RE: material-per-glyph warning / FastText alternative Very much appreciate the heads up I feel its an article I'll return to occasionally.